@mattrglobal/verifier-sdk-web 2.0.0-preview-digital-credential-api.4 → 2.0.0-preview-digital-credential-api.5

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.
@@ -95,6 +95,36 @@ export declare const CredentialQueryValidator: v.ObjectSchema<{
95
95
  readonly intentToRetain: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
96
96
  }, undefined>, undefined>, undefined>;
97
97
  }, undefined>;
98
+ export type DcqlCredentialQuery = {
99
+ credentials: {
100
+ id: string;
101
+ format: string;
102
+ meta?: unknown;
103
+ claims: {
104
+ path: string[];
105
+ }[];
106
+ }[];
107
+ credential_sets?: {
108
+ options: string[][];
109
+ required?: boolean;
110
+ purpose?: unknown;
111
+ }[];
112
+ };
113
+ export declare const DcqlCredentialQueryValidator: v.ObjectSchema<{
114
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
115
+ readonly id: v.StringSchema<undefined>;
116
+ readonly format: v.StringSchema<undefined>;
117
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
118
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
119
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
120
+ }, undefined>, undefined>;
121
+ }, undefined>, undefined>;
122
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
123
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
124
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
125
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
126
+ }, undefined>, undefined>, never>;
127
+ }, undefined>;
98
128
  /**
99
129
  * List of error types for presentation failure result
100
130
  */
