@braidlabs/gateway 0.1.1 → 0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"html-rewrite-stream.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/html-rewrite-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AA+CH;;;GAGG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5E,yFAAyF;AACzF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAuBlC,MAAM,UAAU,iBAAiB,CAC/B,KAAiC,EACjC,OAAuB;IAEvB,OAAO,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,OAAO,CACrB,KAAiC,EACjC,OAAuB;IAEvB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAEjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,iFAAiF;IACjF,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC;;;;OAIG;IACH,MAAM,WAAW,GAA4C,EAAE,CAAC;IAEhE,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;YAC1B,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;YAEvC,IAAI,IAAI;gBAAE,MAAM;QAClB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,KAAK,SAAS,CAAC,CAAC,OAAO,CACrB,IAAY,EACZ,OAAgB;QAEhB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,SAAS,CAAC;YACR,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;gBAE/D,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;oBACtB,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBACnC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;oBAC3C,CAAC;oBACD,gFAAgF;oBAChF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAC1D,IAAI,OAAO,GAAG,KAAK,EAAE,CAAC;wBACpB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC5C,KAAK,GAAG,OAAO,CAAC;oBAClB,CAAC;oBACD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;gBAC1D,CAAC;gBAED,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;oBACvB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,KAAK,GAAG,UAAU,CAAC;gBACnB,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAE1C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;YAC3C,CAAC;YAED,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;gBACrB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC7C,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAExC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,gFAAgF;oBAChF,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC;gBAC3C,CAAC;gBACD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;YAC1D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YAElB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACZ,IAAI,CAAC,OAAO,CAAC,YAAY;wBAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM;gBAER,KAAK,SAAS,CAAC;gBACf,KAAK,OAAO;oBACV,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACrB,MAAM;gBAER,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5D,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC9B,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,KAAK,KAAK,CAAC,CAAC,CAAC;oBACX,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC9B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,YAAY,CAAC,KAAY,EAAE,GAAW;QACpD,2FAA2F;QAC3F,6BAA6B;QAC7B,MAAM,eAAe,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CACpG,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CACnC,CAAC;QAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAChC,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAEpC,MAAM,GAAG,GAAa;YACpB,IAAI,OAAO;gBACT,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,KAAa;gBACvB,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC3B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,IAAI,cAAc;gBAChB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,YAAY,CAAC,aAAqB;gBAChC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;YACvG,CAAC;YACD,YAAY,CAAC,aAAqB,EAAE,KAAa;gBAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAC/E,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;YACD,eAAe,CAAC,aAAqB;gBACnC,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;gBAC9E,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;oBACd,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;oBACzB,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC;YACD,MAAM,CAAC,OAAkB;gBACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,CAAC,OAAkB;gBACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACpF,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEtF,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,SAAS,CAAC,CAAC,UAAU,CAAC,KAAY,EAAE,GAAW;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,4FAA4F;QAC5F,mEAAmE;QACnE,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QAC/E,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAgB,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,CAAC,IAAI;YACnB,MAAM,CAAC,OAAkB;gBACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,OAAkB;IACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,SAAS,CAAC;YACR,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,IAAI,KAAK;gBAAE,MAAM,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAY;IAC7B,IAAI,IAAI;QAAE,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAI,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;IAEtB,IAAI,KAAK,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,iDAAiD;IACjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACjH,CAAC;QAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC/G,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IACrC,IAAI,QAAQ;QAAE,KAAK,EAAE,CAAC;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,OAAO,KAAK,GAAG,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,KAAK,EAAE,CAAC;IAE7D,0FAA0F;IAC1F,kFAAkF;IAClF,IAAI,KAAK,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,sEAAsE;IACtE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,SAAS,CAAC;QACR,OAAO,KAAK,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;QAC5D,IAAI,KAAK,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAC7F,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YACrC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC5B,WAAW,GAAG,IAAI,CAAC;gBACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7F,CAAC;YACD,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,MAAM,kBAAkB,GAAG,KAAK,CAAC;QACjC,OAAO,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAClG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;gBAAE,MAAM;YAC1D,KAAK,EAAE,CAAC;QACV,CAAC;QACD,IAAI,KAAK,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,4CAA4C;YAC5C,KAAK,EAAE,CAAC;YACR,SAAS;QACX,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAAE,MAAM,EAAE,CAAC;QAC/D,IAAI,MAAM,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC;QAElC,IAAI,KAAK,GAAkB,IAAI,CAAC;QAEhC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC;YACT,OAAO,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAAE,MAAM,EAAE,CAAC;YAC/D,IAAI,MAAM,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YAElC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC9B,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5D,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,MAAM,CAAC;gBAC1B,OAAO,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;oBAAE,MAAM,EAAE,CAAC;gBACxF,IAAI,MAAM,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBAClC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,SAAS,kBAAkB,CAAC,IAAY,EAAE,IAAY;IACpD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAEhC,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxC,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe;IACjE,MAAM,MAAM,GAAG,KAAK,OAAO,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,qFAAqF;QACrF,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QACnC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG;YAAE,OAAO,KAAK,CAAC;QAExE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,UAA6B,EAAE,WAAoB;IAC1F,MAAM,oBAAoB,GAAG,UAAU;SACpC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjB,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACxH;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,IAAI,IAAI,GAAG,oBAAoB,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,KAAK;SACT,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;SACvB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;SACxB,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;SACzB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,gBAAgB,CAAC,SAAqC;IACpE,OAAO,IAAI,cAAc,CAAa;QACpC,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,IAAI,CAAC;gBACH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC/C,IAAI,IAAI,EAAE,CAAC;oBACT,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,MAAM,SAAS,CAAC,MAAM,CAAC,SAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClE,KAAK,MAAM,CAAC;QACd,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,gBAAgB,CACrB,CAAC,KAAK,SAAS,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,EAAE,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"html-rewrite-stream.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/html-rewrite-stream.ts"],"names":[],"mappings":"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"}
@@ -37,21 +37,57 @@ export declare const BRAID_FRAGMENT_STYLES = "<style>:host, braid-document, brai
37
37
  * it cannot execute in the host's JS context — the client activates it in the fragment's realm;
