@monetize.software/sdk 3.0.0-alpha.8 → 3.0.0-alpha.9

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 (201) hide show
  1. package/dist/chunks/{PaywallUI-BrDiS6zg.js → PaywallUI-BhQpWSWN.js} +380 -375
  2. package/dist/chunks/PaywallUI-BhQpWSWN.js.map +1 -0
  3. package/dist/chunks/PaywallUI-C7Wp2TiR.js +26 -0
  4. package/dist/chunks/PaywallUI-C7Wp2TiR.js.map +1 -0
  5. package/dist/chunks/ar-7cgIM-Vl.js +2 -0
  6. package/dist/chunks/ar-7cgIM-Vl.js.map +1 -0
  7. package/dist/chunks/{ar-CHae8g-2.js → ar-B2Wg_IrC.js} +2 -2
  8. package/dist/chunks/ar-B2Wg_IrC.js.map +1 -0
  9. package/dist/chunks/{cs-eZTedzaK.js → cs-BNo9Dx0Q.js} +2 -2
  10. package/dist/chunks/cs-BNo9Dx0Q.js.map +1 -0
  11. package/dist/chunks/cs-S05PC5AC.js +2 -0
  12. package/dist/chunks/cs-S05PC5AC.js.map +1 -0
  13. package/dist/chunks/da-Bi4zBG14.js +2 -0
  14. package/dist/chunks/da-Bi4zBG14.js.map +1 -0
  15. package/dist/chunks/{da-Dca6j8fp.js → da-Do9Lq6En.js} +2 -2
  16. package/dist/chunks/da-Do9Lq6En.js.map +1 -0
  17. package/dist/chunks/{de-BCjn3PUI.js → de-C8pDZNvx.js} +2 -2
  18. package/dist/chunks/de-C8pDZNvx.js.map +1 -0
  19. package/dist/chunks/de-nCDB6D2W.js +2 -0
  20. package/dist/chunks/de-nCDB6D2W.js.map +1 -0
  21. package/dist/chunks/el-BrKaa978.js +2 -0
  22. package/dist/chunks/el-BrKaa978.js.map +1 -0
  23. package/dist/chunks/{el-BpXtDTez.js → el-DzMNX-_P.js} +2 -2
  24. package/dist/chunks/el-DzMNX-_P.js.map +1 -0
  25. package/dist/chunks/es-B-Wtyzrl.js +2 -0
  26. package/dist/chunks/es-B-Wtyzrl.js.map +1 -0
  27. package/dist/chunks/{es-B3P4nlMw.js → es-YrKt-q4w.js} +2 -2
  28. package/dist/chunks/es-YrKt-q4w.js.map +1 -0
  29. package/dist/chunks/{fi-BbQ_Bs0Z.js → fi-Bh44pwZ4.js} +2 -2
  30. package/dist/chunks/fi-Bh44pwZ4.js.map +1 -0
  31. package/dist/chunks/fi-D1SGXjnO.js +2 -0
  32. package/dist/chunks/fi-D1SGXjnO.js.map +1 -0
  33. package/dist/chunks/{fr-BKDUXceO.js → fr-Bc0pw4ws.js} +2 -2
  34. package/dist/chunks/fr-Bc0pw4ws.js.map +1 -0
  35. package/dist/chunks/fr-BhYf-iKk.js +2 -0
  36. package/dist/chunks/fr-BhYf-iKk.js.map +1 -0
  37. package/dist/chunks/he-BXAaFv6Y.js +2 -0
  38. package/dist/chunks/he-BXAaFv6Y.js.map +1 -0
  39. package/dist/chunks/{he-BVCHlTtT.js → he-Bfm-bhe3.js} +2 -2
  40. package/dist/chunks/he-Bfm-bhe3.js.map +1 -0
  41. package/dist/chunks/{hi-H_Hshh-7.js → hi-D-O-B9Dn.js} +2 -2
  42. package/dist/chunks/hi-D-O-B9Dn.js.map +1 -0
  43. package/dist/chunks/hi-xblDO0O7.js +2 -0
  44. package/dist/chunks/hi-xblDO0O7.js.map +1 -0
  45. package/dist/chunks/{hu-ZWiNfzvN.js → hu-CmIuAbLL.js} +2 -2
  46. package/dist/chunks/hu-CmIuAbLL.js.map +1 -0
  47. package/dist/chunks/hu-Wa46p0y4.js +2 -0
  48. package/dist/chunks/hu-Wa46p0y4.js.map +1 -0
  49. package/dist/chunks/id-CQEo5X94.js +2 -0
  50. package/dist/chunks/id-CQEo5X94.js.map +1 -0
  51. package/dist/chunks/{id-DeiRYsJ1.js → id-DN7IES-A.js} +2 -2
  52. package/dist/chunks/id-DN7IES-A.js.map +1 -0
  53. package/dist/chunks/it-8AYCm0xz.js +2 -0
  54. package/dist/chunks/it-8AYCm0xz.js.map +1 -0
  55. package/dist/chunks/{it-UH9OzFhg.js → it-Cz5Nmqx5.js} +2 -2
  56. package/dist/chunks/it-Cz5Nmqx5.js.map +1 -0
  57. package/dist/chunks/{ja-BYC8FRN8.js → ja-BH9BlBh2.js} +2 -2
  58. package/dist/chunks/ja-BH9BlBh2.js.map +1 -0
  59. package/dist/chunks/ja-q-COVayn.js +2 -0
  60. package/dist/chunks/ja-q-COVayn.js.map +1 -0
  61. package/dist/chunks/ko-B6HRCscZ.js +2 -0
  62. package/dist/chunks/ko-B6HRCscZ.js.map +1 -0
  63. package/dist/chunks/{ko-Bjs2ZRcF.js → ko-CYV9QuYs.js} +2 -2
  64. package/dist/chunks/ko-CYV9QuYs.js.map +1 -0
  65. package/dist/chunks/{nl-Ch5HFWQO.js → nl-BvkB900D.js} +2 -2
  66. package/dist/chunks/nl-BvkB900D.js.map +1 -0
  67. package/dist/chunks/nl-CAd6_xlm.js +2 -0
  68. package/dist/chunks/nl-CAd6_xlm.js.map +1 -0
  69. package/dist/chunks/{no-CljpinWz.js → no-3s9_ormb.js} +2 -2
  70. package/dist/chunks/no-3s9_ormb.js.map +1 -0
  71. package/dist/chunks/no-CAmz6bz6.js +2 -0
  72. package/dist/chunks/no-CAmz6bz6.js.map +1 -0
  73. package/dist/chunks/{pl-CUcSS0zZ.js → pl-C9WTGQtb.js} +2 -2
  74. package/dist/chunks/pl-C9WTGQtb.js.map +1 -0
  75. package/dist/chunks/pl-DqUSTCaF.js +2 -0
  76. package/dist/chunks/pl-DqUSTCaF.js.map +1 -0
  77. package/dist/chunks/pt-8ARZnH0_.js +2 -0
  78. package/dist/chunks/pt-8ARZnH0_.js.map +1 -0
  79. package/dist/chunks/{pt-BHK0LwkC.js → pt-uFVUv_Op.js} +2 -2
  80. package/dist/chunks/pt-uFVUv_Op.js.map +1 -0
  81. package/dist/chunks/{ro-Bj8cwU2n.js → ro-BrqQ8Au-.js} +2 -2
  82. package/dist/chunks/ro-BrqQ8Au-.js.map +1 -0
  83. package/dist/chunks/ro-D-NMbp2F.js +2 -0
  84. package/dist/chunks/ro-D-NMbp2F.js.map +1 -0
  85. package/dist/chunks/ru-8gbHPh0g.js +2 -0
  86. package/dist/chunks/ru-8gbHPh0g.js.map +1 -0
  87. package/dist/chunks/{ru-CgqNy0Gb.js → ru-DK594dA8.js} +2 -2
  88. package/dist/chunks/ru-DK594dA8.js.map +1 -0
  89. package/dist/chunks/{sv-H7jroOQ5.js → sv-CHNH8-mq.js} +2 -2
  90. package/dist/chunks/sv-CHNH8-mq.js.map +1 -0
  91. package/dist/chunks/sv-D8a8hmx9.js +2 -0
  92. package/dist/chunks/sv-D8a8hmx9.js.map +1 -0
  93. package/dist/chunks/th-DfjUK0Y7.js +2 -0
  94. package/dist/chunks/th-DfjUK0Y7.js.map +1 -0
  95. package/dist/chunks/{th-Dqm-gpGe.js → th-l24Pm5q-.js} +2 -2
  96. package/dist/chunks/th-l24Pm5q-.js.map +1 -0
  97. package/dist/chunks/{tr-D3zPcNtT.js → tr-ADpigSY5.js} +2 -2
  98. package/dist/chunks/tr-ADpigSY5.js.map +1 -0
  99. package/dist/chunks/tr-BdBpz4tL.js +2 -0
  100. package/dist/chunks/tr-BdBpz4tL.js.map +1 -0
  101. package/dist/chunks/{uk-CoIIs3QI.js → uk-CGqo4jek.js} +2 -2
  102. package/dist/chunks/uk-CGqo4jek.js.map +1 -0
  103. package/dist/chunks/uk-Cx1zv1ao.js +2 -0
  104. package/dist/chunks/uk-Cx1zv1ao.js.map +1 -0
  105. package/dist/chunks/{vi-C_fruIbh.js → vi-Dk9bTu6f.js} +2 -2
  106. package/dist/chunks/vi-Dk9bTu6f.js.map +1 -0
  107. package/dist/chunks/vi-oe2dW21I.js +2 -0
  108. package/dist/chunks/vi-oe2dW21I.js.map +1 -0
  109. package/dist/core.cjs +1 -1
  110. package/dist/core.cjs.map +1 -1
  111. package/dist/core.d.ts +21 -13
  112. package/dist/core.js +178 -158
  113. package/dist/core.js.map +1 -1
  114. package/dist/index.cjs +1 -1
  115. package/dist/index.d.ts +21 -13
  116. package/dist/index.js +1 -1
  117. package/dist/ui.cjs +1 -1
  118. package/dist/ui.d.ts +21 -13
  119. package/dist/ui.js +1 -1
  120. package/package.json +1 -1
  121. package/dist/chunks/PaywallUI-BrDiS6zg.js.map +0 -1
  122. package/dist/chunks/PaywallUI-Bvx8nRL0.js +0 -26
  123. package/dist/chunks/PaywallUI-Bvx8nRL0.js.map +0 -1
  124. package/dist/chunks/ar-CHae8g-2.js.map +0 -1
  125. package/dist/chunks/ar-E1mc8SO_.js +0 -2
  126. package/dist/chunks/ar-E1mc8SO_.js.map +0 -1
  127. package/dist/chunks/cs-Dccq6LAT.js +0 -2
  128. package/dist/chunks/cs-Dccq6LAT.js.map +0 -1
  129. package/dist/chunks/cs-eZTedzaK.js.map +0 -1
  130. package/dist/chunks/da-C_4MbEh5.js +0 -2
  131. package/dist/chunks/da-C_4MbEh5.js.map +0 -1
  132. package/dist/chunks/da-Dca6j8fp.js.map +0 -1
  133. package/dist/chunks/de-BCjn3PUI.js.map +0 -1
  134. package/dist/chunks/de-DulxcJj-.js +0 -2
  135. package/dist/chunks/de-DulxcJj-.js.map +0 -1
  136. package/dist/chunks/el-BpXtDTez.js.map +0 -1
  137. package/dist/chunks/el-CVG_1iKB.js +0 -2
  138. package/dist/chunks/el-CVG_1iKB.js.map +0 -1
  139. package/dist/chunks/es-B3P4nlMw.js.map +0 -1
  140. package/dist/chunks/es-ri0uKzUW.js +0 -2
  141. package/dist/chunks/es-ri0uKzUW.js.map +0 -1
  142. package/dist/chunks/fi-BbQ_Bs0Z.js.map +0 -1
  143. package/dist/chunks/fi-CNZqWHjw.js +0 -2
  144. package/dist/chunks/fi-CNZqWHjw.js.map +0 -1
  145. package/dist/chunks/fr-BKDUXceO.js.map +0 -1
  146. package/dist/chunks/fr-CfFOw4hD.js +0 -2
  147. package/dist/chunks/fr-CfFOw4hD.js.map +0 -1
  148. package/dist/chunks/he-BVCHlTtT.js.map +0 -1
  149. package/dist/chunks/he-DN2JEtQb.js +0 -2
  150. package/dist/chunks/he-DN2JEtQb.js.map +0 -1
  151. package/dist/chunks/hi-DxfOerNP.js +0 -2
  152. package/dist/chunks/hi-DxfOerNP.js.map +0 -1
  153. package/dist/chunks/hi-H_Hshh-7.js.map +0 -1
  154. package/dist/chunks/hu-BTImywuV.js +0 -2
  155. package/dist/chunks/hu-BTImywuV.js.map +0 -1
  156. package/dist/chunks/hu-ZWiNfzvN.js.map +0 -1
  157. package/dist/chunks/id-DeiRYsJ1.js.map +0 -1
  158. package/dist/chunks/id-YFuArJA6.js +0 -2
  159. package/dist/chunks/id-YFuArJA6.js.map +0 -1
  160. package/dist/chunks/it-UH9OzFhg.js.map +0 -1
  161. package/dist/chunks/it-mhkzXBM9.js +0 -2
  162. package/dist/chunks/it-mhkzXBM9.js.map +0 -1
  163. package/dist/chunks/ja-6l_z_G9k.js +0 -2
  164. package/dist/chunks/ja-6l_z_G9k.js.map +0 -1
  165. package/dist/chunks/ja-BYC8FRN8.js.map +0 -1
  166. package/dist/chunks/ko-Bjs2ZRcF.js.map +0 -1
  167. package/dist/chunks/ko-YAl4XwHu.js +0 -2
  168. package/dist/chunks/ko-YAl4XwHu.js.map +0 -1
  169. package/dist/chunks/nl-C-9zHtfb.js +0 -2
  170. package/dist/chunks/nl-C-9zHtfb.js.map +0 -1
  171. package/dist/chunks/nl-Ch5HFWQO.js.map +0 -1
  172. package/dist/chunks/no-CljpinWz.js.map +0 -1
  173. package/dist/chunks/no-qzPitLlx.js +0 -2
  174. package/dist/chunks/no-qzPitLlx.js.map +0 -1
  175. package/dist/chunks/pl-CUcSS0zZ.js.map +0 -1
  176. package/dist/chunks/pl-MAIYeuhW.js +0 -2
  177. package/dist/chunks/pl-MAIYeuhW.js.map +0 -1
  178. package/dist/chunks/pt-BHK0LwkC.js.map +0 -1
  179. package/dist/chunks/pt-DqDabE4v.js +0 -2
  180. package/dist/chunks/pt-DqDabE4v.js.map +0 -1
  181. package/dist/chunks/ro-BVs-lHH-.js +0 -2
  182. package/dist/chunks/ro-BVs-lHH-.js.map +0 -1
  183. package/dist/chunks/ro-Bj8cwU2n.js.map +0 -1
  184. package/dist/chunks/ru-CgqNy0Gb.js.map +0 -1
  185. package/dist/chunks/ru-DP7qDAmE.js +0 -2
  186. package/dist/chunks/ru-DP7qDAmE.js.map +0 -1
  187. package/dist/chunks/sv-B3QEYGgd.js +0 -2
  188. package/dist/chunks/sv-B3QEYGgd.js.map +0 -1
  189. package/dist/chunks/sv-H7jroOQ5.js.map +0 -1
  190. package/dist/chunks/th-Dqm-gpGe.js.map +0 -1
  191. package/dist/chunks/th-DzQau9aW.js +0 -2
  192. package/dist/chunks/th-DzQau9aW.js.map +0 -1
  193. package/dist/chunks/tr-D3zPcNtT.js.map +0 -1
  194. package/dist/chunks/tr-cG1YuE1E.js +0 -2
  195. package/dist/chunks/tr-cG1YuE1E.js.map +0 -1
  196. package/dist/chunks/uk-CoIIs3QI.js.map +0 -1
  197. package/dist/chunks/uk-Cvbo0IBW.js +0 -2
  198. package/dist/chunks/uk-Cvbo0IBW.js.map +0 -1
  199. package/dist/chunks/vi-BRtYSBUp.js +0 -2
  200. package/dist/chunks/vi-BRtYSBUp.js.map +0 -1
  201. package/dist/chunks/vi-C_fruIbh.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs"),r=require("./chunks/PaywallUI-Bvx8nRL0.js");exports.ApiClient=e.ApiClient;exports.ApiGatewayClient=e.ApiGatewayClient;exports.AuthClient=e.AuthClient;exports.BillingClient=e.BillingClient;exports.EventTracker=e.EventTracker;exports.PaywallError=e.PaywallError;exports.QuotaExceededError=e.QuotaExceededError;exports.SDK_VERSION=e.SDK_VERSION;exports.STORAGE_KEYS=e.STORAGE_KEYS;exports.createStorage=e.createStorage;exports.ensureVisitorId=e.ensureVisitorId;exports.generateVisitorId=e.generateVisitorId;exports.PaywallUI=r.PaywallUI;exports.blockRegistry=r.blockRegistry;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./core.cjs"),r=require("./chunks/PaywallUI-C7Wp2TiR.js");exports.ApiClient=e.ApiClient;exports.ApiGatewayClient=e.ApiGatewayClient;exports.AuthClient=e.AuthClient;exports.BillingClient=e.BillingClient;exports.EventTracker=e.EventTracker;exports.PaywallError=e.PaywallError;exports.QuotaExceededError=e.QuotaExceededError;exports.SDK_VERSION=e.SDK_VERSION;exports.STORAGE_KEYS=e.STORAGE_KEYS;exports.createStorage=e.createStorage;exports.ensureVisitorId=e.ensureVisitorId;exports.generateVisitorId=e.generateVisitorId;exports.PaywallUI=r.PaywallUI;exports.blockRegistry=r.blockRegistry;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -262,10 +262,8 @@ export declare class AuthClient {
262
262
  * когда сервер начнёт возвращать challenge_required в риск-сценариях,
263
263
  * SDK сможет передать proof-of-something обратно без breaking change.
264
264
  *
265
- * `forceCaptcha: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
266
- * нового anon-юзера). Используется в switch-account flow. Имя поля исторически
267
- * остаётся `forceCaptcha`, хотя капчи там больше нет — менять имя ломает
268
- * host-сигнатуру; смысл «принудительно новая anon-сессия» сохранён.
265
+ * `forceNewAnon: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
266
+ * нового anon-юзера). Используется в switch-account flow.
269
267
  *