@@ -199,7 +229,7 @@ export type MobileCredentialPresentationCredential = {
199
229
  export type PresentationSuccessResult = {
200
230
  sessionId: string;
201
231
  challenge: string;
202
- credentialQuery: CredentialQuery[];
232
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
203
233
  credentials?: MobileCredentialPresentationCredential[];
204
234
  credentialErrors?: MobileCredentialError[];
205
235
  };
@@ -223,7 +253,7 @@ export declare const PresentationResultRelaxValidator: v.ObjectSchema<{
223
253
  export type PresentationFailureResult = {
224
254
  sessionId: string;
225
255
  challenge: string;
226
- credentialQuery: CredentialQuery[];
256
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
227
257
  error: {
228
258
  type: PresentationErrorType;
229
259
  message: string;
@@ -246,13 +276,27 @@ export type ExchangeSessionResultRequest = {
246
276
  export type ExchangeSessionResultResponse = PresentationSessionResult | PresentationHiddenResult;
247
277
  export type CreateSessionRequest = v.InferOutput<typeof CreateSessionRequestValidator>;
248
278
  export declare const CreateSessionRequestValidator: v.ObjectSchema<{
249
- readonly credentialQuery: v.ArraySchema<v.ObjectSchema<{
279
+ readonly credentialQuery: v.UnionSchema<[v.ArraySchema<v.ObjectSchema<{
250
280
  readonly profile: v.PicklistSchema<[OpenidPresentationCredentialProfileSupported], undefined>;
251
281
  readonly docType: v.StringSchema<undefined>;
252
282
  readonly nameSpaces: v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
253
283
  readonly intentToRetain: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
254
284
  }, undefined>, undefined>, undefined>;
255
- }, undefined>, undefined>;
285
+ }, undefined>, undefined>, v.ObjectSchema<{
286
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
287
+ readonly id: v.StringSchema<undefined>;
288
+ readonly format: v.StringSchema<undefined>;
289
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
290
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
291
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
292
+ }, undefined>, undefined>;
293
+ }, undefined>, undefined>;
294
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
295
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
296
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
297
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
298
+ }, undefined>, undefined>, never>;
299
+ }, undefined>], undefined>;
256
300
  readonly challenge: v.StringSchema<undefined>;
257
301
  readonly redirectUri: v.OptionalSchema<v.StringSchema<undefined>, never>;
258
302
  readonly walletProviderId: v.OptionalSchema<v.StringSchema<undefined>, never>;
@@ -1,7 +1,7 @@
1
1
  import * as v from "valibot";
2
2
  import { BaseError } from "../../common";
3
3
  import { CrossDeviceCallbackError } from "../requestCredentialsCrossDevice";
4
- import { CredentialQuery, PresentationSessionResult } from "./credential-presentation";
4
+ import { CredentialQuery, DcqlCredentialQuery, PresentationSessionResult } from "./credential-presentation";
5
5
  export declare enum LocalStorageKey {
6
6
  challenge = "mattr_chg",
7
7
  sessionId = "mattr_sid"
@@ -25,7 +25,7 @@ export declare enum MessageEventDataType {
25
25
  PresentationAbort = "PresentationAbort"
26
26
  }
27
27
  export type SameDeviceRequestCredentialsOptions = {
28
- credentialQuery: CredentialQuery[];
28
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
29
29
  redirectUri: string;
30
30
  challenge: string;
31
31
  mode: Mode.sameDevice;
@@ -54,7 +54,7 @@ export type CrossDeviceCallback = {
54
54
  onFailure: (error: CrossDeviceCallbackError) => void;
55
55
  };
56
56
  export type CrossDeviceRequestCredentialsOptions = {
57
- credentialQuery: CredentialQuery[];
57
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
58
58
  crossDeviceCallback: CrossDeviceCallback;
59
59
  challenge: string;
60
60
  walletProviderId?: string;
@@ -62,7 +62,7 @@ export type CrossDeviceRequestCredentialsOptions = {
62
62
  initialiseOptions: InitialiseOptions;
63
63
  };
64
64
  export type DigitalCredentialsApiRequestOptions = {
65
- credentialQuery: CredentialQuery[];
65
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
66
66
  challenge: string;
67
67
  initialiseOptions: InitialiseOptions;
68
68
  };
@@ -73,7 +73,7 @@ export type RequestCredentialsSameDeviceOptions = {
73
73
  /**
74
74
  * An array of CredentialQuery objects that specify the credentials to be requested.
75
75
  */
76
- credentialQuery: CredentialQuery[];
76
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
77
77
  /**
78
78
  * The URI to which the user will be redirected after the credential request is completed.
79
79
  */
@@ -93,7 +93,7 @@ export type RequestCredentialsSameDeviceOptions = {
93
93
  mode: Mode.sameDevice;
94
94
  };
95
95
  export declare const RequestCredentialsSameDeviceOptionsValidator: v.ObjectSchema<{
96
- readonly credentialQuery: v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
96
+ readonly credentialQuery: v.UnionSchema<[v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
97
97
  readonly profile: v.PicklistSchema<[import("./credential-presentation").OpenidPresentationCredentialProfileSupported], undefined>;
98
98
  readonly docType: v.StringSchema<undefined>;
99
99
  readonly nameSpaces: v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
@@ -109,7 +109,21 @@ export declare const RequestCredentialsSameDeviceOptionsValidator: v.ObjectSchem
109
109
  };
110
110
  };
111
111
  docType: string;
112
- }[], undefined>]>;
112
+ }[], undefined>]>, v.ObjectSchema<{
113
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
114
+ readonly id: v.StringSchema<undefined>;
115
+ readonly format: v.StringSchema<undefined>;
116
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
117
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
118
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
119
+ }, undefined>, undefined>;
120
+ }, undefined>, undefined>;
121
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
122
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
123
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
124
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
125
+ }, undefined>, undefined>, never>;
126
+ }, undefined>], undefined>;
113
127
  readonly redirectUri: v.StringSchema<undefined>;
114
128
  readonly challenge: v.OptionalSchema<v.StringSchema<undefined>, never>;
115
129
  readonly walletProviderId: v.OptionalSchema<v.StringSchema<undefined>, never>;