38
38
  * - script preload/prefetch/modulepreload links become `rel="inert-*"` so they don't trigger a
39
39
  * duplicate load in the host context;
40
- * - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged.
40
+ * - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged;
41
+ * - frames whose document the markup supplies inline — `iframe[srcdoc]`, or a `javascript:`,
42
+ * `data:` or `blob:` URL on `iframe`/`embed`/`object` — lose that attribute.
41
43
  *
42
- * This is the server half of the born-inert invariant, and the last two rules are what make the
43
- * invariant true rather than merely true-of-`<script>`: **no markup a fragment sends can execute
44
- * JavaScript in the host realm or navigate the host page.** Both were verified executing in the
45
- * host realm before this transform existed.
44
+ * This is the server half of the born-inert invariant, and the handler, meta-refresh and frame
45
+ * rules are what make the invariant true rather than merely true-of-`<script>`: **no code a
46
+ * fragment's markup carries inline can execute outside the fragment's realm or navigate the host
47
+ * page.** Handlers, meta refresh, `srcdoc` and `javascript:` frames were each verified taking
48
+ * effect in the host page before this transform handled them; `data:` and `blob:` frames are
49
+ * refused alongside them (see {@link FRAME_SOURCE_ATTRIBUTES}). Whatever is removed is named in a
50
+ * `data-braid-blocked` attribute on the tag, so a fragment that loses something can see why.
46
51
  *
47
- * Still not neutralized, because they require user interaction rather than executing on parse:
48
- * `javascript:` URLs and form `action`s. Those remain within the trusted tier's stated model —
49
- * a trusted fragment can navigate the page a user clicks through — and are called out in the
50
- * security section of the README.
52
+ * A frame that *loads* a document from the fragment's namespace is not inline code and is left
53
+ * alone: it runs the fragment's own code with the host's origin, as its realm already does. That
54
+ * is the trusted tier's model, not a gap in this transform — see docs/braid-fragment-markup.md.
55
+ *
56
+ * Still not neutralized, because they require a user to click rather than executing on parse:
57
+ * `javascript:` URLs on links (`a[href]`, `area[href]`) and form `action`s. Those remain within the
58
+ * trusted tier's stated model — a trusted fragment can navigate the page a user clicks through —
59
+ * and are called out in the security section of the README.
51
60
  */
