@devvit/public-api 0.12.0-next-2025-03-31-81fa43e0f.0 → 0.12.0-next-2025-04-10-a27f59c35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/apis/makeAPIClients.d.ts.map +1 -1
  2. package/apis/makeAPIClients.js +0 -3
  3. package/apis/reddit/RedditAPIClient.d.ts +37 -1
  4. package/apis/reddit/RedditAPIClient.d.ts.map +1 -1
  5. package/apis/reddit/RedditAPIClient.js +150 -113
  6. package/apis/reddit/common.d.ts +4 -1
  7. package/apis/reddit/common.d.ts.map +1 -1
  8. package/apis/reddit/index.d.ts +1104 -0
  9. package/apis/reddit/index.d.ts.map +1 -0
  10. package/apis/reddit/index.js +1435 -0
  11. package/apis/reddit/models/Comment.d.ts +2 -0
  12. package/apis/reddit/models/Comment.d.ts.map +1 -1
  13. package/apis/reddit/models/Comment.js +6 -2
  14. package/apis/reddit/models/ModAction.d.ts +0 -3
  15. package/apis/reddit/models/ModAction.d.ts.map +1 -1
  16. package/apis/reddit/models/ModAction.js +2 -1
  17. package/apis/reddit/models/Post.d.ts +3 -0
  18. package/apis/reddit/models/Post.d.ts.map +1 -1
  19. package/apis/reddit/models/Post.js +16 -7
  20. package/apis/reddit/models/Subreddit.d.ts +1 -19
  21. package/apis/reddit/models/Subreddit.d.ts.map +1 -1
  22. package/apis/reddit/models/Subreddit.js +15 -9
  23. package/apis/reddit/models/User.js +13 -0
  24. package/apis/reddit/models/Vault.d.ts +0 -3
  25. package/apis/reddit/models/Vault.d.ts.map +1 -1
  26. package/apis/reddit/models/Vault.js +7 -2
  27. package/apis/reddit/models/index.d.ts +1 -1
  28. package/apis/reddit/models/index.d.ts.map +1 -1
  29. package/apis/reddit/models/index.js +0 -1
  30. package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts +7 -0
  31. package/apis/reddit/tests/utils/createTestRedditApiContext.d.ts.map +1 -0
  32. package/apis/reddit/tests/utils/{createTestRedditApiClient.js → createTestRedditApiContext.js} +12 -5
  33. package/apis/settings/SettingsClient.d.ts +3 -1
  34. package/apis/settings/SettingsClient.d.ts.map +1 -1
  35. package/apis/settings/SettingsClient.js +34 -0
  36. package/devvit/Devvit.d.ts.map +1 -1
  37. package/devvit/Devvit.js +11 -0
  38. package/devvit/internals/async-metadata.d.ts +2 -0
  39. package/devvit/internals/async-metadata.d.ts.map +1 -0
  40. package/devvit/internals/async-metadata.js +65 -0
  41. package/devvit/internals/blocks/BlocksReconciler.d.ts.map +1 -1
  42. package/devvit/internals/blocks/BlocksReconciler.js +12 -14
  43. package/devvit/internals/blocks/handler/BlocksHandler.d.ts.map +1 -1
  44. package/devvit/internals/blocks/handler/BlocksHandler.js +6 -3
  45. package/devvit/internals/blocks/handler/ContextBuilder.d.ts.map +1 -1
  46. package/devvit/internals/blocks/handler/ContextBuilder.js +0 -3
  47. package/devvit/internals/blocks/handler/useWebView.d.ts.map +1 -1
  48. package/devvit/internals/blocks/handler/useWebView.js +9 -8
  49. package/devvit/internals/context.d.ts.map +1 -1
  50. package/devvit/internals/context.js +3 -1
  51. package/devvit/internals/csrf.d.ts.map +1 -1
  52. package/devvit/internals/csrf.js +7 -8
  53. package/devvit/internals/helpers/devvitInternalMessage.d.ts +12 -0
  54. package/devvit/internals/helpers/devvitInternalMessage.d.ts.map +1 -0
  55. package/devvit/internals/helpers/devvitInternalMessage.js +17 -0
  56. package/devvit/internals/helpers/extendDevvitPrototype.d.ts +6 -1
  57. package/devvit/internals/helpers/extendDevvitPrototype.d.ts.map +1 -1
  58. package/devvit/internals/helpers/extendDevvitPrototype.js +9 -1
  59. package/devvit/internals/menu-items.d.ts.map +1 -1
  60. package/index.d.ts +2 -1
  61. package/index.d.ts.map +1 -1
  62. package/index.js +2 -0
  63. package/meta.json +231 -154
  64. package/meta.min.json +281 -127
  65. package/package.json +9 -9
  66. package/public-api.d.ts +2706 -2060
  67. package/public-api.iife.js +1734 -2217
  68. package/public-api.min.js +6 -6
  69. package/public-api.min.js.map +4 -4
  70. package/types/configuration.d.ts +2 -0
  71. package/types/configuration.d.ts.map +1 -1
  72. package/types/context.d.ts +2 -4
  73. package/types/context.d.ts.map +1 -1
  74. package/version.json +2 -2
  75. package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts +0 -7
  76. package/apis/reddit/tests/utils/createTestRedditApiClient.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAItD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAG/D,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,IAAI,EAEJ,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,sBAAsB,EAGtB,gBAAgB,EAChB,iBAAiB,EAGjB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AA0C3B;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,qBAAa,MAAO,SAAQ,KAAK;;IAC/B,MAAM,CAAC,KAAK,EAAE,WAAW,CAAM;IAkB/B;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA4C7C;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAI9D;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,GAAG,YAAY,EACnD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACtD,OAAO;IASV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAexF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+CG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAsBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,UAAU,EAAE;QAC9D,KAAK,EAAE,CAAC,CAAC;QACT,OAAO,EAAE,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,GAAG,OAAO,MAAM;IACjB,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS,YAAY,EAC1C,iBAAiB,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAC/C,OAAO,MAAM;CA8SjB;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IACpC,KAAY,eAAe,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;IACrE,KAAY,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,KAAY,cAAc,GAAG,WAAW,GAAG,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IAIvF,SAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,CAAC,qBAAqB,EAClC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,EAC7C,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,GAC1B,YAAY,CAAC;IAiBhB,sDAAsD;IACtD,KAAY,OAAO,GAAG,iBAAiB,GAAG,WAAW,CAAC;IAEtD,KAAY,mBAAmB,CAAC,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,IAAI,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAA;KAAE,CAAC;IAClG,KAAY,cAAc,CAAC,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,IAAI,CAC3D,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,OAAO,KACb,GAAG,CAAC,OAAO,CAAC;IACjB,KAAY,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;IAEpE,UAAiB,MAAM,CAAC;QACtB,UAAiB,iBAAiB;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACjC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAClC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAClC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;SACrC;QAED,KAAY,qBAAqB,GAAG,MAAM,iBAAiB,CAAC;QAG5D,KAAY,UAAU,GAAG,GAAG,MAAM,IAAI,CAAC;QACvC,KAAY,WAAW,GAAG,GAAG,MAAM,GAAG,CAAC;QACvC,KAAY,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;QAC3D,KAAY,SAAS,GACjB,GAAG,iBAAiB,EAAE,GACtB,GAAG,mBAAmB,EAAE,GACxB,GAAG,iBAAiB,IAAI,mBAAmB,EAAE,GAC7C,GAAG,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;QAClD,KAAY,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;QAChD,KAAY,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5C,KAAY,UAAU,GAClB,SAAS,GACT,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;QACf,KAAY,gBAAgB,GACxB,WAAW,GACX,SAAS,GACT,OAAO,GACP,UAAU,GACV,OAAO,GACP,aAAa,GACb,SAAS,GACT,SAAS,CAAC;QACd;;;;;WAKG;QACH,KAAY,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QACtD,KAAY,WAAW,GAAG,MAAM,CAAC;QACjC;;;WAGG;QACH,KAAY,oBAAoB,GAAG,SAAS,CAAC;QAC7C;;;;WAIG;QACH,KAAY,qBAAqB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;QACnF;;;;WAIG;QACH,KAAY,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QACjE;;;;;WAKG;QACH,KAAY,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QAChF,KAAY,mBAAmB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;QAC7D;;;;;WAKG;QACH,KAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QAC/D,KAAY,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;QAC/E;;;;;WAKG;QACH,KAAY,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;QACjE,KAAY,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;QAC1D;;;WAGG;QACH,KAAY,WAAW,GAAG,SAAS,CAAC;QACpC;;;;;;;WAOG;QACH,KAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACtF,KAAY,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;QACxD,KAAY,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;QAC5C,KAAY,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;QAC/C,KAAY,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QAClD,KAAY,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC5D,KAAY,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;QAI5C,KAAY,SAAS,GAAG;YACtB,KAAK,CAAC,EAAE,UAAU,CAAC;YACnB,MAAM,CAAC,EAAE,UAAU,CAAC;YACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;YACtB,SAAS,CAAC,EAAE,UAAU,CAAC;YACvB,QAAQ,CAAC,EAAE,UAAU,CAAC;YACtB,SAAS,CAAC,EAAE,UAAU,CAAC;YACvB,IAAI,CAAC,EAAE,OAAO,CAAC;YAEf;;;;;;;;;;;;;eAaG;YACH,GAAG,CAAC,EAAE,MAAM,CAAC;YAEb;;;;eAIG;YACH,EAAE,CAAC,EAAE,MAAM,CAAC;SACb,CAAC;QAEF,KAAY,mBAAmB,GAAG,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7E,KAAY,qBAAqB,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAE9F,KAAY,UAAU,GAAG;YACvB,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;SAC3C,CAAC;QAEF,KAAY,iBAAiB,GAAG;YAC9B,SAAS,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;SAC/C,CAAC;QAEF,KAAY,cAAc,GAAG,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAC;QAEpE,KAAY,kBAAkB,GAAG;YAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC;SACnC,CAAC;QAEF,KAAY,iBAAiB,GAAG;YAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;SAClC,CAAC;QAEF,KAAY,SAAS,GAAG,kBAAkB,GAAG;YAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;SAC/C,CAAC;QAEF,KAAY,UAAU,GAAG,SAAS,GAChC,kBAAkB,GAClB,UAAU,GAAG;YACX,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;YAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;YACtB,OAAO,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;YACvC,GAAG,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;YAC/B,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;YAC1C,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACtC,gBAAgB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAC3C,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAC1C,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;YACjD,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAC1C,oBAAoB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAC/C,mBAAmB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;SAC/C,CAAC;QAEJ,KAAY,SAAS,GAAG,SAAS,GAC/B,iBAAiB,GACjB,UAAU,GAAG;YACX,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;YAC5B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YAChC,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAChC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACrC,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACpC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;YAClC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAClC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;YAC9B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;YAC3B,QAAQ,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;SACrC,CAAC;QAEJ,KAAY,WAAW,GAAG,SAAS,GACjC,iBAAiB,GACjB,UAAU,GAAG;YACX,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YAC9B,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;YAC1C,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACpC,cAAc,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACzC,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAGxC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;SAChC,CAAC;QAEJ,KAAY,UAAU,GAAG,SAAS,GAChC,UAAU,GAAG;YACX,GAAG,EAAE,MAAM,CAAC;YACZ,UAAU,EAAE,UAAU,GAAG,MAAM,CAAC;YAChC,WAAW,EAAE,UAAU,GAAG,MAAM,CAAC;YACjC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;YACjC,UAAU,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;SAC1C,CAAC;QAEJ,KAAY,WAAW,GAAG,SAAS,GAAG;YACpC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YAC9B,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;SACjC,CAAC;QAEF,KAAY,SAAS,GAAG,SAAS,GAC/B,iBAAiB,GACjB,UAAU,GAAG;YACX,IAAI,EAAE,QAAQ,CAAC;YACf,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YAChC,UAAU,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACrC,SAAS,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;SAC7B,CAAC;QAEJ,KAAY,WAAW,GAAG,SAAS,GACjC,UAAU,GAAG;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;YAC9B,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;SAC3C,CAAC;QAEJ,KAAY,YAAY,GAAG,SAAS,GAClC,iBAAiB,GAAG;YAClB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACL;CACF;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,GAAG,CAAC,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;CACzB,CAAC;AAKF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,CAAC,iBAAiB;SAAG;QAEtE,KAAK,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,KAAK,WAAW,GAAG,YAAY,GAAG,GAAG,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;QAClF,KAAK,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,KAAK,wBAAwB,GAAG;YAAE,QAAQ,EAAE,EAAE,CAAA;SAAE,CAAC;QACjD,KAAK,QAAQ,GAAG,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,KAAK,KAAK,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,eAAe,CAAA;SAAE,CAAC;QAE1E,KAAK,iBAAiB,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC;KACrF;CACF"}