@@ -122,7 +136,7 @@ export type RequestCredentialsCrossDeviceDeviceOptions = {
122
136
  /**
123
137
  * An array of CredentialQuery objects that specify the credentials to be requested.
124
138
  */
125
- credentialQuery: CredentialQuery[];
139
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
126
140
  /**
127
141
  * The callback functions to be executed on success or failure of the credential request in cross device mode.
128
142
  */
@@ -142,7 +156,7 @@ export type RequestCredentialsCrossDeviceDeviceOptions = {
142
156
  mode: Mode.crossDevice;
143
157
  };
144
158
  export declare const RequestCredentialsCrossDeviceOptionsValidator: v.ObjectSchema<{
145
- readonly credentialQuery: v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
159
+ readonly credentialQuery: v.UnionSchema<[v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
146
160
  readonly profile: v.PicklistSchema<[import("./credential-presentation").OpenidPresentationCredentialProfileSupported], undefined>;
147
161
  readonly docType: v.StringSchema<undefined>;
148
162
  readonly nameSpaces: v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
@@ -158,7 +172,21 @@ export declare const RequestCredentialsCrossDeviceOptionsValidator: v.ObjectSche
158
172
  };
159
173
  };
160
174
  docType: string;
161
- }[], undefined>]>;
175
+ }[], undefined>]>, v.ObjectSchema<{
176
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
177
+ readonly id: v.StringSchema<undefined>;
178
+ readonly format: v.StringSchema<undefined>;
179
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
180
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
181
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
182
+ }, undefined>, undefined>;
183
+ }, undefined>, undefined>;
184
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
185
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
186
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
187
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
188
+ }, undefined>, undefined>, never>;
189
+ }, undefined>], undefined>;
162
190
  readonly crossDeviceCallback: v.ObjectSchema<{
163
191
  readonly onComplete: v.FunctionSchema<undefined>;
164
192
  readonly onFailure: v.FunctionSchema<undefined>;
@@ -174,7 +202,7 @@ export type RequestCredentialsAutoDetectOptions = {
174
202
  /**
175
203
  * An array of CredentialQuery objects that specify the credentials to be requested.
176
204
  */
177
- credentialQuery: CredentialQuery[];
205
+ credentialQuery: CredentialQuery[] | DcqlCredentialQuery;
178
206
  /**
179
207
  * The callback functions to be executed on success or failure of the credential request in cross device mode.
180
208
  */
@@ -203,7 +231,7 @@ export declare const RequestCredentialsAutoDetectDeviceOptionsValidator: v.Gener
203
231
  */
204
232
  export type RequestCredentialsOptions = RequestCredentialsSameDeviceOptions | RequestCredentialsCrossDeviceDeviceOptions | RequestCredentialsAutoDetectOptions;
205
233
  export declare const RequestCredentialsOptionsValidator: v.UnionSchema<[v.ObjectSchema<{
206
- readonly credentialQuery: v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
234
+ readonly credentialQuery: v.UnionSchema<[v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
207
235
  readonly profile: v.PicklistSchema<[import("./credential-presentation").OpenidPresentationCredentialProfileSupported], undefined>;
208
236
  readonly docType: v.StringSchema<undefined>;
209
237
  readonly nameSpaces: v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
@@ -219,13 +247,27 @@ export declare const RequestCredentialsOptionsValidator: v.UnionSchema<[v.Object
219
247
  };
220
248
  };
221
249
  docType: string;
222
- }[], undefined>]>;
250
+ }[], undefined>]>, v.ObjectSchema<{
251
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
252
+ readonly id: v.StringSchema<undefined>;
253
+ readonly format: v.StringSchema<undefined>;
254
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
255
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
256
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
257
+ }, undefined>, undefined>;
258
+ }, undefined>, undefined>;
259
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
260
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
261
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
262
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
263
+ }, undefined>, undefined>, never>;
264
+ }, undefined>], undefined>;
223
265
  readonly redirectUri: v.StringSchema<undefined>;
224
266
  readonly challenge: v.OptionalSchema<v.StringSchema<undefined>, never>;
225
267
  readonly walletProviderId: v.OptionalSchema<v.StringSchema<undefined>, never>;
226
268
  readonly mode: v.PicklistSchema<[Mode.sameDevice], undefined>;
