@certrev/cert-block 1.2.1 → 1.3.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +12 -1
  3. package/dist/builder/cert-review-card.d.ts.map +1 -1
  4. package/dist/builder/cert-review-card.js +68 -3
  5. package/dist/builder/cert-review-card.js.map +1 -1
  6. package/dist/builder/delivered-face.d.ts +74 -0
  7. package/dist/builder/delivered-face.d.ts.map +1 -0
  8. package/dist/builder/delivered-face.js +122 -0
  9. package/dist/builder/delivered-face.js.map +1 -0
  10. package/dist/builder/delivery-runtime.d.ts +1 -1
  11. package/dist/builder/delivery-runtime.d.ts.map +1 -1
  12. package/dist/builder/delivery-runtime.js +3 -1
  13. package/dist/builder/delivery-runtime.js.map +1 -1
  14. package/dist/builder/index.d.ts +4 -1
  15. package/dist/builder/index.d.ts.map +1 -1
  16. package/dist/builder/index.js +4 -1
  17. package/dist/builder/index.js.map +1 -1
  18. package/dist/builder/ssr-seed.d.ts +13 -1
  19. package/dist/builder/ssr-seed.d.ts.map +1 -1
  20. package/dist/builder/ssr-seed.js +14 -2
  21. package/dist/builder/ssr-seed.js.map +1 -1
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/verify/get-verified-delivery.d.ts +28 -0
  27. package/dist/verify/get-verified-delivery.d.ts.map +1 -1
  28. package/dist/verify/get-verified-delivery.js +29 -3
  29. package/dist/verify/get-verified-delivery.js.map +1 -1
  30. package/package.json +2 -2
  31. package/src/builder/cert-review-card.tsx +96 -4
  32. package/src/builder/delivered-face.ts +142 -0
  33. package/src/builder/delivery-runtime.ts +3 -1
  34. package/src/builder/index.tsx +4 -1
  35. package/src/builder/ssr-seed.ts +25 -2
  36. package/src/index.ts +3 -0
  37. package/src/verify/get-verified-delivery.ts +45 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builder/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AASD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC/B,OAAO,EACP,SAAiB,EACjB,QAAQ,GACR,EAAE;IACF,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC5B,+BAEA;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,gCAiBvC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,uCAO5B;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,OAAO,aAAa,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,EAAE,CAAA;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,0BAIpC,CAAA;AAGD,OAAO,EAAE,KAAK,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAGrG,OAAO,EACN,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,YAAY,EACjB,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EACtC,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,GACZ,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/builder/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAA;AAEjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,sGAAsG;IACtG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CACzB;AASD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC/B,OAAO,EACP,SAAiB,EACjB,QAAQ,GACR,EAAE;IACF,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC5B,+BAEA;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,gCAiBvC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,uCAO5B;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IAC1C,SAAS,EAAE,OAAO,aAAa,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,KAAK,EAAE,CAAA;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,0BAIpC,CAAA;AAGD,OAAO,EAAE,KAAK,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAGrG,OAAO,EACN,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,YAAY,EACjB,mBAAmB,EACnB,KAAK,4BAA4B,EACjC,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EACtC,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,gBAAgB,EAChB,eAAe,EACf,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,GACZ,MAAM,oBAAoB,CAAA"}
@@ -28,7 +28,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
28
28
  * for the entry it renders inside (`builderContext.content.id`) from the CertREV Delivery API on
29
29
  * `baseUrl` (an https certrev.com origin, nothing else), verifies it against the baked
30
30
  * `cert-issuer-1` key, re-judges revocation and expiry at every render, and paints the brand's
31
- * render def served beside it. A revoked, expired, unverifiable or unreachable cert, a marker that
31
+ * render def served beside it. 1.3.0: when the Delivery API also serves a server-rendered face
32
+ * (`face: { html, css }`, unsigned) and the verified envelope signs that face's sha256 digests for the
33
+ * def version served (`content.faceDigest`), an unpinned whole-card block paints that face instead;
34
+ * markup that does not hash to the signed digest is never painted. A revoked, expired, unverifiable or unreachable cert, a marker that
32
35
  * is not exactly that shape, or a missing entry id renders nothing. A block WITHOUT the marker
33
36
  * (every entry exported before 1.1.0) renders from its options exactly as 1.0.3 did, so the
