ghost 6.53.0 → 6.54.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 (596) hide show
  1. package/components/ghost-storage-base-3.0.0.tgz +0 -0
  2. package/components/tryghost-adapter-base-cache-0.2.0.tgz +0 -0
  3. package/components/tryghost-adapter-base-scheduling-0.1.1.tgz +0 -0
  4. package/components/tryghost-adapter-base-sso-0.1.1.tgz +0 -0
  5. package/components/tryghost-admin-api-schema-0.0.0.tgz +0 -0
  6. package/components/tryghost-custom-field-types-0.0.0.tgz +0 -0
  7. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  8. package/components/tryghost-kg-converters-1.2.3.tgz +0 -0
  9. package/components/tryghost-kg-default-nodes-2.1.3.tgz +0 -0
  10. package/components/tryghost-kg-lexical-html-renderer-1.4.3.tgz +0 -0
  11. package/core/boot.js +9 -6
  12. package/core/built/admin/assets/Combination-CJG7Flp-.js +41 -0
  13. package/core/built/admin/assets/Growth-CSaHoSVD.js +3 -0
  14. package/core/built/admin/assets/Newsletters-C5cs6FGo.js +1 -0
  15. package/core/built/admin/assets/Overview-j4NaeUNm.js +1 -0
  16. package/core/built/admin/assets/{PolarAngleAxis-pciQ0MOy.js → PolarAngleAxis-BGjf7sBu.js} +1 -1
  17. package/core/built/admin/assets/{RadialBarChart-DWmw2PcX.js → RadialBarChart-zeFf9mBz.js} +1 -1
  18. package/core/built/admin/assets/Web-_fD935OX.js +2 -0
  19. package/core/built/admin/assets/account-migration-DLvVA5yq.js +1 -0
  20. package/core/built/admin/assets/activitypub/{account-migration-BPZG37DJ.js → account-migration-DHbZcxGM.js} +13 -13
  21. package/core/built/admin/assets/activitypub/activitypub.js +7 -7
  22. package/core/built/admin/assets/activitypub/{avatar-ZYco0ITb.js → avatar-B3DEDB1l.js} +10 -10
  23. package/core/built/admin/assets/activitypub/{avatar-flipboard-D541lc4F.js → avatar-flipboard-Cqrg0XMx.js} +3 -3
  24. package/core/built/admin/assets/activitypub/{bluesky-sharing-NOHUtHjl.js → bluesky-sharing-zfxUey_L.js} +38 -37
  25. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-B-GOFDPZ.js → chunk-KS7C4IRE-D4HEcEwi.js} +716 -710
  26. package/core/built/admin/assets/activitypub/{content-formatters-bwrp4iEO.js → content-formatters-BpQARh28.js} +229 -181
  27. package/core/built/admin/assets/activitypub/{copy-C7m7ovHw.js → copy-D9UWIAan.js} +2 -2
  28. package/core/built/admin/assets/activitypub/{dist-B5ira32t.js → dist-Ba_QxHHl.js} +5 -5
  29. package/core/built/admin/assets/activitypub/{domain-iqE4YXwD.js → domain-CmwSZLHK.js} +33 -33
  30. package/core/built/admin/assets/activitypub/{edit-profile-B8MFYh28.js → edit-profile-CXdwNmVG.js} +46 -45
  31. package/core/built/admin/assets/activitypub/{explore-BbdKodp3.js → explore-DfbjzGM1.js} +20 -20
  32. package/core/built/admin/assets/activitypub/{feed-Cl3A5owG.js → feed-DSEBJOqf.js} +15 -15
  33. package/core/built/admin/assets/activitypub/{field-DL6WyR-c.js → field-CY7XVcx6.js} +13 -13
  34. package/core/built/admin/assets/activitypub/{hash-6G3DzwL9.js → hash-BC9Q0N4c.js} +2 -2
  35. package/core/built/admin/assets/activitypub/{inbox-YmhuBice.js → inbox-DQ4ZnC1m.js} +2 -2
  36. package/core/built/admin/assets/activitypub/inbox-DtQ0kytT.js +1221 -0
  37. package/core/built/admin/assets/activitypub/{label-DGbLjDvE.js → label-Dw96GQ7u.js} +6 -6
  38. package/core/built/admin/assets/activitypub/layout-IdVq3lRy.js +1 -0
  39. package/core/built/admin/assets/activitypub/{moderation-qnBtk1zS.js → moderation-Dg_-I-8C.js} +32 -31
  40. package/core/built/admin/assets/activitypub/{note-C7ZRoSJv.js → note-Cy1-uKMY.js} +21 -21
  41. package/core/built/admin/assets/activitypub/{notifications-DiEA4b1o.js → notifications-B_fvoLIM.js} +17 -17
  42. package/core/built/admin/assets/activitypub/{onboarding-_JVgEwgV.js → onboarding-BFDkzeR2.js} +2 -2
  43. package/core/built/admin/assets/activitypub/{onboarding-DG4zu3qM.js → onboarding-D6rcBdPe.js} +5 -5
  44. package/core/built/admin/assets/activitypub/{preferences-B3FtocnP.js → preferences-ByJseZp6.js} +1607 -1606
  45. package/core/built/admin/assets/activitypub/{profile-D8ZJfYXB.js → profile-BFtbnIjz.js} +264 -263
  46. package/core/built/admin/assets/activitypub/{reply-C1vggenw.js → reply-CpdMeAO5.js} +2 -2
  47. package/core/built/admin/assets/activitypub/{routes-BOii-V9n.js → routes-Dh3xXfce.js} +1311 -1295
  48. package/core/built/admin/assets/activitypub/{separator-1gNokN5S.js → separator-BI1FLsYM.js} +4 -4
  49. package/core/built/admin/assets/activitypub/{settings--9Sb0nbl.js → settings-DTgqJPxM.js} +14 -14
  50. package/core/built/admin/assets/activitypub/{site-fkMmqv0V.js → site-CdL9ZLqm.js} +10 -10
  51. package/core/built/admin/assets/activitypub/{step-1-QhivSMw2.js → step-1-DIDg4aHb.js} +15 -15
  52. package/core/built/admin/assets/activitypub/{step-2-pMk9YwqD.js → step-2-BfGe8BYt.js} +7 -7
  53. package/core/built/admin/assets/activitypub/{step-3-DvmVC1fo.js → step-3-mE9spAqw.js} +12 -12
  54. package/core/built/admin/assets/activitypub/{tabs-Dc0FEEYD.js → tabs-ogqwoBlb.js} +241 -237
  55. package/core/built/admin/assets/activitypub/{topic-filter-CuDyM5bD.js → topic-filter-DLHBZT93.js} +4 -4
  56. package/core/built/admin/assets/activitypub/use-activity-pub-queries-VzbN99u_.js +1957 -0
  57. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-Drx1kdAK.js → use-navigate-with-base-path-CAwXTmqH.js} +165 -175
  58. package/core/built/admin/assets/activitypub/{use-reply-chain-data-BHkCHcW5.js → use-reply-chain-data-CxonteFD.js} +8 -8
  59. package/core/built/admin/assets/activitypub/users-BLeiOTHc.js +1464 -0
  60. package/core/built/admin/assets/activitypub/{x-BHCEe-c2.js → x-C8tAnXly.js} +2 -2
  61. package/core/built/admin/assets/{audience-adiFehTD.js → audience-BKRdsFmy.js} +1 -1
  62. package/core/built/admin/assets/{automated-emails-UWM02CMr.js → automated-emails-Cn87L5Md.js} +1 -1
  63. package/core/built/admin/assets/automations-B7-y3dXt.js +1 -0
  64. package/core/built/admin/assets/automations-BP_aHamJ.js +1 -0
  65. package/core/built/admin/assets/{avatar-flipboard-Lz3F9fNT.js → avatar-flipboard-C6Kj3Awu.js} +1 -1
  66. package/core/built/admin/assets/bluesky-sharing-Bh36XPh4.js +1 -0
  67. package/core/built/admin/assets/box-BWbhXh21.js +1 -0
  68. package/core/built/admin/assets/breadcrumb-D34YWnaw.js +1 -0
  69. package/core/built/admin/assets/card-DGoDJzrn.js +1 -0
  70. package/core/built/admin/assets/{chart-ChpW-NzQ.js → chart-BuRT2Y6p.js} +14 -14
  71. package/core/built/admin/assets/chart-helpers-DbklaJw9.js +1 -0
  72. package/core/built/admin/assets/checkbox-DA4-1UiI.js +1 -0
  73. package/core/built/admin/assets/chunk.524.45e0875f41b71e46e849.js +25 -0
  74. package/core/built/admin/assets/chunk.582.51defd4b009f0de8d4d5.js +27 -0
  75. package/core/built/admin/assets/{chunk.831.0703a12e49f51cec3f3a.js → chunk.589.096f4d0bb775e5229aa9.js} +78 -85
  76. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js → chunk.962.b73442b07be930bb5d85.js} +2216 -3188
  77. package/core/built/admin/assets/{chunk.432.c2caa0b20f03e71d1a35.js.LICENSE.txt → chunk.962.b73442b07be930bb5d85.js.LICENSE.txt} +0 -63
  78. package/core/built/admin/assets/code-editor-view-BKBrkffZ.js +1 -0
  79. package/core/built/admin/assets/comments-CzVNIT8b.js +1 -0
  80. package/core/built/admin/assets/container-BYz2Ed39.js +1 -0
  81. package/core/built/admin/assets/data-list-16rkJYYi.js +1 -0
  82. package/core/built/admin/assets/date-range-select-B5vSsrpx.js +1 -0
  83. package/core/built/admin/assets/disabled-sources-indicator-NkOIoMue.js +1 -0
  84. package/core/built/admin/assets/{dist-CsekE4FL.js → dist-CQJY6SVY.js} +1 -1
  85. package/core/built/admin/assets/dist-DGzPJ_bO.js +4 -0
  86. package/core/built/admin/assets/{dist-BbGrW05X.js → dist-DyViJwIy.js} +1 -1
  87. package/core/built/admin/assets/dist-Ndy-PuGN.js +1 -0
  88. package/core/built/admin/assets/dist-P_ohUlTi.js +1 -0
  89. package/core/built/admin/assets/domain-B7_n5nfx.js +1 -0
  90. package/core/built/admin/assets/dropzone-DcuJEEUf.js +5 -0
  91. package/core/built/admin/assets/edit-profile-rvDGrS8J.js +1 -0
  92. package/core/built/admin/assets/editor-BCiIyFjm.js +8 -0
  93. package/core/built/admin/assets/empty-indicator-oX1u1Pkn.js +1 -0
  94. package/core/built/admin/assets/esm-CFX93H5M.js +2 -0
  95. package/core/built/admin/assets/explore-BZAZOg5X.js +1 -0
  96. package/core/built/admin/assets/feed-CFV8xDw9.js +1 -0
  97. package/core/built/admin/assets/field-BW-M2Zwp.js +1 -0
  98. package/core/built/admin/assets/{filter-sources-v39ihhhV.js → filter-sources-Fx8wiYYw.js} +1 -1
  99. package/core/built/admin/assets/filters-CGX_pf2N.js +1 -0
  100. package/core/built/admin/assets/filters-DtcXMZDU.js +1 -0
  101. package/core/built/admin/assets/framework-provider-CmtnPXIT.js +4 -0
  102. package/core/built/admin/assets/{ghost-b57f077997b739a8ae9a70772dc016cb.js → ghost-b1dce91ad3232cc259ee5fbbf9526243.js} +294 -290
  103. package/core/built/admin/assets/ghost-dark-c8d0ab7f515b2010c173e23e9b32ea8a.css +1 -0
  104. package/core/built/admin/assets/gift-link-modal-Bk8qpnMw.js +1 -0
  105. package/core/built/admin/assets/{gift-links-CY3GwiVi.js → gift-links-nBxJjZiQ.js} +1 -1
  106. package/core/built/admin/assets/growth-Ck2s3JjR.js +1 -0
  107. package/core/built/admin/assets/hooks-BApwwBE0.js +2 -0
  108. package/core/built/admin/assets/{inbox-TEISAmth.js → inbox-BRp1_aaC.js} +35 -35
  109. package/core/built/admin/assets/index-BBf502Wg.js +69 -0
  110. package/core/built/admin/assets/index-BCCZKxP2.css +1 -0
  111. package/core/built/admin/assets/inline-EMAm3okk.js +1 -0
  112. package/core/built/admin/assets/input-group-DjuYnNCd.js +1 -0
  113. package/core/built/admin/assets/{react-dom-C6aoWSfl.js → jsx-runtime-DX3WBWVO.js} +1 -1
  114. package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +5 -2
  115. package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +2 -2
  116. package/core/built/admin/assets/{koenig-lexical-Di7b48ED.js → koenig-lexical-CM7UFNdL.js} +2 -2
  117. package/core/built/admin/assets/kpi-card-BrGH6FsT.js +1 -0
  118. package/core/built/admin/assets/kpi-card-CIGyijjx.js +1 -0
  119. package/core/built/admin/assets/kpi-helpers-_HRRsklE.js +1 -0
  120. package/core/built/admin/assets/kpi-tabs-BSvh9eoq.js +1 -0
  121. package/core/built/admin/assets/label-BOR9XdKl.js +1 -0
  122. package/core/built/admin/assets/label-picker-BdNAWuUX.js +1 -0
  123. package/core/built/admin/assets/{labels-GbxlXWtf.js → labels-Cyayfd-e.js} +1 -1
  124. package/core/built/admin/assets/layout-Bw4GnxXp.js +1 -0
  125. package/core/built/admin/assets/limit-service-9fwD33lU.js +20 -0
  126. package/core/built/admin/assets/link-helpers-tOlxmuH5.js +1 -0
  127. package/core/built/admin/assets/list-page-B6ANtzkd.js +1 -0
  128. package/core/built/admin/assets/mailchimp-Ds_NQ04w.svg +9 -0
  129. package/core/built/admin/assets/member-custom-fields-DvFyamLu.js +1 -0
  130. package/core/built/admin/assets/member-detail-Cg2vTqvJ.js +1 -0
  131. package/core/built/admin/assets/members-DsPxYAVm.js +10 -0
  132. package/core/built/admin/assets/modals-Bf_fyvHZ.js +31 -0
  133. package/core/built/admin/assets/moderation-Dlp7M5sa.js +1 -0
  134. package/core/built/admin/assets/multi-select-combobox-CH1o8XXQ.js +1 -0
  135. package/core/built/admin/assets/newsletter-CQ5CAYUI.js +1 -0
  136. package/core/built/admin/assets/{newsletters-DZm3yLj8.js → newsletters-D1jbtV-h.js} +1 -1
  137. package/core/built/admin/assets/note-BrAZ7Z0o.js +1 -0
  138. package/core/built/admin/assets/notifications-BnbHLOPC.js +1 -0
  139. package/core/built/admin/assets/nql-lang-B7faUf8D.js +19 -0
  140. package/core/built/admin/assets/{offers-D11QtPXX.js → offers-CrY6nSRR.js} +1 -1
  141. package/core/built/admin/assets/onboarding-route-eU146kuA.js +1 -0
  142. package/core/built/admin/assets/overview-BpbaK-xu.js +1 -0
  143. package/core/built/admin/assets/page-header-C0jVxtS8.js +1 -0
  144. package/core/built/admin/assets/{pages-BnObVRrf.js → pages-BbNWFcGj.js} +1 -1
  145. package/core/built/admin/assets/pintura-CXOmq-5H.svg +15 -0
  146. package/core/built/admin/assets/post-analytics-Iw7dk1mT.js +1 -0
  147. package/core/built/admin/assets/post-analytics-header-D9pJ4iNm.js +1 -0
  148. package/core/built/admin/assets/{post-analytics-provider-DSfBCtnj.js → post-analytics-provider-BDqcfBor.js} +1 -1
  149. package/core/built/admin/assets/post-share-modal-DBfKl2GZ.js +1 -0
  150. package/core/built/admin/assets/{posts-CwH8VJvB.js → posts-EWpZIjkr.js} +1 -1
  151. package/core/built/admin/assets/preferences-D4EANGoc.js +5 -0
  152. package/core/built/admin/assets/profile-dJ44Bn_W.js +1 -0
  153. package/core/built/admin/assets/{referrers-nxR52jPI.js → referrers-BCfFYSHc.js} +1 -1
  154. package/core/built/admin/assets/router-provider-C1R4AZ2o.js +1 -0
  155. package/core/built/admin/assets/select--2uVN9_-.js +1 -0
  156. package/core/built/admin/assets/settings-Bz3RZRmE.js +1 -0
  157. package/core/built/admin/assets/settings-SD9bxIpt.js +4 -0
  158. package/core/built/admin/assets/share-modal-CkdTTMJd.js +1 -0
  159. package/core/built/admin/assets/social-urls-BvFZwYcE.js +8 -0
  160. package/core/built/admin/assets/sort-button-DZp9Y2r1.js +1 -0
  161. package/core/built/admin/assets/source-icon-CHr9qJ2Y.js +1 -0
  162. package/core/built/admin/assets/stack-xiN0eQ6Z.js +1 -0
  163. package/core/built/admin/assets/stats-DGoXZxWE.js +1 -0
  164. package/core/built/admin/assets/stats-view-D2-1L0ms.js +1 -0
  165. package/core/built/admin/assets/step-1-RdahbwyG.js +1 -0
  166. package/core/built/admin/assets/step-2-D83PeRwd.js +1 -0
  167. package/core/built/admin/assets/step-3-p_Op4wv4.js +2 -0
  168. package/core/built/admin/assets/switch-qp518gFQ.js +1 -0
  169. package/core/built/admin/assets/table-B8LgTQJZ.js +1 -0
  170. package/core/built/admin/assets/tabs-D3ZOYkM7.js +1 -0
  171. package/core/built/admin/assets/tags-B4l891z2.js +1 -0
  172. package/core/built/admin/assets/text-DwtjwGkh.js +1 -0
  173. package/core/built/admin/assets/textarea-CTlb3Uu6.js +1 -0
  174. package/core/built/admin/assets/{tiers-EghDzCKc.js → tiers-BgYLWRJv.js} +1 -1
  175. package/core/built/admin/assets/toggle-group-DNXDkAwf.js +1 -0
  176. package/core/built/admin/assets/topic-filter-DZGjEcz3.js +1 -0
  177. package/core/built/admin/assets/{use-analytics-data-0l_OHtnR.js → use-analytics-data-CaT8RirX.js} +1 -1
  178. package/core/built/admin/assets/use-filter-params-DeQ8sX4N.js +1 -0
  179. package/core/built/admin/assets/use-growth-stats-9Db2CuJe.js +1 -0
  180. package/core/built/admin/assets/{use-post-referrers-DwI31Ril.js → use-post-referrers-BV54YcQS.js} +1 -1
  181. package/core/built/admin/assets/use-reply-chain-data-DuYZGDan.js +1 -0
  182. package/core/built/admin/assets/use-simple-pagination-8fTua9Nt.js +1 -0
  183. package/core/built/admin/assets/{use-tinybird-query-DvZBBMG7.js → use-tinybird-query-Dz156HvZ.js} +1 -1
  184. package/core/built/admin/assets/{use-tinybird-token-CQtebkvU.js → use-tinybird-token-C9RUdL_n.js} +1 -1
  185. package/core/built/admin/assets/{users-Pc8IRjk9.js → users-CcSCQFcQ.js} +1 -1
  186. package/core/built/admin/assets/virtual-list-BCvP0YF-.js +1 -0
  187. package/core/built/admin/assets/web-DTZnnUGr.js +1 -0
  188. package/core/built/admin/index.html +18 -22
  189. package/core/frontend/apps/private-blogging/index.js +1 -1
  190. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  191. package/core/frontend/helpers/split.js +2 -1
  192. package/core/frontend/meta/asset-url.js +1 -1
  193. package/core/frontend/meta/author-image.js +1 -1
  194. package/core/frontend/meta/blog-logo.js +1 -1
  195. package/core/frontend/meta/canonical-url.js +1 -1
  196. package/core/frontend/meta/cover-image.js +1 -1
  197. package/core/frontend/meta/get-meta.js +1 -1
  198. package/core/frontend/meta/og-image.js +1 -1
  199. package/core/frontend/meta/paginated-url.js +1 -1
  200. package/core/frontend/meta/twitter-image.js +1 -1
  201. package/core/frontend/meta/url.js +1 -1
  202. package/core/frontend/services/assets-minification/admin-auth-assets.js +1 -1
  203. package/core/frontend/services/llms/handler.js +1 -1
  204. package/core/frontend/services/proxy.js +31 -2
  205. package/core/frontend/services/routing/collection-router.js +1 -1
  206. package/core/frontend/services/routing/controllers/email-post.js +1 -1
  207. package/core/frontend/services/routing/controllers/entry/markdown.js +1 -1
  208. package/core/frontend/services/routing/controllers/entry/markdown.ts +1 -1
  209. package/core/frontend/services/routing/controllers/entry.js +1 -1
  210. package/core/frontend/services/routing/controllers/entry.ts +1 -1
  211. package/core/frontend/services/routing/controllers/previews.js +6 -7
  212. package/core/frontend/services/routing/controllers/unsubscribe.js +7 -3
  213. package/core/frontend/services/routing/email-router.js +1 -1
  214. package/core/frontend/services/routing/events.js +12 -0
  215. package/core/frontend/services/routing/middleware/page-param.js +1 -1
  216. package/core/frontend/services/routing/parent-router.js +1 -1
  217. package/core/frontend/services/routing/preview-router.js +1 -1
  218. package/core/frontend/services/routing/router-manager.js +4 -8
  219. package/core/frontend/services/routing/rss-router.js +1 -1
  220. package/core/frontend/services/routing/static-pages-router.js +1 -1
  221. package/core/frontend/services/routing/static-routes-router.js +1 -1
  222. package/core/frontend/services/routing/taxonomy-router.js +1 -1
  223. package/core/frontend/services/rss/generate-feed.js +1 -1
  224. package/core/frontend/services/sitemap/base-site-map-generator.js +23 -4
  225. package/core/frontend/services/sitemap/site-map-index-generator.js +1 -1
  226. package/core/frontend/services/sitemap/site-map-manager.js +14 -8
  227. package/core/frontend/services/sitemap/utils.js +1 -1
  228. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  229. package/core/frontend/services/theme-engine/middleware/update-local-template-options.js +1 -1
  230. package/core/frontend/utils/images.js +1 -1
  231. package/core/frontend/web/middleware/admin-toolbar.js +1 -1
  232. package/core/frontend/web/middleware/handle-image-sizes.js +2 -2
  233. package/core/frontend/web/middleware/redirect-ghost-to-admin.js +1 -1
  234. package/core/frontend/web/routers/serve-favicon.js +1 -1
  235. package/core/frontend/web/routers/serve-public-file.js +1 -1
  236. package/core/frontend/web/site.js +5 -5
  237. package/core/server/adapters/cache/AdapterCacheMemoryTTL.js +2 -2
  238. package/core/server/adapters/cache/MemoryCache.js +2 -2
  239. package/core/server/adapters/cache/Redis.js +1 -1
  240. package/core/server/adapters/cache/index.js +1 -1
  241. package/core/server/adapters/lib/redis/AdapterCacheRedis.js +2 -2
  242. package/core/server/adapters/route-settings/FileStore.js +2 -8
  243. package/core/server/adapters/route-settings/FileStore.ts +1 -6
  244. package/core/server/adapters/route-settings/S3RouteSettingsStore.js +206 -0
  245. package/core/server/adapters/route-settings/S3RouteSettingsStore.ts +199 -0
  246. package/core/server/adapters/route-settings/utils.js +13 -0
  247. package/core/server/adapters/route-settings/utils.ts +7 -0
  248. package/core/server/adapters/scheduling/deps.d.ts +0 -2
  249. package/core/server/adapters/scheduling/error-capture.js +76 -0
  250. package/core/server/adapters/scheduling/error-capture.ts +91 -0
  251. package/core/server/adapters/scheduling/utils.js +18 -34
  252. package/core/server/adapters/scheduling/utils.ts +36 -0
  253. package/core/server/adapters/storage/LocalFilesStorage.js +1 -1
  254. package/core/server/adapters/storage/LocalImagesStorage.js +1 -1
  255. package/core/server/adapters/storage/LocalMediaStorage.js +1 -1
  256. package/core/server/adapters/storage/LocalStorageBase.js +3 -3
  257. package/core/server/adapters/storage/S3Storage.js +2 -2
  258. package/core/server/adapters/storage/S3Storage.ts +1 -1
  259. package/core/server/adapters/storage/utils.js +1 -1
  260. package/core/server/api/endpoints/authentication.js +1 -1
  261. package/core/server/api/endpoints/featurebase.js +1 -1
  262. package/core/server/api/endpoints/files.js +2 -2
  263. package/core/server/api/endpoints/images.js +2 -2
  264. package/core/server/api/endpoints/libraries.d.ts +0 -1
  265. package/core/server/api/endpoints/media.js +8 -5
  266. package/core/server/api/endpoints/member-custom-fields.js +4 -1
  267. package/core/server/api/endpoints/member-custom-fields.ts +4 -1
  268. package/core/server/api/endpoints/posts.js +17 -1
  269. package/core/server/api/endpoints/search-index-public.js +4 -3
  270. package/core/server/api/endpoints/search-index.js +5 -4
  271. package/core/server/api/endpoints/settings-public.js +1 -1
  272. package/core/server/api/endpoints/settings.js +3 -1
  273. package/core/server/api/endpoints/utils/serializers/input/utils/url.js +9 -1
  274. package/core/server/api/endpoints/utils/serializers/output/default.js +7 -0
  275. package/core/server/api/endpoints/utils/serializers/output/files.js +1 -1
  276. package/core/server/api/endpoints/utils/serializers/output/media.js +1 -1
  277. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.js +7 -4
  278. package/core/server/api/endpoints/utils/serializers/output/member-custom-fields.ts +8 -4
  279. package/core/server/api/endpoints/utils/serializers/output/members.js +16 -26
  280. package/core/server/api/endpoints/utils/serializers/output/pages.js +7 -0
  281. package/core/server/api/endpoints/utils/serializers/output/posts.js +13 -0
  282. package/core/server/api/endpoints/utils/serializers/output/utils/url.js +1 -1
  283. package/core/server/api/endpoints/utils/validators/input/members.js +2 -52
  284. package/core/server/data/db/backup.js +1 -1
  285. package/core/server/data/importer/handlers/image.js +3 -3
  286. package/core/server/data/importer/import-manager.js +6 -4
  287. package/core/server/data/importer/importers/content-file-importer.js +2 -2
  288. package/core/server/data/migrations/utils/schema.js +4 -2
  289. package/core/server/data/migrations/versions/6.54/2026-07-19-16-59-00-add-content-import-permission.js +10 -0
  290. package/core/server/data/migrations/versions/6.54/2026-07-20-13-59-21-drop-email-tracked-sent-count-from-automation-action-revisions.js +7 -0
  291. package/core/server/data/migrations/versions/6.54/2026-07-21-01-58-20-add-automation-run-steps-poller-index.js +3 -0
  292. package/core/server/data/migrations/versions/6.54/2026-07-21-21-08-15-add-automated-email-recipients-mailgun-message-id-index.js +3 -0
  293. package/core/server/data/migrations/versions/6.54/2026-07-22-10-41-08-add-click-tracking-to-automated-email-recipients.js +13 -0
  294. package/core/server/data/migrations/versions/6.54/2026-07-22-15-10-30-add-email-clicked-count-to-automation-action-revisions.js +7 -0
  295. package/core/server/data/migrations/versions/6.54/2026-07-23-10-24-18-add-automation-action-revision-to-redirects.js +9 -0
  296. package/core/server/data/schema/commands.js +37 -3
  297. package/core/server/data/schema/fixtures/fixtures.json +7 -0
  298. package/core/server/data/schema/lib/default-index-name.js +20 -0
  299. package/core/server/data/schema/schema.js +40 -17
  300. package/core/server/data/seeders/data-generator.js +4 -2
  301. package/core/server/lib/image/image-size.js +5 -7
  302. package/core/server/lib/image/image-utils.js +2 -2
  303. package/core/server/lib/image/index.js +4 -4
  304. package/core/server/lib/lexical.js +3 -3
  305. package/core/server/lib/mobiledoc.js +2 -2
  306. package/core/server/lib/validate-password.js +1 -1
  307. package/core/server/models/action.js +9 -0
  308. package/core/server/models/base/plugins/generate-slug.js +1 -1
  309. package/core/server/models/collection.js +1 -1
  310. package/core/server/models/custom-theme-setting.js +1 -1
  311. package/core/server/models/member.js +73 -0
  312. package/core/server/models/newsletter.js +1 -1
  313. package/core/server/models/post.js +19 -5
  314. package/core/server/models/posts-meta.js +1 -1
  315. package/core/server/models/redirect.js +1 -1
  316. package/core/server/models/settings.js +1 -1
  317. package/core/server/models/snippet.js +1 -1
  318. package/core/server/models/tag.js +1 -1
  319. package/core/server/models/user.js +1 -1
  320. package/core/server/models/welcome-email-automated-email.js +1 -1
  321. package/core/server/services/activitypub/activity-pub-service-wrapper.js +1 -1
  322. package/core/server/services/adapter-manager/adapter-manager.js +5 -1
  323. package/core/server/services/adapter-manager/adapter-manager.ts +7 -2
  324. package/core/server/services/adapter-manager/index.js +18 -15
  325. package/core/server/services/adapter-manager/index.ts +23 -17
  326. package/core/server/services/adapter-manager/utils.js +124 -14
  327. package/core/server/services/adapter-manager/utils.ts +130 -14
  328. package/core/server/services/api-version-compatibility/mw-version-rewrites.js +1 -1
  329. package/core/server/services/audience-feedback/index.js +1 -1
  330. package/core/server/services/auth/passwordreset.js +1 -1
  331. package/core/server/services/auth/session/express-session.js +1 -1
  332. package/core/server/services/auth/session/index.js +2 -2
  333. package/core/server/services/auth/session/session-service.js +1 -1
  334. package/core/server/services/automations/automations-api.js +2 -19
  335. package/core/server/services/automations/automations-api.ts +2 -31
  336. package/core/server/services/automations/automations-repository.ts +15 -0
  337. package/core/server/services/automations/database-automations-repository.js +30 -2
  338. package/core/server/services/automations/database-automations-repository.ts +33 -2
  339. package/core/server/services/automations/poll.js +16 -12
  340. package/core/server/services/automations/poll.ts +17 -15
  341. package/core/server/services/automations/service.js +1 -1
  342. package/core/server/services/automations/service.ts +3 -13
  343. package/core/server/services/automations/welcome-email-automation-poll.js +2 -1
  344. package/core/server/services/comments/index.js +1 -1
  345. package/core/server/services/custom-redirects/index.js +2 -2
  346. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +14 -13
  347. package/core/server/services/email-analytics/email-analytics-service.js +1 -1
  348. package/core/server/services/email-analytics/events/start-email-analytics-job-event.js +11 -15
  349. package/core/server/services/email-analytics/events/start-email-analytics-job-event.ts +15 -0
  350. package/core/server/services/email-analytics/index.js +2 -3
  351. package/core/server/services/email-analytics/index.ts +1 -2
  352. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +1 -6
  353. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.ts +0 -9
  354. package/core/server/services/email-analytics/jobs/fetch-latest/index.js +1 -1
  355. package/core/server/services/email-analytics/jobs/index.js +0 -2
  356. package/core/server/services/email-service/email-service-wrapper.js +1 -1
  357. package/core/server/services/email-service/email-service.js +20 -4
  358. package/core/server/services/explore-ping/explore-ping-service.js +24 -39
  359. package/core/server/services/explore-ping/explore-ping-service.ts +198 -0
  360. package/core/server/services/explore-ping/index.js +11 -11
  361. package/core/server/services/explore-ping/index.ts +42 -0
  362. package/core/server/services/gifts/gift-reminder-scheduler.js +1 -1
  363. package/core/server/services/gifts/gift-reminder-scheduler.ts +1 -1
  364. package/core/server/services/gifts/gift-service-wrapper.js +1 -1
  365. package/core/server/services/identity-tokens/identity-token-service-wrapper.js +1 -1
  366. package/core/server/services/indexnow-ping/constants.js +30 -0
  367. package/core/server/services/indexnow-ping/constants.ts +32 -0
  368. package/core/server/services/indexnow-ping/index.js +29 -253
  369. package/core/server/services/indexnow-ping/index.ts +37 -0
  370. package/core/server/services/indexnow-ping/indexnow-ping-service.js +229 -0
  371. package/core/server/services/indexnow-ping/indexnow-ping-service.ts +319 -0
  372. package/core/server/services/invites/index.js +1 -1
  373. package/core/server/services/lib/mailgun-client.js +3 -3
  374. package/core/server/services/link-redirection/index.js +2 -2
  375. package/core/server/services/link-redirection/link-redirect-repository.js +1 -1
  376. package/core/server/services/link-redirection/link-redirect.js +12 -13
  377. package/core/server/services/link-redirection/link-redirect.ts +22 -0
  378. package/core/server/services/link-redirection/link-redirects-service.js +1 -1
  379. package/core/server/services/link-tracking/full-post-link.js +2 -2
  380. package/core/server/services/link-tracking/index.js +1 -1
  381. package/core/server/services/mail/ghost-mailer.js +1 -1
  382. package/core/server/services/mail/index.js +1 -1
  383. package/core/server/services/media-inliner/external-media-inliner.js +2 -2
  384. package/core/server/services/media-inliner/service.js +4 -3
  385. package/core/server/services/member-attribution/index.js +1 -1
  386. package/core/server/services/member-welcome-emails/service.js +1 -1
  387. package/core/server/services/members/api.js +8 -2
  388. package/core/server/services/members/csv/index.js +10 -0
  389. package/core/server/services/members/csv/index.ts +3 -0
  390. package/core/server/services/members/csv/parse.js +94 -0
  391. package/core/server/services/members/csv/parse.ts +111 -0
  392. package/core/server/services/members/csv/types.js +2 -0
  393. package/core/server/services/members/csv/types.ts +39 -0
  394. package/core/server/services/members/csv/unparse.js +69 -0
  395. package/core/server/services/members/csv/unparse.ts +79 -0
  396. package/core/server/services/members/exporter/query.js +35 -8
  397. package/core/server/services/members/importer/config.js +35 -0
  398. package/core/server/services/members/importer/config.ts +39 -0
  399. package/core/server/services/members/importer/members-csv-importer.js +31 -13
  400. package/core/server/services/members/members-api/members-api.js +4 -2
  401. package/core/server/services/members/members-api/repositories/event-repository.js +13 -2
  402. package/core/server/services/members/members-api/services/member-bread-service.js +42 -19
  403. package/core/server/services/members/middleware.js +1 -1
  404. package/core/server/services/members/service.js +15 -2
  405. package/core/server/services/members/stripe-connect.js +1 -1
  406. package/core/server/services/members-custom-fields/actions.js +3 -0
  407. package/core/server/services/members-custom-fields/actions.ts +6 -2
  408. package/core/server/services/members-custom-fields/config.js +34 -0
  409. package/core/server/services/members-custom-fields/config.ts +38 -0
  410. package/core/server/services/members-custom-fields/definitions-service.js +156 -21
  411. package/core/server/services/members-custom-fields/definitions-service.ts +170 -25
  412. package/core/server/services/members-custom-fields/index.js +16 -3
  413. package/core/server/services/members-custom-fields/index.ts +17 -3
  414. package/core/server/services/members-custom-fields/values-service.js +56 -10
  415. package/core/server/services/members-custom-fields/values-service.ts +62 -10
  416. package/core/server/services/mentions/mention-sending-service.js +22 -2
  417. package/core/server/services/mentions/service.js +21 -5
  418. package/core/server/services/newsletters/index.js +1 -1
  419. package/core/server/services/oembed/oembed-service.js +122 -33
  420. package/core/server/services/oembed/service.js +4 -2
  421. package/core/server/services/offers/service.js +1 -1
  422. package/core/server/services/post-scheduling/index.js +4 -3
  423. package/core/server/services/post-scheduling/index.ts +4 -3
  424. package/core/server/services/post-scheduling/post-scheduling.js +1 -1
  425. package/core/server/services/post-scheduling/post-scheduling.ts +1 -1
  426. package/core/server/services/posts/post-email-handler.js +13 -6
  427. package/core/server/services/posts/post-scheduling.js +1 -1
  428. package/core/server/services/posts/posts-service-instance.js +1 -1
  429. package/core/server/services/posts/posts-service.js +2 -2
  430. package/core/server/services/posts-public/service.js +1 -1
  431. package/core/server/services/public-config/site.js +1 -1
  432. package/core/server/services/recommendations/recommendation-service-wrapper.js +1 -1
  433. package/core/server/services/recommendations/service/libraries.d.ts +0 -2
  434. package/core/server/services/route-settings/dynamic-routing-service.js +2 -3
  435. package/core/server/services/route-settings/index.js +1 -1
  436. package/core/server/services/route-settings/route-settings-parser.js +134 -124
  437. package/core/server/services/route-settings/route-settings-parser.ts +160 -125
  438. package/core/server/services/route-settings/validation-errors.js +178 -0
  439. package/core/server/services/route-settings/validation-errors.ts +196 -0
  440. package/core/server/services/settings/settings-service.js +2 -2
  441. package/core/server/services/settings-helpers/index.js +1 -1
  442. package/core/server/services/slack-notifications/service.js +1 -1
  443. package/core/server/services/slack-ping/constants.js +16 -0
  444. package/core/server/services/slack-ping/constants.ts +15 -0
  445. package/core/server/services/slack-ping/index.js +26 -204
  446. package/core/server/services/slack-ping/index.ts +35 -0
  447. package/core/server/services/slack-ping/slack-ping-service.js +214 -0
  448. package/core/server/services/slack-ping/slack-ping-service.ts +296 -0
  449. package/core/server/services/staff/index.js +1 -1
  450. package/core/server/services/stats/posts-stats-service.js +1 -1
  451. package/core/server/services/stats/service.js +1 -1
  452. package/core/server/services/stripe/service.js +1 -1
  453. package/core/server/services/tags-public/service.js +1 -1
  454. package/core/server/services/themes/validate.js +1 -1
  455. package/core/server/services/update-check/index.js +1 -1
  456. package/core/server/services/url/lazy-url-service.js +66 -6
  457. package/core/server/services/url/lazy-url-service.ts +73 -6
  458. package/core/server/services/url/url-generator.js +1 -1
  459. package/core/server/services/url/url-service-facade.js +68 -3
  460. package/core/server/services/url/url-service-facade.ts +79 -4
  461. package/core/server/services/url/url-service.js +1 -1
  462. package/core/server/services/url/urls.js +1 -1
  463. package/core/server/services/webhooks/index.js +19 -2
  464. package/core/server/services/webhooks/listen.js +6 -11
  465. package/core/server/services/webhooks/payload.js +1 -3
  466. package/core/server/services/webhooks/serialize.js +16 -1
  467. package/core/server/web/admin/app.js +1 -1
  468. package/core/server/web/admin/middleware/redirect-admin-urls.js +1 -1
  469. package/core/server/web/api/endpoints/admin/routes.js +1 -0
  470. package/core/server/web/api/middleware/cors.js +1 -1
  471. package/core/server/web/api/middleware/upload.js +4 -0
  472. package/core/server/web/gift-preview/controller.js +1 -1
  473. package/core/server/web/shared/middleware/redirect-amp-urls.js +1 -1
  474. package/core/server/web/shared/middleware/uncapitalise.js +2 -2
  475. package/core/server/web/shared/middleware/url-redirects.js +1 -1
  476. package/core/shared/config/defaults.json +8 -1
  477. package/core/shared/config/overrides.json +4 -0
  478. package/core/shared/url-utils.js +19 -15
  479. package/core/shared/url-utils.ts +20 -0
  480. package/ghost.js +0 -1
  481. package/package.json +26 -31
  482. package/pnpm-lock.yaml +681 -2789
  483. package/pnpm-workspace.yaml +31 -17
  484. package/components/tryghost-adapter-base-scheduling-0.0.0.tgz +0 -0
  485. package/components/tryghost-adapter-base-sso-0.0.0.tgz +0 -0
  486. package/core/built/admin/assets/Combination--5EZGaDs.js +0 -43
  487. package/core/built/admin/assets/Growth-C0NoKcHQ.js +0 -3
  488. package/core/built/admin/assets/Newsletters-Ed8kDjdy.js +0 -1
  489. package/core/built/admin/assets/Overview-CArPgRZt.js +0 -1
  490. package/core/built/admin/assets/Web-CjjYoVM3.js +0 -2
  491. package/core/built/admin/assets/account-migration-mfa5mNI9.js +0 -1
  492. package/core/built/admin/assets/activitypub/inbox-B3rjKMTv.js +0 -1221
  493. package/core/built/admin/assets/activitypub/layout-jcurg3rU.js +0 -1
  494. package/core/built/admin/assets/activitypub/use-activity-pub-queries-yqGRcnLn.js +0 -2569
  495. package/core/built/admin/assets/activitypub/users-CfyHIsTG.js +0 -1316
  496. package/core/built/admin/assets/automations-DkUnxNdv.js +0 -1
  497. package/core/built/admin/assets/automations-vjXofmV_.js +0 -1
  498. package/core/built/admin/assets/bluesky-sharing-T-pO3RcP.js +0 -1
  499. package/core/built/admin/assets/breadcrumb-CekPYTCn.js +0 -1
  500. package/core/built/admin/assets/button--i2uMDDn.js +0 -4
  501. package/core/built/admin/assets/card-CSWz_BXq.js +0 -1
  502. package/core/built/admin/assets/chart-helpers-C_4Ka_vT.js +0 -1
  503. package/core/built/admin/assets/chunk.524.8ce2c741473e2f0929dc.js +0 -25
  504. package/core/built/admin/assets/chunk.582.453459d6228d2955408b.js +0 -27
  505. package/core/built/admin/assets/code-editor-view-BfkwQto2.js +0 -1
  506. package/core/built/admin/assets/command-K75Jzs0G.js +0 -1
  507. package/core/built/admin/assets/comments-BEIi1DH-.js +0 -1
  508. package/core/built/admin/assets/container-BNXvlcjA.js +0 -1
  509. package/core/built/admin/assets/data-list-BmK5QMab.js +0 -1
  510. package/core/built/admin/assets/date-range-select-5sKzwbt7.js +0 -1
  511. package/core/built/admin/assets/disabled-sources-indicator-L_ssJTNr.js +0 -1
  512. package/core/built/admin/assets/dist-BBIJuyPg.js +0 -1
  513. package/core/built/admin/assets/dist-BHE0dp6o.js +0 -1
  514. package/core/built/admin/assets/dist-DJ6c4_De.js +0 -1
  515. package/core/built/admin/assets/dist-DW0QXQO3.js +0 -1
  516. package/core/built/admin/assets/dist-DxFLceO5.js +0 -1
  517. package/core/built/admin/assets/dist-QcACAOAD.js +0 -1
  518. package/core/built/admin/assets/dist-duxRDcQu.js +0 -177
  519. package/core/built/admin/assets/domain-CLaPZ9Rc.js +0 -1
  520. package/core/built/admin/assets/dropzone-E0bSX4_a.js +0 -5
  521. package/core/built/admin/assets/edit-profile-DqNPKaA4.js +0 -1
  522. package/core/built/admin/assets/editor-CkLXQDRp.js +0 -8
  523. package/core/built/admin/assets/empty-indicator-BTtOlgIo.js +0 -1
  524. package/core/built/admin/assets/esm-TSfGW7nz.js +0 -2
  525. package/core/built/admin/assets/explore-BEstLxKr.js +0 -1
  526. package/core/built/admin/assets/feed-C58p2voG.js +0 -1
  527. package/core/built/admin/assets/field-BSbDUHPv.js +0 -1
  528. package/core/built/admin/assets/filters-BgYv8Gt7.js +0 -1
  529. package/core/built/admin/assets/filters-DvenFkmK.js +0 -1
  530. package/core/built/admin/assets/framework-provider-jQktxm9P.js +0 -4
  531. package/core/built/admin/assets/ghost-dark-8590dea6cd695ff90f27d262c4464538.css +0 -1
  532. package/core/built/admin/assets/gift-link-modal-BPjXkEFt.js +0 -1
  533. package/core/built/admin/assets/growth-D4JNiVTe.js +0 -1
  534. package/core/built/admin/assets/hooks-Cjxexi_I.js +0 -2
  535. package/core/built/admin/assets/index-BacwlcOy.js +0 -67
  536. package/core/built/admin/assets/index-DxRNHH0o.css +0 -1
  537. package/core/built/admin/assets/inline-C22rnPro.js +0 -1
  538. package/core/built/admin/assets/input-group-CKfrILLP.js +0 -1
  539. package/core/built/admin/assets/jsx-runtime-CtMZ-PAS.js +0 -1
  540. package/core/built/admin/assets/kpi-card-DZxQKAIb.js +0 -1
  541. package/core/built/admin/assets/kpi-card-FidQ5zg3.js +0 -1
  542. package/core/built/admin/assets/kpi-helpers-C5T8Vaf1.js +0 -1
  543. package/core/built/admin/assets/kpi-tabs-_VRK6hGV.js +0 -1
  544. package/core/built/admin/assets/label-Cza7hPgn.js +0 -1
  545. package/core/built/admin/assets/label-picker-DgC_zLaw.js +0 -1
  546. package/core/built/admin/assets/layout-BxsXnKFX.js +0 -1
  547. package/core/built/admin/assets/limit-service-CTurluJQ.js +0 -20
  548. package/core/built/admin/assets/link-helpers-C3Gqy2cz.js +0 -1
  549. package/core/built/admin/assets/list-page-BtqCnow_.js +0 -1
  550. package/core/built/admin/assets/member-custom-fields-9uXFBqSt.js +0 -1
  551. package/core/built/admin/assets/member-detail-Dq6ZDIxo.js +0 -1
  552. package/core/built/admin/assets/members-CUWD9jal.js +0 -10
  553. package/core/built/admin/assets/modals-CIdwHVga.js +0 -31
  554. package/core/built/admin/assets/moderation-DTt04UDA.js +0 -1
  555. package/core/built/admin/assets/newsletter-cC8vcc9h.js +0 -1
  556. package/core/built/admin/assets/note-DZU0IY9e.js +0 -1
  557. package/core/built/admin/assets/notifications-NoHpBHJ4.js +0 -1
  558. package/core/built/admin/assets/nql-lang-CvCSOQG3.js +0 -19
  559. package/core/built/admin/assets/onboarding-route-Deg2hNm8.js +0 -1
  560. package/core/built/admin/assets/overview-BQPt_9w3.js +0 -1
  561. package/core/built/admin/assets/page-header-D6bEqPo2.js +0 -1
  562. package/core/built/admin/assets/post-analytics-header-BPw_B2_D.js +0 -1
  563. package/core/built/admin/assets/post-analytics-kp2_--XO.js +0 -1
  564. package/core/built/admin/assets/post-share-modal-Cave3Z4W.js +0 -1
  565. package/core/built/admin/assets/preferences-C7h3j_uy.js +0 -5
  566. package/core/built/admin/assets/profile-B2x4q2oB.js +0 -1
  567. package/core/built/admin/assets/router-provider-5fsX1CYn.js +0 -1
  568. package/core/built/admin/assets/select-PhPjIBBT.js +0 -1
  569. package/core/built/admin/assets/settings-D5P9Gwgo.js +0 -6
  570. package/core/built/admin/assets/settings-zUOzQV5I.js +0 -1
  571. package/core/built/admin/assets/share-modal-EfpfbuWF.js +0 -1
  572. package/core/built/admin/assets/social-urls-DgAF08Xc.js +0 -18
  573. package/core/built/admin/assets/sort-button-WOQYJm2H.js +0 -1
  574. package/core/built/admin/assets/source-icon-hm8Cj-Gx.js +0 -1
  575. package/core/built/admin/assets/stats-CnQDb62m.js +0 -1
  576. package/core/built/admin/assets/stats-view-CCfTJgSe.js +0 -1
  577. package/core/built/admin/assets/step-1-BGlhY4DS.js +0 -1
  578. package/core/built/admin/assets/step-2-D3sDEyFH.js +0 -1
  579. package/core/built/admin/assets/step-3-CvZoUdsc.js +0 -2
  580. package/core/built/admin/assets/switch-CNjkOmwz.js +0 -1
  581. package/core/built/admin/assets/table-C5nZYPnW.js +0 -1
  582. package/core/built/admin/assets/tabs-dtOcExye.js +0 -1
  583. package/core/built/admin/assets/tags-Dhm0FB_g.js +0 -1
  584. package/core/built/admin/assets/textarea-CeKw3wmV.js +0 -1
  585. package/core/built/admin/assets/toggle-group-DfhZIMTW.js +0 -1
  586. package/core/built/admin/assets/topic-filter-Cxe1Il41.js +0 -1
  587. package/core/built/admin/assets/typeof-Ca-duI-z.js +0 -1
  588. package/core/built/admin/assets/use-filter-params-Bub6BqNy.js +0 -1
  589. package/core/built/admin/assets/use-growth-stats-BJORomv0.js +0 -1
  590. package/core/built/admin/assets/use-reply-chain-data-B89YjVoo.js +0 -1
  591. package/core/built/admin/assets/use-simple-pagination-BL2SYXKi.js +0 -1
  592. package/core/built/admin/assets/virtual-list-DNJOSK9I.js +0 -1
  593. package/core/built/admin/assets/web-BHUE3YQc.js +0 -1
  594. package/core/server/adapters/scheduling/scheduling-base.js +0 -5
  595. package/core/server/adapters/sso/SSOBase.js +0 -5
  596. package/core/server/adapters/storage/index.js +0 -17
