@arcblock/did-connect-service 4.1.27 → 4.1.29

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 (57) hide show
  1. package/dist/blocklet-service.d.ts +3 -0
  2. package/dist/blocklet-service.d.ts.map +1 -1
  3. package/dist/blocklet-service.js +4 -0
  4. package/dist/blocklet-service.js.map +1 -1
  5. package/dist/env-config.d.ts +3 -0
  6. package/dist/env-config.d.ts.map +1 -1
  7. package/dist/env-config.js +1 -0
  8. package/dist/env-config.js.map +1 -1
  9. package/dist/handlers/auth-handler.d.ts +5 -0
  10. package/dist/handlers/auth-handler.d.ts.map +1 -1
  11. package/dist/handlers/auth-handler.js +2 -0
  12. package/dist/handlers/auth-handler.js.map +1 -1
  13. package/dist/handlers/avatar-handler.d.ts +35 -0
  14. package/dist/handlers/avatar-handler.d.ts.map +1 -1
  15. package/dist/handlers/avatar-handler.js +107 -1
  16. package/dist/handlers/avatar-handler.js.map +1 -1
  17. package/dist/handlers/branding-handler.d.ts +3 -0
  18. package/dist/handlers/branding-handler.d.ts.map +1 -1
  19. package/dist/handlers/branding-handler.js +23 -3
  20. package/dist/handlers/branding-handler.js.map +1 -1
  21. package/dist/handlers/did-connect-handler.d.ts.map +1 -1
  22. package/dist/handlers/did-connect-handler.js +29 -7
  23. package/dist/handlers/did-connect-handler.js.map +1 -1
  24. package/dist/handlers/email-login-handler.d.ts +2 -0
  25. package/dist/handlers/email-login-handler.d.ts.map +1 -1
  26. package/dist/handlers/email-login-handler.js +1 -1
  27. package/dist/handlers/email-login-handler.js.map +1 -1
  28. package/dist/handlers/team-handler.d.ts.map +1 -1
  29. package/dist/handlers/team-handler.js +8 -16
  30. package/dist/handlers/team-handler.js.map +1 -1
  31. package/dist/og/generator.d.ts.map +1 -1
  32. package/dist/og/generator.js +43 -124
  33. package/dist/og/generator.js.map +1 -1
  34. package/dist/og/node-wasm-fallback.d.ts +8 -0
  35. package/dist/og/node-wasm-fallback.d.ts.map +1 -0
  36. package/dist/og/node-wasm-fallback.js +61 -0
  37. package/dist/og/node-wasm-fallback.js.map +1 -0
  38. package/dist/og/resvg-runtime.d.ts +4 -0
  39. package/dist/og/resvg-runtime.d.ts.map +1 -0
  40. package/dist/og/resvg-runtime.js +9 -0
  41. package/dist/og/resvg-runtime.js.map +1 -0
  42. package/dist/og/shared.d.ts +26 -0
  43. package/dist/og/shared.d.ts.map +1 -0
  44. package/dist/og/shared.js +87 -0
  45. package/dist/og/shared.js.map +1 -0
  46. package/dist/og/types.d.ts +11 -0
  47. package/dist/og/types.d.ts.map +1 -1
  48. package/dist/og/types.js.map +1 -1
  49. package/dist/og/worker.d.ts +45 -0
  50. package/dist/og/worker.d.ts.map +1 -0
  51. package/dist/og/worker.js +141 -0
  52. package/dist/og/worker.js.map +1 -0
  53. package/dist/store/d1-store.d.ts +2 -0
  54. package/dist/store/d1-store.d.ts.map +1 -1
  55. package/dist/store/d1-store.js +16 -2
  56. package/dist/store/d1-store.js.map +1 -1
  57. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/og/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAe,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAmB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,8CAA8C;AAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,6CAA6C,CAAC,CAAC;AASjF,4EAA4E;AAC5E,6EAA6E;AAC7E,4BAA4B;AAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;AAErD,SAAS,QAAQ,CAAC,MAAkB;IAClC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,IAAI,SAAS,CAAC;IACxC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAc;IACtF,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,mDAAmD;gBAC5D,GAAG,EAAE,IAAI;gBACT,OAAO;gBACP,GAAG;aACJ,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACjD,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,GAAG,CAAC,CAAS;IACpB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC,EAAE,SAAS,CAAC;IAC/F,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,uBAAuB,gBAAgB,aAAa,CAAC,CAAC,EACvG,EAAE,CACH;IACD,WAAW,EAAE,CAAC,CAAC,QAAQ,CACrB,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,SAAS,CAAC,sBAAsB,EAAE,6BAA6B,sBAAsB,aAAa,CAAC,CACtG,EACD,EAAE,CACH;IACD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAC,EAAE,EAAE,CAAC;IACnG,KAAK,EAAE,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAChF,EACD,EAAE,CACH;IACD,IAAI,EAAE,CAAC,CAAC,QAAQ,CACd,CAAC,CAAC,IAAI,CACJ,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAC/E,EACD,EAAE,CACH;IACD,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAU,CAAC,EAAE,GAAG,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAgC,CAAC,EAAE,SAAS,CAAC;IACzF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAU,CAAC,CAAC;CAChD,CAAC,CAAC;AAIH,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E,SAAS,0BAA0B,CAAC,MAAmB;IACrD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,MAAM,IAAI,iBAAiB,CAAC,0CAA0C,CAAC,CAAC;QAC7F,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,iBAAiB,CAAC,8CAA8C,CAAC,CAAC;IACvG,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;IACzF,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,MAAM,IAAI,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,KAAK,UAAU,oBAAoB,CACjC,GAAW,EACX,IAAY,EACZ,MAAc,EACd,SAAuB,EACvB,UAAkC;IAElC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,qEAAqE;IACrE,2DAA2D;IAC3D,MAAM,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7D,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YACvC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;YAC9B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,OAAO,EAAE,oDAAoD;SACxE,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,iBAAiB,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC9D,yEAAyE;IACzE,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SACzE,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;SAC5C,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;SACzC,QAAQ,EAAE,CAAC;IAEd,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,uEAAuE;AACvE,4EAA4E;AAC5E,MAAM,wBAAwB,GAC5B,oHAAoH,CAAC;AAEvH,KAAK,UAAU,oBAAoB,CACjC,MAA+B,EAC/B,MAAc,EACd,SAAuB,EACvB,UAAkC,EAClC,MAAc;IAEd,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAU,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;YAAE,SAAS;QAE9C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,GAAG,QAAQ,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/F,CAAC;YACD,8DAA8D;YAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,yBAAyB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,gDAAgD;YAChD,wEAAwE;YACxE,yEAAyE;YACzE,0DAA0D;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO,EAAE,wBAAwB,GAAG,eAAe;gBACnD,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,GAAG;gBACT,GAAG;gBACH,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,KAAK,UAAU,eAAe,CAC5B,MAA+B,EAC/B,MAAc,EACd,SAAoB,EACpB,SAAuB,EACvB,UAAkC,EAClC,UAAsB;IAEtB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAErF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAqC,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAa,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAmC,EAAE;QAC5D,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAe,EAAE,mBAAmB,CAAC;QAC5D,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAgB,EAAE,mBAAmB,CAAC;QAC9D,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACvE,gEAAgE;QAChE,qEAAqE;QACrE,mBAAmB,EAAE,KAAK,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnF,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,yEAAyE;IACzE,qEAAqE;IACrE,4EAA4E;IAC5E,yEAAyE;IACzE,yEAAyE;IACzE,OAAO,MAAM,CAAC,UAAU;QACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC1D,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,UAAoC,EAAE;IACtE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;IAC/C,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAe;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;QAChD,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,CAAC;QAChE,SAAS;QACT,MAAM;KACP,CAAC;IACF,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC;IAClE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;IAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEzD,KAAK,UAAU,QAAQ,CAAC,IAAuB;QAC7C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC;QAC5C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEvC,oBAAoB;QACpB,IAAI,MAAmB,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,iBAAiB,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,uEAAuE;QACvE,IAAI,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEvE,kEAAkE;QAClE,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAEnC,8DAA8D;QAC9D,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACvE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;YAClC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/D,0EAA0E;QAC1E,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,OAAO,CACZ,IAAI,CAAC,MAAM,EACX,sBAAsB,EACtB,uDAAuD,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAC7E,CAAC;QACJ,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,6DAA6D;QAC7D,yEAAyE;QACzE,mCAAmC;QACnC,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW;YAC9C,CAAC,CAAC,OAAO,CACL,IAAI,CAAC,MAAM,EACX,sBAAsB,EACtB,2DAA2D,IAAI,CAAC,WAAW,EAAE,CAC9E;YACH,CAAC,CAAC,EAAE,CAAC;QAET,oCAAoC;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE7D,oCAAoC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,GAAG,CAAC;QAC/C,MAAM,QAAQ,GAAe,MAAM,CAAC,QAAsB,CAAC;QAC3D,MAAM,SAAS,GAAc,MAAM,CAAC,KAAkB,CAAC;QAEvD,MAAM,UAAU,GAA4B;YAC1C,KAAK;YACL,MAAM;YACN,IAAI;YACJ,UAAU;YACV,WAAW;YACX,KAAK;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;YACzB,QAAQ;YACR,MAAM;SACP,CAAC;QAEF,kBAAkB;QAClB,MAAM,QAAQ,GAAG,GAAG,CAClB,SAAS,CAAC;YACR,CAAC,EAAE,iBAAiB;YACpB,GAAG,MAAM;YACT,IAAI;YACJ,UAAU;YACV,KAAK;YACL,MAAM;YACN,KAAK;YACL,MAAM;YACN,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;SAC9D,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,GAAG,CAAC;QACtC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEtD,iCAAiC;QACjC,IAAI,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpG,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;QAC1B,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/og/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** Rasterizes an SVG (with explicit width/height, as satori emits) to PNG