34
37
  * paragraph above still describes it: an editor who deletes the marker gets the options face back,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builder/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAexD,MAAM,cAAc,GAAG,aAAa,CAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAC/B,OAAO,EACP,SAAS,GAAG,KAAK,EACjB,QAAQ,GAKR;IACA,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAG,QAAQ,GAA2B,CAAA;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACvC,OAAO,CACN,kDACiC,EAAE,EAClC,KAAK,EAAE;YACN,MAAM,EAAE,oBAAoB;YAC5B,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,SAAS;SACrB,iCAEe,8CAA0B,oJAErC,CACN,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,SAAG,CAAA;IACrF,CAAC;IACD,IAAI,SAAS;QAAE,OAAO,KAAC,wBAAwB,KAAG,CAAA;IAClD,OAAO,IAAI,CAAA;AACZ,CAAC;AAaD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IACjE,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,EAAE;CACV,CAAA;AAED,iHAAiH;AACjH,OAAO,EAAkB,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAErG,gFAAgF;AAChF,OAAO,EACN,wBAAwB,GAKxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EAEpB,mBAAmB,EAEnB,cAAc,EAGd,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,GACZ,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builder/index.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,OAAO,EAAE,aAAa,EAAkB,UAAU,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAexD,MAAM,cAAc,GAAG,aAAa,CAAsB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;AAE9F;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAC/B,OAAO,EACP,SAAS,GAAG,KAAK,EACjB,QAAQ,GAKR;IACA,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,YAAG,QAAQ,GAA2B,CAAA;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACvC,OAAO,CACN,kDACiC,EAAE,EAClC,KAAK,EAAE;YACN,MAAM,EAAE,oBAAoB;YAC5B,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,SAAS;SACrB,iCAEe,8CAA0B,oJAErC,CACN,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC5B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzD,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,SAAG,CAAA;IACrF,CAAC;IACD,IAAI,SAAS;QAAE,OAAO,KAAC,wBAAwB,KAAG,CAAA;IAClD,OAAO,IAAI,CAAA;AACZ,CAAC;AAaD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IACjE,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,EAAE;CACV,CAAA;AAED,iHAAiH;AACjH,OAAO,EAAkB,gBAAgB,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AAErG,gFAAgF;AAChF,OAAO,EACN,wBAAwB,GAKxB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,sBAAsB,EACtB,oBAAoB,EAEpB,mBAAmB,EAEnB,cAAc,EAGd,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACN,gBAAgB,EAChB,eAAe,EAEf,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,GACZ,MAAM,oBAAoB,CAAA"}
@@ -48,11 +48,18 @@
48
48
  * server withheld. A record holds no payload, so `parseSeed` never takes one for a seed. A `'none'` record sits on a
49
49
  * `hidden` element with nothing in it.
50
50
  *
51
+ * A DELIVERED FACE RIDES THE SEED (1.3.0), and only when the server painted it: the seed then ends with
52
+ * `face: { html, css }`, the server-rendered markup and stylesheet the Delivery API served beside the envelope, whose
53
+ * hashes the signed `payload.content.faceDigest` binds. A browser repaints that face from the seed only after hashing
54
+ * it against the seed payload's digest itself (`cert-review-card.tsx`); a seed with no `face`, a malformed one, or one
55
+ * whose hashes fail paints what 1.2.1 paints for it. A seed with no face is byte for byte the 1.2.1 seed. The face is
56
+ * on the page twice (painted, and in the seed), which is its page-weight cost.
57
+ *
51
58
  * React-free and browser-only in effect: with no `document` (a server) `pageSeedFor` finds nothing, so a server never
52
59
  * reads or keeps a seed and a multi-tenant render process holds nothing per page.
53
60
  */
54
61
  import type { CertPayload, CertSignature } from '../contract/kernel.js';
55
- import { type DesignPin } from '../verify/get-verified-delivery.js';
62
+ import { type DeliveredFace, type DesignPin } from '../verify/get-verified-delivery.js';
56
63
  import type { CertChromeRenderDef } from './cert-chrome-data.js';
57
64
  export declare const SEED_ATTRIBUTE = "data-certrev-envelope";
58
65
  export interface DeliverySeed {
@@ -68,6 +75,11 @@ export interface DeliverySeed {
68
75
  */
69
76
  readonly signature?: CertSignature;
70
77
  readonly renderDef: CertChromeRenderDef | null;
78
+ /**
79
+ * 1.3.0: the delivered face the server painted (the file header); absent whenever it painted anything else. On a
80
+ * seed read from the page it is UNVERIFIED until hashed against `payload.content.faceDigest`.
81
+ */
82
+ readonly face?: DeliveredFace;
71
83
  }
72
84
  /** A seed as read from the page: the parsed seed and the attribute's exact text (re-rendered verbatim on hydration). */
73
85
  export interface PageSeed {
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-seed.d.ts","sourceRoot":"","sources":["../../src/builder/ssr-seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssr-seed.d.ts","sourceRoot":"","sources":["../../src/builder/ssr-seed.ts"],"names":[],"mappings":"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"}
@@ -48,11 +48,18 @@
48
48
  * server withheld. A record holds no payload, so `parseSeed` never takes one for a seed. A `'none'` record sits on a
49
49
  * `hidden` element with nothing in it.
50
50
  *
51
+ * A DELIVERED FACE RIDES THE SEED (1.3.0), and only when the server painted it: the seed then ends with
52
+ * `face: { html, css }`, the server-rendered markup and stylesheet the Delivery API served beside the envelope, whose
53
+ * hashes the signed `payload.content.faceDigest` binds. A browser repaints that face from the seed only after hashing
54
+ * it against the seed payload's digest itself (`cert-review-card.tsx`); a seed with no `face`, a malformed one, or one
55
+ * whose hashes fail paints what 1.2.1 paints for it. A seed with no face is byte for byte the 1.2.1 seed. The face is
56
+ * on the page twice (painted, and in the seed), which is its page-weight cost.
57
+ *
51
58
  * React-free and browser-only in effect: with no `document` (a server) `pageSeedFor` finds nothing, so a server never
52
59
  * reads or keeps a seed and a multi-tenant render process holds nothing per page.
53
60
  */
54
61
  import { HIDEABLE_FIELDS } from '../components/render-def.js';
55
- import { parseDesignPin, parseRenderDef } from '../verify/get-verified-delivery.js';
62
+ import { parseDeliveredFace, parseDesignPin, parseRenderDef, } from '../verify/get-verified-delivery.js';
56
63
  export const SEED_ATTRIBUTE = 'data-certrev-envelope';
57
64
  const isRecord = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
58
65
  /** A value worth hiding: anything but nothing (absent, null, the empty string). */
@@ -121,6 +128,8 @@ export function serializeSeed(seed) {
121
128
  payload: seed.payload,
122
129
  ...(seed.signature ? { signature: seed.signature } : {}),
123
130
  renderDef: seed.renderDef,
131
+ // 1.3.0: last, and only with a delivered face, so a seed without one is the 1.2.1 bytes.
132
+ ...(seed.face ? { face: { html: seed.face.html, css: seed.face.css } } : {}),
124
133
  });
125
134
  }