@@ -1,1316 +0,0 @@
1
- import { E as e, S as t, T as n, _ as r, c as i, d as a, g as o, l as s, m as c, r as l, v as u } from "./_react-D4KM8XEu.js";
2
- import { A as d, C as f, D as p, E as m, F as h, I as g, L as _, M as v, N as y, O as b, P as x, R as S, S as ee, T as te, _ as ne, b as re, g as ie, h as ae, j as C, k as w, m as T, v as E, w as D, x as oe, y as se } from "./chunk-KS7C4IRE-B-GOFDPZ.js";
3
- //#region ../../node_modules/.pnpm/@tanstack+query-core@5.101.2/node_modules/@tanstack/query-core/build/modern/queryObserver.js
4
- var ce = class extends S {
5
- constructor(e, t) {
6
- super(), this.options = t, this.#e = e, this.#s = null, this.#o = te(), this.bindMethods(), this.setOptions(t);
7
- }
8
- #e;
9
- #t = void 0;
10
- #n = void 0;
11
- #r = void 0;
12
- #i;
13
- #a;
14
- #o;
15
- #s;
16
- #c;
17
- #l;
18
- #u;
19
- #d;
20
- #f;
21
- #p;
22
- #m = /* @__PURE__ */ new Set();
23
- bindMethods() {
24
- this.refetch = this.refetch.bind(this);
25
- }
26
- onSubscribe() {
27
- this.listeners.size === 1 && (this.#t.addObserver(this), ue(this.#t, this.options) ? this.#h() : this.updateResult(), this.#y());
28
- }
29
- onUnsubscribe() {
30
- this.hasListeners() || this.destroy();
31
- }
32
- shouldFetchOnReconnect() {
33
- return O(this.#t, this.options, this.options.refetchOnReconnect);
34
- }
35
- shouldFetchOnWindowFocus() {
36
- return O(this.#t, this.options, this.options.refetchOnWindowFocus);
37
- }
38
- destroy() {
39
- this.listeners = /* @__PURE__ */ new Set(), this.#b(), this.#x(), this.#t.removeObserver(this);
40
- }
41
- setOptions(e) {
42
- let t = this.options, n = this.#t;
43
- if (this.options = this.#e.defaultQueryOptions(e), this.options.enabled !== void 0 && typeof this.options.enabled != "boolean" && typeof this.options.enabled != "function" && typeof C(this.options.enabled, this.#t) != "boolean") throw Error("Expected enabled to be a boolean or a callback that returns a boolean");
44
- this.#S(), this.#t.setOptions(this.options), t._defaulted && !y(this.options, t) && this.#e.getQueryCache().notify({
45
- type: "observerOptionsUpdated",
46
- query: this.#t,
47
- observer: this
48
- });
49
- let r = this.hasListeners();
50
- r && de(this.#t, n, this.options, t) && this.#h(), this.updateResult(), r && (this.#t !== n || C(this.options.enabled, this.#t) !== C(t.enabled, this.#t) || v(this.options.staleTime, this.#t) !== v(t.staleTime, this.#t)) && this.#g();
51
- let i = this.#_();
52
- r && (this.#t !== n || C(this.options.enabled, this.#t) !== C(t.enabled, this.#t) || i !== this.#p) && this.#v(i);
53
- }
54
- getOptimisticResult(e) {
55
- let t = this.#e.getQueryCache().build(this.#e, e), n = this.createResult(t, e);
56
- return pe(this, n) && (this.#r = n, this.#a = this.options, this.#i = this.#t.state), n;
57
- }
58
- getCurrentResult() {
59
- return this.#r;
60
- }
61
- trackResult(e, t) {
62
- return new Proxy(e, { get: (e, n) => (this.trackProp(n), t?.(n), n === "promise" && (this.trackProp("data"), !this.options.experimental_prefetchInRender && this.#o.status === "pending" && this.#o.reject(/* @__PURE__ */ Error("experimental_prefetchInRender feature flag is not enabled"))), Reflect.get(e, n)) });
63
- }
64
- trackProp(e) {
65
- this.#m.add(e);
66
- }
67
- getCurrentQuery() {
68
- return this.#t;
69
- }
70
- refetch({ ...e } = {}) {
71
- return this.fetch({ ...e });
72
- }
73
- fetchOptimistic(e) {
74
- let t = this.#e.defaultQueryOptions(e), n = this.#e.getQueryCache().build(this.#e, t);
75
- return n.fetch().then(() => this.createResult(n, t));
76
- }
77
- fetch(e) {
78
- return this.#h({
79
- ...e,
80
- cancelRefetch: e.cancelRefetch ?? !0
81
- }).then(() => (this.updateResult(), this.#r));
82
- }
83
- #h(e) {
84
- this.#S();
85
- let t = this.#t.fetch(this.options, e);
86
- return e?.throwOnError || (t = t.catch(w)), t;
87
- }
88
- #g() {
89
- this.#b();
90
- let e = v(this.options.staleTime, this.#t);
91
- if (m.isServer() || this.#r.isStale || !b(e)) return;
92
- let t = h(this.#r.dataUpdatedAt, e) + 1;
93
- this.#d = g.setTimeout(() => {
94
- this.#r.isStale || this.updateResult();
95
- }, t);
96
- }
97
- #_() {
98
- return (typeof this.options.refetchInterval == "function" ? this.options.refetchInterval(this.#t) : this.options.refetchInterval) ?? !1;
99
- }
100
- #v(e) {
101
- this.#x(), this.#p = e, !(m.isServer() || C(this.options.enabled, this.#t) === !1 || !b(this.#p) || this.#p === 0) && (this.#f = g.setInterval(() => {
102
- (this.options.refetchIntervalInBackground || _.isFocused()) && this.#h();
103
- }, this.#p));
104
- }
105
- #y() {
106
- this.#g(), this.#v(this.#_());
107
- }
108
- #b() {
109
- this.#d !== void 0 && (g.clearTimeout(this.#d), this.#d = void 0);
110
- }
111
- #x() {
112
- this.#f !== void 0 && (g.clearInterval(this.#f), this.#f = void 0);
113
- }
114
- createResult(e, t) {
115
- let n = this.#t, r = this.options, i = this.#r, a = this.#i, o = this.#a, s = e === n ? this.#n : e.state, { state: c } = e, l = { ...c }, u = !1, f;
116
- if (t._optimisticResults) {
117
- let i = this.hasListeners(), a = !i && ue(e, t), o = i && de(e, n, t, r);
118
- (a || o) && (l = {
119
- ...l,
120
- ...oe(c.data, e.options)
121
- }), t._optimisticResults === "isRestoring" && (l.fetchStatus = "idle");
122
- }
123
- let { error: p, errorUpdatedAt: m, status: h } = l;
124
- f = l.data;
125
- let g = !1;
126
- if (t.placeholderData !== void 0 && f === void 0 && h === "pending") {
127
- let e;
128
- i?.isPlaceholderData && t.placeholderData === o?.placeholderData ? (e = i.data, g = !0) : e = typeof t.placeholderData == "function" ? t.placeholderData(this.#u?.state.data, this.#u) : t.placeholderData, e !== void 0 && (h = "success", f = d(i?.data, e, t), u = !0);
129
- }
130
- if (t.select && f !== void 0 && !g) if (i && f === a?.data && t.select === this.#c) f = this.#l;
131
- else try {
132
- this.#c = t.select, f = t.select(f), f = d(i?.data, f, t), this.#l = f, this.#s = null;
133
- } catch (e) {
134
- this.#s = e;
135
- }
136
- this.#s && (p = this.#s, f = this.#l, m = Date.now(), h = "error");
137
- let _ = l.fetchStatus === "fetching", v = h === "pending", y = h === "error", b = v && _, x = f !== void 0, S = {
138
- status: h,
139
- fetchStatus: l.fetchStatus,
140
- isPending: v,
141
- isSuccess: h === "success",
142
- isError: y,
143
- isInitialLoading: b,
144
- isLoading: b,
145
- data: f,
146
- dataUpdatedAt: l.dataUpdatedAt,
147
- error: p,
148
- errorUpdatedAt: m,
149
- failureCount: l.fetchFailureCount,
150
- failureReason: l.fetchFailureReason,
151
- errorUpdateCount: l.errorUpdateCount,
152
- isFetched: e.isFetched(),
153
- isFetchedAfterMount: l.dataUpdateCount > s.dataUpdateCount || l.errorUpdateCount > s.errorUpdateCount,
154
- isFetching: _,
155
- isRefetching: _ && !v,
156
- isLoadingError: y && !x,
157
- isPaused: l.fetchStatus === "paused",
158
- isPlaceholderData: u,
159
- isRefetchError: y && x,
160
- isStale: fe(e, t),
161
- refetch: this.refetch,
162
- promise: this.#o,
163
- isEnabled: C(t.enabled, e) !== !1
164
- };
165
- if (this.options.experimental_prefetchInRender) {
166
- let t = S.data !== void 0, r = S.status === "error" && !t, i = (e) => {
167
- r ? e.reject(S.error) : t && e.resolve(S.data);
168
- }, a = () => {
169
- let e = this.#o = S.promise = te();
170
- i(e);
171
- }, o = this.#o;
172
- switch (o.status) {
173
- case "pending":
174
- e.queryHash === n.queryHash && i(o);
175
- break;
176
- case "fulfilled":
177
- (r || S.data !== o.value) && a();
178
- break;
179
- case "rejected":
180
- (!r || S.error !== o.reason) && a();
181
- break;
182
- }
183
- }
184
- return S;
185
- }
186
- updateResult() {
187
- let e = this.#r, t = this.createResult(this.#t, this.options);
188
- this.#i = this.#t.state, this.#a = this.options, this.#i.data !== void 0 && (this.#u = this.#t), !y(t, e) && (this.#r = t, this.#C({ listeners: (() => {
189
- if (!e) return !0;
190
- let { notifyOnChangeProps: t } = this.options, n = typeof t == "function" ? t() : t;
191
- if (n === "all" || !n && !this.#m.size) return !0;
192
- let r = new Set(n ?? this.#m);
193
- return this.options.throwOnError && r.add("error"), Object.keys(this.#r).some((t) => {
194
- let n = t;
195
- return this.#r[n] !== e[n] && r.has(n);
196
- });
197
- })() }));
198
- }
199
- #S() {
200
- let e = this.#e.getQueryCache().build(this.#e, this.options);
201
- if (e === this.#t) return;
202
- let t = this.#t;
203
- this.#t = e, this.#n = e.state, this.hasListeners() && (t?.removeObserver(this), e.addObserver(this));
204
- }
205
- onQueryUpdate() {
206
- this.updateResult(), this.hasListeners() && this.#y();
207
- }
208
- #C(e) {
209
- D.batch(() => {
210
- e.listeners && this.listeners.forEach((e) => {
211
- e(this.#r);
212
- }), this.#e.getQueryCache().notify({
213
- query: this.#t,
214
- type: "observerResultsUpdated"
215
- });
216
- });
217
- }
218
- };
219
- function le(e, t) {
220
- return C(t.enabled, e) !== !1 && e.state.data === void 0 && !(e.state.status === "error" && C(t.retryOnMount, e) === !1);
221
- }
222
- function ue(e, t) {
223
- return le(e, t) || e.state.data !== void 0 && O(e, t, t.refetchOnMount);
224
- }
225
- function O(e, t, n) {
226
- if (C(t.enabled, e) !== !1 && v(t.staleTime, e) !== "static") {
227
- let r = typeof n == "function" ? n(e) : n;
228
- return r === "always" || r !== !1 && fe(e, t);
229
- }
230
- return !1;
231
- }
232
- function de(e, t, n, r) {
233
- return (e !== t || C(r.enabled, e) === !1) && (!n.suspense || e.state.status !== "error") && fe(e, n);
234
- }
235
- function fe(e, t) {
236
- return C(t.enabled, e) !== !1 && e.isStaleByTime(v(t.staleTime, e));
237
- }
238
- function pe(e, t) {
239
- return !y(e.getCurrentResult(), t);
240
- }
241
- //#endregion
242
- //#region ../../node_modules/.pnpm/@tanstack+query-core@5.101.2/node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js
243
- var me = class extends ce {
244
- constructor(e, t) {
245
- super(e, t);
246
- }
247
- bindMethods() {
248
- super.bindMethods(), this.fetchNextPage = this.fetchNextPage.bind(this), this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
249
- }
250
- setOptions(e) {
251
- e._type = "infinite", super.setOptions(e);
252
- }
253
- getOptimisticResult(e) {
254
- return e._type = "infinite", super.getOptimisticResult(e);
255
- }
256
- fetchNextPage(e) {
257
- return this.fetch({
258
- ...e,
259
- meta: { fetchMore: { direction: "forward" } }
260
- });
261
- }
262
- fetchPreviousPage(e) {
263
- return this.fetch({
264
- ...e,
265
- meta: { fetchMore: { direction: "backward" } }
266
- });
267
- }
268
- createResult(e, t) {
269
- let { state: n } = e, r = super.createResult(e, t), { isFetching: i, isRefetching: a, isError: o, isRefetchError: s } = r, c = n.fetchMeta?.fetchMore?.direction, l = o && c === "forward", u = i && c === "forward", d = o && c === "backward", p = i && c === "backward";
270
- return {
271
- ...r,
272
- fetchNextPage: this.fetchNextPage,
273
- fetchPreviousPage: this.fetchPreviousPage,
274
- hasNextPage: ee(t, n.data),
275
- hasPreviousPage: f(t, n.data),
276
- isFetchNextPageError: l,
277
- isFetchingNextPage: u,
278
- isFetchPreviousPageError: d,
279
- isFetchingPreviousPage: p,
280
- isRefetchError: s && !l && !d,
281
- isRefetching: a && !u && !p
282
- };
283
- }
284
- }, he = class extends S {
285
- #e;
286
- #t = void 0;
287
- #n;
288
- #r;
289
- constructor(e, t) {
290
- super(), this.#e = e, this.setOptions(t), this.bindMethods(), this.#i();
291
- }
292
- bindMethods() {
293
- this.mutate = this.mutate.bind(this), this.reset = this.reset.bind(this);
294
- }
295
- setOptions(e) {
296
- let t = this.options;
297
- this.options = this.#e.defaultMutationOptions(e), y(this.options, t) || this.#e.getMutationCache().notify({
298
- type: "observerOptionsUpdated",
299
- mutation: this.#n,
300
- observer: this
301
- }), t?.mutationKey && this.options.mutationKey && p(t.mutationKey) !== p(this.options.mutationKey) ? this.reset() : this.#n?.state.status === "pending" && this.#n.setOptions(this.options);
302
- }
303
- onUnsubscribe() {
304
- this.hasListeners() || this.#n?.removeObserver(this);
305
- }
306
- onMutationUpdate(e) {
307
- this.#i(), this.#a(e);
308
- }
309
- getCurrentResult() {
310
- return this.#t;
311
- }
312
- reset() {
313
- this.#n?.removeObserver(this), this.#n = void 0, this.#i(), this.#a();
314
- }
315
- mutate(e, t) {
316
- return this.#r = t, this.#n?.removeObserver(this), this.#n = this.#e.getMutationCache().build(this.#e, this.options), this.#n.addObserver(this), this.#n.execute(e);
317
- }
318
- #i() {
319
- let e = this.#n?.state ?? re();
320
- this.#t = {
321
- ...e,
322
- isPending: e.status === "pending",
323
- isSuccess: e.status === "success",
324
- isError: e.status === "error",
325
- isIdle: e.status === "idle",
326
- mutate: this.mutate,
327
- reset: this.reset
328
- };
329
- }
330
- #a(e) {
331
- D.batch(() => {
332
- if (this.#r && this.hasListeners()) {
333
- let t = this.#t.variables, n = this.#t.context, r = {
334
- client: this.#e,
335
- meta: this.options.meta,
336
- mutationKey: this.options.mutationKey
337
- };
338
- if (e?.type === "success") {
339
- try {
340
- this.#r.onSuccess?.(e.data, t, n, r);
341
- } catch (e) {
342
- Promise.reject(e);
343
- }
344
- try {
345
- this.#r.onSettled?.(e.data, null, t, n, r);
346
- } catch (e) {
347
- Promise.reject(e);
348
- }
349
- } else if (e?.type === "error") {
350
- try {
351
- this.#r.onError?.(e.error, t, n, r);
352
- } catch (e) {
353
- Promise.reject(e);
354
- }
355
- try {
356
- this.#r.onSettled?.(void 0, e.error, t, n, r);
357
- } catch (e) {
358
- Promise.reject(e);
359
- }
360
- }
361
- }
362
- this.listeners.forEach((e) => {
363
- e(this.#t);
364
- });
365
- });
366
- }
367
- }, k = se();
368
- a();
369
- var ge = i(!1), _e = () => r(ge);
370
- //#endregion
371
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js
372
- ge.Provider, a();
373
- function ve() {
374
- let e = !1;
375
- return {
376
- clearReset: () => {
377
- e = !1;
378
- },
379
- reset: () => {
380
- e = !0;
381
- },
382
- isReset: () => e
383
- };
384
- }
385
- var ye = i(ve()), be = () => r(ye);
386
- //#endregion
387
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js
388
- a();
389
- var xe = (e, t, n) => {
390
- let r = n?.state.error && typeof e.throwOnError == "function" ? x(e.throwOnError, [n.state.error, n]) : e.throwOnError;
391
- (e.suspense || e.experimental_prefetchInRender || r) && (t.isReset() || (e.retryOnMount = !1));
392
- }, Se = (e) => {
393
- u(() => {
394
- e.clearReset();
395
- }, [e]);
396
- }, Ce = ({ result: e, errorResetBoundary: t, throwOnError: n, query: r, suspense: i }) => e.isError && !t.isReset() && !e.isFetching && r && (i && e.data === void 0 || x(n, [e.error, r])), we = (e) => {
397
- if (e.suspense) {
398
- let t = 1e3, n = (e) => e === "static" ? e : Math.max(e ?? t, t), r = e.staleTime;
399
- e.staleTime = typeof r == "function" ? (...e) => n(r(...e)) : n(r), typeof e.gcTime == "number" && (e.gcTime = Math.max(e.gcTime, t));
400
- }
401
- }, Te = (e, t) => e.isLoading && e.isFetching && !t, Ee = (e, t) => e?.suspense && t.isPending, De = (e, t, n) => t.fetchOptimistic(e).catch(() => {
402
- n.clearReset();
403
- });
404
- //#endregion
405
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useBaseQuery.js
406
- a();
407
- function Oe(t, r, i) {
408
- let a = _e(), s = be(), c = E(i), l = c.defaultQueryOptions(t);
409
- c.getDefaultOptions().queries?._experimental_beforeQuery?.(l);
410
- let d = c.getQueryCache().get(l.queryHash), f = t.subscribed !== !1;
411
- l._optimisticResults = a ? "isRestoring" : f ? "optimistic" : void 0, we(l), xe(l, s, d), Se(s);
412
- let p = !c.getQueryCache().get(l.queryHash), [h] = n(() => new r(c, l)), g = h.getOptimisticResult(l), _ = !a && f;
413
- if (e(o((e) => {
414
- let t = _ ? h.subscribe(D.batchCalls(e)) : w;
415
- return h.updateResult(), t;
416
- }, [h, _]), () => h.getCurrentResult(), () => h.getCurrentResult()), u(() => {
417
- h.setOptions(l);
418
- }, [l, h]), Ee(l, g)) throw De(l, h, s);
419
- if (Ce({
420
- result: g,
421
- errorResetBoundary: s,
422
- throwOnError: l.throwOnError,
423
- query: d,
424
- suspense: l.suspense
425
- })) throw g.error;
426
- return c.getDefaultOptions().queries?._experimental_afterQuery?.(l, g), l.experimental_prefetchInRender && !m.isServer() && Te(g, a) && (p ? De(l, h, s) : d?.promise)?.catch(w).finally(() => {
427
- h.updateResult();
428
- }), l.notifyOnChangeProps ? g : h.trackResult(g);
429
- }
430
- //#endregion
431
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useQuery.js
432
- function A(e, t) {
433
- return Oe(e, ce, t);
434
- }
435
- //#endregion
436
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useMutation.js
437
- a();
438
- function ke(t, r) {
439
- let i = E(r), [a] = n(() => new he(i, t));
440
- u(() => {
441
- a.setOptions(t);
442
- }, [a, t]);
443
- let s = e(o((e) => a.subscribe(D.batchCalls(e)), [a]), () => a.getCurrentResult(), () => a.getCurrentResult()), c = o((e, t) => {
444
- a.mutate(e, t).catch(w);
445
- }, [a]);
446
- if (s.error && x(a.options.throwOnError, [s.error])) throw s.error;
447
- return {
448
- ...s,
449
- mutate: c,
450
- mutateAsync: s.mutate
451
- };
452
- }
453
- //#endregion
454
- //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.2_react@18.3.1/node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js
455
- function Ae(e, t) {
456
- return Oe(e, me, t);
457
- }
458
- //#endregion
459
- //#region ../admin-x-framework/dist/utils/errors.js
460
- var j = class extends Error {
461
- response;
462
- data;
463
- constructor(e, t, n, r) {
464
- !n && e && e.url.includes("/ghost/api/admin/") && (n = `Something went wrong while loading ${e.url.replace(/.+\/ghost\/api\/admin\//, "").replace(/\W.*/, "").replace("_", " ")}, please try again.`), super(n || "Something went wrong, please try again.", r), this.response = e, this.data = t;
465
- }
466
- }, M = class extends j {
467
- data;
468
- constructor(e, t, n, r) {
469
- super(e, t, n, r), this.data = t;
470
- }
471
- }, je = class extends M {
472
- constructor(e, t, n) {
473
- super(e, t, "API server is running a newer version of Ghost, please upgrade.", n);
474
- }
475
- }, N = class extends j {
476
- constructor(e) {
477
- super(void 0, void 0, "Something went wrong, please try again.", e);
478
- }
479
- }, Me = class extends j {
480
- constructor(e) {
481
- super(void 0, void 0, "Request timed out, please try again.", e);
482
- }
483
- }, Ne = class extends j {
484
- constructor(e, t, n) {
485
- super(e, t, "Request is larger than the maximum file size the server allows", n);
486
- }
487
- }, Pe = class extends j {
488
- constructor(e, t, n) {
489
- super(e, t, "Request contains an unknown or unsupported file type.", n);
490
- }
491
- }, Fe = class extends j {
492
- constructor(e, t, n) {
493
- super(e, t, "Ghost is currently undergoing maintenance, please wait a moment then retry.", n);
494
- }
495
- }, P = class extends j {
496
- constructor(e, t, n) {
497
- super(e, t, "You are not authorised to make this request.", n);
498
- }
499
- }, F = class extends P {}, Ie = class extends M {
500
- constructor(e, t, n) {
501
- super(e, t, "Theme is not compatible or contains errors.", n);
502
- }
503
- }, Le = class extends M {
504
- constructor(e, t, n) {
505
- super(e, t, "A hosting plan limit was reached or exceeded.", n);
506
- }
507
- }, Re = class extends M {
508
- constructor(e, t, n) {
509
- super(e, t, "Please verify your email settings", n);
510
- }
511
- }, ze = class extends M {
512
- constructor(e, t, n) {
513
- super(e, t, t.errors[0].message, n);
514
- }
515
- };
516
- function Be(e, t) {
517
- return e instanceof ze && e.data?.errors[0] ? e.data.errors[0].context || e.data.errors[0].message : t;
518
- }
519
- //#endregion
520
- //#region ../../node_modules/.pnpm/goober@2.1.19_csstype@3.2.3/node_modules/goober/dist/goober.modern.js
521
- var Ve = { data: "" }, He = (e) => {
522
- if (typeof window == "object") {
523
- let t = (e ? e.querySelector("#_goober") : window._goober) || Object.assign(document.createElement("style"), {
524
- innerHTML: " ",
525
- id: "_goober"
526
- });
527
- return t.nonce = window.__nonce__, t.parentNode || (e || document.head).appendChild(t), t.firstChild;
528
- }
529
- return e || Ve;
530
- }, Ue = /(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g, We = /\/\*[^]*?\*\/| +/g, Ge = /\n+/g, I = (e, t) => {
531
- let n = "", r = "", i = "";
532
- for (let a in e) {
533
- let o = e[a];
534
- a[0] == "@" ? a[1] == "i" ? n = a + " " + o + ";" : r += a[1] == "f" ? I(o, a) : a + "{" + I(o, a[1] == "k" ? "" : t) + "}" : typeof o == "object" ? r += I(o, t ? t.replace(/([^,])+/g, (e) => a.replace(/([^,]*:\S+\([^)]*\))|([^,])+/g, (t) => /&/.test(t) ? t.replace(/&/g, e) : e ? e + " " + t : t)) : a) : o != null && (a = a[1] == "-" ? a : a.replace(/[A-Z]/g, "-$&").toLowerCase(), i += I.p ? I.p(a, o) : a + ":" + o + ";");
535
- }
536
- return n + (t && i ? t + "{" + i + "}" : i) + r;
537
- }, L = {}, Ke = (e) => {
538
- if (typeof e == "object") {
539
- let t = "";
540
- for (let n in e) t += n + Ke(e[n]);
541
- return t;
542
- }
543
- return e;
544
- }, qe = (e, t, n, r, i) => {
545
- let a = Ke(e), o = L[a] || (L[a] = ((e) => {
546
- let t = 0, n = 11;
547
- for (; t < e.length;) n = 101 * n + e.charCodeAt(t++) >>> 0;
548
- return "go" + n;
549
- })(a));
550
- if (!L[o]) {
551
- let t = a === e ? ((e) => {
552
- let t, n, r = [{}];
553
- for (; t = Ue.exec(e.replace(We, ""));) t[4] ? r.shift() : t[3] ? (n = t[3].replace(Ge, " ").trim(), r.unshift(r[0][n] = r[0][n] || {})) : r[0][t[1]] = t[2].replace(Ge, " ").trim();
554
- return r[0];
555
- })(e) : e;
556
- L[o] = I(i ? { ["@keyframes " + o]: t } : t, n ? "" : "." + o);
557
- }
558
- let s = n && L.g;
559
- return n && (L.g = L[o]), ((e, t, n, r) => {
560
- r ? t.data = t.data.replace(r, e) : t.data.indexOf(e) === -1 && (t.data = n ? e + t.data : t.data + e);
561
- })(L[o], t, r, s), o;
562
- }, Je = (e, t, n) => e.reduce((e, r, i) => {
563
- let a = t[i];
564
- if (a && a.call) {
565
- let e = a(n), t = e && e.props && e.props.className || /^go/.test(e) && e;
566
- a = t ? "." + t : e && typeof e == "object" ? e.props ? "" : I(e, "") : !1 === e ? "" : e;
567
- }
568
- return e + r + (a ?? "");
569
- }, "");
570
- function R(e) {
571
- let t = this || {}, n = e.call ? e(t.p) : e;
572
- return qe(n.unshift ? n.raw ? Je(n, [].slice.call(arguments, 1), t.p) : n.reduce((e, n) => Object.assign(e, n && n.call ? n(t.p) : n), {}) : n, He(t.target), t.g, t.o, t.k);
573
- }
574
- var Ye, z, B;
575
- R.bind({ g: 1 });
576
- var V = R.bind({ k: 1 });
577
- function Xe(e, t, n, r) {
578
- I.p = t, Ye = e, z = n, B = r;
579
- }
580
- function H(e, t) {
581
- let n = this || {};
582
- return function() {
583
- let r = arguments;
584
- function i(a, o) {
585
- let s = Object.assign({}, a), c = s.className || i.className;
586
- n.p = Object.assign({ theme: z && z() }, s), n.o = /go\d/.test(c), s.className = R.apply(n, r) + (c ? " " + c : ""), t && (s.ref = o);
587
- let l = e;
588
- return e[0] && (l = s.as || e, delete s.as), B && l[0] && B(s), Ye(l, s);
589
- }
590
- return t ? t(i) : i;
591
- };
592
- }
593
- //#endregion
594
- //#region ../../node_modules/.pnpm/react-hot-toast@2.6.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-hot-toast/dist/index.mjs
595
- a();
596
- var Ze = (e) => typeof e == "function", U = (e, t) => Ze(e) ? e(t) : e, Qe = (() => {
597
- let e = 0;
598
- return () => (++e).toString();
599
- })(), $e = (() => {
600
- let e;
601
- return () => {
602
- if (e === void 0 && typeof window < "u") {
603
- let t = matchMedia("(prefers-reduced-motion: reduce)");
604
- e = !t || t.matches;
605
- }
606
- return e;
607
- };
608
- })(), et = 20, tt = "default", nt = (e, t) => {
609
- let { toastLimit: n } = e.settings;
610
- switch (t.type) {
611
- case 0: return {
612
- ...e,
613
- toasts: [t.toast, ...e.toasts].slice(0, n)
614
- };
615
- case 1: return {
616
- ...e,
617
- toasts: e.toasts.map((e) => e.id === t.toast.id ? {
618
- ...e,
619
- ...t.toast
620
- } : e)
621
- };
622
- case 2:
623
- let { toast: r } = t;
624
- return nt(e, {
625
- type: +!!e.toasts.find((e) => e.id === r.id),
626
- toast: r
627
- });
628
- case 3:
629
- let { toastId: i } = t;
630
- return {
631
- ...e,
632
- toasts: e.toasts.map((e) => e.id === i || i === void 0 ? {
633
- ...e,
634
- dismissed: !0,
635
- visible: !1
636
- } : e)
637
- };
638
- case 4: return t.toastId === void 0 ? {
639
- ...e,
640
- toasts: []
641
- } : {
642
- ...e,
643
- toasts: e.toasts.filter((e) => e.id !== t.toastId)
644
- };
645
- case 5: return {
646
- ...e,
647
- pausedAt: t.time
648
- };
649
- case 6:
650
- let a = t.time - (e.pausedAt || 0);
651
- return {
652
- ...e,
653
- pausedAt: void 0,
654
- toasts: e.toasts.map((e) => ({
655
- ...e,
656
- pauseDuration: e.pauseDuration + a
657
- }))
658
- };
659
- }
660
- }, rt = [], it = {
661
- toasts: [],
662
- pausedAt: void 0,
663
- settings: { toastLimit: et }
664
- }, W = {}, at = (e, t = tt) => {
665
- W[t] = nt(W[t] || it, e), rt.forEach(([e, n]) => {
666
- e === t && n(W[t]);
667
- });
668
- }, ot = (e) => Object.keys(W).forEach((t) => at(e, t)), st = (e) => Object.keys(W).find((t) => W[t].toasts.some((t) => t.id === e)), G = (e = tt) => (t) => {
669
- at(t, e);
670
- }, ct = (e, t = "blank", n) => ({
671
- createdAt: Date.now(),
672
- visible: !0,
673
- dismissed: !1,
674
- type: t,
675
- ariaProps: {
676
- role: "status",
677
- "aria-live": "polite"
678
- },
679
- message: e,
680
- pauseDuration: 0,
681
- ...n,
682
- id: n?.id || Qe()
683
- }), K = (e) => (t, n) => {
684
- let r = ct(t, e, n);
685
- return G(r.toasterId || st(r.id))({
686
- type: 2,
687
- toast: r
688
- }), r.id;
689
- }, q = (e, t) => K("blank")(e, t);
690
- q.error = K("error"), q.success = K("success"), q.loading = K("loading"), q.custom = K("custom"), q.dismiss = (e, t) => {
691
- let n = {
692
- type: 3,
693
- toastId: e
694
- };
695
- t ? G(t)(n) : ot(n);
696
- }, q.dismissAll = (e) => q.dismiss(void 0, e), q.remove = (e, t) => {
697
- let n = {
698
- type: 4,
699
- toastId: e
700
- };
701
- t ? G(t)(n) : ot(n);
702
- }, q.removeAll = (e) => q.remove(void 0, e), q.promise = (e, t, n) => {
703
- let r = q.loading(t.loading, {
704
- ...n,
705
- ...n?.loading
706
- });
707
- return typeof e == "function" && (e = e()), e.then((e) => {
708
- let i = t.success ? U(t.success, e) : void 0;
709
- return i ? q.success(i, {
710
- id: r,
711
- ...n,
712
- ...n?.success
713
- }) : q.dismiss(r), e;
714
- }).catch((e) => {
715
- let i = t.error ? U(t.error, e) : void 0;
716
- i ? q.error(i, {
717
- id: r,
718
- ...n,
719
- ...n?.error
720
- }) : q.dismiss(r);
721
- }), e;
722
- };
723
- var lt = V`
724
- from {
725
- transform: scale(0) rotate(45deg);
726
- opacity: 0;
727
- }
728
- to {
729
- transform: scale(1) rotate(45deg);
730
- opacity: 1;
731
- }`, ut = V`
732
- from {
733
- transform: scale(0);
734
- opacity: 0;
735
- }
736
- to {
737
- transform: scale(1);
738
- opacity: 1;
739
- }`, dt = V`
740
- from {
741
- transform: scale(0) rotate(90deg);
742
- opacity: 0;
743
- }
744
- to {
745
- transform: scale(1) rotate(90deg);
746
- opacity: 1;
747
- }`, ft = H("div")`
748
- width: 20px;
749
- opacity: 0;
750
- height: 20px;
751
- border-radius: 10px;
752
- background: ${(e) => e.primary || "#ff4b4b"};
753
- position: relative;
754
- transform: rotate(45deg);
755
-
756
- animation: ${lt} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
757
- forwards;
758
- animation-delay: 100ms;
759
-
760
- &:after,
761
- &:before {
762
- content: '';
763
- animation: ${ut} 0.15s ease-out forwards;
764
- animation-delay: 150ms;
765
- position: absolute;
766
- border-radius: 3px;
767
- opacity: 0;
768
- background: ${(e) => e.secondary || "#fff"};
769
- bottom: 9px;
770
- left: 4px;
771
- height: 2px;
772
- width: 12px;
773
- }
774
-
775
- &:before {
776
- animation: ${dt} 0.15s ease-out forwards;
777
- animation-delay: 180ms;
778
- transform: rotate(90deg);
779
- }
780
- `, pt = V`
781
- from {
782
- transform: rotate(0deg);
783
- }
784
- to {
785
- transform: rotate(360deg);
786
- }
787
- `, mt = H("div")`
788
- width: 12px;
789
- height: 12px;
790
- box-sizing: border-box;
791
- border: 2px solid;
792
- border-radius: 100%;
793
- border-color: ${(e) => e.secondary || "#e0e0e0"};
794
- border-right-color: ${(e) => e.primary || "#616161"};
795
- animation: ${pt} 1s linear infinite;
796
- `, ht = V`
797
- from {
798
- transform: scale(0) rotate(45deg);
799
- opacity: 0;
800
- }
801
- to {
802
- transform: scale(1) rotate(45deg);
803
- opacity: 1;
804
- }`, gt = V`
805
- 0% {
806
- height: 0;
807
- width: 0;
808
- opacity: 0;
809
- }
810
- 40% {
811
- height: 0;
812
- width: 6px;
813
- opacity: 1;
814
- }
815
- 100% {
816
- opacity: 1;
817
- height: 10px;
818
- }`, _t = H("div")`
819
- width: 20px;
820
- opacity: 0;
821
- height: 20px;
822
- border-radius: 10px;
823
- background: ${(e) => e.primary || "#61d345"};
824
- position: relative;
825
- transform: rotate(45deg);
826
-
827
- animation: ${ht} 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)
828
- forwards;
829
- animation-delay: 100ms;
830
- &:after {
831
- content: '';
832
- box-sizing: border-box;
833
- animation: ${gt} 0.2s ease-out forwards;
834
- opacity: 0;
835
- animation-delay: 200ms;
836
- position: absolute;
837
- border-right: 2px solid;
838
- border-bottom: 2px solid;
839
- border-color: ${(e) => e.secondary || "#fff"};
840
- bottom: 6px;
841
- left: 6px;
842
- height: 10px;
843
- width: 6px;
844
- }
845
- `, vt = H("div")`
846
- position: absolute;
847
- `, yt = H("div")`
848
- position: relative;
849
- display: flex;
850
- justify-content: center;
851
- align-items: center;
852
- min-width: 20px;
853
- min-height: 20px;
854
- `, bt = V`
855
- from {
856
- transform: scale(0.6);
857
- opacity: 0.4;
858
- }
859
- to {
860
- transform: scale(1);
861
- opacity: 1;
862
- }`, xt = H("div")`
863
- position: relative;
864
- transform: scale(0.6);
865
- opacity: 0.4;
866
- min-width: 20px;
867
- animation: ${bt} 0.3s 0.12s cubic-bezier(0.175, 0.885, 0.32, 1.275)
868
- forwards;
869
- `, St = ({ toast: e }) => {
870
- let { icon: t, type: n, iconTheme: r } = e;
871
- return t === void 0 ? n === "blank" ? null : s(yt, null, s(mt, { ...r }), n !== "loading" && s(vt, null, s(n === "error" ? ft : _t, { ...r }))) : typeof t == "string" ? s(xt, null, t) : t;
872
- }, Ct = (e) => `
873
- 0% {transform: translate3d(0,${e * -200}%,0) scale(.6); opacity:.5;}
874
- 100% {transform: translate3d(0,0,0) scale(1); opacity:1;}
875
- `, wt = (e) => `
876
- 0% {transform: translate3d(0,0,-1px) scale(1); opacity:1;}
877
- 100% {transform: translate3d(0,${e * -150}%,-1px) scale(.6); opacity:0;}
878
- `, Tt = "0%{opacity:0;} 100%{opacity:1;}", Et = "0%{opacity:1;} 100%{opacity:0;}", Dt = H("div")`
879
- display: flex;
880
- align-items: center;
881
- background: #fff;
882
- color: #363636;
883
- line-height: 1.3;
884
- will-change: transform;
885
- box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1), 0 3px 3px rgba(0, 0, 0, 0.05);
886
- max-width: 350px;
887
- pointer-events: auto;
888
- padding: 8px 10px;
889
- border-radius: 8px;
890
- `, Ot = H("div")`
891
- display: flex;
892
- justify-content: center;
893
- margin: 4px 10px;
894
- color: inherit;
895
- flex: 1 1 auto;
896
- white-space: pre-line;
897
- `, kt = (e, t) => {
898
- let n = e.includes("top") ? 1 : -1, [r, i] = $e() ? [Tt, Et] : [Ct(n), wt(n)];
899
- return { animation: t ? `${V(r)} 0.35s cubic-bezier(.21,1.02,.73,1) forwards` : `${V(i)} 0.4s forwards cubic-bezier(.06,.71,.55,1)` };
900
- };
901
- c(({ toast: e, position: t, style: n, children: r }) => {
902
- let i = e.height ? kt(e.position || t || "top-center", e.visible) : { opacity: 0 }, a = s(St, { toast: e }), o = s(Ot, { ...e.ariaProps }, U(e.message, e));
903
- return s(Dt, {
904
- className: e.className,
905
- style: {
906
- ...i,
907
- ...n,
908
- ...e.style
909
- }
910
- }, typeof r == "function" ? r({
911
- icon: a,
912
- message: o
913
- }) : s(l, null, a, o));
914
- }), Xe(s), R`
915
- z-index: 9999;
916
- > * {
917
- pointer-events: auto;
918
- }
919
- `;
920
- var J = q;
921
- //#endregion
922
- //#region ../admin-x-framework/dist/utils/toast.js
923
- a();
924
- var At = ({ className: e }) => /* @__PURE__ */ (0, k.jsx)("svg", {
925
- className: e,
926
- viewBox: "0 0 24 24",
927
- xmlns: "http://www.w3.org/2000/svg",
928
- children: /* @__PURE__ */ (0, k.jsx)("path", {
929
- d: "m23.77 20.57 -10 -19A2 2 0 0 0 12 0.5a2 2 0 0 0 -1.77 1.07l-10 19a2 2 0 0 0 0.06 2A2 2 0 0 0 2 23.5h20a2 2 0 0 0 1.77 -2.93ZM11 8.5a1 1 0 0 1 2 0v6a1 1 0 0 1 -2 0ZM12.05 20a1.53 1.53 0 0 1 -1.52 -1.47A1.48 1.48 0 0 1 12 17a1.53 1.53 0 0 1 1.52 1.47A1.48 1.48 0 0 1 12.05 20Z",
930
- fill: "currentColor"
931
- })
932
- }), jt = ({ className: e }) => /* @__PURE__ */ (0, k.jsxs)("svg", {
933
- className: e,
934
- viewBox: "0 0 24 24",
935
- xmlns: "http://www.w3.org/2000/svg",
936
- children: [/* @__PURE__ */ (0, k.jsx)("line", {
937
- fill: "none",
938
- stroke: "currentColor",
939
- strokeLinecap: "round",
940
- strokeLinejoin: "round",
941
- strokeWidth: "1.5",
942
- x1: "0.75",
943
- x2: "23.25",
944
- y1: "23.249",
945
- y2: "0.749"
946
- }), /* @__PURE__ */ (0, k.jsx)("line", {
947
- fill: "none",
948
- stroke: "currentColor",
949
- strokeLinecap: "round",
950
- strokeLinejoin: "round",
951
- strokeWidth: "1.5",
952
- x1: "23.25",
953
- x2: "0.75",
954
- y1: "23.249",
955
- y2: "0.749"
956
- })]
957
- }), Mt = ({ message: e, type: t }) => {
958
- J.custom((n) => /* @__PURE__ */ (0, k.jsxs)("div", {
959
- className: `relative z-[90] mb-[14px] ml-[6px] flex min-w-[272px] max-w-[320px] items-start justify-between gap-3 rounded-lg bg-white p-4 text-black shadow-md-heavy dark:bg-grey-900 dark:text-white ${n.visible ? "animate-toaster-in" : "animate-toaster-out"}`,
960
- "data-testid": `toast-${t}`,
961
- children: [/* @__PURE__ */ (0, k.jsxs)("div", {
962
- className: "mr-7 flex items-start gap-[10px]",
963
- children: [/* @__PURE__ */ (0, k.jsx)("div", {
964
- className: "mt-px",
965
- children: /* @__PURE__ */ (0, k.jsx)(At, { className: "pointer-events-none size-4 grow text-red" })
966
- }), /* @__PURE__ */ (0, k.jsx)("div", { children: /* @__PURE__ */ (0, k.jsx)("div", {
967
- className: "text-grey-900 dark:text-grey-300",
968
- children: e
969
- }) })]
970
- }), /* @__PURE__ */ (0, k.jsx)("button", {
971
- className: "absolute top-5 right-5 -mt-1.5 -mr-1.5 cursor-pointer rounded-full p-2 text-grey-700 hover:text-black dark:hover:text-white",
972
- type: "button",
973
- onClick: () => J.dismiss(n.id),
974
- children: /* @__PURE__ */ (0, k.jsx)("div", { children: /* @__PURE__ */ (0, k.jsx)(jt, { className: "pointer-events-none size-2 stroke-2" }) })
975
- })]
976
- }), {
977
- position: "bottom-left",
978
- duration: 5e3
979
- });
980
- };
981
- //#endregion
982
- //#region ../admin-x-framework/dist/hooks/use-handle-error.js
983
- a();
984
- function Nt(e) {
985
- J.remove(), Mt({
986
- message: e,
987
- type: "error"
988
- });
989
- }
990
- var Y = () => {
991
- let { sentryDSN: e } = T();
992
- return o((t, { withToast: n = !0 } = {}) => {
993
- console.error(t), e && !(t instanceof F) && ne((e) => {
994
- t instanceof j && t.response && (e.setTag("api_url", t.response.url), e.setTag("api_response_status", t.response.status)), ae(t);
995
- }), n && (t instanceof j && t.response?.status === 418 || t instanceof F ? J.remove() : t instanceof j ? Nt(Be(t, t.message)) : Nt("Something went wrong, please try again."));
996
- }, [e]);
997
- };
998
- //#endregion
999
- //#region ../admin-x-framework/dist/utils/helpers.js
1000
- function Pt() {
1001
- let e = window.location.pathname, t = e.substr(0, e.search("/ghost/"));
1002
- return {
1003
- subdir: t,
1004
- adminRoot: `${t}/ghost/`,
1005
- assetRoot: `${t}/ghost/assets/`,
1006
- apiRoot: `${t}/ghost/api/admin`,
1007
- activityPubRoot: `${t}/.ghost/activitypub`
1008
- };
1009
- }
1010
- //#endregion
1011
- //#region ../admin-x-framework/dist/utils/api/handle-response.js
1012
- var Ft = async (e) => {
1013
- if (e.status === 0) throw new N();
1014
- if (e.status === 503) throw new Fe(e, await e.text());
1015
- if (e.status === 415) throw new Pe(e, await e.text());
1016
- if (e.status === 413) throw new Ne(e, await e.text());
1017
- if (e.status === 401) throw e.headers.get("content-type")?.includes("json") ? new P(e, await e.json()) : new P(e, await e.text());
1018
- if (!e.ok) {
1019
- if (!e.headers.get("content-type")?.includes("json")) throw new j(e, await e.text());
1020
- let t = await e.json();
1021
- throw e.status === 403 && t.errors?.[0]?.message === "Authorization failed" ? new P(e, t) : t.errors?.[0]?.type === "VersionMismatchError" ? new je(e, t) : t.errors?.[0]?.type === "ValidationError" || t.errors?.[0]?.type === "NoPermissionError" ? new ze(e, t) : t.errors?.[0]?.type === "ThemeValidationError" ? new Ie(e, t) : t.errors?.[0]?.type === "HostLimitError" ? new Le(e, t) : t.errors?.[0]?.type === "EmailError" ? new Re(e, t) : new M(e, t);
1022
- } else if (e.status === 204) return;
1023
- else if (e.headers.get("content-type")?.includes("text/csv")) return await e.text();
1024
- else return await e.json();
1025
- };
1026
- //#endregion
1027
- //#region ../admin-x-framework/dist/utils/api/fetch-api.js
1028
- a();
1029
- var It = (e) => {
1030
- let t = new Headers(), n = e.getAllResponseHeaders()?.split("\r\n") || [];
1031
- for (let e of n) {
1032
- let n = e.indexOf(":");
1033
- if (n === -1) continue;
1034
- let r = e.slice(0, n), i = e.slice(n + 1).trim();
1035
- t.append(r, i);
1036
- }
1037
- return t;
1038
- }, Lt = (e) => new Response(e.response, {
1039
- status: e.status,
1040
- statusText: e.statusText,
1041
- headers: It(e)
1042
- }), Rt = /\/ghost\/api\//, zt = /\/ghost\/api\/admin\/session([/?#]|$)/, Bt = /^#\/(?:reset|setup|signin|signup)(?:[/?]|$)/, Vt = !1, Ht = (e) => window.location.pathname === e && (!window.location.hash || window.location.hash === "#/" || Bt.test(window.location.hash)), Ut = (e) => {
1043
- let t = e.toString();
1044
- return Rt.test(t) && !zt.test(t);
1045
- }, Wt = () => {
1046
- let { adminRoot: e } = Pt();
1047
- !Vt && !Ht(e) && (Vt = !0, window.location.replace(e));
1048
- }, Gt = (e, t, { method: n, headers: r, credentials: i, body: a, signal: o }) => new Promise((s, c) => {
1049
- let l = () => {
1050
- c(new DOMException("Aborted", "AbortError"));
1051
- };
1052
- if (o.aborted) {
1053
- l();
1054
- return;
1055
- }
1056
- let u = new XMLHttpRequest();
1057
- switch (u.open(n, t.toString(), !0), i) {
1058
- case "omit": throw Error("\"omit\" credentials cannot be represented with legacy XMLHttpRequest. Consider \"same-origin\".");
1059
- case "same-origin":
1060
- u.withCredentials = !1;
1061
- break;
1062
- case "include":
1063
- u.withCredentials = !0;
1064
- break;
1065
- default: throw Error(i);
1066
- }
1067
- u.responseType = "arraybuffer";
1068
- for (let [e, t] of Object.entries(r)) u.setRequestHeader(e, t);
1069
- u.upload.onprogress = (t) => {
1070
- t.lengthComputable && e(t.loaded / t.total * 100);
1071
- }, u.onload = () => {
1072
- s(Lt(u));
1073
- }, u.onerror = () => {
1074
- c(/* @__PURE__ */ TypeError("Network request failed"));
1075
- }, u.onabort = l;
1076
- let d = () => u.abort();
1077
- o.addEventListener("abort", d), u.onloadend = () => {
1078
- o.removeEventListener("abort", d);
1079
- }, u.send(a);
1080
- }), X = () => {
1081
- let { ghostVersion: e, sentryDSN: t } = T();
1082
- return o(async (n, { method: r = "GET", headers: i = {}, body: a, credentials: o = "include", timeout: s, retry: c = !0, onUploadProgress: l } = {}) => {
1083
- let u = new AbortController(), d = {
1084
- method: r,
1085
- headers: {
1086
- "app-pragma": "no-cache",
1087
- ...e ? { "x-ghost-version": e } : {},
1088
- ...typeof a == "string" ? { "content-type": "application/json" } : {},
1089
- ...i
1090
- },
1091
- credentials: o,
1092
- mode: "cors",
1093
- body: a,
1094
- signal: u.signal
1095
- }, f = 0, p = 0, m = Date.now(), h = [500, 1e3], g = [
1096
- N,
1097
- Fe,
1098
- TypeError
1099
- ], _ = (e, t) => {
1100
- let r = {
1101
- errorName: e?.name,
1102
- attempts: f,
1103
- totalSeconds: p / 1e3,
1104
- endpoint: n.toString()
1105
- };
1106
- return n.toString().includes("/ghost/api/") && (r.server = t?.headers.get("server")), r;
1107
- }, v = l ? Gt.bind(null, l) : fetch, y = s ? setTimeout(() => u.abort(), s) : void 0;
1108
- try {
1109
- for (; f === 0 || c;) try {
1110
- return await Ft(await v(n, d));
1111
- } catch (e) {
1112
- if (p = Date.now() - m, c && g.some((t) => e instanceof t) && p <= 15e3) {
1113
- await new Promise((e) => {
1114
- setTimeout(e, h[f] || h[h.length - 1]);
1115
- }), f += 1;
1116
- continue;
1117
- }
1118
- if (f !== 0 && t && ie("Request failed after multiple attempts", { extra: _() }), e && typeof e == "object" && "name" in e && e.name === "AbortError") throw new Me();
1119
- if (e instanceof P && Ut(n)) throw Wt(), new F(e.response, e.data, { cause: e });
1120
- let r = e;
1121
- throw e instanceof j || (r = new N({ cause: e })), r;
1122
- }
1123
- } finally {
1124
- clearTimeout(y);
1125
- }
1126
- }, [e, t]);
1127
- }, { apiRoot: Kt, activityPubRoot: qt } = Pt(), Z = (e, t = {}, n = !1) => {
1128
- let r = new URL(`${n ? qt : Kt}${e}`, window.location.origin);
1129
- return r.search = new URLSearchParams(t).toString(), r.toString();
1130
- };
1131
- //#endregion
1132
- //#region ../admin-x-framework/dist/api/current-user.js
1133
- a();
1134
- var Jt = "UsersResponseType", Yt = Z("/users/me/", { include: "roles" }), Xt = [Jt, Yt], Zt = () => {
1135
- let e = X(), t = Y(), n = A({
1136
- queryKey: Xt,
1137
- queryFn: () => e(Yt),
1138
- select: (e) => e.users[0]
1139
- });
1140
- return u(() => {
1141
- n.error && t(n.error);
1142
- }, [t, n.error]), n;
1143
- }, Qt = (e) => {
1144
- let { data: t } = Zt();
1145
- if (!e || e.length === 0) return !0;
1146
- let n = t?.roles.map((e) => e.name);
1147
- return n ? e.some((e) => n.includes(e)) : !1;
1148
- };
1149
- //#endregion
1150
- //#region ../admin-x-framework/dist/utils/api/hooks.js
1151
- a();
1152
- var $t = (e) => ({ searchParams: n, ...r } = {}) => {
1153
- let i = Z(e.path, n || e.defaultSearchParams, e?.useActivityPub), a = X(), o = Y(), s = Qt(e.permissions), c = A({
1154
- ...r,
1155
- enabled: s && (r.enabled ?? !0),
1156
- queryKey: [e.dataType, i],
1157
- queryFn: () => a(i, { ...e })
1158
- }), l = t(() => c.data && e.returnData ? e.returnData(c.data) : c.data, [c.data]);
1159
- return u(() => {
1160
- c.error && r.defaultErrorHandler !== !1 && o(c.error);
1161
- }, [
1162
- o,
1163
- c.error,
1164
- r.defaultErrorHandler
1165
- ]), {
1166
- ...c,
1167
- data: l
1168
- };
1169
- }, en = (e) => ({ searchParams: n, getNextPageParams: r, ...i } = {}) => {
1170
- let a = X(), o = Y(), s = Qt(e.permissions), c = r || e.defaultNextPageParams || (() => ({})), l = Ae({
1171
- ...i,
1172
- enabled: s && (i.enabled ?? !0),
1173
- queryKey: [e.dataType, Z(e.path, n || e.defaultSearchParams, e?.useActivityPub)],
1174
- queryFn: ({ pageParam: t }) => a(Z(e.path, t || n || e.defaultSearchParams, e?.useActivityPub)),
1175
- initialPageParam: void 0,
1176
- getNextPageParam: (t) => c(t, n || e.defaultSearchParams || {})
1177
- }), d = t(() => l.data && e.returnData(l.data), [l.data]);
1178
- return u(() => {
1179
- l.error && i.defaultErrorHandler !== !1 && o(l.error);
1180
- }, [
1181
- o,
1182
- l.error,
1183
- i.defaultErrorHandler
1184
- ]), {
1185
- ...l,
1186
- data: d
1187
- };
1188
- }, tn = ({ fetchApi: e, path: t, payload: n, searchParams: r, options: i }) => {
1189
- let { defaultSearchParams: a, body: o, ...s } = i, c = Z(t, r || a, i?.useActivityPub), l = n && o?.(n), u;
1190
- return l instanceof FormData ? u = l : l && (u = JSON.stringify(l)), e(c, {
1191
- body: u,
1192
- ...s
1193
- });
1194
- }, Q = ({ path: e, searchParams: t, defaultSearchParams: n, updateQueries: r, invalidateQueries: i, ...a }) => () => {
1195
- let s = X(), c = E(), { onUpdate: l, onInvalidate: u, onDelete: d } = T();
1196
- return ke({
1197
- mutationFn: (r) => tn({
1198
- fetchApi: s,
1199
- path: e(r),
1200
- payload: r,
1201
- searchParams: t?.(r) || n,
1202
- options: a
1203
- }),
1204
- onSuccess: o((e, t) => {
1205
- if (i && "dataType" in i ? (c.invalidateQueries({ queryKey: [i.dataType] }), u(i.dataType)) : i && c.invalidateQueries(i.filters, i.options), r) {
1206
- if (c.setQueriesData({ queryKey: [r.dataType] }, (n) => r.update(e, n, t)), r.emberUpdateType === "createOrUpdate") l(r.dataType, e);
1207
- else if (r.emberUpdateType === "delete") {
1208
- if (typeof t != "string") throw Error("Expected delete mutation to have a string (ID) payload. Either change the payload or update the createMutation hook");
1209
- d(r.dataType, t);
1210
- }
1211
- }
1212
- }, [
1213
- u,
1214
- l,
1215
- d,
1216
- c
1217
- ])
1218
- });
1219
- }, nn = (e, t) => (n, r) => {
1220
- if (!r) return r;
1221
- let i = (t || ((t) => t[e].reduce((e, t) => ({
1222
- ...e,
1223
- [t.id]: t
1224
- }), {})))(n);
1225
- if (typeof r == "object" && "pages" in r) {
1226
- let { pages: t } = r;
1227
- return {
1228
- ...r,
1229
- pages: t.map((t) => ({
1230
- ...t,
1231
- [e]: t[e].map((e) => i[e.id] || e)
1232
- }))
1233
- };
1234
- }
1235
- return {
1236
- ...r,
1237
- [e]: r[e].map((e) => i[e.id] || e)
1238
- };
1239
- }, rn = (e, t) => (n, r, i) => {
1240
- if (!r) return r;
1241
- let a = t?.(i) || [i];
1242
- if (typeof r == "object" && "pages" in r) {
1243
- let { pages: t } = r;
1244
- return {
1245
- ...r,
1246
- pages: t.map((t) => ({
1247
- ...t,
1248
- [e]: t[e].filter((e) => !a.includes(e.id))
1249
- }))
1250
- };
1251
- }
1252
- return {
1253
- ...r,
1254
- [e]: r[e].filter((e) => !a.includes(e.id))
1255
- };
1256
- }, $ = Jt, an = en({
1257
- dataType: $,
1258
- path: "/users/",
1259
- defaultSearchParams: {
1260
- limit: "100",
1261
- include: "roles"
1262
- },
1263
- defaultNextPageParams: (e, t) => ({
1264
- ...t,
1265
- page: (e.meta?.pagination.next || 1).toString()
1266
- }),
1267
- returnData: (e) => {
1268
- let { pages: t } = e, n = t.flatMap((e) => e.users), r = t[t.length - 1].meta;
1269
- return {
1270
- users: n,
1271
- meta: r,
1272
- isEnd: r ? r.pagination.pages === r.pagination.page : !0
1273
- };
1274
- }
1275
- }), on = Q({
1276
- method: "PUT",
1277
- path: (e) => `/users/${e.id}/`,
1278
- body: (e) => ({ users: [e] }),
1279
- searchParams: () => ({ include: "roles" }),
1280
- updateQueries: {
1281
- dataType: $,
1282
- emberUpdateType: "createOrUpdate",
1283
- update: nn("users")
1284
- }
1285
- });
1286
- Q({
1287
- method: "DELETE",
1288
- path: (e) => `/users/${e}/`,
1289
- updateQueries: {
1290
- dataType: $,
1291
- emberUpdateType: "delete",
1292
- update: rn("users")
1293
- }
1294
- }), Q({
1295
- method: "PUT",
1296
- path: () => "/users/password/",
1297
- body: ({ newPassword: e, confirmNewPassword: t, userId: n, oldPassword: r }) => ({ password: [{
1298
- user_id: n,
1299
- oldPassword: r || "",
1300
- newPassword: e,
1301
- ne2Password: t
1302
- }] })
1303
- }), Q({
1304
- method: "PUT",
1305
- path: () => "/users/owner/",
1306
- body: (e) => ({ owner: [{ id: e }] }),
1307
- updateQueries: {
1308
- dataType: $,
1309
- emberUpdateType: "createOrUpdate",
1310
- update: nn("users")
1311
- }
1312
- });
1313
- //#endregion
1314
- export { Ae as a, Zt as i, on as n, ke as o, $t as r, A as s, an as t };
1315
-
1316
- //# sourceMappingURL=users-CfyHIsTG.js.map