@payload-onpage/core 0.3.2 → 0.4.1

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/README.md CHANGED
@@ -21,3 +21,7 @@ Part of [**payload-onpage**](https://github.com/jellologic/payload-onpage): on-p
21
21
  MIT licensed.
22
22
 
23
23
  See the **[tour](https://github.com/jellologic/payload-onpage/blob/main/docs/tour.md)** and **[getting started](https://github.com/jellologic/payload-onpage/blob/main/docs/getting-started.md)**.
24
+
25
+ ---
26
+
27
+ _Found a bug? [Report it](https://github.com/jellologic/payload-onpage/issues/new?template=bug_report.yml) or see [CONTRIBUTING.md](https://github.com/jellologic/payload-onpage/blob/main/CONTRIBUTING.md) to fix it yourself._
package/dist/ports.d.ts CHANGED
@@ -150,8 +150,10 @@ export interface SessionAdapter {
150
150
  }): Promise<void>;
151
151
  /**
152
152
  * Preview links: read-only draft access to one page until `expiresAt`. The
153
- * adapter passes the framework's draft secret to `seal`, and stores only the
154
- * sealed result, so the browser never holds a usable draft credential.
153
+ * adapter passes the framework's draft secret to `seal` and stores the sealed
154
+ * result. Where a CDN decides cache bypass from the browser's own cookies
155
+ * (Vercel), an adapter may also give the browser the draft credential scoped
156
+ * to `path` and `expiresAt`; its proxy must then refuse it everywhere else.
155
157
  */
156
158
  enableLink(opts: {
157
159
  secure: boolean;
@@ -159,7 +161,10 @@ export interface SessionAdapter {
159
161
  expiresAt: Date;
160
162
  seal: (draftSecret: string) => Promise<string>;
161
163
  }): Promise<void>;
162
- disable(): Promise<void>;
164
+ /** Leave edit/preview mode. `path` is the page being left, for credentials scoped to it. */
165
+ disable(opts?: {
166
+ path?: string;
167
+ }): Promise<void>;
163
168
  getMode(): Promise<OnPageMode | null>;
164
169
  }
165
170
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEzC,kFAAkF;AAClF,MAAM,MAAM,UAAU,GAClB;IACE,EAAE,EAAE,IAAI,CAAA;IACR,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B,GACD;IACE,EAAE,EAAE,KAAK,CAAA;IACT,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAEL,yFAAyF;AACzF,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;AAE3B,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAChF,YAAY,CACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAClE,OAAO,CAAC,GAAG,CAAC,CAAA;IACf,mFAAmF;IACnF,SAAS,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GACtD,OAAO,CAAC,UAAU,CAAC,CAAA;IACtB,kCAAkC;IAClC,OAAO,CACL,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GACtD,OAAO,CAAC,UAAU,CAAC,CAAA;IACtB,uFAAuF;IACvF,MAAM,CAAC,CACL,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACnB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACxB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACpB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACnB,oEAAoE;QACpE,MAAM,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;KAC1B,GACA,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACvB,gEAAgE;IAChE,iBAAiB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACtF;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,GAAG,EAAE,GAAG,CAAA;CACT;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,0EAA0E;IAC1E,GAAG,EAAE,GAAG,CAAA;CACT;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,IAAI,EAAE;QACX,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACnB,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,6CAA6C;QAC7C,MAAM,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;KAC1B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACrD,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;CACzF;AAED;;;;GAIG;AACH,8FAA8F;AAC9F,eAAO,MAAM,YAAY,6EAAsD,CAAA;AAC/E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AACtD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UACD,CAAA;AAEtD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACnB,wEAAwE;IACxE,8BAA8B;IAC9B,MAAM,EAAE,YAAY,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAC/C;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,2GAA2G;IAC3G,IAAI,EAAE,OAAO,CAAA;CACd;AAED,eAAO,MAAM,YAAY,2BAA4B,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AACtD,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UACD,CAAA;AAEtD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnF;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE;QACf,MAAM,EAAE,OAAO,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,IAAI,CAAA;QACf,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAC/C,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,OAAO,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;CACtC"}
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"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"}
package/dist/seal.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export declare const SEAL_PURPOSE: {
2
2
  readonly previewLink: "payload-onpage:preview-link:v1";
3
3
  readonly previewCookie: "payload-onpage:preview-cookie:v1";
4
- readonly editBinding: "payload-onpage:edit-binding:v1";
5
4
  };
6
5
  /** Encrypt and authenticate `data` (JSON) for `purpose`. */
7
6
  export declare function seal(data: unknown, secret: string, purpose: string): Promise<string>;
@@ -10,9 +9,8 @@ export declare function unseal<T>(token: string | null | undefined, secret: stri
10
9
  /** SHA-256 hex digest (WebCrypto). */
11
10
  export declare function sha256(input: string): Promise<string>;
12
11
  /**
13
- * The sealed `onpage_preview` cookie a share link sets: which page it opens,
14
- * until when, and Next's draft secret to inject for that page only. Written by
15
- * the plugin, read by the Next proxy.
12
+ * The sealed `onpage_preview` cookie a share link sets: which page it opens
13
+ * and until when. Written by the plugin, read by the framework adapter.
16
14
  */
17
15
  export interface PreviewGrant {
18
16
  /** The page's pathname. */
@@ -21,7 +19,7 @@ export interface PreviewGrant {
21
19
  ref: string;
22
20
  /** Expiry, seconds since the epoch. */
23
21
  exp: number;
24
- /** Next's draft-mode secret. */
22
+ /** The draft credential for that page (adapter-specific: Next's draft-mode secret on Next.js, a constant marker where reads verify the grant directly). */
25
23
  draft: string;
26
24
  }
27
25
  /** A well-formed grant that hasn't expired. Anything else, including a missing `exp`, is refused. */
@@ -1 +1 @@
1
- {"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY;;;;CAIf,CAAA;AA2CV,4DAA4D;AAC5D,wBAAsB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1F;AAED,gHAAgH;AAChH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAcnB;AAED,sCAAsC;AACtC,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3D;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,KAAK,IAAI,YAAY,CAY1F"}
1
+ {"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY;;;CAGf,CAAA;AA2CV,4DAA4D;AAC5D,wBAAsB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAc1F;AAED,gHAAgH;AAChH,wBAAsB,MAAM,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAcnB;AAED,sCAAsC;AACtC,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG3D;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,2JAA2J;IAC3J,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,KAAK,IAAI,YAAY,CAY1F"}
package/dist/seal.js CHANGED
@@ -12,7 +12,6 @@ const keys = new Map();
12
12
  export const SEAL_PURPOSE = {
13
13
  previewLink: 'payload-onpage:preview-link:v1',
14
14
  previewCookie: 'payload-onpage:preview-cookie:v1',
15
- editBinding: 'payload-onpage:edit-binding:v1',
16
15
  };
17
16
  function key(secret, purpose) {
18
17
  const id = `${purpose}\u0000${secret}`;
package/dist/seal.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seal.js","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAC7B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,gCAAgC;IAC7C,aAAa,EAAE,kCAAkC;IACjD,WAAW,EAAE,gCAAgC;CACrC,CAAA;AAEV,SAAS,GAAG,CAAC,MAAc,EAAE,OAAe;IAC1C,MAAM,EAAE,GAAG,GAAG,OAAO,SAAS,MAAM,EAAE,CAAA;IACtC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACpB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;gBAClF,WAAW;aACZ,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAClC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;aAC1B,EACD,GAAG,EACH,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAA;QACH,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAU,EAAE;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAA;IACV,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAqB,EAAE;IAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QACzD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAa,EAAE,MAAc,EAAE,OAAe;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACjF,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,IAAI,UAAU,CACvB,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACzB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACjC,CACF,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACjD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACX,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAgC,EAChC,MAAc,EACd,OAAe;IAEf,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACpC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAC3C,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAChB,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAM,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa;IACxC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC;AAkBD,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,CAAC,GAAG,KAAqD,CAAA;IAC/D,OAAO,CACL,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,CAAC,KAAK;QACT,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CACnB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"seal.js","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAC7B,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;AAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,gCAAgC;IAC7C,aAAa,EAAE,kCAAkC;CACzC,CAAA;AAEV,SAAS,GAAG,CAAC,MAAc,EAAE,OAAe;IAC1C,MAAM,EAAE,GAAG,GAAG,OAAO,SAAS,MAAM,EAAE,CAAA;IACtC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACpB,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;gBAClF,WAAW;aACZ,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBAClC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;aAC1B,EACD,GAAG,EACH,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAA;QACH,CAAC,CAAC,EAAE,CAAA;QACJ,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAU,EAAE;IAC7C,IAAI,CAAC,GAAG,EAAE,CAAA;IACV,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAClD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,CAAA;AACD,MAAM,UAAU,GAAG,CAAC,CAAS,EAAqB,EAAE;IAClD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QACzD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAa,EAAE,MAAc,EAAE,OAAe;IACvE,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;IACjF,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,GAAG,IAAI,UAAU,CACvB,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACzB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CACjC,CACF,CAAA;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IACjD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACX,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;IACtB,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAgC,EAChC,MAAc,EACd,OAAe;IAEf,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,IAAI,CAAA;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE;QAAE,OAAO,IAAI,CAAA;IACjD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CACpC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAC3C,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAChB,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAM,CAAA;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,KAAa;IACxC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvE,CAAC;AAiBD,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAC,KAAc,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACjE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IACrD,MAAM,CAAC,GAAG,KAAqD,CAAA;IAC/D,OAAO,CACL,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,CAAC,KAAK;QACT,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;QACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;QACtB,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CACnB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stega.d.ts","sourceRoot":"","sources":["../src/stega.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAO,MAAM,YAAY,oDAAqD,CAAA;AAC9E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;CACjB;AA2BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUnD;AA0BD,mGAAmG;AACnG,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,OAAgC,CAAA;AAE/E,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQnD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAW7C"}
1
+ {"version":3,"file":"stega.d.ts","sourceRoot":"","sources":["../src/stega.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAO,MAAM,YAAY,oDAAqD,CAAA;AAC9E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;CACjB;AA2BD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUnD;AA0BD,mGAAmG;AACnG,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,OAAgC,CAAA;AAE/E,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQnD;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAe7C"}
package/dist/stega.js CHANGED
@@ -107,8 +107,13 @@ export function stegaCleanDeep(value) {
107
107
  return value.map((v) => stegaCleanDeep(v));
108
108
  if (value && typeof value === 'object' && Object.getPrototypeOf(value) === Object.prototype) {
109
109
  const out = {};
110
- for (const [k, v] of Object.entries(value))
110
+ for (const [k, v] of Object.entries(value)) {
111
+ // `__proto__` would invoke the prototype setter instead of creating an
112
+ // own property; keep the copy a clean plain object.
113
+ if (k === '__proto__')
114
+ continue;
111
115
  out[k] = stegaCleanDeep(v);
116
+ }
112
117
  return out;
113
118
  }
114
119
  return value;
package/dist/stega.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stega.js","sourceRoot":"","sources":["../src/stega.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stega.js","sourceRoot":"","sources":["../src/stega.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payload-onpage/core",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "payload-onpage core: document refs, schema, field operations, stega codec, autosave and the editor session, plus the port interfaces adapters implement.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -20,6 +20,9 @@
20
20
  "nextjs",
21
21
  "next.js",
22
22
  "app-router",
23
+ "tanstack",
24
+ "tanstack-start",
25
+ "typescript",
23
26
  "visual-editing",
24
27
  "visual-editor",
25
28
  "inline-editing",
package/src/ports.ts CHANGED
@@ -158,8 +158,10 @@ export interface SessionAdapter {
158
158
  enable(mode: OnPageMode, opts: { secure: boolean; bindTo?: string }): Promise<void>
159
159
  /**
160
160
  * Preview links: read-only draft access to one page until `expiresAt`. The
161
- * adapter passes the framework's draft secret to `seal`, and stores only the
162
- * sealed result, so the browser never holds a usable draft credential.
161
+ * adapter passes the framework's draft secret to `seal` and stores the sealed
162
+ * result. Where a CDN decides cache bypass from the browser's own cookies
163
+ * (Vercel), an adapter may also give the browser the draft credential scoped
164
+ * to `path` and `expiresAt`; its proxy must then refuse it everywhere else.
163
165
  */
164
166
  enableLink(opts: {
165
167
  secure: boolean
@@ -167,6 +169,7 @@ export interface SessionAdapter {
167
169
  expiresAt: Date
168
170
  seal: (draftSecret: string) => Promise<string>
169
171
  }): Promise<void>
170
- disable(): Promise<void>
172
+ /** Leave edit/preview mode. `path` is the page being left, for credentials scoped to it. */
173
+ disable(opts?: { path?: string }): Promise<void>
171
174
  getMode(): Promise<OnPageMode | null>
172
175
  }
package/src/seal.ts CHANGED
@@ -13,7 +13,6 @@ const keys = new Map<string, Promise<CryptoKey>>()
13
13
  export const SEAL_PURPOSE = {
14
14
  previewLink: 'payload-onpage:preview-link:v1',
15
15
  previewCookie: 'payload-onpage:preview-cookie:v1',
16
- editBinding: 'payload-onpage:edit-binding:v1',
17
16
  } as const
18
17
 
19
18
  function key(secret: string, purpose: string): Promise<CryptoKey> {
@@ -102,9 +101,8 @@ export async function sha256(input: string): Promise<string> {
102
101
  }
103
102
 
104
103
  /**
105
- * The sealed `onpage_preview` cookie a share link sets: which page it opens,
106
- * until when, and Next's draft secret to inject for that page only. Written by
107
- * the plugin, read by the Next proxy.
104
+ * The sealed `onpage_preview` cookie a share link sets: which page it opens
105
+ * and until when. Written by the plugin, read by the framework adapter.
108
106
  */
109
107
  export interface PreviewGrant {
110
108
  /** The page's pathname. */
@@ -113,7 +111,7 @@ export interface PreviewGrant {
113
111
  ref: string
114
112
  /** Expiry, seconds since the epoch. */
115
113
  exp: number
116
- /** Next's draft-mode secret. */
114
+ /** The draft credential for that page (adapter-specific: Next's draft-mode secret on Next.js, a constant marker where reads verify the grant directly). */
117
115
  draft: string
118
116
  }
119
117
 
package/src/stega.ts CHANGED
@@ -120,8 +120,12 @@ export function stegaCleanDeep<T>(value: T): T {
120
120
  return (value as unknown[]).map((v) => stegaCleanDeep(v)) as unknown as T
121
121
  if (value && typeof value === 'object' && Object.getPrototypeOf(value) === Object.prototype) {
122
122
  const out: Record<string, unknown> = {}
123
- for (const [k, v] of Object.entries(value as Record<string, unknown>))
123
+ for (const [k, v] of Object.entries(value as Record<string, unknown>)) {
124
+ // `__proto__` would invoke the prototype setter instead of creating an
125
+ // own property; keep the copy a clean plain object.
126
+ if (k === '__proto__') continue
124
127
  out[k] = stegaCleanDeep(v)
128
+ }
125
129
  return out as T
126
130
  }
127
131
  return value