dcql 0.2.3 → 0.2.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.
Files changed (156) hide show
  1. package/dist/src/dcql-presentation/index.d.ts +2 -0
  2. package/dist/src/dcql-presentation/index.d.ts.map +1 -0
  3. package/dist/src/dcql-presentation/index.js +3 -0
  4. package/dist/src/dcql-presentation/index.js.map +1 -0
  5. package/dist/src/dcql-presentation/m-dcql-presentation-record.d.ts +20 -0
  6. package/dist/src/dcql-presentation/m-dcql-presentation-record.d.ts.map +1 -0
  7. package/dist/src/dcql-presentation/m-dcql-presentation-record.js +61 -0
  8. package/dist/src/dcql-presentation/m-dcql-presentation-record.js.map +1 -0
  9. package/dist/src/dcql-presentation/m-dcql-presentation.d.ts +2 -0
  10. package/dist/src/dcql-presentation/m-dcql-presentation.d.ts.map +1 -0
  11. package/dist/src/dcql-presentation/m-dcql-presentation.js +3 -0
  12. package/dist/src/dcql-presentation/m-dcql-presentation.js.map +1 -0
  13. package/dist/src/dcql-query/claims-path.d.ts +14 -0
  14. package/dist/src/dcql-query/claims-path.d.ts.map +1 -0
  15. package/dist/src/dcql-query/claims-path.js +23 -0
  16. package/dist/src/dcql-query/claims-path.js.map +1 -0
  17. package/dist/src/dcql-query/claims-path.test.d.ts +2 -0
  18. package/dist/src/dcql-query/claims-path.test.d.ts.map +1 -0
  19. package/dist/src/dcql-query/claims-path.test.js +103 -0
  20. package/dist/src/dcql-query/claims-path.test.js.map +1 -0
  21. package/dist/src/dcql-query/dcql-query.d.ts +8 -0
  22. package/dist/src/dcql-query/dcql-query.d.ts.map +1 -0
  23. package/dist/src/dcql-query/dcql-query.js +53 -0
  24. package/dist/src/dcql-query/dcql-query.js.map +1 -0
  25. package/dist/src/dcql-query/dcql-query.test.d.ts +2 -0
  26. package/dist/src/dcql-query/dcql-query.test.d.ts.map +1 -0
  27. package/dist/src/dcql-query/dcql-query.test.js +188 -0
  28. package/dist/src/dcql-query/dcql-query.test.js.map +1 -0
  29. package/dist/src/dcql-query/m-dcql-claims-query.d.ts +37 -0
  30. package/dist/src/dcql-query/m-dcql-claims-query.d.ts.map +1 -0
  31. package/dist/src/dcql-query/m-dcql-claims-query.js +57 -0
  32. package/dist/src/dcql-query/m-dcql-claims-query.js.map +1 -0
  33. package/dist/src/dcql-query/m-dcql-credential-query.d.ts +186 -0
  34. package/dist/src/dcql-query/m-dcql-credential-query.d.ts.map +1 -0
  35. package/dist/src/dcql-query/m-dcql-credential-query.js +85 -0
  36. package/dist/src/dcql-query/m-dcql-credential-query.js.map +1 -0
  37. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts +18 -0
  38. package/dist/src/dcql-query/m-dcql-credential-set-query.d.ts.map +1 -0
  39. package/dist/src/dcql-query/m-dcql-credential-set-query.js +41 -0
  40. package/dist/src/dcql-query/m-dcql-credential-set-query.js.map +1 -0
  41. package/dist/src/dcql-query/m-dcql-query.d.ts +701 -0
  42. package/dist/src/dcql-query/m-dcql-query.d.ts.map +1 -0
  43. package/dist/src/dcql-query/m-dcql-query.js +91 -0
  44. package/dist/src/dcql-query/m-dcql-query.js.map +1 -0
  45. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts +22 -0
  46. package/dist/src/dcql-query-result/dcql-claims-query-result.d.ts.map +1 -0
  47. package/dist/src/dcql-query-result/dcql-claims-query-result.js +175 -0
  48. package/dist/src/dcql-query-result/dcql-claims-query-result.js.map +1 -0
  49. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts +8 -0
  50. package/dist/src/dcql-query-result/dcql-credential-query-result.d.ts.map +1 -0
  51. package/dist/src/dcql-query-result/dcql-credential-query-result.js +65 -0
  52. package/dist/src/dcql-query-result/dcql-credential-query-result.js.map +1 -0
  53. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts +650 -0
  54. package/dist/src/dcql-query-result/m-dcql-query-result.d.ts.map +1 -0
  55. package/dist/src/dcql-query-result/m-dcql-query-result.js +78 -0
  56. package/dist/src/dcql-query-result/m-dcql-query-result.js.map +1 -0
  57. package/dist/src/e-base.d.ts +15 -0
  58. package/dist/src/e-base.d.ts.map +1 -0
  59. package/dist/{esm/src → src}/e-base.js +18 -23
  60. package/dist/src/e-base.js.map +1 -0
  61. package/dist/src/e-dcql.d.ts +44 -0
  62. package/dist/src/e-dcql.d.ts.map +1 -0
  63. package/dist/src/e-dcql.js +47 -0
  64. package/dist/src/e-dcql.js.map +1 -0
  65. package/dist/src/index.d.ts +9 -0
  66. package/dist/src/index.d.ts.map +1 -0
  67. package/dist/src/index.js +28 -0
  68. package/dist/src/index.js.map +1 -0
  69. package/dist/src/u-dcql-credential-representation.d.ts +28 -0
  70. package/dist/src/u-dcql-credential-representation.d.ts.map +1 -0
  71. package/dist/src/u-dcql-credential-representation.js +32 -0
  72. package/dist/src/u-dcql-credential-representation.js.map +1 -0
  73. package/dist/src/u-dcql.d.ts +48 -0
  74. package/dist/src/u-dcql.d.ts.map +1 -0
  75. package/dist/src/u-dcql.js +76 -0
  76. package/dist/src/u-dcql.js.map +1 -0
  77. package/package.json +14 -9
  78. package/.cache/tsbuildinfo.json +0 -1
  79. package/.turbo/turbo-build.log +0 -4
  80. package/CHANGELOG.md +0 -13
  81. package/dist/esm/src/claims-query/claims-query-result.d.ts +0 -24
  82. package/dist/esm/src/claims-query/claims-query-result.d.ts.map +0 -1
  83. package/dist/esm/src/claims-query/claims-query-result.js +0 -67
  84. package/dist/esm/src/claims-query/claims-query-result.js.map +0 -1
  85. package/dist/esm/src/claims-query/v-claims-query-result.d.ts +0 -82
  86. package/dist/esm/src/claims-query/v-claims-query-result.d.ts.map +0 -1
  87. package/dist/esm/src/claims-query/v-claims-query-result.js +0 -30
  88. package/dist/esm/src/claims-query/v-claims-query-result.js.map +0 -1
  89. package/dist/esm/src/claims-query/v-claims-query.d.ts +0 -34
  90. package/dist/esm/src/claims-query/v-claims-query.d.ts.map +0 -1
  91. package/dist/esm/src/claims-query/v-claims-query.js +0 -24
  92. package/dist/esm/src/claims-query/v-claims-query.js.map +0 -1
  93. package/dist/esm/src/credential-query/credential-query-result.d.ts +0 -101
  94. package/dist/esm/src/credential-query/credential-query-result.d.ts.map +0 -1
  95. package/dist/esm/src/credential-query/credential-query-result.js +0 -91
  96. package/dist/esm/src/credential-query/credential-query-result.js.map +0 -1
  97. package/dist/esm/src/credential-query/v-credential-query-result.d.ts +0 -696
  98. package/dist/esm/src/credential-query/v-credential-query-result.d.ts.map +0 -1
  99. package/dist/esm/src/credential-query/v-credential-query-result.js +0 -44
  100. package/dist/esm/src/credential-query/v-credential-query-result.js.map +0 -1
  101. package/dist/esm/src/credential-query/v-credential-query.d.ts +0 -109
  102. package/dist/esm/src/credential-query/v-credential-query.d.ts.map +0 -1
  103. package/dist/esm/src/credential-query/v-credential-query.js +0 -57
  104. package/dist/esm/src/credential-query/v-credential-query.js.map +0 -1
  105. package/dist/esm/src/e-base.d.ts +0 -25
  106. package/dist/esm/src/e-base.d.ts.map +0 -1
  107. package/dist/esm/src/e-base.js.map +0 -1
  108. package/dist/esm/src/e-vp-query.d.ts +0 -32
  109. package/dist/esm/src/e-vp-query.d.ts.map +0 -1
  110. package/dist/esm/src/e-vp-query.js +0 -27
  111. package/dist/esm/src/e-vp-query.js.map +0 -1
  112. package/dist/esm/src/index.d.ts +0 -7
  113. package/dist/esm/src/index.d.ts.map +0 -1
  114. package/dist/esm/src/index.js +0 -7
  115. package/dist/esm/src/index.js.map +0 -1
  116. package/dist/esm/src/u-query.d.ts +0 -20
  117. package/dist/esm/src/u-query.d.ts.map +0 -1
  118. package/dist/esm/src/u-query.js +0 -25
  119. package/dist/esm/src/u-query.js.map +0 -1
  120. package/dist/esm/src/vp-query/v-vp-query-result.d.ts +0 -767
  121. package/dist/esm/src/vp-query/v-vp-query-result.d.ts.map +0 -1
  122. package/dist/esm/src/vp-query/v-vp-query-result.js +0 -18
  123. package/dist/esm/src/vp-query/v-vp-query-result.js.map +0 -1
  124. package/dist/esm/src/vp-query/v-vp-query.d.ts +0 -94
  125. package/dist/esm/src/vp-query/v-vp-query.d.ts.map +0 -1
  126. package/dist/esm/src/vp-query/v-vp-query.js +0 -52
  127. package/dist/esm/src/vp-query/v-vp-query.js.map +0 -1
  128. package/dist/esm/src/vp-query/vp-query.d.ts +0 -5
  129. package/dist/esm/src/vp-query/vp-query.d.ts.map +0 -1
  130. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts +0 -7
  131. package/dist/esm/src/vp-query/vp-query.fixtures.d.ts.map +0 -1
  132. package/dist/esm/src/vp-query/vp-query.fixtures.js +0 -172
  133. package/dist/esm/src/vp-query/vp-query.fixtures.js.map +0 -1
  134. package/dist/esm/src/vp-query/vp-query.js +0 -21
  135. package/dist/esm/src/vp-query/vp-query.js.map +0 -1
  136. package/dist/esm/src/vp-query/vp-query.test.d.ts +0 -31
  137. package/dist/esm/src/vp-query/vp-query.test.d.ts.map +0 -1
  138. package/dist/esm/src/vp-query/vp-query.test.js +0 -130
  139. package/dist/esm/src/vp-query/vp-query.test.js.map +0 -1
  140. package/eslint.config.js +0 -10
  141. package/src/claims-query/claims-query-result.ts +0 -104
  142. package/src/claims-query/v-claims-query-result.ts +0 -42
  143. package/src/claims-query/v-claims-query.ts +0 -34
  144. package/src/credential-query/credential-query-result.ts +0 -130
  145. package/src/credential-query/v-credential-query-result.ts +0 -71
  146. package/src/credential-query/v-credential-query.ts +0 -85
  147. package/src/e-base.ts +0 -116
  148. package/src/e-vp-query.ts +0 -31
  149. package/src/index.ts +0 -6
  150. package/src/u-query.ts +0 -39
  151. package/src/vp-query/v-vp-query-result.ts +0 -23
  152. package/src/vp-query/v-vp-query.ts +0 -71
  153. package/src/vp-query/vp-query.fixtures.ts +0 -178
  154. package/src/vp-query/vp-query.test.ts +0 -156
  155. package/src/vp-query/vp-query.ts +0 -44
  156. package/tsconfig.json +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m-dcql-query.d.ts","sourceRoot":"","sources":["../../../src/dcql-query/m-dcql-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAK7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAM3F;;;;;;;GAOG;AACH,yBAAiB,SAAS,CAAC;IAClB,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcjB,CAAC;IACH,KAAY,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAChD,KAAY,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,cAAe,MAAM,SAIzC,CAAC;IACK,MAAM,KAAK,cACL,MAAM,eACJ,4BAA4B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAG5C,CAAC;IAEK,MAAM,KAAK,UAAW,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIjC,CAAC;CACH;AACD,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.DcqlQuery = void 0;
