@gramota/verifier 0.2.0 → 0.5.0

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.d.ts CHANGED
@@ -2,5 +2,5 @@ export { Verifier } from "./verifier.js";
2
2
  export type { PresentationRequestOptions, PresentationRequest, VerifyResponseOptions, VerifyResponseResult, } from "./verifier.js";
3
3
  export { inspect } from "./inspect.js";
4
4
  export { VerifierError } from "./types.js";
5
- export type { VerifierConfig, VerifyOptions, VerifyResult, SuccessResult, FailureResult, SecurityCheck, SecurityCheckName, VerificationMetadata, } from "./types.js";
5
+ export type { VerifierConfig, VerifyOptions, VerifyResult, SuccessResult, FailureResult, SecurityCheck, SecurityCheckName, VerificationMetadata, RequireInput, RequireResult, } from "./types.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,aAAa,GACd,MAAM,YAAY,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { GramotaError } from "@gramota/core";
1
2
  import type { JsonWebKey, SupportedAlg } from "@gramota/jose";
2
3
  import type { TrustResolver } from "@gramota/trust";
3
4
  import type { CredentialStatusResult, StatusResolver } from "@gramota/status-list";
@@ -41,8 +42,26 @@ export interface VerifierConfig {
41
42
  * Default 30. */
42
43
  maxClockSkewSeconds?: number;
43
44
  }
45
+ /** Input passed to {@link VerifyOptions.require} predicates. */
46
+ export interface RequireInput<TClaims = Record<string, unknown>> {
47
+ /** The disclosed claims — same shape as `result.claims` on success. */
48
+ readonly claims: TClaims;
49
+ /** Protocol metadata — same shape as `result.metadata` on success. */
50
+ readonly metadata: VerificationMetadata;
51
+ }
52
+ /**
53
+ * Return shape for {@link VerifyOptions.require} when the caller wants
54
+ * to attach a human-readable reason. Plain `boolean` is also accepted
55
+ * for the common case.
56
+ */
57
+ export interface RequireResult {
58
+ readonly passed: boolean;
59
+ /** Shown in `result.reason` and the audit trail when `passed: false`.
60
+ * Default: `"require predicate returned false"`. */
61
+ readonly reason?: string;
62
+ }
44
63
  /** Per-call options for `verifier.verify(...)`. */