2
+ * bytes using @resvg/resvg-wasm. `font` is the same font buffer already
3
+ * loaded for satori's text layout, reused here for glyph rendering. */
4
+ export declare function rasterizeSvgToPngWithWasm(svg: string, font: Buffer): Promise<Buffer>;
5
+ /** Test isolation: force the next rasterizeSvgToPngWithWasm() call to
6
+ * re-initialize the wasm module. */
7
+ export declare function resetNodeWasmFallbackForTesting(): void;
8
+ //# sourceMappingURL=node-wasm-fallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-wasm-fallback.d.ts","sourceRoot":"","sources":["../../src/og/node-wasm-fallback.ts"],"names":[],"mappings":"AA0CA;;wEAEwE;AACxE,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1F;AAED;qCACqC;AACrC,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Node-only fallback rasterizer for `og/generator.ts` — renders the same
3
+ * satori SVG output via `@resvg/resvg-wasm` instead of `sharp`.
4
+ *
5
+ * Motivation: `sharp` ships a platform-specific native (`.node`) addon that
6
+ * some Node-compatible hosts cannot load at runtime — notably a `bun
7
+ * --compile` single-file binary, which does not carry it (ArcBlock/arc#6410:
8
+ * `og.png` returns 500 in the `install.sh`-distributed arc binary). Rather
9
+ * than failing the request, `generator.ts` falls back to this rasterizer,
10
+ * which reuses the exact same `@resvg/resvg-wasm` package the Cloudflare
11
+ * Worker renderer uses (`og/worker.ts` / `og/resvg-runtime.ts`) — just loaded
12
+ * from disk via `node:fs` instead of a bundler-only wasm import (Node has no
13
+ * loader for the `import x from "*.wasm"` syntax `resvg-runtime.ts` uses,
14
+ * which only wrangler/esbuild understand).
15
+ *
16
+ * Trade-off: this path only produces PNG. `sharp`'s JPEG re-encode for
17
+ * photographic backgrounds (smaller output) has no wasm equivalent here, so a
18
+ * card that would have been a JPEG is a (larger) PNG instead when this
19
+ * fallback fires. The card still renders, which is the goal.
20
+ */
21
+ import { readFileSync } from "node:fs";
22
+ import { createRequire } from "node:module";
23
+ let wasmReady;
24
+ /** Lazily initializes @resvg/resvg-wasm exactly once per process; a rejected
25
+ * attempt is evicted so a later call can retry. */
26
+ function ensureWasm() {
27
+ if (!wasmReady) {
28
+ wasmReady = (async () => {
29
+ const { initWasm } = await import("@resvg/resvg-wasm");
30
+ const require = createRequire(import.meta.url);
31
+ const wasmPath = require.resolve("@resvg/resvg-wasm/index_bg.wasm");
32
+ await initWasm(readFileSync(wasmPath));
33
+ })().catch((error) => {
34
+ wasmReady = undefined;
35
+ throw error;
36
+ });
37
+ }
38
+ return wasmReady;
39
+ }
40
+ /** Rasterizes an SVG (with explicit width/height, as satori emits) to PNG
41
+ * bytes using @resvg/resvg-wasm. `font` is the same font buffer already
42
+ * loaded for satori's text layout, reused here for glyph rendering. */
43
+ export async function rasterizeSvgToPngWithWasm(svg, font) {
44
+ await ensureWasm();
45
+ const { Resvg } = await import("@resvg/resvg-wasm");
46
+ const resvg = new Resvg(svg, {
47
+ fitTo: { mode: "original" },
48
+ font: { fontBuffers: [font], loadSystemFonts: false, defaultFontFamily: "Noto" },
49
+ });
50
+ const rendered = resvg.render();
51
+ const png = Buffer.from(rendered.asPng());
52
+ rendered.free();
53
+ resvg.free();
54
+ return png;
55
+ }
56
+ /** Test isolation: force the next rasterizeSvgToPngWithWasm() call to
57
+ * re-initialize the wasm module. */
58
+ export function resetNodeWasmFallbackForTesting() {
59
+ wasmReady = undefined;
60
+ }
61
+ //# sourceMappingURL=node-wasm-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-wasm-fallback.js","sourceRoot":"","sources":["../../src/og/node-wasm-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,IAAI,SAAoC,CAAC;AAEzC;oDACoD;AACpD,SAAS,UAAU;IACjB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YACpE,MAAM,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,SAAS,GAAG,SAAS,CAAC;YACtB,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;wEAEwE;AACxE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW,EAAE,IAAY;IACvE,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;QAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC3B,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE;KACjF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChB,KAAK,CAAC,IAAI,EAAE,CAAC;IACb,OAAO,GAAG,CAAC;AACb,CAAC;AAED;qCACqC;AACrC,MAAM,UAAU,+BAA+B;IAC7C,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Resvg } from "@resvg/resvg-wasm";
2
+ export { Resvg };
3
+ export declare function initializeRendererWasm(): Promise<void>;
4
+ //# sourceMappingURL=resvg-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resvg-runtime.d.ts","sourceRoot":"","sources":["../../src/og/resvg-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAKpD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5D"}
@@ -0,0 +1,9 @@
1
+ import { initWasm, Resvg } from "@resvg/resvg-wasm";
2
+ import resvgWasm from "@resvg/resvg-wasm/index_bg.wasm";
3
+ import { init as initSatori } from "satori/standalone";
4
+ import yogaWasm from "satori/yoga.wasm";
5
+ export { Resvg };
6
+ export async function initializeRendererWasm() {
7
+ await Promise.all([initWasm(resvgWasm), initSatori(yogaWasm)]);
8
+ }
9
+ //# sourceMappingURL=resvg-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resvg-runtime.js","sourceRoot":"","sources":["../../src/og/resvg-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import * as v from "valibot";
2
+ import type { EmojiType } from "./emoji.js";
3
+ import type { OgTemplateParams } from "./templates.js";
4
+ import type { OgGenerateOptions } from "./types.js";
5
+ declare const schema: v.ObjectSchema<{
6
+ readonly template: v.OptionalSchema<v.PicklistSchema<["default", "section", "cover", "banner"], undefined>, "default">;
7
+ readonly title: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 128, "title too long: max 128 characters">]>, "">;
8
+ readonly description: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 512, "description too long: max 512 characters">]>, "">;
9
+ readonly section: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 64, "section too long: max 64 characters">]>, "">;
10
+ readonly cover: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "cover must be an https URL">]>, "">;
11
+ readonly logo: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.CheckAction<string, "logo must be an https URL">]>, "">;
12
+ readonly logoRounded: v.OptionalSchema<v.PicklistSchema<["0", "1"], undefined>, "0">;
13
+ readonly emoji: v.OptionalSchema<v.PicklistSchema<[EmojiType, ...EmojiType[]], undefined>, "twemoji">;
14
+ readonly nocache: v.OptionalSchema<v.PicklistSchema<["1"], undefined>, undefined>;
15
+ }, undefined>;
16
+ export type NormalizedOgInput = v.InferOutput<typeof schema>;
17
+ export interface PreparedOgRender {
18
+ input: NormalizedOgInput;
19
+ params: OgTemplateParams;
20
+ emojiType: EmojiType;
21
+ nocache: boolean;
22
+ }
23
+ /** Runtime-neutral validation and template preparation shared by Node and Worker renderers. */
24
+ export declare function prepareOgRender({ input, info, format }: Pick<OgGenerateOptions, "input" | "info" | "format">): PreparedOgRender;
25
+ export {};
26
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/og/shared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOpD,QAAA,MAAM,MAAM;;;;;;;;;;aAyBV,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAgBD,+FAA+F;AAC/F,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,gBAAgB,CAyD/H"}
@@ -0,0 +1,87 @@
1
+ import { joinURL } from "ufo";
2
+ import * as v from "valibot";
3
+ import { EMOJI_TYPES } from "./emoji.js";
4
+ import { getPassportColor } from "./passport-svg.js";
5
+ import { MAX_DESCRIPTION_LENGTH, MAX_TITLE_LENGTH, OgValidationError, } from "./types.js";
6
+ const schema = v.object({
7
+ template: v.optional(v.picklist(["default", "section", "cover", "banner"]), "default"),
8
+ title: v.optional(v.pipe(v.string(), v.maxLength(MAX_TITLE_LENGTH, `title too long: max ${MAX_TITLE_LENGTH} characters`)), ""),
9
+ description: v.optional(v.pipe(v.string(), v.maxLength(MAX_DESCRIPTION_LENGTH, `description too long: max ${MAX_DESCRIPTION_LENGTH} characters`)), ""),
10
+ section: v.optional(v.pipe(v.string(), v.maxLength(64, "section too long: max 64 characters")), ""),
11
+ cover: v.optional(v.pipe(v.string(), v.check((value) => value === "" || /^https:\/\//.test(value), "cover must be an https URL")), ""),
12
+ logo: v.optional(v.pipe(v.string(), v.check((value) => value === "" || /^https:\/\//.test(value), "logo must be an https URL")), ""),
13
+ logoRounded: v.optional(v.picklist(["0", "1"]), "0"),
14
+ emoji: v.optional(v.picklist([...EMOJI_TYPES]), "twemoji"),
15
+ nocache: v.optional(v.picklist(["1"])),
16
+ });
17
+ function enforceTemplateConstraints(input) {
18
+ if (input.template === "section") {
19
+ if (!input.section)
20
+ throw new OgValidationError("section is required for template=section");
21
+ if (!input.title)
22
+ throw new OgValidationError("title is required for template=section");
23
+ if (!input.description)
24
+ throw new OgValidationError("description is required for template=section");
25
+ }
26
+ else if (input.template === "cover") {
27
+ if (!input.cover)
28
+ throw new OgValidationError("cover is required for template=cover");
29
+ if (!input.title)
30
+ throw new OgValidationError("title is required for template=cover");
31
+ }
32
+ else if (input.template === "banner") {
33
+ if (!input.logo)
34
+ throw new OgValidationError("logo is required for template=banner");
35
+ if (!input.title)
36
+ throw new OgValidationError("title is required for template=banner");
37
+ }
38
+ }
39
+ /** Runtime-neutral validation and template preparation shared by Node and Worker renderers. */
40
+ export function prepareOgRender({ input, info, format }) {
41
+ let parsed;
42
+ try {
43
+ parsed = v.parse(schema, input);
44
+ }
45
+ catch (error) {
46
+ const message = error instanceof Error ? error.message : String(error);
47
+ throw new OgValidationError(`open graph service params invalid: ${message}`);
48
+ }
49
+ parsed.title = parsed.title.trim();
50
+ parsed.description = parsed.description.trim();
51
+ enforceTemplateConstraints(parsed);
52
+ if (parsed.template === "cover" && parsed.title && !parsed.description) {
53
+ parsed.description = parsed.title;
54
+ parsed.title = info.name;
55
+ }
56
+ if (!parsed.title)
57
+ parsed.title = info.name;
58
+ if (!parsed.description)
59
+ parsed.description = info.description;
60
+ const logo = parsed.logo ||
61
+ joinURL(info.appUrl, "/.well-known/service", `/blocklet/logo?imageFilter=convert&f=png&w=120&hash=${info.logoHash ?? ""}`);
62
+ const background = parsed.template !== "banner" && info.ogImageHash
63
+ ? joinURL(info.appUrl, "/.well-known/service", `/blocklet/og-image?imageFilter=resize&w=1200&h=630&hash=${info.ogImageHash}`)
64
+ : "";
65
+ const width = parsed.template === "banner" ? 1280 : 1200;
66
+ const height = parsed.template === "banner" ? 441 : 630;
67
+ return {
68
+ input: parsed,
69
+ params: {
70
+ width,
71
+ height,
72
+ logo,
73
+ background,
74
+ logoRounded: parsed.logoRounded === "1",
75
+ color: getPassportColor(info.passportColor, info.did),
76
+ title: parsed.title,
77
+ description: parsed.description,
78
+ section: parsed.section,
79
+ cover: parsed.cover,
80
+ template: parsed.template,
81
+ format,
82
+ },
83
+ emojiType: parsed.emoji,
84
+ nocache: input.nocache === "1",
85
+ };
86
+ }
87
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/og/shared.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,17 @@ export interface CreateOgGeneratorOptions {
69
69
  tmpDir?: string;
70
70
  /** Structured logger for font/image/emoji fallback diagnostics (defaults to consoleLogger). */
71
71
  logger?: Logger;
72
+ /**
73
+ * Rasterizer for the final SVG → PNG/JPEG step. Defaults to `undefined`
74
+ * ("auto"): try `sharp`, and if it cannot be loaded — e.g. a `bun --compile`
75
+ * single-file binary that doesn't carry sharp's platform-specific native
76
+ * addon (ArcBlock/arc#6410) — fall back to the same `@resvg/resvg-wasm`
77
+ * rasterizer the Cloudflare Worker renderer uses (see `og/worker.ts`).
78
+ * Pass `"wasm"` to always use the wasm path and skip attempting `sharp`
79
+ * (deterministic; always emits PNG — no JPEG re-encode for photographic
80
+ * backgrounds).
81
+ */
82
+ rasterizer?: "wasm";
72
83
  }
73
84
  export declare const OG_TEMPLATES: readonly OgTemplate[];
74
85
  export declare const MAX_TITLE_LENGTH = 128;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/og/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAC;IACZ,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,QAAQ,CAAC;IACjB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACnE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAA8C,CAAC;AAG7F,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,cAAc,QAAkB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,UAAU,SAAO;gBACL,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/og/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAC;IACZ,6FAA6F;IAC7F,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,QAAQ,CAAC;IACjB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;2DACuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACnE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAA8C,CAAC;AAG7F,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,cAAc,QAAkB,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,UAAU,SAAO;gBACL,OAAO,EAAE,MAAM;CAI5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/og/types.ts"],"names":[],"mappings":"AA+EA,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE7F,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,UAAU,GAAG,GAAG,CAAC;IACjB,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/og/types.ts"],"names":[],"mappings":"AA0FA,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE7F,0DAA0D;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAExC,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,UAAU,GAAG,GAAG,CAAC;IACjB,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ import type { OgGenerateOptions } from "./types.js";
2
+ export declare const OG_WORKER_RENDERER_VERSION = "og-worker:v1";
3
+ export declare const OG_WORKER_FONT_KEYS: {
4
+ readonly en: "fonts/NotoSans-Regular.ttf";
5
+ readonly "zh-CN": "fonts/NotoSansSC-Regular.otf";
6
+ readonly "zh-TW": "fonts/NotoSansTC-Regular.otf";
7
+ readonly ja: "fonts/NotoSansJP-Regular.otf";
8
+ };
9
+ export type OgWorkerLocale = keyof typeof OG_WORKER_FONT_KEYS;
10
+ export type OgWorkerCacheStatus = "HIT" | "MISS" | "BYPASS";
11
+ export interface OgWorkerFontBucket {
12
+ get(key: string): Promise<{
13
+ arrayBuffer(): Promise<ArrayBuffer>;
14
+ } | null>;
15
+ }
16
+ export interface OgWorkerCache {
17
+ match(request: Request): Promise<Response | undefined>;
18
+ put(request: Request, response: Response): Promise<void>;
19
+ }
20
+ export interface OgWorkerRenderEvent {
21
+ locale: OgWorkerLocale;
22
+ cacheStatus: OgWorkerCacheStatus;
23
+ durationMs: number;
24
+ }
25
+ export interface OgWorkerRenderOptions extends Omit<OgGenerateOptions, "format" | "cacheDir" | "tmpDir"> {
26
+ locale: string;
27
+ instanceDid: string;
28
+ }
29
+ export interface OgWorkerRenderResult {
30
+ body: Uint8Array;
31
+ contentType: string;
32
+ }
33
+ export interface OgWorkerRenderer {
34
+ render(options: OgWorkerRenderOptions): Promise<OgWorkerRenderResult>;
35
+ }
36
+ export interface CreateOgWorkerRendererOptions {
37
+ fontBucket: OgWorkerFontBucket;
38
+ cache?: OgWorkerCache;
39
+ observer?: (event: OgWorkerRenderEvent) => void;
40
+ }
41
+ export declare function normalizeOgLocale(locale: string | undefined): OgWorkerLocale;
42
+ /** Test isolation for exercising retry after a rejected initialization promise. */
43
+ export declare function resetOgWorkerWasmForTesting(): void;
44
+ export declare function createOgWorkerRenderer(options: CreateOgWorkerRendererOptions): OgWorkerRenderer;
45
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/og/worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAC9D,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACvD,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtG,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACjD;AASD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAe5E;AAYD,mFAAmF;AACnF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AAiCD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,gBAAgB,CAuE/F"}
@@ -0,0 +1,141 @@
1
+ import stringify from "fast-json-stable-stringify";
2
+ import satori from "satori/standalone";
3
+ import { initializeRendererWasm, Resvg } from "./resvg-runtime.js";
4
+ import { prepareOgRender } from "./shared.js";
5
+ import { getTemplate } from "./templates.js";
6
+ export const OG_WORKER_RENDERER_VERSION = "og-worker:v1";
7
+ export const OG_WORKER_FONT_KEYS = {
8
+ en: "fonts/NotoSans-Regular.ttf",
9
+ "zh-CN": "fonts/NotoSansSC-Regular.otf",
10
+ "zh-TW": "fonts/NotoSansTC-Regular.otf",
11
+ ja: "fonts/NotoSansJP-Regular.otf",
12
+ };
13
+ const TRANSPARENT_PNG_DATA_URI = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";
14
+ const CACHE_ORIGIN = "https://og-cache.invalid";
15
+ let wasmInitialization;
16
+ const fontCaches = new WeakMap();
17
+ export function normalizeOgLocale(locale) {
18
+ const normalized = locale?.trim().toLowerCase() ?? "";
19
+ if (normalized === "ja" || normalized.startsWith("ja-"))
20
+ return "ja";
21
+ if (normalized === "zh-tw" ||
22
+ normalized.startsWith("zh-hant") ||
23
+ normalized === "zh-hk" ||
24
+ normalized.startsWith("zh-hk-")) {
25
+ return "zh-TW";
26
+ }
27
+ if (normalized === "zh" || normalized.startsWith("zh-cn") || normalized.startsWith("zh-hans")) {
28
+ return "zh-CN";
29
+ }
30
+ return "en";
31
+ }
32
+ function ensureWasm() {
33
+ if (!wasmInitialization) {
34
+ wasmInitialization = initializeRendererWasm().catch((error) => {
35
+ wasmInitialization = undefined;
36
+ throw error;
37
+ });
38
+ }
39
+ return wasmInitialization;
40
+ }
41
+ /** Test isolation for exercising retry after a rejected initialization promise. */
42
+ export function resetOgWorkerWasmForTesting() {
43
+ wasmInitialization = undefined;
44
+ }
45
+ function loadFont(bucket, key) {
46
+ let cache = fontCaches.get(bucket);
47
+ if (!cache) {
48
+ cache = new Map();
49
+ fontCaches.set(bucket, cache);
50
+ }
51
+ let promise = cache.get(key);
52
+ if (!promise) {
53
+ promise = bucket.get(key).then(async (object) => {
54
+ if (!object)
55
+ throw new Error(`OG font unavailable: ${key}`);
56
+ return new Uint8Array(await object.arrayBuffer());
57
+ });
58
+ promise.catch(() => cache?.delete(key));
59
+ cache.set(key, promise);
60
+ }
61
+ return promise;
62
+ }
63
+ async function sha256(value) {
64
+ const bytes = new TextEncoder().encode(value);
65
+ const digest = await crypto.subtle.digest("SHA-256", bytes);
66
+ return [...new Uint8Array(digest)].map((byte) => byte.toString(16).padStart(2, "0")).join("");
67
+ }
68
+ function defaultCache() {
69
+ const cacheStorage = globalThis.caches;
70
+ if (!cacheStorage?.default)
71
+ throw new Error("Cache API unavailable");
72
+ return cacheStorage.default;
73
+ }
74
+ export function createOgWorkerRenderer(options) {
75
+ const observer = options.observer ?? (() => undefined);
76
+ return {
77
+ async render(renderOptions) {
78
+ const startedAt = performance.now();
79
+ const locale = normalizeOgLocale(renderOptions.locale);
80
+ const fontKey = OG_WORKER_FONT_KEYS[locale];
81
+ const prepared = prepareOgRender({ ...renderOptions, format: "png" });
82
+ const params = {
83
+ ...prepared.params,
84
+ // Worker rendering performs no request-controlled remote media fetches.
85
+ logo: TRANSPARENT_PNG_DATA_URI,
86
+ cover: prepared.params.cover ? TRANSPARENT_PNG_DATA_URI : "",
87
+ background: "",
88
+ };
89
+ const instanceDidDigest = await sha256(renderOptions.instanceDid);
90
+ const cacheHash = await sha256(stringify({
91
+ rendererVersion: OG_WORKER_RENDERER_VERSION,
92
+ fontKey,
93
+ locale,
94
+ instanceDidDigest,
95
+ params,
96
+ }));
97
+ const cacheRequest = new Request(`${CACHE_ORIGIN}/${OG_WORKER_RENDERER_VERSION}/${cacheHash}`);
98
+ const cache = options.cache ?? defaultCache();
99
+ if (!prepared.nocache) {
100
+ const cached = await cache.match(cacheRequest);
101
+ if (cached) {
102
+ const body = new Uint8Array(await cached.arrayBuffer());
103
+ observer({ locale, cacheStatus: "HIT", durationMs: performance.now() - startedAt });
104
+ return { body, contentType: cached.headers.get("content-type") ?? "image/png" };
105
+ }
106
+ }
107
+ const [font] = await Promise.all([loadFont(options.fontBucket, fontKey), ensureWasm()]);
108
+ const tree = await getTemplate(params);
109
+ const fontBuffer = font.slice().buffer;
110
+ const svg = await satori(tree, {
111
+ width: params.width,
112
+ height: params.height,
113
+ fonts: [{ name: "Noto", data: fontBuffer, weight: 400, style: "normal" }],
114
+ });
115
+ const resvg = new Resvg(svg, {
116
+ fitTo: { mode: "original" },
117
+ font: { fontBuffers: [font], loadSystemFonts: false, defaultFontFamily: "Noto" },
118
+ });
119
+ const rendered = resvg.render();
120
+ const body = rendered.asPng();
121
+ rendered.free();
122
+ resvg.free();
123
+ const responseBody = body.slice().buffer;
124
+ const response = new Response(responseBody, {
125
+ headers: { "Content-Type": "image/png", "Cache-Control": "public, max-age=31536000, immutable" },
126
+ });
127
+ if (!prepared.nocache) {
128
+ try {
129
+ await cache.put(cacheRequest, response.clone());
130
+ }
131
+ catch {
132
+ // Cache writes are best-effort; a fresh render is still a valid response.
133
+ }
134
+ }
135
+ const cacheStatus = prepared.nocache ? "BYPASS" : "MISS";
136
+ observer({ locale, cacheStatus, durationMs: performance.now() - startedAt });
137
+ return { body, contentType: "image/png" };
138
+ },
139
+ };
140
+ }
141
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/og/worker.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export declare const BACKFILL_PRIMARY_CREDENTIAL_SQL = "UPDATE cs_users\nSET pri
46
46
  export declare const DEDUPE_CONNECTED_ACCOUNTS_SQL = "DELETE FROM cs_connected_accounts\nWHERE id IS NOT NULL\n AND rowid IN (\n SELECT rowid FROM (\n SELECT\n rowid,\n ROW_NUMBER() OVER (\n PARTITION BY provider, id\n ORDER BY\n CASE WHEN did = userDid THEN 0 ELSE 1 END,\n COALESCE(createdAt, '') ASC,\n did ASC\n ) AS rn\n FROM cs_connected_accounts\n WHERE id IS NOT NULL\n ) ranked\n WHERE rn > 1\n )";
47
47
  /** Session-JWT and OAuth refresh TTL. W4 aligns OAuth to this; do not invent a second constant. */
48
48
  export declare const REFRESH_TOKEN_TTL_SECONDS: number;
49
+ /** Max length of a stored `cs_users.avatar` value. */
50
+ export declare const MAX_AVATAR_LENGTH = 1024;
49
51
  export interface IssuedRefreshToken {
50
52
  /** Plaintext returned to the caller — never persisted, only its hash is. */
51
53
  plaintext: string;