@gramota/verifier 0.2.0 → 0.4.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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAE9B,6CAA6C;AAC7C,MAAM,WAAW,cAAc;IAC7B;;0CAEsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;wDAIoD;IACpD,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAExC;mBACe;IACf,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB;;0DAEsD;IACtD,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;;;;;;;;OASG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;mEAE+D;IAC/D,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAErC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;qBACiB;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,WAAW,aAAa;IAC5B;mEAC+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IAEd;iEAC6D;IAC7D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;uBAEuB;AACvB,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,0BAA0B,GAC1B,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,cAAc,CAAC;AAEnB,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;wCAEoC;IACpC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACtD,aAAa,CAAC,OAAO,CAAC,GACtB,aAAa,CAAC;AAElB,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,EAAE,EAAE,IAAI,CAAC;IACT;oEACgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,+DAA+D;IAC/D,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC;;gDAE4C;IAC5C,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC5C,+CAA+C;IAC/C,MAAM,IAAI,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,KAAK,CAAC;IACV,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,WAAW,EAAE,iBAAiB,CAAC;IAC/B,2DAA2D;IAC3D,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,mDAAmD;IACnD,MAAM,IAAI,KAAK,CAAC;CACjB;AAED,qBAAa,aAAc,SAAQ,KAAK;IAOpC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAPhC,SAAkB,IAAI,mBAAmB;IACzC;iFAC6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;gBAE/B,OAAO,EAAE,MAAM;IACf,oDAAoD;IAC3C,MAAM,EAAE,aAAa;CAKjC"}
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,46 @@ 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
+ * @deprecated Use `verifier.presentations.verify(token, opts)` instead.
32
+ * Removed in 1.0. The flat shape predates Gramota's Stripe-style
33
+ * namespacing — the namespaced version is the supported surface.
34
+ */
35
+ verify<TClaims = Record<string, unknown>>(presentationToken: string, options: VerifyOptions<TClaims>): Promise<VerifyResult<TClaims>>;
36
+ /**
37
+ * Build an OID4VP Authorization Request URL to share with the wallet.
38
+ *
39
+ * @deprecated Use `verifier.requests.create(opts)` instead. Removed in 1.0.
18
40
  */
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
41
  request(options: PresentationRequestOptions): PresentationRequest;
22
42
  /**
23
43
  * Process an OID4VP Authorization Response body end-to-end:
24
44
  * parse the form body, enforce CSRF state matching, and verify the
25
45
  * vp_token cryptographically. Returns the same result shape as `verify()`
26
46
  * plus the parsed transport envelope.
47
+ *
48
+ * @deprecated Use `verifier.responses.verify(rawBody, opts)` instead.
49
+ * Removed in 1.0.
27
50
  */
28
- response<TClaims = Record<string, unknown>>(rawBody: string | URLSearchParams | Record<string, string>, options: VerifyResponseOptions): Promise<VerifyResponseResult<TClaims>>;
51
+ response<TClaims = Record<string, unknown>>(rawBody: string | URLSearchParams | Record<string, string>, options: VerifyResponseOptions<TClaims>): Promise<VerifyResponseResult<TClaims>>;
29
52
  }
30
53
  /** Result of `verifier.responses.verify()` — same shape as `VerifyResult`
31
54
  * plus the parsed OID4VP transport envelope. */
@@ -66,7 +89,7 @@ export interface PresentationRequest {
66
89
  state: string | undefined;
67
90
  }
68
91
  /** Options for `verifier.response()`. */