227
269
  }, undefined>, v.ObjectSchema<{
228
- readonly credentialQuery: v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
270
+ readonly credentialQuery: v.UnionSchema<[v.SchemaWithPipe<[v.ArraySchema<v.ObjectSchema<{
229
271
  readonly profile: v.PicklistSchema<[import("./credential-presentation").OpenidPresentationCredentialProfileSupported], undefined>;
230
272
  readonly docType: v.StringSchema<undefined>;
231
273
  readonly nameSpaces: v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.StrictObjectSchema<{
@@ -241,7 +283,21 @@ export declare const RequestCredentialsOptionsValidator: v.UnionSchema<[v.Object
241
283
  };
242
284
  };
243
285
  docType: string;
244
- }[], undefined>]>;
286
+ }[], undefined>]>, v.ObjectSchema<{
287
+ readonly credentials: v.ArraySchema<v.ObjectSchema<{
288
+ readonly id: v.StringSchema<undefined>;
289
+ readonly format: v.StringSchema<undefined>;
290
+ readonly meta: v.OptionalSchema<v.UnknownSchema, never>;
291
+ readonly claims: v.ArraySchema<v.ObjectSchema<{
292
+ readonly path: v.ArraySchema<v.StringSchema<undefined>, undefined>;
293
+ }, undefined>, undefined>;
294
+ }, undefined>, undefined>;
295
+ readonly credential_sets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
296
+ readonly options: v.ArraySchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
297
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, never>;
298
+ readonly purpose: v.OptionalSchema<v.UnknownSchema, never>;
299
+ }, undefined>, undefined>, never>;
300
+ }, undefined>], undefined>;
245
301
  readonly crossDeviceCallback: v.ObjectSchema<{
246
302
  readonly onComplete: v.FunctionSchema<undefined>;
247
303
  readonly onFailure: v.FunctionSchema<undefined>;
@@ -7,8 +7,8 @@
7
7
  * Do Not Translate or Localize
8
8
  *
9
9
  * Bundle of @mattrglobal/verifier-sdk-web
10
- * Generated: 2025-03-25
11
- * Version: 2.0.0-preview-digital-credential-api.4
10
+ * Generated: 2025-04-28
11
+ * Version: 2.0.0-preview-digital-credential-api.5
12
12
  * Dependencies:
13
13
  *
14
14
  * neverthrow -- 4.3.0
@@ -1298,6 +1298,21 @@
1298
1298
  intentToRetain: optional(_boolean())
1299
1299
  })))
1300
1300
  });
1301
+ const DcqlCredentialQueryValidator = object({
1302
+ credentials: array(object({
1303
+ id: string(),
1304
+ format: string(),
1305
+ meta: optional(unknown()),
1306
+ claims: array(object({
1307
+ path: array(string())
1308
+ }))
1309
+ })),
1310
+ credential_sets: optional(array(object({
1311
+ options: array(array(string())),
1312
+ required: optional(_boolean()),
1313
+ purpose: optional(unknown())
1314
+ })))
1315
+ });
1301
1316
  var PresentationErrorType;
1302
1317
  (function(PresentationErrorType) {
1303
1318
  PresentationErrorType["SessionAborted"] = "SessionAborted";
@@ -1315,7 +1330,7 @@
1315
1330
  error: optional(unknown())
1316
1331
  });
1317
1332
  object({
1318
- credentialQuery: array(CredentialQueryValidator),
1333
+ credentialQuery: union([ array(CredentialQueryValidator), DcqlCredentialQueryValidator ]),
1319
1334
  challenge: string(),
1320
1335
  redirectUri: optional(string()),
1321
1336
  walletProviderId: optional(string())
@@ -1345,14 +1360,14 @@
1345
1360
  MessageEventDataType["PresentationAbort"] = "PresentationAbort";
1346
1361
  })(MessageEventDataType || (MessageEventDataType = {}));
1347
1362
  const RequestCredentialsSameDeviceOptionsValidator = object({
1348
- credentialQuery: pipe(array(CredentialQueryValidator), nonEmpty()),
1363
+ credentialQuery: union([ pipe(array(CredentialQueryValidator), nonEmpty()), DcqlCredentialQueryValidator ]),
1349
1364
  redirectUri: string(),
1350
1365
  challenge: optional(string()),
1351
1366
  walletProviderId: optional(string()),
1352
1367
  mode: picklist([ exports.Mode.sameDevice ])
1353
1368
  });
1354
1369
  const RequestCredentialsCrossDeviceOptionsValidator = object({
1355
- credentialQuery: pipe(array(CredentialQueryValidator), nonEmpty()),
1370
+ credentialQuery: union([ pipe(array(CredentialQueryValidator), nonEmpty()), DcqlCredentialQueryValidator ]),
1356
1371
  crossDeviceCallback: object({
1357
1372
  onComplete: function_(),
1358
1373
  onFailure: function_()
@@ -1362,7 +1377,7 @@
1362
1377
  mode: picklist([ exports.Mode.crossDevice ])
1363
1378
  });
1364
1379
  const RequestCredentialsAutoDetectDeviceOptionsValidator = object({
1365
- credentialQuery: pipe(array(CredentialQueryValidator), nonEmpty()),
1380
+ credentialQuery: union([ pipe(array(CredentialQueryValidator), nonEmpty()), DcqlCredentialQueryValidator ]),
1366
1381
  crossDeviceCallback: object({
1367
1382
  onComplete: function_(),
1368
1383
  onFailure: function_()