45
- export interface VerifyOptions {
64
+ export interface VerifyOptions<TClaims = Record<string, unknown>> {
46
65
  /** The challenge the verifier sent to the wallet. The KB-JWT's `nonce`
47
66
  * claim MUST equal this. Within-verifier replay protection. */
48
67
  nonce: string;
@@ -61,6 +80,33 @@ export interface VerifyOptions {
61
80
  * Has no effect when no `statusResolver` is configured on the Verifier.
62
81
  */
63
82
  requireStatus?: boolean;
83
+ /**
84
+ * Application-level predicate. Runs AFTER all crypto + status checks
85
+ * pass; receives the disclosed claims + protocol metadata; returns
86
+ * a boolean (or `{ passed, reason }` for a custom failure reason).
87
+ *
88
+ * If the predicate returns `false` (or `{ passed: false }`), the
89
+ * verification fails with `failedCheck: "require.predicate"` and the
90
+ * predicate's `reason` (or a default) becomes `result.reason`. The
91
+ * `require.predicate` entry is appended to `result.checks` either
92
+ * way, so audit dashboards see the same shape as for any other check.
93
+ *
94
+ * If the predicate throws, the throw propagates — the verifier does
95
+ * NOT silently treat exceptions as "passed: false". This is so
96
+ * caller bugs surface as crashes during dev, not as accepted
97
+ * presentations in production.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * await verifier.verify(token, {
102
+ * nonce,
103
+ * require: ({ claims }) =>
104
+ * claims.age_over_18 === true &&
105
+ * EU_COUNTRIES.has(claims.nationality as string),
106
+ * });
107
+ * ```
108
+ */
109
+ require?: (input: RequireInput<TClaims>) => boolean | RequireResult | Promise<boolean | RequireResult>;
64
110
  }
65
111
  /** A single security check, recorded for observability. Every check is
66
112
  * present in the result regardless of pass/fail, so customers can build
@@ -73,7 +119,12 @@ export interface SecurityCheck {
73
119
  message?: string;
74
120
  }
75
121
  /** Stable identifiers for the security checks we run, in execution order. */
76
- export type SecurityCheckName = "structure.parse" | "trust.resolution" | "issuer.signature" | "hash-binding.disclosures" | "kb-jwt.present" | "kb-jwt.cnf-binding" | "kb-jwt.signature" | "kb-jwt.audience" | "kb-jwt.nonce" | "kb-jwt.time" | "kb-jwt.transcript" | "status.check";
122
+ export type SecurityCheckName = "structure.parse" | "trust.resolution" | "issuer.signature" | "hash-binding.disclosures" | "kb-jwt.present" | "kb-jwt.cnf-binding" | "kb-jwt.signature" | "kb-jwt.audience" | "kb-jwt.nonce" | "kb-jwt.time" | "kb-jwt.transcript" | "status.check"
123
+ /** Application-level predicate from {@link VerifyOptions.require}.
124
+ * Runs last; not part of the cryptographic protocol — semantically
125
+ * a customer business rule that determines whether the (already
126
+ * crypto-valid) presentation is acceptable for THIS endpoint. */
127
+ | "require.predicate";
77
128
  /** Protocol metadata extracted alongside the user-facing claims. */
78
129
  export interface VerificationMetadata {
79
130
  issuer: string;
@@ -113,10 +164,9 @@ export interface FailureResult {
113
164
  /** Throws `VerifierError` carrying this result. */
114
165
  unwrap(): never;
115
166
  }
116
- export declare class VerifierError extends Error {
167
+ export declare class VerifierError extends GramotaError {
117
168
  /** The full failure record — stable for logging. */
118
169
  readonly result: FailureResult;
119
- readonly name = "VerifierError";
120
170
  /** Equal to `result.failedCheck` — stable identifier for log filters,
121
171
  * alerts, and dashboards. Same shape as the codes used by other packages. */
122
172
  readonly code: SecurityCheckName;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,14 +1,15 @@
1
- export class VerifierError extends Error {
1
+ import { GramotaError } from "@gramota/core";
2
+ export class VerifierError extends GramotaError {
2
3
  result;
3
- name = "VerifierError";
4
4
  /** Equal to `result.failedCheck` — stable identifier for log filters,
5
5
  * alerts, and dashboards. Same shape as the codes used by other packages. */
6
6
  code;
7
7
  constructor(message,
8
8
  /** The full failure record — stable for logging. */
9
9
  result) {
10
- super(message);
10
+ super(message, result.failedCheck);
11
11
  this.result = result;
12
+ this.name = "VerifierError";
12
13
  this.code = result.failedCheck;
13
14
  }
14
15
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsJA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAQ3B;IAPO,IAAI,GAAG,eAAe,CAAC;IACzC;iFAC6E;IACpE,IAAI,CAAoB;IACjC,YACE,OAAe;IACf,oDAAoD;IAC3C,MAAqB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,WAAM,GAAN,MAAM,CAAe;QAG9B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AA8M7C,MAAM,OAAO,aAAc,SAAQ,YAAY;IAQlC;IAPX;iFAC6E;IAC3D,IAAI,CAAoB;IAE1C,YACE,OAAe;IACf,oDAAoD;IAC3C,MAAqB;QAE9B,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAF1B,WAAM,GAAN,MAAM,CAAe;QAG9B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;CACF"}
@@ -9,23 +9,43 @@ export declare class Verifier {
9
9
  private readonly maxKbJwtAgeSeconds;
10
10
  private readonly maxClockSkewSeconds;
11
11
  constructor(config: VerifierConfig);
12
+ /** Verify a presentation token. Stripe-shaped surface. */
13
+ readonly presentations: {
14
+ verify<TClaims = Record<string, unknown>>(presentationToken: string, options: VerifyOptions<TClaims>): Promise<VerifyResult<TClaims>>;
15
+ };
16
+ /** Verify an OID4VP authorization response body. Stripe-shaped surface. */
17
+ readonly responses: {
18
+ verify<TClaims = Record<string, unknown>>(rawBody: string | URLSearchParams | Record<string, string>, options: VerifyResponseOptions<TClaims>): Promise<VerifyResponseResult<TClaims>>;
19
+ };
20
+ /** Build a signed presentation request for the wallet. Stripe-shaped surface. */
21
+ readonly requests: {
22
+ create(options: PresentationRequestOptions): PresentationRequest;
23
+ };
12
24
  /**
13
25
  * Verify an SD-JWT-VC presentation token end-to-end.
14
26
  *
15
27
  * Runs 9 security checks in order; stops at the first failure and reports
16
28
  * which check failed. On success, returns the disclosed claims plus
17
29
  * protocol metadata plus the full audit trail of checks performed.
30
+ *
31
+ * @internal Public surface is `verifier.presentations.verify(token, opts)`.
18
32
  */
19
- verify<TClaims = Record<string, unknown>>(presentationToken: string, options: VerifyOptions): Promise<VerifyResult<TClaims>>;
20
- /** Build an OID4VP Authorization Request URL to share with the wallet. */
21
- request(options: PresentationRequestOptions): PresentationRequest;
33
+ private verifyPresentationImpl;
34
+ /**
35
+ * Build an OID4VP Authorization Request URL to share with the wallet.
36
+ *
37
+ * @internal Public surface is `verifier.requests.create(opts)`.
38
+ */
39
+ private createRequestImpl;
22
40
  /**
23
41
  * Process an OID4VP Authorization Response body end-to-end:
24
42
  * parse the form body, enforce CSRF state matching, and verify the
25
- * vp_token cryptographically. Returns the same result shape as `verify()`
26
- * plus the parsed transport envelope.
43
+ * vp_token cryptographically. Returns the same result shape as
44
+ * `presentations.verify` plus the parsed transport envelope.
45
+ *
46
+ * @internal Public surface is `verifier.responses.verify(rawBody, opts)`.
27
47
  */
28
- response<TClaims = Record<string, unknown>>(rawBody: string | URLSearchParams | Record<string, string>, options: VerifyResponseOptions): Promise<VerifyResponseResult<TClaims>>;
48
+ private verifyResponseImpl;
29
49
  }
30
50
  /** Result of `verifier.responses.verify()` — same shape as `VerifyResult`
31
51
  * plus the parsed OID4VP transport envelope. */
@@ -66,7 +86,7 @@ export interface PresentationRequest {
66
86
  state: string | undefined;
67
87
  }
68
88
  /** Options for `verifier.response()`. */
69
- export interface VerifyResponseOptions {
89
+ export interface VerifyResponseOptions<TClaims = Record<string, unknown>> {
70
90
  /** Required — the nonce used in the original request. */
71
91
  expectedNonce: string;
72
92
  /** Optional — when supplied, response.state MUST equal this. */
@@ -77,5 +97,8 @@ export interface VerifyResponseOptions {
77
97
  * status. Has effect only when the Verifier was constructed with a
78
98
  * `statusResolver`. */
79
99
  requireStatus?: boolean;
100
+ /** Forwarded to `verify()` — application-level predicate that runs
101
+ * after all crypto + status checks pass. See {@link VerifyOptions.require}. */
102
+ require?: VerifyOptions<TClaims>["require"];
80
103
  }
81
104
  //# sourceMappingURL=verifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAKpB,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoB;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;gBAEjC,MAAM,EAAE,cAAc;IAmClC;;;;;;OAMG;IACG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5C,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAoMjC,0EAA0E;IAC1E,OAAO,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB;IAgDjE;;;;;OAKG;IACG,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9C,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1D,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;CA6D1C;AAED;gDACgD;AAChD,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAChE,YAAY,CAAC,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAE/D,wCAAwC;AACxC,MAAM,WAAW,0BAA0B;IACzC,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,sBAAsB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,gFAAgF;IAChF,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;+BAC2B;IAC3B,YAAY,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,UAAU,GAAG,OAAO,CAAC;IACxE,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,OAAO,EAAE,oBAAoB,CAAC;IAC9B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IACpC,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;2BAEuB;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"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"}
package/dist/verifier.js CHANGED
@@ -38,17 +38,44 @@ export class Verifier {
38
38
  config.maxKbJwtAgeSeconds ?? DEFAULT_MAX_AGE_S;
39
39
  this.maxClockSkewSeconds =
40
40
  config.maxClockSkewSeconds ?? DEFAULT_CLOCK_SKEW_S;
41
+ // ────────────────────────────────────────────────────────────────
42
+ // Stripe-shaped resource namespaces.
43
+ //
44
+ // verifier.presentations.verify(token, opts)
45
+ // verifier.responses.verify(rawBody, opts)
46
+ // verifier.requests.create(opts)
47
+ //
48
+ // The flat methods (`verify`, `response`, `request`) were dropped
49
+ // in 0.5.0 — this is the only public shape now.
50
+ // ────────────────────────────────────────────────────────────────
51
+ this.presentations = {
52
+ verify: (token, opts) => this.verifyPresentationImpl(token, opts),
53
+ };
54
+ this.responses = {
55
+ verify: (rawBody, opts) => this.verifyResponseImpl(rawBody, opts),
56
+ };
57
+ this.requests = {
58
+ create: (opts) => this.createRequestImpl(opts),
59
+ };
41
60
  }
61
+ /** Verify a presentation token. Stripe-shaped surface. */
62
+ presentations;
63
+ /** Verify an OID4VP authorization response body. Stripe-shaped surface. */
64
+ responses;
65
+ /** Build a signed presentation request for the wallet. Stripe-shaped surface. */
66
+ requests;
42
67
  /**
43
68
  * Verify an SD-JWT-VC presentation token end-to-end.
44
69
  *
45
70
  * Runs 9 security checks in order; stops at the first failure and reports
46
71
  * which check failed. On success, returns the disclosed claims plus
47
72
  * protocol metadata plus the full audit trail of checks performed.
73
+ *
74
+ * @internal Public surface is `verifier.presentations.verify(token, opts)`.
48
75
  */
49
- async verify(presentationToken, options) {
76
+ async verifyPresentationImpl(presentationToken, options) {
50
77
  if (typeof options.nonce !== "string" || options.nonce.length === 0) {
51
- throw new TypeError("verify: options.nonce is required");
78
+ throw new TypeError("verifier.presentations.verify: options.nonce is required");
52
79
  }
53
80
  const checks = [];
54
81
  // 1. Parse the token
@@ -179,9 +206,37 @@ export class Verifier {
179
206
  record(checks, "status.check", true);
180
207
  }
181
208
  }
182
- // All checks passed assemble the success result.
209
+ // All cryptographic checks passed. Extract the claims + metadata
210
+ // before running the optional application-level predicate so the
211
+ // predicate sees the same shape callers will see on success.
183
212
  const claims = stripMetadata(verifiedSdJwt.claims);
184
213
  const metadata = extractMetadata(parsed, verifiedSdJwt.claims, this.audience, verifiedKb.holderKey);
214
+ // 11. Application-level predicate (optional). Last gate, runs
215
+ // after every protocol check. Lets callers express business
216
+ // rules ("age ≥ 18", "EU resident", "credentialSubject.dob in
217
+ // a specific decade") without polluting the protocol layer.
218
+ if (options.require !== undefined) {
219
+ let predicateOutcome;
220
+ try {
221
+ predicateOutcome = await options.require({ claims, metadata });
222
+ }
223
+ catch (err) {
224
+ // Predicate threw — surface the throw verbatim. We don't
225
+ // silently treat it as failure: a buggy predicate is a
226
+ // caller bug, not a verification result.
227
+ throw err;
228
+ }
229
+ const passed = typeof predicateOutcome === "boolean"
230
+ ? predicateOutcome
231
+ : Boolean(predicateOutcome.passed);
232
+ if (!passed) {
233
+ const reason = typeof predicateOutcome === "boolean"
234
+ ? "require predicate returned false"
235
+ : (predicateOutcome.reason ?? "require predicate returned false");
236
+ return makeFailure(checks, "require.predicate", reason);
237
+ }
238
+ record(checks, "require.predicate", true);
239
+ }
185
240
  const success = {
186
241
  ok: true,
187
242
  claims,
@@ -193,13 +248,17 @@ export class Verifier {
193
248
  success.status = statusResult;
194
249
  return success;
195
250
  }
196
- /** Build an OID4VP Authorization Request URL to share with the wallet. */
197
- request(options) {
251
+ /**
252
+ * Build an OID4VP Authorization Request URL to share with the wallet.
253
+ *
254
+ * @internal Public surface is `verifier.requests.create(opts)`.
255
+ */
256
+ createRequestImpl(options) {
198
257
  if (typeof options.baseUrl !== "string" || options.baseUrl.length === 0) {
199
- throw new TypeError("verifier.request: baseUrl is required");
258
+ throw new TypeError("verifier.requests.create: baseUrl is required");
200
259
  }
201
260
  if (typeof options.nonce !== "string" || options.nonce.length === 0) {
202
- throw new TypeError("verifier.request: nonce is required");
261
+ throw new TypeError("verifier.requests.create: nonce is required");
203
262
  }
204
263
  if (options.presentationDefinition !== undefined &&
205
264
  options.presentationDefinitionUri !== undefined) {
@@ -237,13 +296,15 @@ export class Verifier {
237
296
  /**
238
297
  * Process an OID4VP Authorization Response body end-to-end:
239
298
  * parse the form body, enforce CSRF state matching, and verify the
240
- * vp_token cryptographically. Returns the same result shape as `verify()`
241
- * plus the parsed transport envelope.
299
+ * vp_token cryptographically. Returns the same result shape as
300
+ * `presentations.verify` plus the parsed transport envelope.
301
+ *
302
+ * @internal Public surface is `verifier.responses.verify(rawBody, opts)`.
242
303
  */
243
- async response(rawBody, options) {
304
+ async verifyResponseImpl(rawBody, options) {
244
305
  if (typeof options.expectedNonce !== "string" ||
245
306
  options.expectedNonce.length === 0) {
246
- throw new TypeError("verifier.response: expectedNonce is required");
307
+ throw new TypeError("verifier.responses.verify: expectedNonce is required");
247
308
  }
248
309
  let response;
249
310
  try {
@@ -275,7 +336,9 @@ export class Verifier {
275
336
  if (options.requireStatus !== undefined) {
276
337
  verifyOpts.requireStatus = options.requireStatus;
277
338
  }
278
- const baseResult = await this.verify(vpToken, verifyOpts);
339
+ if (options.require !== undefined)
340
+ verifyOpts.require = options.require;
341
+ const baseResult = await this.verifyPresentationImpl(vpToken, verifyOpts);
279
342
  return Object.assign({}, baseResult, {
280
343
  response,
281
344
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../src/verifier.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gramota/verifier",
3
- "version": "0.2.0",
3
+ "version": "0.5.0",
4
4
  "description": "Relying-party verifier for the EU Digital Identity Wallet. One client, one method, full IETF SD-JWT-VC + KB-JWT spec compliance.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -16,15 +16,16 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@gramota/jose": "0.2.0",
20
- "@gramota/oid4vp": "0.2.0",
21
- "@gramota/sd-jwt": "0.2.0",
22
- "@gramota/trust": "0.1.1",
23
- "@gramota/status-list": "0.1.1"
19
+ "@gramota/core": "0.2.1",
20
+ "@gramota/jose": "0.3.0",
21
+ "@gramota/oid4vp": "0.2.2",
22
+ "@gramota/sd-jwt": "0.2.2",
23
+ "@gramota/status-list": "0.1.3",
24
+ "@gramota/trust": "0.1.3"
24
25
  },
25
26
  "devDependencies": {
26
27
  "jose": "^5.9.6",
27
- "@gramota/issuer": "0.2.0"
28
+ "@gramota/issuer": "0.3.2"
28
29
  },
29
30
  "author": "Petromil Pavlov <petromilpavlov@gmail.com>",
30
31
  "homepage": "https://github.com/gramota-org/gramota#readme",