52
61
  export declare function prepareFragmentHtml(body: ReadableStream<Uint8Array>, options: {
53
62
  fragmentId: string;
63
+ basePath?: string;
64
+ /** Called with each script the fragment will load from its own namespace, for prefetch hints. */
65
+ onScript?: (script: ScriptHint) => void;
54
66
  }): ReadableStream<Uint8Array>;
67
+ /** A script a fragment will load, for a preload hint in the host document. */
68
+ export interface ScriptHint {
69
+ href: string;
70
+ /**
71
+ * The CORS mode the realm will fetch it in: null for none, `''` for anonymous, or the explicit
72
+ * value. The hint has to match or the HTTP cache will not answer the realm's request with it.
73
+ */
74
+ crossorigin: string | null;
75
+ }
76
+ /**
77
+ * Prefetch hints for a pierced fragment's scripts, emitted in its shadow root after its content —
78
+ * where the list is complete, and outside the `<braid-document>` the fragment sees as its own.
79
+ *
80
+ * A pierced fragment's scripts are inert until the client boots it, which means after the host's
81
+ * own JavaScript has loaded, the realm has booted, and the handshake has run. These start the
82
+ * downloads while the rest of the page is still parsing. The realm is a separate document, so it
83
+ * benefits through the HTTP cache: cacheable assets (content-hashed bundles, normally) gain a round
84
+ * trip or more.
85
+ *
86
+ * `prefetch`, not `preload`: the host document never uses these itself, so a preload is reported
87
+ * as unused on every page, and it is fetched at high priority mid-body, ahead of the shell's own
88
+ * images. A prefetch is idle-priority and silent, and measured the same gain.
89
+ */
90
+ export declare function scriptPrefetchHints(scripts: readonly ScriptHint[]): string;
55
91
  export interface PierceTarget {
56
92
  fragmentId: string;
57
93
  /**
@@ -62,6 +98,11 @@ export interface PierceTarget {
62
98
  content: ReadableStream<Uint8Array> | null;
63
99
  /** Set as `data-braid-fallback` on the slot when content is omitted, for skeleton styling. */
64
100
  fallbackReason?: string;
101
+ /**
102
+ * Markup emitted in the shadow root after `<braid-document>`, once `content` has been fully streamed (and so after
103
+ * anything collected while streaming it is known). Used for {@link scriptPrefetchHints}.
104
+ */
105
+ after?: () => string;
65
106
  /**
66
107
  * The path the manifest says this fragment's content lives at, for unbound fragments.
67
108
  *
@@ -72,11 +113,20 @@ export interface PierceTarget {
72
113
  */
73
114
  src?: string;
74
115
  }