270
268
  * Параллельные вызовы дедуплицируются через `inflightAnonSignin` — два
271
269
  * click'а на «Войти как гость» не создадут двух anon-юзеров (два /signup =
@@ -274,7 +272,7 @@ export declare class AuthClient {
274
272
  signInAnonymously(input?: {
275
273
  captchaToken?: string;
276
274
  userMeta?: Record<string, string>;
277
- forceCaptcha?: boolean;
275
+ forceNewAnon?: boolean;
278
276
  }): Promise<AuthSession>;
279
277
  /**
280
278
  * Внутренний resume — пробует /auth/refresh с сохранённым anon refresh_token.
@@ -813,21 +811,31 @@ export declare class BillingClient {
813
811
  * `/api/v1/paywall/[id]/user` без unstable_cache, потому что list для UI
814
812
  * должен быть свежим после cancel-а.
815
813
  *
816
- * Auth: Bearer обязателен (через AuthClient). Без Bearer — 401 от бэка,
817
- * пробрасываем как PaywallError('http_401'). Гость пустой список.
814
+ * Auth (два пути):
815
+ * - Bearer (через AuthClient) — user.id резолвится из сессии, identity
816
+ * в query игнорируется.
817
+ * - `apiKey` + `identity.email`/`identity.userId` — server-SDK путь для
818
+ * интеграций со своей авторизацией. Бэк проверяет, что identity линкована
819
+ * к этому пейволу (защита от cross-paywall lookup).
820
+ * Без auth и без apiKey+identity — `identity_required`.
818
821
  */
819
822
  listPurchases(opts?: {
820
823
  signal?: AbortSignal;
821
824
  }): Promise<PaywallPurchaseDetailed[]>;
822
825
  /**
823
- * Отменить подписку. Бэк проверит что subscription принадлежит auth-юзеру
824
- * и сделает cancel у acquiring'а (Stripe/Paddle/Chargebee). По умолчанию
825
- * cancel в конце текущего периода — юзер сохраняет access до renewal date'ы.
826
+ * Отменить подписку. Бэк проверит, что subscription принадлежит юзеру
827
+ * (Bearer-путь из сессии; apiKey-путь — из identity), и сделает cancel у
828
+ * acquiring'а (Stripe/Paddle/Chargebee/Overpay). По умолчанию cancel в
829
+ * конце текущего периода — юзер сохраняет access до renewal date'ы.
826
830
  *
827
- * `reason` обязательна (валидация на бэке). Удобно собрать через select
828
- * причин в host-UI, как в legacy customer portal'е.
831
+ * `reason` обязательна (валидация на бэке).
829
832
  *
830
- * Auth: Bearer обязателен.
833
+ * Auth (два пути):
834
+ * - Bearer (через AuthClient) — стандартный путь для UI customer-portal'a.
835
+ * - `apiKey` + `identity.email`/`identity.userId` — для self-service UI на
836
+ * бэке клиента со своей авторизацией. Бэк дополнительно фильтрует
837
+ * subscription по paywall_id, чтобы owner пейвола A не отменил подписку
838
+ * пейвола B.
831
839
  */
832
840
  cancelSubscription(params: {
833
841
  subscriptionId: string;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ApiClient as t, ApiGatewayClient as a, AuthClient as i, BillingClient as l, EventTracker as o, PaywallError as n, QuotaExceededError as E, SDK_VERSION as s, STORAGE_KEYS as S, createStorage as c, ensureVisitorId as d, generateVisitorId as g } from "./core.js";
2
- import { P as y, b as A } from "./chunks/PaywallUI-BrDiS6zg.js";
2
+ import { P as y, b as A } from "./chunks/PaywallUI-BhQpWSWN.js";
3
3
  export {
4
4
  t as ApiClient,
5
5
  a as ApiGatewayClient,
package/dist/ui.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/PaywallUI-Bvx8nRL0.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/PaywallUI-C7Wp2TiR.js");exports.PaywallUI=e.PaywallUI;exports.blockRegistry=e.blockRegistry;
2
2
  //# sourceMappingURL=ui.cjs.map
package/dist/ui.d.ts CHANGED
@@ -248,10 +248,8 @@ declare class AuthClient {
248
248
  * когда сервер начнёт возвращать challenge_required в риск-сценариях,
249
249
  * SDK сможет передать proof-of-something обратно без breaking change.
250
250
  *
251
- * `forceCaptcha: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
252
- * нового anon-юзера). Используется в switch-account flow. Имя поля исторически
253
- * остаётся `forceCaptcha`, хотя капчи там больше нет — менять имя ломает
254
- * host-сигнатуру; смысл «принудительно новая anon-сессия» сохранён.
251
+ * `forceNewAnon: true` пропускает шаги 1-2 и сразу делает /signin (создаёт
252
+ * нового anon-юзера). Используется в switch-account flow.
255
253
  *
256
254
  * Параллельные вызовы дедуплицируются через `inflightAnonSignin` — два
257
255
  * click'а на «Войти как гость» не создадут двух anon-юзеров (два /signup =
@@ -260,7 +258,7 @@ declare class AuthClient {
260
258
  signInAnonymously(input?: {
261
259
  captchaToken?: string;
262
260
  userMeta?: Record<string, string>;
263
- forceCaptcha?: boolean;
261
+ forceNewAnon?: boolean;
264
262
  }): Promise<AuthSession>;
265
263
  /**
266
264
  * Внутренний resume — пробует /auth/refresh с сохранённым anon refresh_token.
@@ -799,21 +797,31 @@ declare class BillingClient {
799
797
  * `/api/v1/paywall/[id]/user` без unstable_cache, потому что list для UI
800
798
  * должен быть свежим после cancel-а.
801
799
  *
802
- * Auth: Bearer обязателен (через AuthClient). Без Bearer — 401 от бэка,
803
- * пробрасываем как PaywallError('http_401'). Гость пустой список.
800
+ * Auth (два пути):
801
+ * - Bearer (через AuthClient) — user.id резолвится из сессии, identity
802
+ * в query игнорируется.
803
+ * - `apiKey` + `identity.email`/`identity.userId` — server-SDK путь для
804
+ * интеграций со своей авторизацией. Бэк проверяет, что identity линкована
805
+ * к этому пейволу (защита от cross-paywall lookup).
806
+ * Без auth и без apiKey+identity — `identity_required`.
804
807
  */
805
808
  listPurchases(opts?: {
806
809
  signal?: AbortSignal;
807
810
  }): Promise<PaywallPurchaseDetailed[]>;
808
811
  /**
809
- * Отменить подписку. Бэк проверит что subscription принадлежит auth-юзеру
810
- * и сделает cancel у acquiring'а (Stripe/Paddle/Chargebee). По умолчанию
811
- * cancel в конце текущего периода — юзер сохраняет access до renewal date'ы.
812
+ * Отменить подписку. Бэк проверит, что subscription принадлежит юзеру
813
+ * (Bearer-путь из сессии; apiKey-путь — из identity), и сделает cancel у
814
+ * acquiring'а (Stripe/Paddle/Chargebee/Overpay). По умолчанию cancel в
815
+ * конце текущего периода — юзер сохраняет access до renewal date'ы.
812
816
  *
813
- * `reason` обязательна (валидация на бэке). Удобно собрать через select
814
- * причин в host-UI, как в legacy customer portal'е.
817
+ * `reason` обязательна (валидация на бэке).
815
818
  *
816
- * Auth: Bearer обязателен.
819
+ * Auth (два пути):
820
+ * - Bearer (через AuthClient) — стандартный путь для UI customer-portal'a.
821
+ * - `apiKey` + `identity.email`/`identity.userId` — для self-service UI на
822
+ * бэке клиента со своей авторизацией. Бэк дополнительно фильтрует
823
+ * subscription по paywall_id, чтобы owner пейвола A не отменил подписку
824
+ * пейвола B.
817
825
  */
818
826
  cancelSubscription(params: {
819
827
  subscriptionId: string;
package/dist/ui.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P as o, b as r } from "./chunks/PaywallUI-BrDiS6zg.js";
1
+ import { P as o, b as r } from "./chunks/PaywallUI-BhQpWSWN.js";
2
2
  export {
3
3
  o as PaywallUI,
4
4
  r as blockRegistry
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monetize.software/sdk",
3
- "version": "3.0.0-alpha.8",
3
+ "version": "3.0.0-alpha.9",
4
4
  "description": "Monetize SDK — bundled billing client and paywall render engine for web and Chrome extensions",
5
5
  "type": "module",
6
6
  "sideEffects": false,