27
+ const v = __importStar(require("valibot"));
28
+ const e_dcql_js_1 = require("../e-dcql.js");
29
+ const u_dcql_js_1 = require("../u-dcql.js");
30
+ const dcql_query_js_1 = require("./dcql-query.js");
31
+ const m_dcql_credential_query_js_1 = require("./m-dcql-credential-query.js");
32
+ const m_dcql_credential_set_query_js_1 = require("./m-dcql-credential-set-query.js");
33
+ /**
34
+ * The Digital Credentials Query Language (DCQL, pronounced [ˈdakl̩]) is a
35
+ * JSON-encoded query language that allows the Verifier to request Verifiable
36
+ * Presentations that match the query. The Verifier MAY encode constraints on the
37
+ * combinations of credentials and claims that are requested. The Wallet evaluates
38
+ * the query against the Verifiable Credentials it holds and returns Verifiable
39
+ * Presentations matching the query.
40
+ */
41
+ var DcqlQuery;
42
+ (function (DcqlQuery) {
43
+ DcqlQuery.vModel = v.object({
44
+ credentials: v.pipe(v.array(m_dcql_credential_query_js_1.DcqlCredentialQuery.vModel), (0, u_dcql_js_1.vNonEmptyArray)(), v.description(`REQUIRED. A non-empty array of Credential Queries that specify the requested Verifiable Credentials.`)),
45
+ credential_sets: v.pipe(v.optional(v.pipe(v.array(m_dcql_credential_set_query_js_1.CredentialSetQuery.vModel), (0, u_dcql_js_1.vNonEmptyArray)())), v.description(`OPTIONAL. A non-empty array of credential set queries that specifies additional constraints on which of the requested Verifiable Credentials to return.`)),
46
+ });
47
+ DcqlQuery.validate = (dcqlQuery) => {
48
+ validateUniqueCredentialQueryIds(dcqlQuery);
49
+ validateCredentialSets(dcqlQuery);
50
+ dcqlQuery.credentials.forEach(m_dcql_credential_query_js_1.DcqlCredentialQuery.validate);
51
+ };
52
+ DcqlQuery.query = (dcqlQuery, credentials) => {
53
+ return (0, dcql_query_js_1.performDcqlQuery)(dcqlQuery, { credentials, presentation: false });
54
+ };
55
+ DcqlQuery.parse = (input) => {
56
+ const parsed = v.parse(DcqlQuery.vModel, input);
57
+ DcqlQuery.validate(parsed);
58
+ return parsed;
59
+ };
60
+ })(DcqlQuery || (exports.DcqlQuery = DcqlQuery = {}));
61
+ // --- validations --- //
62
+ const validateUniqueCredentialQueryIds = (query) => {
63
+ const ids = query.credentials.map(c => c.id);
64
+ const duplicates = ids.filter((id, index) => ids.indexOf(id) !== index);
65
+ if (duplicates.length > 0) {
66
+ throw new e_dcql_js_1.DcqlNonUniqueCredentialQueryIdsError({
67
+ message: `Duplicate credential query ids found: ${duplicates.join(', ')}`,
68
+ });
69
+ }
70
+ };
71
+ const validateCredentialSets = (query) => {
72
+ if (!query.credential_sets)
73
+ return;
74
+ const credentialQueryIds = new Set(query.credentials.map(c => c.id));
75
+ const undefinedCredentialQueryIds = [];
76
+ for (const credential_set of query.credential_sets) {
77
+ for (const credentialSetOption of credential_set.options) {
78
+ for (const credentialQueryId of credentialSetOption) {
79
+ if (!credentialQueryIds.has(credentialQueryId)) {
80
+ undefinedCredentialQueryIds.push(credentialQueryId);
81
+ }
82
+ }
83
+ }
84
+ }
85
+ if (undefinedCredentialQueryIds.length > 0) {
86
+ throw new e_dcql_js_1.DcqlCredentialSetError({
87
+ message: `Credential set contains undefined credential id${undefinedCredentialQueryIds.length === 1 ? '' : '`s'} '${undefinedCredentialQueryIds.join(', ')}'`,
88
+ });
89
+ }
90
+ };
91
+ //# sourceMappingURL=m-dcql-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"m-dcql-query.js","sourceRoot":"","sources":["../../../src/dcql-query/m-dcql-query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import * as v from 'valibot';
2
+ import { DcqlClaimsQuery } from '../dcql-query/m-dcql-claims-query.js';
3
+ import type { DcqlCredentialQuery } from '../dcql-query/m-dcql-credential-query.js';
4
+ export declare const getNamespacesParser: (claimsQueries: DcqlClaimsQuery.Mdoc[]) => v.ObjectSchema<any, undefined>;
5
+ export declare const getJsonClaimsParser: (claimsQueries: DcqlClaimsQuery.W3cAndSdJwtVc[], ctx: {
6
+ presentation: boolean;
7
+ }) => v.IntersectSchema<v.RecordSchema<v.StringSchema<undefined>, v.GenericSchema<import("../u-dcql.js").Json, import("../u-dcql.js").Json, v.BaseIssue<unknown>>, undefined>[], undefined>;
8
+ export declare const getMdocClaimsQueriesForClaimSet: (claimsQueries: DcqlClaimsQuery.Mdoc[], claimSet: string[]) => DcqlClaimsQuery.Mdoc[];
9
+ export declare const getJsonClaimsQueriesForClaimSet: (claimsQueries: DcqlClaimsQuery.W3cAndSdJwtVc[], claimSet: string[]) => DcqlClaimsQuery.W3cAndSdJwtVc[];
10
+ export declare const getCredentialParser: (credentialQuery: DcqlCredentialQuery, ctx: {
11
+ claimSet?: NonNullable<DcqlCredentialQuery["claim_sets"]>[number];
12
+ presentation: boolean;
13
+ }) => v.ObjectSchema<{
14
+ readonly docType: v.StringSchema<undefined> | v.LiteralSchema<string, undefined>;
15
+ readonly namespaces: v.ObjectSchema<any, undefined> | v.RecordSchema<v.StringSchema<undefined>, v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
16
+ }, undefined> | v.ObjectSchema<{
17
+ readonly vct: v.StringSchema<undefined> | v.PicklistSchema<string[], undefined>;
18
+ readonly claims: v.RecordSchema<v.StringSchema<undefined>, v.GenericSchema<import("../u-dcql.js").Json, import("../u-dcql.js").Json, v.BaseIssue<unknown>>, undefined> | v.IntersectSchema<v.RecordSchema<v.StringSchema<undefined>, v.GenericSchema<import("../u-dcql.js").Json, import("../u-dcql.js").Json, v.BaseIssue<unknown>>, undefined>[], undefined>;
19
+ }, undefined> | v.ObjectSchema<{
20
+ readonly claims: v.RecordSchema<v.StringSchema<undefined>, v.GenericSchema<import("../u-dcql.js").Json, import("../u-dcql.js").Json, v.BaseIssue<unknown>>, undefined> | v.IntersectSchema<v.RecordSchema<v.StringSchema<undefined>, v.GenericSchema<import("../u-dcql.js").Json, import("../u-dcql.js").Json, v.BaseIssue<unknown>>, undefined>[], undefined>;
21
+ }, undefined>;
22
+ //# sourceMappingURL=dcql-claims-query-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-claims-query-result.d.ts","sourceRoot":"","sources":["../../../src/dcql-query-result/dcql-claims-query-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAuBpF,eAAO,MAAM,mBAAmB,kBAAmB,eAAe,CAAC,IAAI,EAAE,mCAwBxE,CAAC;AAkDF,eAAO,MAAM,mBAAmB,kBACf,eAAe,CAAC,aAAa,EAAE,OACzC;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,0LAa/B,CAAC;AAEF,eAAO,MAAM,+BAA+B,kBAC3B,eAAe,CAAC,IAAI,EAAE,YAC3B,MAAM,EAAE,KACjB,eAAe,CAAC,IAAI,EAUtB,CAAC;AAEF,eAAO,MAAM,+BAA+B,kBAC3B,eAAe,CAAC,aAAa,EAAE,YACpC,MAAM,EAAE,KACjB,eAAe,CAAC,aAAa,EAU/B,CAAC;AA4DF,eAAO,MAAM,mBAAmB,oBACb,mBAAmB,OAC/B;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClE,YAAY,EAAE,OAAO,CAAC;CACvB;;;;;;;;aAaF,CAAC"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.getCredentialParser = exports.getJsonClaimsQueriesForClaimSet = exports.getMdocClaimsQueriesForClaimSet = exports.getJsonClaimsParser = exports.getNamespacesParser = void 0;
27
+ const v = __importStar(require("valibot"));
28
+ const m_dcql_claims_query_js_1 = require("../dcql-query/m-dcql-claims-query.js");
29
+ const e_dcql_js_1 = require("../e-dcql.js");
30
+ const u_dcql_js_1 = require("../u-dcql.js");
31
+ const getClaimParser = (input) => {
32
+ const { value, values } = input;
33
+ if (value) {
34
+ return v.literal(value);
35
+ }
36
+ if (values) {
37
+ return v.union(values.map(val => v.literal(val)));
38
+ }
39
+ return m_dcql_claims_query_js_1.DcqlClaimsQuery.vValue;
40
+ };
41
+ const getNamespacesParser = (claimsQueries) => {
42
+ const claimsForNamespace = {};
43
+ for (const claimQuery of claimsQueries) {
44
+ if (claimsForNamespace[claimQuery.namespace]) {
45
+ claimsForNamespace[claimQuery.namespace]?.push({ ...claimQuery });
46
+ }
47
+ else {
48
+ claimsForNamespace[claimQuery.namespace] = [{ ...claimQuery }];
49
+ }
50
+ }
51
+ const parsersForNamespaces = Object.entries(claimsForNamespace).map(([namespace, claims]) => {
52
+ const claimParsers = Object.fromEntries(claims.map(claim => [claim.claim_name, getClaimParser(claim)]));
53
+ return [namespace, v.object(claimParsers)];
54
+ });
55
+ return v.object(Object.fromEntries(parsersForNamespaces));
56
+ };
57
+ exports.getNamespacesParser = getNamespacesParser;
58
+ const getParserForClaimQuery = (claimQuery, ctx) => {
59
+ const { index, presentation } = ctx;
60
+ const pathElement = claimQuery.path[index];
61
+ const isLast = index === claimQuery.path.length - 1;
62
+ const vClaimParser = claimQuery.values ? getClaimParser(claimQuery) : u_dcql_js_1.vJson;
63
+ if (typeof pathElement === 'number') {
64
+ const elementParser = isLast
65
+ ? vClaimParser
66
+ : getParserForClaimQuery(claimQuery, { ...ctx, index: index + 1 });
67
+ if (presentation) {
68
+ // We allow both the concrete value and an array of one value
69
+ return v.union([
70
+ v.pipe(v.array(u_dcql_js_1.vJson), v.length(1), v.transform(input => input[0]), elementParser),
71
+ elementParser,
72
+ ]);
73
+ }
74
+ return v.pipe(v.array(u_dcql_js_1.vJson), v.transform(input => input[pathElement]), elementParser);
75
+ }
76
+ else if (typeof pathElement === 'string') {
77
+ return v.object({
78
+ [pathElement]: isLast
79
+ ? vClaimParser
80
+ : getParserForClaimQuery(claimQuery, { ...ctx, index: index + 1 }),
81
+ });
82
+ }
83
+ else {
84
+ return isLast
85
+ ? v.array(vClaimParser)
86
+ : v.array(getParserForClaimQuery(claimQuery, { ...ctx, index: index + 1 }));
87
+ }
88
+ };
89
+ const getJsonClaimsParser = (claimsQueries, ctx) => {
90
+ const claimParser = v.intersect(claimsQueries.map(claimQuery => getParserForClaimQuery(claimQuery, {
91
+ ...ctx,
92
+ index: 0,
93
+ })));
94
+ return claimParser;
95
+ };
96
+ exports.getJsonClaimsParser = getJsonClaimsParser;
97
+ const getMdocClaimsQueriesForClaimSet = (claimsQueries, claimSet) => {
98
+ return claimSet.map(credential_id => {
99
+ const query = claimsQueries.find(query => query.id === credential_id);
100
+ if (!query) {
101
+ throw new e_dcql_js_1.DcqlInvalidClaimsQueryIdError({
102
+ message: `Claims-query with id '${credential_id}' not found.`,
103
+ });
104
+ }
105
+ return query;
106
+ });
107
+ };
108
+ exports.getMdocClaimsQueriesForClaimSet = getMdocClaimsQueriesForClaimSet;
109
+ const getJsonClaimsQueriesForClaimSet = (claimsQueries, claimSet) => {
110
+ return claimSet.map(credential_id => {
111
+ const query = claimsQueries.find(query => query.id === credential_id);
112
+ if (!query) {
113
+ throw new e_dcql_js_1.DcqlInvalidClaimsQueryIdError({
114
+ message: `Claims-query with id '${credential_id}' not found.`,
115
+ });
116
+ }
117
+ return query;
118
+ });
119
+ };
120
+ exports.getJsonClaimsQueriesForClaimSet = getJsonClaimsQueriesForClaimSet;
121
+ const getMdocCredentialParser = (credentialQuery, ctx) => {
122
+ const { claimSet } = ctx;
123
+ const vDocType = credentialQuery.meta?.doctype_value
124
+ ? v.literal(credentialQuery.meta.doctype_value)
125
+ : v.string();
126
+ const claimSetQueries = credentialQuery.claims && claimSet
127
+ ? (0, exports.getMdocClaimsQueriesForClaimSet)(credentialQuery.claims, claimSet)
128
+ : credentialQuery.claims;
129
+ const credentialParser = v.object({
130
+ docType: vDocType,
131
+ namespaces: claimSetQueries
132
+ ? (0, exports.getNamespacesParser)(claimSetQueries)
133
+ : v.record(v.string(), v.record(v.string(), v.unknown())),
134
+ });
135
+ return credentialParser;
136
+ };
137
+ const getJsonCredentialParser = (credentialQuery, ctx) => {
138
+ const { claimSet } = ctx;
139
+ const claimSetQueries = credentialQuery.claims && claimSet
140
+ ? (0, exports.getJsonClaimsQueriesForClaimSet)(credentialQuery.claims, claimSet)
141
+ : credentialQuery.claims;
142
+ if (credentialQuery.format === 'vc+sd-jwt') {
143
+ return v.object({
144
+ vct: credentialQuery.meta?.vct_values
145
+ ? v.picklist(credentialQuery.meta.vct_values)
146
+ : v.string(),
147
+ claims: claimSetQueries
148
+ ? (0, exports.getJsonClaimsParser)(claimSetQueries, ctx)
149
+ : u_dcql_js_1.vJsonRecord,
150
+ });
151
+ }
152
+ else {
153
+ const credentialParser = v.object({
154
+ claims: claimSetQueries
155
+ ? (0, exports.getJsonClaimsParser)(claimSetQueries, ctx)
156
+ : u_dcql_js_1.vJsonRecord,
157
+ });
158
+ return credentialParser;
159
+ }
160
+ };
161
+ const getCredentialParser = (credentialQuery, ctx) => {
162
+ if (credentialQuery.claim_sets && !ctx.claimSet) {
163
+ throw new e_dcql_js_1.DcqlMissingClaimSetParseError({
164
+ message: `credentialQuery specifies claim_sets but no claim_set for parsing is provided.`,
165
+ });
166
+ }
167
+ if (credentialQuery.format === 'mso_mdoc') {
168
+ return getMdocCredentialParser(credentialQuery, ctx);
169
+ }
170
+ else {
171
+ return getJsonCredentialParser(credentialQuery, ctx);
172
+ }
173
+ };
174
+ exports.getCredentialParser = getCredentialParser;
175
+ //# sourceMappingURL=dcql-claims-query-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-claims-query-result.js","sourceRoot":"","sources":["../../../src/dcql-query-result/dcql-claims-query-result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { DcqlCredentialQuery } from '../dcql-query/m-dcql-credential-query.js';
2
+ import type { DcqlCredentialRepresentation } from '../u-dcql-credential-representation.js';
3
+ import type { DcqlQueryResult } from './m-dcql-query-result.js';
4
+ export declare const queryCredentialFromCredentialQuery: (credentialQuery: DcqlCredentialQuery, ctx: {
5
+ credentials: DcqlCredentialRepresentation[];
6
+ presentation: boolean;
7
+ }) => DcqlQueryResult.CredentialQueryResult;
8
+ //# sourceMappingURL=dcql-credential-query-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-credential-query-result.d.ts","sourceRoot":"","sources":["../../../src/dcql-query-result/dcql-credential-query-result.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAG3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,eAAO,MAAM,kCAAkC,oBAC5B,mBAAmB,OAC/B;IACH,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC;CACvB,KACA,eAAe,CAAC,qBA0ClB,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.queryCredentialFromCredentialQuery = void 0;
27
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
28
+ const v = __importStar(require("valibot"));
29
+ const dcql_claims_query_result_js_1 = require("./dcql-claims-query-result.js");
30
+ const queryCredentialFromCredentialQuery = (credentialQuery, ctx) => {
31
+ const { credentials, presentation } = ctx;
32
+ const claimSets = credentialQuery.claim_sets ?? [undefined];
33
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
34
+ const credentialQueryResult = new Array(claimSets.length).fill([]);
35
+ for (const [claimSetIndex, claim_set] of claimSets.entries()) {
36
+ const credentialParser = (0, dcql_claims_query_result_js_1.getCredentialParser)(credentialQuery, {
37
+ claimSet: claim_set,
38
+ presentation,
39
+ });
40
+ for (const [credentialIndex, credential] of credentials.entries()) {
41
+ if (claimSetIndex > 0) {
42
+ // if one the credential was successfully parsed against a previous claimsset we don't need to further validate other claim sets
43
+ const previous = credentialQueryResult[claimSetIndex - 1][credentialIndex];
44
+ // if the previous credential was successfully parsed we don't need to further validate the current credential
45
+ // we set all further parsing attempts to undefined
46
+ if (previous?.success || !previous) {
47
+ credentialQueryResult[claimSetIndex][credentialIndex] = undefined;
48
+ continue;
49
+ }
50
+ }
51
+ const parseResult = v.safeParse(credentialParser, credential);
52
+ credentialQueryResult[claimSetIndex].push({
53
+ ...parseResult,
54
+ ...(parseResult.issues && {
55
+ flattened: v.flatten(parseResult.issues),
56
+ }),
57
+ credential_index: credentialIndex,
58
+ claim_set_index: credentialQuery.claim_sets ? claimSetIndex : undefined,
59
+ });
60
+ }
61
+ }
62
+ return credentialQueryResult;
63
+ };
64
+ exports.queryCredentialFromCredentialQuery = queryCredentialFromCredentialQuery;
65
+ //# sourceMappingURL=dcql-credential-query-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dcql-credential-query-result.js","sourceRoot":"","sources":["../../../src/dcql-query-result/dcql-credential-query-result.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6DAA6D;AAC7D,2CAA6B;AAI7B,+EAAoE;AAG7D,MAAM,kCAAkC,GAAG,CAChD,eAAoC,EACpC,GAGC,EACsC,EAAE;IACzC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IAC1C,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,CAAC;IAE5D,mEAAmE;IACnE,MAAM,qBAAqB,GAEvB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzC,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,MAAM,gBAAgB,GAAG,IAAA,iDAAmB,EAAC,eAAe,EAAE;YAC5D,QAAQ,EAAE,SAAS;YACnB,YAAY;SACb,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YAClE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,gIAAgI;gBAChI,MAAM,QAAQ,GACZ,qBAAqB,CAAC,aAAa,GAAG,CAAC,CAAE,CAAC,eAAe,CAAC,CAAC;gBAE7D,8GAA8G;gBAC9G,mDAAmD;gBACnD,IAAI,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,qBAAqB,CAAC,aAAa,CAAE,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;oBACnE,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAC9D,qBAAqB,CAAC,aAAa,CAAE,CAAC,IAAI,CAAC;gBACzC,GAAG,WAAW;gBACd,GAAG,CAAC,WAAW,CAAC,MAAM,IAAI;oBACxB,SAAS,EAAE,CAAC,CAAC,OAAO,CAA0B,WAAW,CAAC,MAAM,CAAC;iBAClE,CAAC;gBACF,gBAAgB,EAAE,eAAe;gBACjC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,qBAA8D,CAAC;AACxE,CAAC,CAAC;AAhDW,QAAA,kCAAkC,sCAgD7C"}