1
+ {"version":3,"file":"Devvit.d.ts","sourceRoot":"","sources":["../../src/devvit/Devvit.ts"],"names":[],"mappings":"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"}
package/devvit/Devvit.js CHANGED
@@ -77,6 +77,9 @@ export class Devvit extends Actor {
77
77
  if (pluginIsEnabled(config.realtime)) {
78
78
  this.use(protos.RealtimeDefinition);
79
79
  }
80
+ if (pluginIsEnabled(config.userActions)) {
81
+ this.use(protos.UserActionsDefinition);
82
+ }
80
83
  }
81
84
  /**
82
85
  * Add a menu item to the Reddit UI.
@@ -369,6 +372,14 @@ export class Devvit extends Actor {
369
372
  return realtime;
370
373
  }
371
374
  /** @internal */
375
+ static get userActionsPlugin() {
376
+ const userActionsAndRedditApiEnabled = pluginIsEnabled(__classPrivateFieldGet(this, _a, "f", _Devvit_config).userActions) && pluginIsEnabled(__classPrivateFieldGet(this, _a, "f", _Devvit_config).redditAPI);
377
+ if (!userActionsAndRedditApiEnabled) {
378
+ throw new Error('UserActions is not enabled. You can enable it by passing both `userActions: true` and `redditAPI: true` to `Devvit.configure`');
379
+ }
380
+ return __classPrivateFieldGet(this, _a, "f", _Devvit_pluginClients)[protos.UserActionsDefinition.fullName];
381
+ }
382
+ /** @internal */
372
383
  static get menuItems() {
373
384
  return __classPrivateFieldGet(this, _a, "f", _Devvit_menuItems);
374
385
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=async-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-metadata.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/async-metadata.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ // Do this as an IIFE so that we can have the storage be a const
2
+ const asyncLocalStorage = (function () {
3
+ try {
4
+ // This require() will fail during bundling, and on browsers. That's OK. Leave
5
+ // the async local storage undefined in those cases, and we'll let follow on
6
+ // code decide if they're OK running with that, or if they want to CircuitBreak.
7
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
8
+ const { AsyncLocalStorage } = require('node:async_hooks');
9
+ return new AsyncLocalStorage();
10
+ }
11
+ catch {
12
+ // nop
13
+ }
14
+ return undefined;
15
+ })();
16
+ // Only set localMetadata if we're not in a remote runtime. If we are in a remote
17
+ // runtime, then we should be using asyncLocalStorage.
18
+ let localMetadata;
19
+ /**
20
+ * Get the current metadata. If called outside a request, this will throw an
21
+ * error.
22
+ * @internal
23
+ * @returns {Metadata} The current metadata.
24
+ */
25
+ export function getMetadata() {
26
+ // Q: How does this work, without jumbling up the metadata between requests?
27
+ // A: If we're running in a remote runtime, we use the async local storage to
28
+ // get the metadata, which guarantees that we get the correct metadata for the
29
+ // current thread. If we're not in a remote runtime, then we'll use the
30
+ // metadata saved in localMetadata; this is set by `withMetadata()` when
31
+ // invoked in a local runtime, and since local runtimes can't handle
32
+ // multiple requests at once, we can safely use this saved metadata without
33
+ // fear of jumbling them up.
34
+ if (asyncLocalStorage) {
35
+ const metadata = asyncLocalStorage.getStore();
36
+ if (!metadata) {
37
+ throw Error('API error; metadata should never be accessed outside a request');
38
+ }
39
+ return metadata;
40
+ }
41
+ if (!localMetadata) {
42
+ throw Error('Devvit metadata can only be accessed within a request');
43
+ }
44
+ return localMetadata;
45
+ }
46
+ /** @internal */
47
+ export async function withMetadata(metadata, callback) {
48
+ if (asyncLocalStorage) {
49
+ // If asyncLocalStorage is available, we use it to run the function with
50
+ // access to the metadata.
51
+ return asyncLocalStorage.run(metadata, callback);
52
+ }
53
+ else {
54
+ // If asyncLocalStorage is not available, set the value on localMetadata,
55
+ // then run the function directly.
56
+ try {
57
+ localMetadata = metadata;
58
+ return await callback();
59
+ }
60
+ finally {
61
+ // Unset the localMetadata after we're done, to prevent any leakage.
62
+ localMetadata = undefined;
63
+ }
64
+ }
65
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksReconciler.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksReconciler.ts"],"names":[],"mappings":"AA8CA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAYxE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAIxC"}
1
+ {"version":3,"file":"BlocksReconciler.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/blocks/BlocksReconciler.ts"],"names":[],"mappings":"AA6CA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG,MAAM,CAAC;AAYxE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAIxC"}
@@ -123,7 +123,6 @@ export class BlocksReconciler {
123
123
  });