116
+ /**
117
+ * A fragment whose response has not arrived yet.
118
+ *
119
+ * The shell streams on without it; the stream waits for `settled` only when it reaches this
120
+ * fragment's slot (or, for a shell with no slot, the end of `<body>`).
121
+ */
122
+ export interface PendingPierceTarget extends Pick<PierceTarget, 'fragmentId' | 'src'> {
123
+ settled: Promise<Pick<PierceTarget, 'content' | 'fallbackReason' | 'after'>>;
124
+ }
75
125
  export interface PierceOptions {
76
126
  /** The shell application's HTML. */
77
127
  shell: ReadableStream<Uint8Array>;
78
128
  /** The fragments to pierce into this document, in registration order. */
79
- fragments: PierceTarget[];
129
+ fragments: (PierceTarget | PendingPierceTarget)[];
80
130
  /**
81
131
  * Markup appended inside `<head>`, after the shell styles. Used for the optional web-vitals
82
132
  * collector; empty for every other deployment, which is why it is a string the caller composes
@@ -1,4 +1,4 @@
1
- import { BRAID_FRAGMENT_PREFIX } from '../protocol.js';
1
+ import { braidFragmentUrl } from '../protocol.js';
2
2
  import { concatStreams, rewriteHtmlStream } from './html-rewrite-stream.js';
3
3
  /**
4
4
  * The composition protocol's HTML transforms, expressed against the owned rewriter.
@@ -80,6 +80,22 @@ const SUBRESOURCE_ATTRIBUTES = {
80
80
  video: ['src', 'poster'],
81
81
  };
82
82
  const SRCSET_ATTRIBUTES = new Set(['srcset']);
83
+ /**
84
+ * The attribute each frame-like element loads a document from.
85
+ *
86
+ * A frame's document is a realm of its own, but a `javascript:` URL — or an `iframe[srcdoc]` —
87
+ * gives it the *host's* origin, with markup the fragment wrote: it runs on parse, before any
88
+ * client code, and `parent` is the host page. Verified executing for `iframe` on both the pierced
89
+ * and the client-boot paths; Chromium does not run `javascript:` in `embed`/`object`, which are
90
+ * covered anyway rather than trusting that to hold in every engine. `data:` and `blob:` are refused
91
+ * alongside it: no served markup has a use for a `blob:` URL, and a document inlined in a `data:`
92
+ * URL is the same markup-as-code shape.
93
+ */
94
+ const FRAME_SOURCE_ATTRIBUTES = {
95
+ embed: 'src',
96
+ iframe: 'src',
97
+ object: 'data',
98
+ };
83
99
  /**
84
100
  * Prepares a fragment's HTML for life inside the host page:
85
101
  *
@@ -91,20 +107,36 @@ const SRCSET_ATTRIBUTES = new Set(['srcset']);
91
107
  * it cannot execute in the host's JS context — the client activates it in the fragment's realm;
92
108
  * - script preload/prefetch/modulepreload links become `rel="inert-*"` so they don't trigger a
93
109
  * duplicate load in the host context;
94
- * - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged.
110
+ * - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged;
111
+ * - frames whose document the markup supplies inline — `iframe[srcdoc]`, or a `javascript:`,
112
+ * `data:` or `blob:` URL on `iframe`/`embed`/`object` — lose that attribute.
113
+ *
114
+ * This is the server half of the born-inert invariant, and the handler, meta-refresh and frame
115
+ * rules are what make the invariant true rather than merely true-of-`<script>`: **no code a
116
+ * fragment's markup carries inline can execute outside the fragment's realm or navigate the host
117
+ * page.** Handlers, meta refresh, `srcdoc` and `javascript:` frames were each verified taking
118
+ * effect in the host page before this transform handled them; `data:` and `blob:` frames are
119
+ * refused alongside them (see {@link FRAME_SOURCE_ATTRIBUTES}). Whatever is removed is named in a
120
+ * `data-braid-blocked` attribute on the tag, so a fragment that loses something can see why.
95
121
  *
96
- * This is the server half of the born-inert invariant, and the last two rules are what make the
97
- * invariant true rather than merely true-of-`<script>`: **no markup a fragment sends can execute
98
- * JavaScript in the host realm or navigate the host page.** Both were verified executing in the
99
- * host realm before this transform existed.
122
+ * A frame that *loads* a document from the fragment's namespace is not inline code and is left
123
+ * alone: it runs the fragment's own code with the host's origin, as its realm already does. That
124
+ * is the trusted tier's model, not a gap in this transform — see docs/braid-fragment-markup.md.
100
125
  *
101
- * Still not neutralized, because they require user interaction rather than executing on parse:
102
- * `javascript:` URLs and form `action`s. Those remain within the trusted tier's stated model —
103
- * a trusted fragment can navigate the page a user clicks through — and are called out in the
104
- * security section of the README.
126
+ * Still not neutralized, because they require a user to click rather than executing on parse:
127
+ * `javascript:` URLs on links (`a[href]`, `area[href]`) and form `action`s. Those remain within the
128
+ * trusted tier's stated model — a trusted fragment can navigate the page a user clicks through —
129
+ * and are called out in the security section of the README.
105
130
  */
106
131
  export function prepareFragmentHtml(body, options) {
107
- const { fragmentId } = options;
132
+ // every subresource is re-rooted under this: the fragment's namespace, at the gateway's mount
133
+ const fragmentRoot = braidFragmentUrl(options.fragmentId, '', '', options.basePath);
134
+ // Only the fragment's own scripts: a hint for any other url would have the host page fetch
135
+ // whatever a fragment names, and it would warm nothing the realm is going to ask for.
136
+ const hint = (href, crossorigin) => {
137
+ if (href?.startsWith(`${fragmentRoot}/`))
138
+ options.onScript?.({ href, crossorigin });
139
+ };
108
140
  // The fragment's own <base href>, which its subresource URLs resolve against. It appears in
109
141
  // <head> before anything that references it, so tracking it as the stream passes is enough.
110
142
  let fragmentBaseHref = '/';
@@ -118,7 +150,8 @@ export function prepareFragmentHtml(body, options) {
118
150
  tag.removeAttribute(attributeName);
119
151
  }
120
152
  }
121
- rewriteSubresourceUrls(tag, fragmentId, fragmentBaseHref);
153
+ blockInlineFrameDocuments(tag);
154
+ rewriteSubresourceUrls(tag, fragmentRoot, fragmentBaseHref);
122
155
  },