69
- export interface VerifyResponseOptions {
92
+ export interface VerifyResponseOptions<TClaims = Record<string, unknown>> {
70
93
  /** Required — the nonce used in the original request. */
71
94
  expectedNonce: string;
72
95
  /** Optional — when supplied, response.state MUST equal this. */
@@ -77,5 +100,8 @@ export interface VerifyResponseOptions {
77
100
  * status. Has effect only when the Verifier was constructed with a
78
101
  * `statusResolver`. */
79
102
  requireStatus?: boolean;
103
+ /** Forwarded to `verify()` — application-level predicate that runs
104
+ * after all crypto + status checks pass. See {@link VerifyOptions.require}. */
105
+ require?: VerifyOptions<TClaims>["require"];
80
106
  }
81
107
  //# 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,13 +38,43 @@ 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 on this class (`verify`, `response`, `request`)
49
+ // are kept for back-compat in 0.3.0 and marked `@deprecated`.
50
+ // Removed in 1.0 — migrate by adding the resource segment.
51
+ // ────────────────────────────────────────────────────────────────
52
+ this.presentations = {
53
+ verify: (token, opts) => this.verify(token, opts),
54
+ };
55
+ this.responses = {
56
+ verify: (rawBody, opts) => this.response(rawBody, opts),
57
+ };
58
+ this.requests = {
59
+ create: (opts) => this.request(opts),
60
+ };
41
61
  }
62
+ /** Verify a presentation token. Stripe-shaped surface. */
63
+ presentations;
64
+ /** Verify an OID4VP authorization response body. Stripe-shaped surface. */
65
+ responses;
66
+ /** Build a signed presentation request for the wallet. Stripe-shaped surface. */
67
+ requests;
42
68
  /**
43
69
  * Verify an SD-JWT-VC presentation token end-to-end.
44
70
  *
45
71
  * Runs 9 security checks in order; stops at the first failure and reports
46
72
  * which check failed. On success, returns the disclosed claims plus
47
73
  * protocol metadata plus the full audit trail of checks performed.
74
+ *
75
+ * @deprecated Use `verifier.presentations.verify(token, opts)` instead.
76
+ * Removed in 1.0. The flat shape predates Gramota's Stripe-style
77
+ * namespacing — the namespaced version is the supported surface.
48
78
  */
49
79
  async verify(presentationToken, options) {
50
80
  if (typeof options.nonce !== "string" || options.nonce.length === 0) {
@@ -179,9 +209,37 @@ export class Verifier {
179
209
  record(checks, "status.check", true);
180
210
  }
181
211
  }
182
- // All checks passed assemble the success result.
212
+ // All cryptographic checks passed. Extract the claims + metadata
213
+ // before running the optional application-level predicate so the
214
+ // predicate sees the same shape callers will see on success.
183
215
  const claims = stripMetadata(verifiedSdJwt.claims);
184
216
  const metadata = extractMetadata(parsed, verifiedSdJwt.claims, this.audience, verifiedKb.holderKey);
217
+ // 11. Application-level predicate (optional). Last gate, runs
218
+ // after every protocol check. Lets callers express business
219
+ // rules ("age ≥ 18", "EU resident", "credentialSubject.dob in
220
+ // a specific decade") without polluting the protocol layer.
221
+ if (options.require !== undefined) {
222
+ let predicateOutcome;
223
+ try {
224
+ predicateOutcome = await options.require({ claims, metadata });
225
+ }
226
+ catch (err) {
227
+ // Predicate threw — surface the throw verbatim. We don't
228
+ // silently treat it as failure: a buggy predicate is a
229
+ // caller bug, not a verification result.
230
+ throw err;
231
+ }
232
+ const passed = typeof predicateOutcome === "boolean"
233
+ ? predicateOutcome
234
+ : Boolean(predicateOutcome.passed);
235
+ if (!passed) {
236
+ const reason = typeof predicateOutcome === "boolean"
237
+ ? "require predicate returned false"
238
+ : (predicateOutcome.reason ?? "require predicate returned false");
239
+ return makeFailure(checks, "require.predicate", reason);
240
+ }
241
+ record(checks, "require.predicate", true);
242
+ }
185
243
  const success = {
186
244
  ok: true,
187
245
  claims,
@@ -193,7 +251,11 @@ export class Verifier {
193
251
  success.status = statusResult;
194
252
  return success;
195
253
  }
196
- /** Build an OID4VP Authorization Request URL to share with the wallet. */
254
+ /**
255
+ * Build an OID4VP Authorization Request URL to share with the wallet.
256
+ *
257
+ * @deprecated Use `verifier.requests.create(opts)` instead. Removed in 1.0.
258
+ */
197
259
  request(options) {
198
260
  if (typeof options.baseUrl !== "string" || options.baseUrl.length === 0) {
199
261
  throw new TypeError("verifier.request: baseUrl is required");
@@ -239,6 +301,9 @@ export class Verifier {
239
301
  * parse the form body, enforce CSRF state matching, and verify the
240
302
  * vp_token cryptographically. Returns the same result shape as `verify()`
241
303
  * plus the parsed transport envelope.
304
+ *
305
+ * @deprecated Use `verifier.responses.verify(rawBody, opts)` instead.
306
+ * Removed in 1.0.
242
307
  */
243
308
  async response(rawBody, options) {
244
309
  if (typeof options.expectedNonce !== "string" ||
@@ -275,6 +340,8 @@ export class Verifier {
275
340
  if (options.requireStatus !== undefined) {
276
341
  verifyOpts.requireStatus = options.requireStatus;
277
342
  }
343
+ if (options.require !== undefined)
344
+ verifyOpts.require = options.require;
278
345
  const baseResult = await this.verify(vpToken, verifyOpts);
279
346
  return Object.assign({}, baseResult, {
280
347
  response,
@@ -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.4.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.0",
20
+ "@gramota/jose": "0.2.1",
21
+ "@gramota/oid4vp": "0.2.1",
22
+ "@gramota/sd-jwt": "0.2.1",
23
+ "@gramota/status-list": "0.1.2",
24
+ "@gramota/trust": "0.1.2"
24
25
  },
25
26
  "devDependencies": {
26
27
  "jose": "^5.9.6",
27
- "@gramota/issuer": "0.2.0"
28
+ "@gramota/issuer": "0.3.1"
28
29
  },
29
30
  "author": "Petromil Pavlov <petromilpavlov@gmail.com>",
30
31
  "homepage": "https://github.com/gramota-org/gramota#readme",