126
135
  export function serializeFallback(fallback) {
@@ -152,7 +161,7 @@ export function parseSeed(raw) {
152
161
  }
153
162
  if (!isRecord(value) || value.v !== 1)
154
163
  return null;
155
- const { baseUrl, externalId, design, payload, signature, renderDef } = value;
164
+ const { baseUrl, externalId, design, payload, signature, renderDef, face } = value;
156
165
  if (typeof baseUrl !== 'string' || typeof externalId !== 'string')
157
166
  return null;
158
167
  if (!isRecord(payload) || !isRecord(payload.subject) || !isRecord(payload.lifecycle) || !isRecord(payload.content)) {
@@ -162,6 +171,8 @@ export function parseSeed(raw) {
162
171
  const pin = parsedPin(design);
163
172
  if (pin === null)
164
173
  return null;
174
+ // 1.3.0: a face that is not two strings is no face; the seed is still a seed (and paints as 1.2.1 paints it).
175
+ const delivered = parseDeliveredFace(face);
165
176
  return {
166
177
  baseUrl,
167
178
  externalId,
@@ -169,6 +180,7 @@ export function parseSeed(raw) {
169
180
  payload: payload,
170
181
  ...(isRecord(signature) ? { signature: signature } : {}),
171
182
  renderDef: parseRenderDef(renderDef),
183
+ ...(delivered ? { face: delivered } : {}),
172
184
  };
173
185
  }
174
186
  /** A fallback record in one attribute value, or null for anything that is not one (a seed included; never throws). */
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-seed.js","sourceRoot":"","sources":["../../src/builder/ssr-seed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ssr-seed.js","sourceRoot":"","sources":["../../src/builder/ssr-seed.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -31,10 +31,10 @@ export { type PreviewBlockOptions, previewExpiry, renderPreviewBlock, } from './
31
31
  export { CERTREV_LINK_REL } from './components/rel.js';
32
32
  export { type CertBlockFace, type CertBlockFacts, type CertBlockLayout, type CertBlockMode, type RenderCertBlockInput, renderCertBlock, } from './components/render-cert-block.js';
33
33
  export { accentFg, type BadgeVisibilityFieldId, CERT_SCOPE_LINE, CERT_STRINGS_VERSION, type CertRenderDef, type CertThemeTokens, COMPENSATED_EXPERT_CUE, CREDENTIAL_VERIFIED_ATTRIBUTION, DEFAULT_BLOCK_THEME, FONT_SLOTS, FONT_STACKS, type FontSlot, HIDEABLE_FIELDS, isCornerRadius, isFieldHidden, isFontSlot, isOpaqueHexColor, isRenderBlockFontSlot, RENDER_BLOCK_FONT_SLOTS, RENDER_BLOCK_FONT_STACKS, type RenderBlockFontSlot, type ResolvedBlockTheme, type ResolvedRenderTheme, resolveBlockTheme, resolveRenderTheme, themeCssVarDeclarations, } from './components/render-def.js';
34
- export { CANONICALIZATION, type CertContent, type CertCredential, type CertDeliveryEnvelope, type CertDisplayConfig, type CertLifecycle, type CertPayload, type CertSignature, type CertSubject, type CertSuppressReason, type CertVerdict, CONTRACT_VERSION, type ContractVersion, type Ed25519PublicKeyInput, type RenderContext, type ResolvePublicKeyByKid, renderVerdict, SIGNATURE_ALG, type SignatureAlg, type VerdictKernel, verifyEnvelope, verifySignatureOnly, } from './contract/kernel.js';
34
+ export { CANONICALIZATION, type CertContent, type CertCredential, type CertDeliveryEnvelope, type CertDisplayConfig, type CertFaceDigest, type CertLifecycle, type CertPayload, type CertSignature, type CertSubject, type CertSuppressReason, type CertVerdict, CONTRACT_VERSION, type ContractVersion, type Ed25519PublicKeyInput, type RenderContext, type ResolvePublicKeyByKid, renderVerdict, SIGNATURE_ALG, type SignatureAlg, type VerdictKernel, verifyEnvelope, verifySignatureOnly, } from './contract/kernel.js';
35
35
  export { type JsonLdValue, type ProjectJsonLdOptions, projectCertJsonLd, projectCertJsonLdString, serializeJsonLdForScript, } from './jsonld/project.js';
36
36
  export { TtlCache, type TtlCacheOptions } from './verify/cache.js';
37
- export { type CachedDelivery, type DesignPin, deliveryCacheKey, deliveryUrl, designPinFromUrl, type GetVerifiedDeliveryOptions, getVerifiedDelivery, invalidateDelivery, parseDesignPin, parseRenderDef, peekVerifiedDelivery, settleDelivery, sharedDeliveryCache, type VerifiedDelivery, } from './verify/get-verified-delivery.js';
37
+ export { type CachedDelivery, type DeliveredFace, type DesignPin, deliveryCacheKey, deliveryUrl, designPinFromUrl, type GetVerifiedDeliveryOptions, getVerifiedDelivery, invalidateDelivery, parseDeliveredFace, parseDesignPin, parseRenderDef, peekVerifiedDelivery, settleDelivery, sharedDeliveryCache, type VerifiedDelivery, } from './verify/get-verified-delivery.js';
38
38
  export { type EnvelopeSource, type GetVerifiedEnvelopeOptions, getVerifiedEnvelope, invalidateVerdict, sharedVerdictCache, } from './verify/get-verified-envelope.js';
39
39
  export { type FetchingKidResolverOptions, fetchingKidResolver, type StaticKeySet, staticKidResolver, } from './verify/resolve-kid.js';
40
40
  export { type RenderBadgeOptions, renderBadgeHtml } from './webcomponent/render-badge-html.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -45,7 +45,7 @@ export { CANONICALIZATION, CONTRACT_VERSION, renderVerdict, SIGNATURE_ALG, verif
45
45
  // ── JSON-LD projector ───────────────────────────────────────────────────────────────
46
46
  export { projectCertJsonLd, projectCertJsonLdString, serializeJsonLdForScript, } from './jsonld/project.js';
47
47
  export { TtlCache } from './verify/cache.js';
48
- export { deliveryCacheKey, deliveryUrl, designPinFromUrl, getVerifiedDelivery, invalidateDelivery, parseDesignPin, parseRenderDef, peekVerifiedDelivery, settleDelivery, sharedDeliveryCache, } from './verify/get-verified-delivery.js';
48
+ export { deliveryCacheKey, deliveryUrl, designPinFromUrl, getVerifiedDelivery, invalidateDelivery, parseDeliveredFace, parseDesignPin, parseRenderDef, peekVerifiedDelivery, settleDelivery, sharedDeliveryCache, } from './verify/get-verified-delivery.js';
49
49
  // ── Verify layer ──────────────────────────────────────────────────────────────────
50
50
  export { getVerifiedEnvelope, invalidateVerdict, sharedVerdictCache, } from './verify/get-verified-envelope.js';
51
51
  export { fetchingKidResolver, staticKidResolver, } from './verify/resolve-kid.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qFAAqF;AACrF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAA6B,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACzG,uFAAuF;AACvF,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,cAAc,GACd,MAAM,wBAAwB,CAAA;AAC/B,wFAAwF;AACxF,OAAO,EACN,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,UAAU,GACV,MAAM,6BAA6B,CAAA;AACpC,qEAAqE;AACrE,OAAO,EAEN,aAAa,EACb,kBAAkB,GAClB,MAAM,+BAA+B,CAAA;AACtC,2FAA2F;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,qFAAqF;AACrF,OAAO,EAMN,eAAe,GACf,MAAM,mCAAmC,CAAA;AAC1C,oFAAoF;AACpF,OAAO,EACN,QAAQ,EAER,eAAe,EACf,oBAAoB,EAGpB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAIxB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,4BAA4B,CAAA;AACnC,sFAAsF;AACtF,qFAAqF;AACrF,2FAA2F;AAC3F,OAAO,EACN,gBAAgB,EAWhB,gBAAgB,EAKhB,aAAa,EACb,aAAa,EAGb,cAAc,EACd,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,uFAAuF;AACvF,OAAO,EAGN,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAwB,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAGN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAEhB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GAEnB,MAAM,mCAAmC,CAAA;AAC1C,qFAAqF;AACrF,OAAO,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAEN,mBAAmB,EAEnB,iBAAiB,GACjB,MAAM,yBAAyB,CAAA;AAChC,sFAAsF;AACtF,OAAO,EAA2B,eAAe,EAAE,MAAM,qCAAqC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qFAAqF;AACrF,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,eAAe,EAA6B,MAAM,iCAAiC,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAwB,MAAM,4BAA4B,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAuB,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACzG,uFAAuF;AACvF,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,UAAU,EAEV,cAAc,GACd,MAAM,wBAAwB,CAAA;AAC/B,wFAAwF;AACxF,OAAO,EACN,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,UAAU,GACV,MAAM,6BAA6B,CAAA;AACpC,qEAAqE;AACrE,OAAO,EAEN,aAAa,EACb,kBAAkB,GAClB,MAAM,+BAA+B,CAAA;AACtC,2FAA2F;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,qFAAqF;AACrF,OAAO,EAMN,eAAe,GACf,MAAM,mCAAmC,CAAA;AAC1C,oFAAoF;AACpF,OAAO,EACN,QAAQ,EAER,eAAe,EACf,oBAAoB,EAGpB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EAIxB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,4BAA4B,CAAA;AACnC,sFAAsF;AACtF,qFAAqF;AACrF,2FAA2F;AAC3F,OAAO,EACN,gBAAgB,EAYhB,gBAAgB,EAKhB,aAAa,EACb,aAAa,EAGb,cAAc,EACd,mBAAmB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,uFAAuF;AACvF,OAAO,EAGN,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAwB,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAIN,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAEhB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,GAEnB,MAAM,mCAAmC,CAAA;AAC1C,qFAAqF;AACrF,OAAO,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAEN,mBAAmB,EAEnB,iBAAiB,GACjB,MAAM,yBAAyB,CAAA;AAChC,sFAAsF;AACtF,OAAO,EAA2B,eAAe,EAAE,MAAM,qCAAqC,CAAA"}
@@ -36,10 +36,25 @@
36
36
  * card paints its options face instead of nothing. A definitive answer (404/410, a key or signature that does not
37
37
  * verify, a revoked, expired or mismatched artifact) is never `unreachable`. `readVerifiedDelivery` is the
38
38
  * synchronous read that also serves a stale entry while refreshing it.
39
+ *
40
+ * 1.3.0: the response may also carry a server-rendered face as a second UNSIGNED sibling, `face: { html, css }`. It is
41
+ * read the way `renderDef` is (shape-checked, malformed is dropped, never read unless the artifact verified) and cached
42
+ * beside it, and `settleDelivery` hands it out only on a `render` verdict. NOTHING HERE VOUCHES FOR IT: the signature
43
+ * does not cover it. What binds it is the signed `payload.content.faceDigest` (cert-contract 0.6.0), and a caller
44
+ * paints it only after hashing it against that digest, as the Builder card does (`src/builder/delivered-face.ts`).
39
45
  */
40
46
  import type { CertChromeRenderDef } from '../builder/cert-chrome-data.js';
41
47
  import type { CertPayload, CertSignature, CertSuppressReason, CertVerdict, RenderContext, ResolvePublicKeyByKid } from '../contract/kernel.js';
42
48
  import { TtlCache } from './cache.js';
49
+ /**
50
+ * 1.3.0: the server-rendered face the Delivery API may serve beside the artifact. UNSIGNED and UNVERIFIED as carried
51
+ * here: paint it only when sha256 of each half's UTF-8 bytes equals the signed `payload.content.faceDigest`, and the
52
+ * digest's `defVersion` is the def served with it.
53
+ */
54
+ export interface DeliveredFace {
55
+ readonly html: string;
56
+ readonly css: string;
57
+ }
43
58
  /**
44
59
  * What one Delivery read settles to, as cached: a verified payload + its def (and, from 1.2.0, the signature it
45
60
  * verified with, so a server render can hand the signed envelope to the browser), or the reason not.
@@ -50,6 +65,8 @@ export type CachedDelivery = {
50
65
  readonly renderDef: CertChromeRenderDef | null;
51
66
  /** Absent only in a cache filled by hand (a test, a custom cache); a read always keeps it. */
52
67
  readonly signature?: CertSignature;
68
+ /** 1.3.0: the unsigned face sibling, when the response carried a well-formed one; else absent. */
69
+ readonly face?: DeliveredFace;
53
70
  } | {
54
71
  readonly kind: 'suppressed';
55
72
  readonly reason: CertSuppressReason;
@@ -65,6 +82,11 @@ export interface VerifiedDelivery {
65
82
  readonly signature?: CertSignature;
66
83
  /** 1.2.0: on a suppress verdict, true when CertREV was not reached; else undefined. */
67
84
  readonly unreachable?: true;
85
+ /**
86
+ * 1.3.0: on a `render` verdict, the server-rendered face served beside the artifact, when the response carried a
87
+ * well-formed one; else undefined (never on a suppress verdict). UNVERIFIED: see `DeliveredFace`.
88
+ */
89
+ readonly face?: DeliveredFace;
68
90
  }
69
91
  export interface GetVerifiedDeliveryOptions {
70
92
  /** Base URL of the CertREV app that serves the Delivery API, e.g. 'https://portal.certrev.com'. */
@@ -128,6 +150,12 @@ export declare function designPinFromUrl(url: string | URL): {
128
150
  * `resolveBlockTheme` re-validates each at paint time and drops what is not a safe value.
129
151
  */
130
152
  export declare function parseRenderDef(value: unknown): CertChromeRenderDef | null;
153
+ /**
154
+ * 1.3.0: the face sibling, shape-checked: an object whose `html` and `css` are both strings, copied to exactly those
155
+ * two keys. Anything else is null, and the card paints exactly what it paints with no face. The markup is NOT judged
156
+ * here; the signed digest judges it at paint time.
157
+ */
158
+ export declare function parseDeliveredFace(value: unknown): DeliveredFace | null;
131
159
  /** Apply the render-time policy to a cached read: lifecycle + subject at THIS render's clock. */
132
160
  export declare function settleDelivery(cached: CachedDelivery, context: RenderContext): VerifiedDelivery;
133
161
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"get-verified-delivery.d.ts","sourceRoot":"","sources":["../../src/verify/get-verified-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-verified-delivery.d.ts","sourceRoot":"","sources":["../../src/verify/get-verified-delivery.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,12 @@
36
36
  * card paints its options face instead of nothing. A definitive answer (404/410, a key or signature that does not
37
37
  * verify, a revoked, expired or mismatched artifact) is never `unreachable`. `readVerifiedDelivery` is the
38
38
  * synchronous read that also serves a stale entry while refreshing it.
39
+ *
40
+ * 1.3.0: the response may also carry a server-rendered face as a second UNSIGNED sibling, `face: { html, css }`. It is
41
+ * read the way `renderDef` is (shape-checked, malformed is dropped, never read unless the artifact verified) and cached
42
+ * beside it, and `settleDelivery` hands it out only on a `render` verdict. NOTHING HERE VOUCHES FOR IT: the signature
43
+ * does not cover it. What binds it is the signed `payload.content.faceDigest` (cert-contract 0.6.0), and a caller
44
+ * paints it only after hashing it against that digest, as the Builder card does (`src/builder/delivered-face.ts`).
39
45
  */
40
46
  import { renderVerdict, verifyArtifact } from '../contract/kernel.js';
41
47
  import { TtlCache } from './cache.js';
@@ -154,6 +160,19 @@ export function parseRenderDef(value) {
154
160
  ...(face ? { customFace: face } : {}),
155
161
  };
156
162
  }
163
+ /**
164
+ * 1.3.0: the face sibling, shape-checked: an object whose `html` and `css` are both strings, copied to exactly those
165
+ * two keys. Anything else is null, and the card paints exactly what it paints with no face. The markup is NOT judged
166
+ * here; the signed digest judges it at paint time.
167
+ */
168
+ export function parseDeliveredFace(value) {
169
+ if (!isRecord(value))
170
+ return null;
171
+ const { html, css } = value;
172
+ if (!isString(html) || !isString(css))
173
+ return null;
174
+ return { html, css };
175
+ }
157
176
  /** Fetch, parse and cryptographically verify one Delivery response. Never throws. */
158
177
  async function loadDelivery(opts) {
159
178
  const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
@@ -183,8 +202,8 @@ async function loadDelivery(opts) {
183
202
  let verdict;
184
203
  try {
185
204
  // `verifyArtifact`, so a tombstone verifies as itself and reports 'revoked'. The kernel reads
186
- // `payload` + `signature` (or the tombstone's own fields); the `renderDef` sibling is not
187
- // part of what is verified, and is never read unless the artifact verified.
205
+ // `payload` + `signature` (or the tombstone's own fields); the `renderDef` and (1.3.0) `face`
206
+ // siblings are not part of what is verified, and are never read unless the artifact verified.
188
207
  verdict = await verifyArtifact(body, opts.resolveKid, { ...opts.context });
189
208
  }
190
209
  catch {
@@ -194,11 +213,13 @@ async function loadDelivery(opts) {
194
213
  return suppressed(verdict.reason);
195
214
  // A `render` verdict came from an envelope (a tombstone never renders), so `signature` is the one just verified.
196
215
  const signature = isRecord(body.signature) ? body.signature : undefined;
216
+ const face = parseDeliveredFace(body.face);
197
217
  return {
198
218
  kind: 'verified',
199
219
  payload: verdict.payload,
200
220
  renderDef: parseRenderDef(body.renderDef),
201
221
  ...(signature ? { signature } : {}),
222
+ ...(face ? { face } : {}),
202
223
  };
203
224
  }
204
225
  /** Apply the render-time policy to a cached read: lifecycle + subject at THIS render's clock. */
@@ -213,7 +234,12 @@ export function settleDelivery(cached, context) {
213
234
  const verdict = renderVerdict(cached.payload, context);
214
235
  if (verdict.decision !== 'render')
215
236
  return { verdict, renderDef: null };
216
- return { verdict, renderDef: cached.renderDef, ...(cached.signature ? { signature: cached.signature } : {}) };
237
+ return {
238
+ verdict,
239
+ renderDef: cached.renderDef,
240
+ ...(cached.signature ? { signature: cached.signature } : {}),
241
+ ...(cached.face ? { face: cached.face } : {}),
242
+ };
217
243
  }
218
244
  /**
219
245
  * Fetch (if needed), verify, cache, and settle one Delivery read for one placement. FAIL-CLOSED:
@@ -1 +1 @@
1
- {"version":3,"file":"get-verified-delivery.js","sourceRoot":"","sources":["../../src/verify/get-verified-delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-verified-delivery.js","sourceRoot":"","sources":["../../src/verify/get-verified-delivery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@certrev/cert-block",
3
- "version": "1.2.1",
3
+ "version": "1.3.0",
4
4
  "description": "Headless render edge for the CertREV CertDeliveryEnvelope: SSR-safe React cert components, a framework-agnostic <certrev-badge> Web Component, a schema.org JSON-LD projector, and a fail-closed verify layer over the shared VerdictKernel.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,7 +75,7 @@
75
75
  "test": "vitest run"
76
76
  },
77
77
  "dependencies": {
78
- "@certrev/cert-contract": "^0.5.0"
78
+ "@certrev/cert-contract": "^0.6.0"
79
79
  },
80
80
  "peerDependencies": {
81
81
  "react": ">=18.0.0"
@@ -25,6 +25,7 @@ import { type CertBlockMode, renderCertBlock } from '../components/render-cert-b
25
25
  import { CERT_STRINGS_VERSION, type ResolvedBlockTheme } from '../components/render-def.js'
26
26
  import { type CertPayload, renderVerdict } from '../contract/kernel.js'
27
27
  import {
28
+ type DeliveredFace,
28
29
  type DesignPin,
29
30
  getVerifiedDelivery,
30
31
  parseDesignPin,
@@ -34,6 +35,14 @@ import {
34
35
  import { CARD_READER_CSS } from './card-reader-css.js'
35
36
  import type { BuilderCertChromeData, CertChromeRenderDef } from './cert-chrome-data.js'
36
37
  import { BUILDER_CERT_CHROME_KEYS } from './cert-chrome-data.js'
38
+ import {
39
+ type DeliveredFaceHashes,
40
+ deliveredFaceDigest,
41
+ deliveredFaceHtml,
42
+ deliveredFaceMatches,
43
+ faceHashesFor,
44
+ showsWholeCard,
45
+ } from './delivered-face.js'
37
46
  import { cardDeliveryRuntime } from './delivery-runtime.js'
38
47
  import { envelopeCardHtml, envelopeCardInput, isReaderFaceDef } from './envelope-face.js'
39
48
  import {
@@ -172,11 +181,25 @@ function suspendOn(key: string, start: () => Promise<VerifiedDelivery>): Verifie
172
181
  pending = start().finally(() => inflightReads.delete(key))
173
182
  inflightReads.set(key, pending)
174
183
  }
175
- const use = (React as unknown as { use?: <T>(p: Promise<T>) => T }).use
184
+ return suspendUntil(pending)
185
+ }
186
+
187
+ /** `use` where React has it (19), else the thrown promise (18). */
188
+ function suspendUntil<T>(pending: Promise<T>): T {
189
+ const use = (React as unknown as { use?: <U>(p: Promise<U>) => U }).use
176
190
  if (typeof use === 'function') return use(pending)
177
191
  throw pending
178
192
  }
179
193
 
194
+ /**
195
+ * 1.3.0: a delivered face's two digests, suspending once while WebCrypto computes them (`faceHashesFor` memoizes them
196
+ * by the face's content, so every later render of the same face, server or browser, reads them at once).
197
+ */
198
+ function suspendOnFaceHashes(face: DeliveredFace): DeliveredFaceHashes | null {
199
+ const memo = faceHashesFor(face)
200
+ return memo.settled ? memo.settled.hashes : suspendUntil(memo.pending)
201
+ }
202
+
180
203
  /**
181
204
  * 1.2.0-canary.6: the reader sidebar card is a right float that the article's copy flows around, as it does on a
182
205
  * WordPress or Shopify page. On a Builder page the card sits in its own block, a flex item of the flex column that holds
@@ -225,6 +248,8 @@ function EnvelopeFace(props: {
225
248
  readonly html: string
226
249
  readonly defVersion: number | undefined
227
250
  readonly reader?: boolean
251
+ /** 1.3.0: the server-rendered face the signed digest binds (`DeliveredEnvelopeFace`); never with `reader`. */
252
+ readonly delivered?: boolean
228
253
  /** The envelope seed (`ssr-seed.ts`): what a browser hydrating this face paints from, with no read of its own. */
229
254
  readonly seed: string
230
255
  /** 1.2.0, reader faces: told which person's photo the browser could not load (`ReaderEnvelopeFace`). */
@@ -270,8 +295,12 @@ function EnvelopeFace(props: {
270
295
  data-certrev-strings-version={CERT_STRINGS_VERSION}
271
296
  data-certrev-def-version={props.defVersion}
272
297
  {...{ [SEED_ATTRIBUTE]: props.seed }}
273
- {...(props.reader ? { 'data-certrev-face': 'reader', style: { display: 'flow-root' } } : {})}
274
- // biome-ignore lint/security/noDangerouslySetInnerHtml: renderCertBlock is the escaping-safe SSR string renderer
298
+ {...(props.reader
299
+ ? { 'data-certrev-face': 'reader', style: { display: 'flow-root' } }
300
+ : props.delivered
301
+ ? { 'data-certrev-face': 'delivered' }
302
+ : {})}
303
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: renderCertBlock is the escaping-safe SSR string renderer; a delivered face paints only when its bytes hash to the signed faceDigest
275
304
  dangerouslySetInnerHTML={{ __html: props.html }}
276
305
  />,
277
306
  )
@@ -340,6 +369,48 @@ function ReaderEnvelopeFace(props: {
340
369
  )
341
370
  }
342
371
 
372
+ /**
373
+ * 1.3.0: the delivered face this paint may use, or undefined (paint what 1.2.1 paints). Only for an unpinned card on a
374
+ * block that shows the whole card, a digest the verified content signs for the def's version, and a face whose UTF-8
375
+ * bytes hash to it (`delivered-face.ts`). Suspends once while WebCrypto hashes a face it has not seen.
376
+ */
377
+ function deliveredFaceFor(
378
+ payload: CertPayload,
379
+ renderDef: CertChromeRenderDef | null,
380
+ face: DeliveredFace | undefined,
381
+ props: EnvelopeCardProps,
382
+ ): DeliveredFace | undefined {
383
+ if (!face || props.design || !showsWholeCard(props.part)) return undefined
384
+ const digest = deliveredFaceDigest(payload.content, renderDef, face)
385
+ if (!digest) return undefined
386
+ return deliveredFaceMatches(suspendOnFaceHashes(face), digest) ? face : undefined
387
+ }
388
+
389
+ /**
390
+ * 1.3.0: the delivered face, in the card's own wrapper (the same attributes as any envelope face, and
391
+ * `data-certrev-face="delivered"`): the server's stylesheet, then its markup. `seed` is the record that names it.
392
+ */
393
+ function DeliveredEnvelopeFace(props: {
394
+ readonly face: DeliveredFace
395
+ readonly defVersion: number
396
+ readonly seed: string
397
+ }) {
398
+ return <EnvelopeFace delivered html={deliveredFaceHtml(props.face)} defVersion={props.defVersion} seed={props.seed} />
399
+ }
400
+
401
+ /**
402
+ * 1.3.0: what a card hydrating a seed that names a delivered face renders when the browser's own check of that face
403
+ * fails (no WebCrypto: an insecure context; or bytes that do not hash to the seed's digest). The server painted the
404
+ * delivered face there, and the browser must not render that markup, so this adopts the server's element as it stands
405
+ * (no attribute or innerHTML compared: `suppressHydrationWarning`; no children hydrated: `dangerouslySetInnerHTML`)
406
+ * and paints nothing of its own. The render right after hydration (at the browser's clock) is another component, so
407
+ * React replaces this element with the face 1.2.1 paints for the seed.
408
+ */
409
+ function ServerFaceUntilHydrated() {
410
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: an empty string; it only stops React hydrating the server's children
411
+ return <div suppressHydrationWarning dangerouslySetInnerHTML={{ __html: '' }} />
412
+ }
413
+
343
414
  /** Paint a verified payload with its def; null when the def and content give no face. */
344
415
  function paintEnvelope(
345
416
  payload: CertPayload,
@@ -435,7 +506,16 @@ function paintRecord(
435
506
  return null
436
507
  }
437
508
  }
438
- return paintEnvelope(record.seed.payload, record.seed.renderDef, props, record.raw)
509
+ // 1.3.0: a seed that names a delivered face repaints it only after the browser hashes it against the seed
510
+ // payload's own digest; otherwise the seed paints what 1.2.1 paints for it.
511
+ const { seed } = record
512
+ const delivered = deliveredFaceFor(seed.payload, seed.renderDef, seed.face, props)
513
+ if (delivered && seed.renderDef) {
514
+ return <DeliveredEnvelopeFace face={delivered} defVersion={seed.renderDef.v} seed={record.raw} />
515
+ }
516
+ // Hydrating (not `judge`) over the delivered face the server painted, which the browser could not confirm.
517
+ if (seed.face && !judge) return <ServerFaceUntilHydrated />
518
+ return paintEnvelope(seed.payload, seed.renderDef, props, record.raw)
439
519
  }
440
520
  const html = record.fallback.face === 'options' ? fallbackFace(props) : null
441
521
  return html === null ? (
@@ -587,6 +667,18 @@ function EnvelopeCertReviewCard(props: EnvelopeCardProps) {
587
667
  signature: settled.signature,
588
668
  renderDef: settled.renderDef,
589
669
  })
670
+ // 1.3.0: the server-rendered face the Delivery API served beside the envelope, when its bytes hash to the digest the
671
+ // verified payload signs; the seed then carries it, so the browser can repaint (and re-check) the same face.
672
+ const delivered = deliveredFaceFor(seed.payload, seed.renderDef, settled.face, props)
673
+ if (delivered && seed.renderDef) {
674
+ return (
675
+ <DeliveredEnvelopeFace
676
+ face={delivered}
677
+ defVersion={seed.renderDef.v}
678
+ seed={serializeSeed({ ...seed, face: delivered })}
679
+ />
680
+ )
681
+ }
590
682
  return paintEnvelope(seed.payload, seed.renderDef, props, serializeSeed(seed))
591
683
  }
592
684