123
156
  },
124
157
  base: {
@@ -135,6 +168,13 @@ export function prepareFragmentHtml(body, options) {
135
168
  script: {
136
169
  element(tag) {
137
170
  const type = tag.getAttribute('type');
171
+ // after the wildcard handler, so this is the namespaced url the realm will request
172
+ // module scripts are fetched in CORS mode whether or not they say so; `nomodule` ones never
173
+ // are, by any browser that runs modules
174
+ const crossorigin = tag.getAttribute('crossorigin');
175
+ if (!tag.attributeNames.includes('nomodule')) {
176
+ hint(tag.getAttribute('src'), type === 'module' ? (crossorigin ?? '') : crossorigin);
177
+ }
138
178
  if (type)
139
179
  tag.setAttribute('data-script-type', type);
140
180
  tag.setAttribute('type', 'inert');
@@ -143,6 +183,12 @@ export function prepareFragmentHtml(body, options) {
143
183
  link: {
144
184
  element(tag) {
145
185
  const rel = tag.getAttribute('rel');
186
+ const href = tag.getAttribute('href');
187
+ const crossorigin = tag.getAttribute('crossorigin');
188
+ if (rel === 'modulepreload')
189
+ hint(href, crossorigin ?? '');
190
+ if (rel === 'preload' && tag.getAttribute('as') === 'script')
191
+ hint(href, crossorigin);
146
192
  if (rel === 'preload' || rel === 'prefetch' || rel === 'modulepreload') {
147
193
  tag.setAttribute('rel', `inert-${rel}`);
148
194
  }
@@ -161,8 +207,55 @@ export function prepareFragmentHtml(body, options) {
161
207
  },
162
208
  });
163
209
  }
210
+ /**
211
+ * Removes a frame's document when the markup supplies it inline instead of naming one to load,
212
+ * marking the tag with what was removed.
213
+ *
214
+ * An allowlist, not a `javascript:` check: the rewriter decodes only a handful of entities, and
215
+ * a tag nothing rewrites passes through byte for byte for the browser to decode in full. A value
216
+ * with no scheme is left to {@link namespaceUrl}, which re-roots it as a path — and re-escapes
217
+ * it, so an entity-spelled scheme (`&#106;avascript:`) comes out as a harmless same-origin path.
218
+ */
219
+ function blockInlineFrameDocuments(tag) {
220
+ const sourceAttribute = FRAME_SOURCE_ATTRIBUTES[tag.tagName];
221
+ if (!sourceAttribute)
222
+ return;
223
+ const blocked = [];
224
+ const source = tag.getAttribute(sourceAttribute);
225
+ if (source !== null && !loadsDocumentByUrl(source)) {
226
+ tag.removeAttribute(sourceAttribute);
227
+ blocked.push(sourceAttribute);
228
+ }
229
+ // by name, not value: a valueless `srcdoc` reads as null, and still overrides `src`
230
+ if (tag.tagName === 'iframe' && tag.attributeNames.includes('srcdoc')) {
231
+ tag.removeAttribute('srcdoc');
232
+ blocked.push('srcdoc');
233
+ }
234
+ if (blocked.length)
235
+ tag.setAttribute('data-braid-blocked', blocked.join(' '));
236
+ }
237
+ /** Whether a frame URL names a document to fetch (or none), rather than carrying one inline. */
238
+ function loadsDocumentByUrl(rawUrl) {
239
+ const url = asUrlParserReadsIt(rawUrl).toLowerCase();
240
+ const scheme = /^([a-z][a-z0-9+.-]*):/.exec(url)?.[1];
241
+ return scheme === undefined || scheme === 'http' || scheme === 'https' || url === 'about:blank';
242
+ }
243
+ /**
244
+ * A URL as the WHATWG URL parser sees it before reading a scheme: tabs and newlines removed
245
+ * anywhere, C0 controls and spaces trimmed from both ends. `String#trim` models neither.
246
+ */
247
+ function asUrlParserReadsIt(rawUrl) {
248
+ const url = rawUrl.replace(/[\t\n\r]/g, '');
249
+ let start = 0;
250
+ let end = url.length;
251
+ while (start < end && url.charCodeAt(start) <= 0x20)
252
+ start++;
253
+ while (end > start && url.charCodeAt(end - 1) <= 0x20)
254
+ end--;
255
+ return url.slice(start, end);
256
+ }
164
257
  /** Rewrites a tag's subresource URLs into the fragment's namespace. */
165
- function rewriteSubresourceUrls(tag, fragmentId, baseHref) {
258
+ function rewriteSubresourceUrls(tag, fragmentRoot, baseHref) {
166
259
  const attributes = SUBRESOURCE_ATTRIBUTES[tag.tagName];
167
260
  if (!attributes)
168
261
  return;
@@ -171,8 +264,8 @@ function rewriteSubresourceUrls(tag, fragmentId, baseHref) {
171
264
  if (!value)
172
265
  continue;
173
266
  const rewritten = SRCSET_ATTRIBUTES.has(attributeName)
174
- ? rewriteSrcset(value, fragmentId, baseHref)
175
- : namespaceUrl(value, fragmentId, baseHref);
267
+ ? rewriteSrcset(value, fragmentRoot, baseHref)
268
+ : namespaceUrl(value, fragmentRoot, baseHref);
176
269
  if (rewritten !== null) {
177
270
  tag.setAttribute(attributeName, rewritten);
178
271
  }
@@ -184,17 +277,17 @@ function rewriteSubresourceUrls(tag, fragmentId, baseHref) {
184
277
  * Left alone: anything with a scheme (`https:`, `data:`, `blob:`), protocol-relative URLs, and
185
278
  * pure fragment identifiers — none of those are the fragment's own subresources.
186
279
  */
187
- function namespaceUrl(rawUrl, fragmentId, baseHref) {
280
+ function namespaceUrl(rawUrl, fragmentRoot, baseHref) {
188
281
  const url = rawUrl.trim();
189
282
  if (!url || url.startsWith('#') || url.startsWith('//') || /^[a-z][a-z0-9+.-]*:/i.test(url)) {
190
283
  return null;
191
284
  }
192
285
  // resolve exactly as the browser would have in the fragment's own document, then re-root it
193
286
  const resolved = new URL(url, `http://braid.invalid${baseHref.startsWith('/') ? baseHref : `/${baseHref}`}`);
194
- return `${BRAID_FRAGMENT_PREFIX}${encodeURIComponent(fragmentId)}${resolved.pathname}${resolved.search}${resolved.hash}`;
287
+ return `${fragmentRoot}${resolved.pathname}${resolved.search}${resolved.hash}`;
195
288
  }
196
289
  /** Rewrites each candidate in a `srcset`, preserving its density/width descriptors. */
197
- function rewriteSrcset(value, fragmentId, baseHref) {
290
+ function rewriteSrcset(value, fragmentRoot, baseHref) {
198
291
  const candidates = value.split(',');
199
292
  let changed = false;
200
293
  const rewritten = candidates.map((candidate) => {
@@ -202,7 +295,7 @@ function rewriteSrcset(value, fragmentId, baseHref) {
202
295
  if (!match)
203
296
  return candidate;
204
297
  const [, leading, url, descriptor] = match;
205
- const namespaced = namespaceUrl(url, fragmentId, baseHref);
298
+ const namespaced = namespaceUrl(url, fragmentRoot, baseHref);
206
299
  if (namespaced === null)
207
300
  return candidate;
208
301
  changed = true;
@@ -210,6 +303,28 @@ function rewriteSrcset(value, fragmentId, baseHref) {
210
303
  });
211
304
  return changed ? rewritten.join(',') : null;
212
305
  }
306
+ /**
307
+ * Prefetch hints for a pierced fragment's scripts, emitted in its shadow root after its content —
308
+ * where the list is complete, and outside the `<braid-document>` the fragment sees as its own.
309
+ *
310
+ * A pierced fragment's scripts are inert until the client boots it, which means after the host's
311
+ * own JavaScript has loaded, the realm has booted, and the handshake has run. These start the
312
+ * downloads while the rest of the page is still parsing. The realm is a separate document, so it
313
+ * benefits through the HTTP cache: cacheable assets (content-hashed bundles, normally) gain a round
314
+ * trip or more.
315
+ *
316
+ * `prefetch`, not `preload`: the host document never uses these itself, so a preload is reported
317
+ * as unused on every page, and it is fetched at high priority mid-body, ahead of the shell's own
318
+ * images. A prefetch is idle-priority and silent, and measured the same gain.
319
+ */
320
+ export function scriptPrefetchHints(scripts) {
321
+ return [...new Map(scripts.map((script) => [script.href, script])).values()]
322
+ .map(({ href, crossorigin }) => {
323
+ const cors = crossorigin === null ? '' : crossorigin ? ` crossorigin="${escapeAttribute(crossorigin)}"` : ' crossorigin';
324
+ return `<link rel="prefetch" href="${escapeAttribute(href)}"${cors}>`;
325
+ })
326
+ .join('');
327
+ }
213
328
  /**
214
329
  * Pierces a fragment into the shell's HTML stream.
215
330
  *
@@ -229,12 +344,17 @@ export function pierceShellHtml(options) {
229
344
  const { shell, headScript, nonce } = options;
230
345
  const pending = new Map(options.fragments.map((fragment) => [fragment.fragmentId, fragment]));
231
346
  let stylesInjected = false;
347
+ const settle = async (target) => 'settled' in target
348
+ ? { fragmentId: target.fragmentId, ...(target.src === undefined ? {} : { src: target.src }), ...(await target.settled) }
349
+ : target;
232
350
  const shadowRoot = (target) => [
233
351
  '<template shadowrootmode="open">',
234
352
  BRAID_FRAGMENT_STYLES,
235
353
  '<braid-document>',
236
354
  target.content ?? '',
237
- '</braid-document></template>',
355
+ '</braid-document>',
356
+ ...(target.after ? [lazyText(target.after)] : []),
357
+ '</template>',
238
358
  ];
239
359
  /** A slot element the gateway creates because the shell didn't mark one up. */
240
360
  const orphanSlot = (target) => concatStreams([
@@ -246,9 +366,10 @@ export function pierceShellHtml(options) {
246
366
  '</fragment-slot>',
247
367
  ]);
248
368
  /** Every fragment that never found a slot, appended in registration order. */
249
- const remainingOrphans = () => {
250
- const orphans = [...pending.values()].filter((target) => target.content);
369
+ const remainingOrphans = async () => {
370
+ const remaining = [...pending.values()];
251
371
  pending.clear();
372
+ const orphans = (await Promise.all(remaining.map(settle))).filter((target) => target.content);
252
373
  return orphans.length ? concatStreams(orphans.map(orphanSlot)) : undefined;
253
374
  };
254
375
  return rewriteHtmlStream(shell, {
@@ -266,37 +387,17 @@ export function pierceShellHtml(options) {
266
387
  'fragment-slot': {
267
388
  element(tag) {
268
389
  const name = tag.getAttribute('name');
269
- const target = name ? pending.get(name) : undefined;
270
- if (!target)
271
- return;
272
- pending.delete(target.fragmentId);
273
- const declared = tag.getAttribute('src');
274
- if (target.src && declared && declared !== target.src) {
275
- // Two sources of truth that disagree: the gateway pierced content from one path while
276
- // the client will boot the fragment at another, so the widget changes under the user
277
- // the moment it hydrates. Cheap to say, and invisible otherwise.
278
- console.warn(`braid-gateway: slot for fragment "${target.fragmentId}" declares src="${declared}" ` +
279
- `but its manifest declares src="${target.src}" — the pierced content and the client ` +
280
- `boot would come from different paths`);
281
- }
282
- if (target.src && !declared)
283
- tag.setAttribute('src', target.src);
284
- if (!target.content) {
285
- // nothing to pierce: mark the slot so the page can style a skeleton, and let the
286
- // client runtime fetch the fragment itself
287
- if (target.fallbackReason)
288
- tag.setAttribute('data-braid-fallback', target.fallbackReason);
390
+ const unsettled = name ? pending.get(name) : undefined;
391
+ // synchronous unless this slot is one being pierced: only those wait
392
+ if (!unsettled)
289
393
  return;
290
- }
291
- tag.setAttribute('data-braid-pierced', '');
292
- for (const part of shadowRoot(target)) {
293
- tag.prepend(part);
294
- }
394
+ pending.delete(unsettled.fragmentId);
395
+ return pierceSlot(tag, unsettled);
295
396
  },
296
397
  },
297
398
  body: {
298
- endTag(tag) {
299
- const orphans = remainingOrphans();
399
+ async endTag(tag) {
400
+ const orphans = await remainingOrphans();
300
401
  if (orphans)
301
402
  tag.before(orphans);
302
403
  },
@@ -305,6 +406,48 @@ export function pierceShellHtml(options) {
305
406
  // `</body>` is optional in HTML and frequently omitted — this is the safety net
306
407
  onEnd: remainingOrphans,
307
408
  });
409
+ /** Fills a pierced slot once its fragment has settled. The one place the stream waits for it. */
410
+ async function pierceSlot(tag, unsettled) {
411
+ // everything before the slot is already out
412
+ const target = await settle(unsettled);
413
+ const declared = tag.getAttribute('src');
414
+ if (target.src && declared && declared !== target.src) {
415
+ // Two sources of truth that disagree: the gateway pierced content from one path while
416
+ // the client will boot the fragment at another, so the widget changes under the user
417
+ // the moment it hydrates. Cheap to say, and invisible otherwise.
418
+ console.warn(`braid-gateway: slot for fragment "${target.fragmentId}" declares src="${declared}" ` +
419
+ `but its manifest declares src="${target.src}" — the pierced content and the client ` +
420
+ `boot would come from different paths`);
421
+ }
422
+ if (target.src && !declared)
423
+ tag.setAttribute('src', target.src);
424
+ if (!target.content) {
425
+ // nothing to pierce: mark the slot so the page can style a skeleton, and let the
426
+ // client runtime fetch the fragment itself
427
+ if (target.fallbackReason)
428
+ tag.setAttribute('data-braid-fallback', target.fallbackReason);
429
+ return;
430
+ }
431
+ tag.setAttribute('data-braid-pierced', '');
432
+ for (const part of shadowRoot(target)) {
433
+ tag.prepend(part);
434
+ }
435
+ }
436
+ }
437
+ /**
438
+ * A stream whose text is computed when it is first read, not when it is built — so it can describe
439
+ * what the injections before it streamed. A zero high-water mark is what keeps `pull` from running
440
+ * eagerly at construction.
441
+ */
442
+ function lazyText(text) {
443
+ return new ReadableStream({
444
+ pull(controller) {
445
+ const value = text();
446
+ if (value)
447
+ controller.enqueue(new TextEncoder().encode(value));
448
+ controller.close();
449
+ },
450
+ }, { highWaterMark: 0 });
308
451
  }
309
452
  function escapeAttribute(value) {
310
453
  return value.replaceAll('&', '&amp;').replaceAll('"', '&quot;').replaceAll('<', '&lt;');
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,12 @@ export declare function createSingleFlight(): SingleFlight;
48
48
  * What this cannot see is an endpoint varying on something unusual: a tenant header, a
49
49
  * feature-flag header, anything bespoke. Those set `coalesce: false` on the manifest.
50
50
  *
51
+ * `extraHeaders` closes that gap for headers the *gateway itself* adds per request — an identity
52
+ * assertion from a function-form `additionalHeaders`, most importantly. Those vary by caller and
53
+ * are invisible to everything above, so leaving them out of the key would hand one caller a
54
+ * fragment rendered for another. Names, not values: the values are read off the request that is
55
+ * actually being sent.
56
+ *
51
57
  * Returns null when the request must not be shared at all.
52
58
  */
53
- export declare function singleFlightKey(request: Request, url: string): string | null;
59
+ export declare function singleFlightKey(request: Request, url: string, extraHeaders?: readonly string[]): string | null;