124
124
  this.cache = apiClients.cache;
125
125
  this.modLog = apiClients.modLog;
126
- this.reddit = apiClients.reddit;
127
126
  this.kvStore = apiClients.kvStore;
128
127
  this.redis = apiClients.redis;
129
128
  this.settings = apiClients.settings;
@@ -211,6 +210,14 @@ export class BlocksReconciler {
211
210
  }
212
211
  }
213
212
  async processBlock(element, idGenerator = makeUniqueIdGenerator(), path = []) {
213
+ // Strings - return as is
214
+ if (typeof element === 'string') {
215
+ return element;
216
+ }
217
+ // Numbers - transform to string
218
+ if (typeof element === 'number') {
219
+ return `${element}`;
220
+ }
214
221
  const blockElement = element;
215
222
  // Intrinsic elements
216
223
  if (typeof blockElement.type === 'string') {
@@ -234,12 +241,11 @@ export class BlocksReconciler {
234
241
  const children = childrens.flat();
235
242
  const collapsedChildren = __classPrivateFieldGet(this, _BlocksReconciler_instances, "m", _BlocksReconciler_flatten).call(this, children);
236
243
  await this.processProps(blockElement);
237
- const reified = {
244
+ return {
238
245
  type: blockElement.type,
239
246
  props: blockElement.props,
240
247
  children: collapsedChildren,
241
248
  };
242
- return reified;
243
249
  }
244
250
  // Function components
245
251
  if (typeof blockElement.type === 'function') {
@@ -250,15 +256,16 @@ export class BlocksReconciler {
250
256
  this.renderState[componentKey] = {};
251
257
  }
252
258
  const children = blockElement.children.flatMap((c) => c);
259
+ const ctx = __classPrivateFieldGet(this, _BlocksReconciler_instances, "m", _BlocksReconciler_makeContextProps).call(this);
253
260
  const props = {
254
- ...__classPrivateFieldGet(this, _BlocksReconciler_instances, "m", _BlocksReconciler_makeContextProps).call(this),
261
+ ...ctx,
255
262
  ...blockElement.props,
256
263
  children,
257
264
  };
258
265
  let result;
259
266
  while (result === undefined) {
260
267
  try {
261
- result = await blockElement.type(props, __classPrivateFieldGet(this, _BlocksReconciler_instances, "m", _BlocksReconciler_makeContextProps).call(this));
268
+ result = await blockElement.type(props, ctx);
262
269
  }
263
270
  catch (promiseOrError) {
264
271
  // If the component throws a promise, wait for it to resolve and try again.
@@ -292,14 +299,6 @@ export class BlocksReconciler {
292
299
  return this.processBlock(result, idGenerator, [...path, blockElement.type.name]);
293
300
  }
294
301
  }
295
- // Strings - return as is
296
- if (typeof blockElement === 'string') {
297
- return blockElement;
298
- }
299
- // Numbers - transform to string
300
- if (typeof blockElement === 'number') {
301
- return `${blockElement}`;
302
- }
303
302
  let children = [];
304
303
  let pathPrefix = '';
305
304
  if (Array.isArray(blockElement)) {
@@ -456,7 +455,6 @@ _BlocksReconciler_rerenderAlreadyScheduled = new WeakMap(), _BlocksReconciler_in
456
455
  const props = {
457
456
  ...getContextFromMetadata(this.metadata, this.state.__postData?.thingId),
458
457
  modLog: this.modLog,
459
- reddit: this.reddit,
460
458
  cache: this.cache,
461
459
  kvStore: this.kvStore,
462
460
  redis: this.redis,
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksHandler.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/BlocksHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAGb,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAgB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAe,IAAI,EAAE,UAAU,EAAE,WAAW,EAAS,MAAM,YAAY,CAAC;AAGpF;;;;;;GAMG;AACH,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI,WAAW,GAAG;IACvD;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,EAC3C,WAAW,EACX,GAAG,WAAW,EACf,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAiC5B;AAED,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAO7D;;;;GAIG;AACH,qBAAa,aAAa;;IAMxB,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAEtC,IAAI,EAAE,GAAG,CAAC,iBAAiB;IAMjC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAqZ1E"}
1
+ {"version":3,"file":"BlocksHandler.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/BlocksHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,QAAQ,EAGb,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAgB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAe,IAAI,EAAE,UAAU,EAAE,WAAW,EAAS,MAAM,YAAY,CAAC;AAGpF;;;;;;GAMG;AACH,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CASxD;AAED,KAAK,mBAAmB,CAAC,CAAC,SAAS,IAAI,IAAI,WAAW,GAAG;IACvD;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,IAAI,EAAE,EAC3C,WAAW,EACX,GAAG,WAAW,EACf,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAiC5B;AAED,eAAO,IAAI,oBAAoB,EAAE,aAAa,GAAG,IAAW,CAAC;AAO7D;;;;GAIG;AACH,qBAAa,aAAa;;IAMxB,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAQ;gBAEtC,IAAI,EAAE,GAAG,CAAC,iBAAiB;IAMjC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;CAwZ1E"}
@@ -111,8 +111,7 @@ export class BlocksHandler {
111
111
  }
112
112
  async handle(request, metadata) {
113
113
  const context = new RenderContext(request, metadata);
114
- const devvitContext = __classPrivateFieldGet(this, _BlocksHandler_contextBuilder, "f").buildContext(context, request, metadata);
115
- context.devvitContext = devvitContext;
114
+ context.devvitContext = __classPrivateFieldGet(this, _BlocksHandler_contextBuilder, "f").buildContext(context, request, metadata);
116
115
  let blocks;
117
116
  /**
118
117
  * Events on the main queue must be handled in order, so that state is updated in the correct order. Events
@@ -445,7 +444,11 @@ async function _BlocksHandler_handleAsyncQueues(context, ...batch) {
445
444
  return props[key](event.userAction.data);
446
445
  }
447
446
  else if (event.webView?.postMessage) {
448
- return props[key](event.webView.postMessage.message);
447
+ // Fallback to deprecated message field for mobile client backwards compatibility
448
+ const message = event.webView.postMessage.jsonString
449
+ ? JSON.parse(event.webView.postMessage.jsonString)
450
+ : event.webView.postMessage.message;
451
+ return props[key](message);
449
452
  }
450
453
  },
451
454
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ContextBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/ContextBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,qBAAa,cAAc;IAClB,YAAY,CACjB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,OAAO;CA4ClB"}
1
+ {"version":3,"file":"ContextBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/ContextBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,qBAAa,cAAc;IAClB,YAAY,CACjB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CAAC,OAAO;CA0ClB"}
@@ -4,7 +4,6 @@ import { KeyValueStorage } from '../../../../apis/key-value-storage/KeyValueStor
4
4
  import { MediaClient } from '../../../../apis/media/MediaClient.js';
5
5
  import { ModLogClient } from '../../../../apis/modLog/ModLogClient.js';
6
6
  import { RealtimeClient } from '../../../../apis/realtime/RealtimeClient.js';
7
- import { RedditAPIClient } from '../../../../apis/reddit/RedditAPIClient.js';
8
7
  import { RedisClient } from '../../../../apis/redis/RedisClient.js';
9
8
  import { SchedulerClient } from '../../../../apis/scheduler/SchedulerClient.js';
10
9
  import { SettingsClient } from '../../../../apis/settings/SettingsClient.js';
@@ -20,7 +19,6 @@ export class ContextBuilder {
20
19
  const modLog = new ModLogClient(metadata);
21
20
  const kvStore = new KeyValueStorage(metadata);
22
21
  const redis = new RedisClient(metadata);
23
- const reddit = new RedditAPIClient(metadata);
24
22
  const scheduler = new SchedulerClient(metadata);
25
23
  const settings = new SettingsClient(metadata);
26
24
  const ui = new UIClient(renderContext);
@@ -32,7 +30,6 @@ export class ContextBuilder {
32
30
  modLog,
33
31
  kvStore,
34
32
  redis,
35
- reddit,
36
33
  scheduler,
37
34
  settings,
38
35
  media,
@@ -1 +1 @@
1
- {"version":3,"file":"useWebView.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useWebView.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AA+G9B;;KAEK;AACL,wBAAgB,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,EAAE,SAAS,SAAS,GAAG,SAAS,EAC7F,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,GACnC,gBAAgB,CAAC,EAAE,CAAC,CAUtB"}
1
+ {"version":3,"file":"useWebView.d.ts","sourceRoot":"","sources":["../../../../../src/devvit/internals/blocks/handler/useWebView.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAmH9B;;KAEK;AACL,wBAAgB,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,EAAE,EAAE,SAAS,SAAS,GAAG,SAAS,EAC7F,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,GACnC,gBAAgB,CAAC,EAAE,CAAC,CAUtB"}
@@ -13,6 +13,7 @@ var _WebViewHook_hookId, _WebViewHook_url, _WebViewHook_onMessage, _WebViewHook_
13
13
  import { EffectType } from '@devvit/protos';
14
14
  import { WebViewVisibility } from '@devvit/protos';
15
15
  import { StringUtil } from '@devvit/shared-types/StringUtil.js';
16
+ import { webViewMessageIsInternalAndClientScope } from '../../helpers/devvitInternalMessage.js';
16
17
  import { registerHook } from './BlocksHandler.js';
17
18
  class WebViewHook {
18
19
  constructor(params, options) {
@@ -99,14 +100,14 @@ class WebViewHook {
99
100
  }
100
101
  else if (event.webView?.postMessage) {
101
102
  // Handle messages sent from web view -> Devvit app
102
- if (event.webView.postMessage.jsonString) {
103
- const parsedJson = JSON.parse(event.webView.postMessage.jsonString);
104
- await __classPrivateFieldGet(this, _WebViewHook_onMessage, "f").call(this, parsedJson, this);
105
- }
106
- else {
107
- // Fallback to deprecated message field for mobile client backwards compatibility
108
- await __classPrivateFieldGet(this, _WebViewHook_onMessage, "f").call(this, event.webView.postMessage.message, this);
109
- }
103
+ // Fallback to deprecated message field for mobile client backwards compatibility
104
+ const message = event.webView.postMessage.jsonString
105
+ ? JSON.parse(event.webView.postMessage.jsonString)
106
+ : event.webView.postMessage.message;
107
+ // TODO: Temporary. Remove this filter once clients are updated.
108
+ if (webViewMessageIsInternalAndClientScope(message))
109
+ return;
110
+ await __classPrivateFieldGet(this, _WebViewHook_onMessage, "f").call(this, message, this);
110
111
  }
111
112
  }
112
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AAG5E,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAyCb"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AAG5E,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CA2Cb"}
@@ -24,6 +24,7 @@ export function getContextFromMetadata(metadata, postId, commentId) {
24
24
  appName,
25
25
  appVersion,
26
26
  debug,
27
+ metadata,
27
28
  toJSON() {
28
29
  return {
29
30
  appAccountId,
@@ -35,6 +36,7 @@ export function getContextFromMetadata(metadata, postId, commentId) {
35
36
  postId,
36
37
  commentId,
37
38
  debug,
39
+ metadata,
38
40
  };
39
41
  },
40
42
  };
@@ -79,5 +81,5 @@ export function parseDebug(meta) {
79
81
  console.info(`[api] @devvit/public-api v${pkg.version} ${Object.entries(debug)
80
82
  .map(([k, v]) => `${k}=${v}`)
81
83
  .join(' ')}`);
82
- return { ...debug, metadata: meta };
84
+ return { ...debug };
83
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"csrf.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/csrf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGjF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAuB7E,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EACxC,GAAG,EAAE,oBAAoB,iBAmF1B;AAWD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EACxC,GAAG,EAAE,oBAAoB,iBAc1B"}
1
+ {"version":3,"file":"csrf.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/csrf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AASjF,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAuB7E,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EACxC,GAAG,EAAE,oBAAoB,iBAkF1B;AAWD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,WAAW,GAAG,iBAAiB,EACxC,GAAG,EAAE,oBAAoB,iBAa1B"}
@@ -1,14 +1,15 @@
1
1
  import { Header } from '@devvit/shared-types/Header.js';
2
+ import { getCommentById, getModerators, getPostById, getSubredditInfoById, } from '../../apis/reddit/index.js';
2
3
  import { getMenuItemById } from './menu-items.js';
3
4
  function getUserHeader(context) {
4
- const userHeader = context.debug.metadata[Header.User].values[0];
5
+ const userHeader = context.metadata[Header.User].values[0];
5
6
  if (!userHeader) {
6
7
  throw new Error('User missing from context');
7
8
  }
8
9
  return userHeader;
9
10
  }
10
11
  function getSubredditHeader(context) {
11
- const subredditHeader = context.debug.metadata[Header.Subreddit].values[0];
12
+ const subredditHeader = context.metadata[Header.Subreddit].values[0];
12
13
  if (!subredditHeader) {
13
14
  throw new Error('Subreddit missing from context');
14
15
  }
@@ -38,7 +39,7 @@ export async function addCSRFTokenToContext(context, req) {
38
39
  * Validate user-provided commentId
39
40
  */
40
41
  if (commentId) {
41
- const comment = await context.reddit.getCommentById(commentId);
42
+ const comment = await getCommentById(commentId);
42
43
  if (!comment) {
43
44
  throw new Error(`Comment ${commentId} not found`);
44
45
  }
@@ -50,7 +51,7 @@ export async function addCSRFTokenToContext(context, req) {
50
51
  * Validate user-provided postId
51
52
  */
52
53
  if (postId) {
53
- const post = await context.reddit.getPostById(postId);
54
+ const post = await getPostById(postId);
54
55
  if (!post) {
55
56
  throw new Error(`Post ${postId} not found`);
56
57
  }
@@ -83,13 +84,12 @@ export async function addCSRFTokenToContext(context, req) {
83
84
  */
84
85
  await context.redis.set(`${userHeader}${subredditHeader}${targetId}${req.actionId}`, JSON.stringify(val));
85
86
  await context.redis.expire(`${userHeader}${subredditHeader}${targetId}${req.actionId}`, 600);
86
- console.debug('CSRF token added: ' + JSON.stringify(val));
87
87
  }
88
88
  async function isModerator(context) {
89
89
  const userHeader = getUserHeader(context);
90
90
  const subredditHeader = getSubredditHeader(context);
91
- const subreddit = await context.reddit.getSubredditInfoById(subredditHeader);
92
- const mods = await context.reddit.getModerators({ subredditName: subreddit.name }).all();
91
+ const subreddit = await getSubredditInfoById(subredditHeader);
92
+ const mods = await getModerators({ subredditName: subreddit.name }).all();
93
93
  return !!mods.find((mod) => mod.id === userHeader);
94
94
  }
95
95
  export async function validateCSRFToken(context, req) {
@@ -104,5 +104,4 @@ export async function validateCSRFToken(context, req) {
104
104
  if (csrf.needsModCheck && !(await isModerator(context))) {
105
105
  throw new Error('User is not a moderator: ' + userHeader + '; ' + subredditHeader);
106
106
  }
107
- console.debug('CSRF token validated: ' + csrfData);
108
107
  }
@@ -0,0 +1,12 @@
1
+ import type { WebViewInternalMessage } from '@devvit/protos/types/devvit/ui/effects/web_view/v1alpha/post_message.js';
2
+ /**
3
+ * Messages which are scoped to "client" and are of type "devvit-internal" should not be sent to the app.
4
+ * These messages are designed to be handled by client platforms.
5
+ *
6
+ * Not all clients are updated yet, so this check is temporary until clients beging filtering these messages out.
7
+ *
8
+ * @param message - The web view message to check
9
+ * @returns True if the data is a WebViewInternalMessage
10
+ **/
11
+ export declare const webViewMessageIsInternalAndClientScope: (message: unknown) => message is WebViewInternalMessage;
12
+ //# sourceMappingURL=devvitInternalMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devvitInternalMessage.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/helpers/devvitInternalMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,yEAAyE,CAAC;AAEjF;;;;;;;;IAQI;AACJ,eAAO,MAAM,sCAAsC,YACxC,OAAO,sCASjB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Messages which are scoped to "client" and are of type "devvit-internal" should not be sent to the app.
3
+ * These messages are designed to be handled by client platforms.
4
+ *
5
+ * Not all clients are updated yet, so this check is temporary until clients beging filtering these messages out.
6
+ *
7
+ * @param message - The web view message to check
8
+ * @returns True if the data is a WebViewInternalMessage
9
+ **/
10
+ export const webViewMessageIsInternalAndClientScope = (message) => {
11
+ if (message === null || typeof message !== 'object')
12
+ return false;
13
+ return ('scope' in message &&
14
+ message.scope === (0) &&
15
+ 'type' in message &&
16
+ message.type === 'devvit-internal');
17
+ };
@@ -1,2 +1,7 @@
1
- export declare function extendDevvitPrototype(key: string, value: unknown): void;
1
+ import type { Metadata } from '@devvit/protos';
2
+ type DevvitPrototypeFunctionWithMetadata = (arg1: any, arg2: Metadata, ...rest: any[]) => Promise<any> | void;
3
+ type DevvitPrototypeFunctionWithOptionalMetadata = (arg1: any, arg2: Metadata | undefined, ...rest: any[]) => Promise<any> | void;
4
+ type DevvitPrototypeFunction = DevvitPrototypeFunctionWithMetadata | DevvitPrototypeFunctionWithOptionalMetadata;
5
+ export declare function extendDevvitPrototype(key: string, value: DevvitPrototypeFunction): void;
6
+ export {};
2
7
  //# sourceMappingURL=extendDevvitPrototype.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extendDevvitPrototype.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/helpers/extendDevvitPrototype.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAGvE"}
1
+ {"version":3,"file":"extendDevvitPrototype.d.ts","sourceRoot":"","sources":["../../../../src/devvit/internals/helpers/extendDevvitPrototype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,KAAK,mCAAmC,GAAG,CACzC,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,QAAQ,EACd,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACzB,KAAK,2CAA2C,GAAG,CACjD,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACzB,KAAK,uBAAuB,GACxB,mCAAmC,GACnC,2CAA2C,CAAC;AAGhD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,IAAI,CASvF"}
@@ -1,5 +1,13 @@
1
1
  import { Devvit } from '../../Devvit.js';
2
+ import { withMetadata } from '../async-metadata.js';
3
+ /* eslint-enable @typescript-eslint/no-explicit-any */
2
4
  export function extendDevvitPrototype(key, value) {
3
5
  // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
4
- Devvit.prototype[key] = value;
6
+ Devvit.prototype[key] = ((req, meta, ...rest) => {
7
+ // If the metadata is nullish, we set it to an empty object instead. This
8
+ // makes sure that when we call `getMetadata` later, we only get an error
9
+ // in "non-sane" cases, like if it's called outside a request.
10
+ const guaranteedMeta = meta ?? {};
11
+ return withMetadata(guaranteedMeta, () => value(req, guaranteedMeta, ...rest));
12
+ });
5
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"menu-items.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/menu-items.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAM7D,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AAU3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE;AA6ED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAItD"}
1
+ {"version":3,"file":"menu-items.d.ts","sourceRoot":"","sources":["../../../src/devvit/internals/menu-items.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAM7D,OAAO,KAAK,EAAE,QAAQ,EAAwB,MAAM,sBAAsB,CAAC;AAU3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE;AA4ED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAItD"}
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
+ export { RunAs } from './apis/reddit/common.js';
2
+ export * from './apis/reddit/index.js';
1
3
  export * from './apis/reddit/models/index.js';
2
- export type { RedditAPIClient } from './apis/reddit/RedditAPIClient.js';
3
4
  export * from './apis/ui/helpers/svg.js';
4
5
  export * from './devvit/Devvit.js';
5
6
  export { useAsync } from './devvit/internals/blocks/handler/useAsync.js';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAC7E,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC"}
package/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ export { RunAs } from './apis/reddit/common.js';
2
+ export * from './apis/reddit/index.js';
1
3
  export * from './apis/reddit/models/index.js';
2
4
  export * from './apis/ui/helpers/svg.js';
3
5
  export * from './devvit/Devvit.js';