itd-api 0.9.3 → 0.10.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 (36) hide show
  1. package/README.md +9 -8
  2. package/dist/events/index.cjs +2 -2
  3. package/dist/events/index.d.cts +2 -2
  4. package/dist/events/index.d.ts +2 -2
  5. package/dist/events/index.js +2 -2
  6. package/dist/index.cjs +405 -42
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +181 -29
  9. package/dist/index.d.ts +181 -29
  10. package/dist/index.js +401 -44
  11. package/dist/index.js.map +1 -1
  12. package/dist/rest/index.cjs +2 -2
  13. package/dist/rest/index.d.cts +2 -2
  14. package/dist/rest/index.d.ts +2 -2
  15. package/dist/rest/index.js +2 -2
  16. package/dist/shared/{events-BzjI6pn5.js → events-B0Wtn4cF.js} +3 -3
  17. package/dist/shared/{events-BzjI6pn5.js.map → events-B0Wtn4cF.js.map} +1 -1
  18. package/dist/shared/{events-C1FudmSe.cjs → events-BB791aPk.cjs} +8 -2
  19. package/dist/shared/{events-C1FudmSe.cjs.map → events-BB791aPk.cjs.map} +1 -1
  20. package/dist/shared/{events-BPxBF0gQ.d.cts → events-BNGjJVI3.d.cts} +2 -2
  21. package/dist/shared/{events-DnwfcLxS.d.ts → events-CJO6q93Z.d.ts} +2 -2
  22. package/dist/shared/{render-Omy1drH1.cjs → render-BimHjOhw.cjs} +2 -2
  23. package/dist/shared/{render-Omy1drH1.cjs.map → render-BimHjOhw.cjs.map} +1 -1
  24. package/dist/shared/{render-C1F_QWYD.d.cts → render-C1A57W-5.d.cts} +2 -2
  25. package/dist/shared/{render-CtOpp9Pm.js → render-CkhvH_yh.js} +2 -2
  26. package/dist/shared/{render-CtOpp9Pm.js.map → render-CkhvH_yh.js.map} +1 -1
  27. package/dist/shared/{render-uFW2kDxp.d.ts → render-DC5nvqcP.d.ts} +2 -2
  28. package/dist/shared/{url-3Ts6EEHQ.js → url-BA5hEwj2.js} +65 -3
  29. package/dist/shared/url-BA5hEwj2.js.map +1 -0
  30. package/dist/shared/{url-D6wsXm1T.cjs → url-CDVgMIq5.cjs} +100 -2
  31. package/dist/shared/url-CDVgMIq5.cjs.map +1 -0
  32. package/dist/shared/{url-DubjkRR9.d.ts → url-DkMueFAT.d.cts} +70 -3
  33. package/dist/shared/{url-DubjkRR9.d.cts → url-DkMueFAT.d.ts} +70 -3
  34. package/package.json +2 -1
  35. package/dist/shared/url-3Ts6EEHQ.js.map +0 -1
  36. package/dist/shared/url-D6wsXm1T.cjs.map +0 -1
@@ -1,4 +1,4 @@
1
- import { At as RequestOptions, Ct as PaginationOptions, Dt as RawRequestOptions, It as QueryParams, Rt as ServiceDefinition, St as OperationRequestOptions, Tt as RateLimitBucketOverride, Ut as BuiltInOperationId, Vt as ItdClock, _ as PrivacySettings, _n as ReportTargetType, _t as OperationMethod, bn as ViewReason, c as NotificationSettings, dn as InteractionType, f as Author, g as PinsResult, gn as ReportReason, gt as OperationMetadata, ht as OperationContract, in as UserRef, ln as FeedTab, lt as Unsubscribe, m as MyProfile, mn as Loose, mt as OperationAnnotations, nn as Span, nt as AuthIdentity, on as AttachmentType, p as FollowResult, qt as OperationId, rn as UserId, s as Notification, sn as CommentSort, tn as IsoDate, tt as ClientConnection, un as IncidentKind, v as Profile, vn as ServiceState, vt as RetrySafety, x as UserSummary, xn as ViewSource, xt as Logger, y as PublicProfile, yt as ClientHooks } from "./url-DubjkRR9.js";
1
+ import { At as RequestOptions, Cn as ViewReason, Ct as PaginationOptions, Dt as RawRequestOptions, It as QueryParams, Rt as ServiceDefinition, St as OperationRequestOptions, Tt as RateLimitBucketOverride, Ut as BuiltInOperationId, Vt as ItdClock, _ as PrivacySettings, _n as Loose, _t as OperationMethod, bn as ReportTargetType, c as NotificationSettings, f as Author, fn as FeedTab, g as PinsResult, gt as OperationMetadata, ht as OperationContract, in as UserRef, lt as Unsubscribe, m as MyProfile, mn as InteractionType, mt as OperationAnnotations, nn as Span, nt as AuthIdentity, on as AttachmentType, p as FollowResult, pn as IncidentKind, qt as OperationId, rn as UserId, s as Notification, tn as IsoDate, tt as ClientConnection, un as CommentSort, v as Profile, vt as RetrySafety, wn as ViewSource, x as UserSummary, xn as ServiceState, xt as Logger, y as PublicProfile, yn as ReportReason, yt as ClientHooks } from "./url-DkMueFAT.js";
2
2
  import { c as LazyFile, d as UrlFileOptions, i as FileStreamContent, l as StreamFile, n as FileContext, o as FileTransferMode, r as FileInput, s as FromStreamOptions } from "./contracts-BoT7msmq.js";
3
3
  import { r as KeyValueStore } from "./key-value-store-COZaNHZS.js";
4
4
  //#region src/core/cookies.d.ts
@@ -2854,4 +2854,4 @@ interface RenderSpansOptions {
2854
2854
  declare function renderSpans(content: string, spans?: readonly Span[] | null | undefined, options?: RenderSpansOptions): string;
2855
2855
  //#endregion
2856
2856
  export { ShopConsentContext as $, PaginationMode as $n, markup as $t, DwellEntry as A, Post as An, report as At, ViewTrackerInput as B, CreatePollInput as Bn, PollBuilder as Bt, fromStream as C, CommentReplyTo as Cn, OperationExtensions as Cr, ShopSizeChart as Ct, UpdateProfileInput as D, PinPostResult as Dn, PluginTeardown as Dr, ReportsResource as Dt, UpdatePrivacyInput as E, LikeResult as En, PluginApi as Er, SearchResult as Et, TelemetryClock as F, comment as Fn, CreatePostInput as Ft, ShopConsentsResource as G, Session as Gn, parseMarkdown as Gt, SubscriptionResource as H, CreateReportInput as Hn, poll as Ht, TelemetryOptions as I, BuilderInput as In, PostBuilder as It, ShopOrdersResource as J, NotificationsResource as Jn, MarkupContent as Jt, ShopDeliveryResource as K, Subscription as Kn, AutoSpansOptions as Kt, TelemetryResource as L, ItdBuilder as Ln, PostInput as Lt, PhotoOpenInput as M, PostUpdateResult as Mn, FeedParams as Mt, TelemetryBatch as N, CommentBuilder as Nn, PostsResource as Nt, UserListParams as O, Poll as On, CookieJar as Or, ReportBuilder as Ot, TelemetryBatchOptions as P, CommentInput as Pn, UserPostsParams as Pt, ShopConsent as Q, PageState as Qn, autoSpans as Qt, VideoProgressInput as R, isBuilder as Rn, PostUpdateInput as Rt, VideoMimeType as S, Comment as Sn, ClientPlugin as Sr, ShopRecipient as St, VerificationResource as T, Hashtag as Tn, OperationTransformer as Tr, SearchResource as Tt, CreateShopOrderOptions as U, UpdatePostInput as Un, ParseMarkupOptions as Ut, ViewTrackerOptions as V, CreatePostData as Vn, PollInput as Vt, PayShopOrderOptions as W, PaymentMethod as Wn, parseHtml as Wt, ShopResource as X, BaseResource as Xn, MarkupSpan as Xt, ShopProductsResource as Y, UpdateNotificationSettingsInput as Yn, MarkupInput as Yt, CreateShopOrderInput as Z, Page as Zn, TextMarkup as Zt, AllowedMimeType as _, UploadOptions as _n, HttpClient as _r, ShopProduct as _t, ShopFeatureOptions as a, StatusDay as an, FeatureBucketDefinition as ar, ShopDeliveryDestination as at, ImageMimeType as b, RepliesParams as bn, AttemptInterceptor as br, ShopProductSpec as bt, ShopOrderAccessStorage as c, AnnouncementButton as cn, FeatureOperationDefinition as cr, ShopOrderAccessSession as ct, statusDays as d, Portal as dn, FileResolver as dr, ShopOrderItem as dt, PlatformClientVersion as en, Paginator as er, ShopConsentKind as et, isMyProfile as f, Report as fn, PreparedBufferSource as fr, ShopOrderItemInput as ft, AUDIO_MIME_TYPES as g, FilesResource as gn, ResolveFileOptions as gr, ShopPayment as gt, ALLOWED_MIME_TYPES as h, HashtagsResource as hn, ResolveFileContext as hr, ShopOrderSupport as ht, ShopFeatureApi as i, ServiceStatus as in, ClientFeature as ir, ShopDeliveryCountry as it, InteractionEntry as j, PostStats as jn, CommentsParams as jt, UsersResource as k, PollOption as kn, ReportInput as kt, ShopOrderAccessStorageAdapterOptions as l, ChangelogEntry as ln, FeatureRequestOptions as lr, ShopOrderAccessVerification as lt, utcStampToIso as m, HashtagPostsParams as mn, PreparedStreamSource as mr, ShopOrderSummary as mt, SpanRenderFormat as n, PlatformVersions as nn, mapPage as nr, ShopDeliveryCalculation as nt, createShopFeature as o, StatusIncidentLine as on, FeatureContext as or, ShopDeliveryPoint as ot, toDate as p, VerificationStatus as pn, PreparedFileSource as pr, ShopOrderStatus as pt, ShopOrderRequestOptions as q, NotificationListParams as qn, MarkupBuilder as qt, renderSpans as r, PlatformStatus as rn, RateLimitBucketState as rr, ShopDeliveryCity as rt, MemoryShopOrderAccessStorage as s, Announcement as sn, FeatureInstallation as sr, ShopOrder as st, RenderSpansOptions as t, PlatformResource as tn, PaginatorOptions as tr, ShopCreatedOrder as tt, createShopOrderAccessStorage as u, Clan as un, ManagedClientResource as ur, ShopOrderDelivery as ut, AudioMimeType as v, UploadedFile as vn, AttemptContext as vr, ShopProductCategory as vt, fromUrl as w, CommentUpdateResult as wn, OperationTransformContext as wr, ShopSizeChartRow as wt, VIDEO_MIME_TYPES as x, Attachment as xn, AttemptNext as xr, ShopProductStatus as xt, IMAGE_MIME_TYPES as y, CommentsResource as yn, AttemptExtensions as yr, ShopProductColor as yt, ViewTracker as z, CreateCommentInput as zn, post as zt };
2857
- //# sourceMappingURL=render-uFW2kDxp.d.ts.map
2857
+ //# sourceMappingURL=render-DC5nvqcP.d.ts.map
@@ -85,7 +85,7 @@ function requireOptionalBoolean(value, name) {
85
85
  //#endregion
86
86
  //#region src/core/version.ts
87
87
  /** Версия библиотеки. Попадает в `User-Agent`. */
88
- const LIBRARY_VERSION = "0.9.3";
88
+ const LIBRARY_VERSION = "0.10.0";
89
89
  //#endregion
90
90
  //#region src/core/config.ts
91
91
  /** Базовый URL API итд.com. Домен записан в punycode: `итд.com`. */
@@ -2767,6 +2767,8 @@ function createClientRuntime(options, internals) {
2767
2767
  fetch: config.fetch,
2768
2768
  clock: config.clock,
2769
2769
  logger: config.logger,
2770
+ signal: lifetime.signal,
2771
+ assertActive: (action) => internals.assertActive?.(action),
2770
2772
  baseHeaders: async (url) => {
2771
2773
  const headers = await transport.platformHeaders(url);
2772
2774
  for (const [name, value] of Object.entries(service?.headers ?? {})) headers.set(name, value);
@@ -2811,6 +2813,8 @@ const BUCKET_LIMITS = Object.freeze({
2811
2813
  "files.get": 40,
2812
2814
  auth: 35,
2813
2815
  "auth.refresh": 25,
2816
+ "auth.qrStart": 40,
2817
+ "auth.qrClaim": 300,
2814
2818
  search: 25,
2815
2819
  "comments.like": 22,
2816
2820
  "files.upload": 15,
@@ -2864,6 +2868,11 @@ const OPERATIONS = freezeOperations({
2864
2868
  method: "GET",
2865
2869
  retrySafety: RetrySafety.Safe
2866
2870
  },
2871
+ "auth.captchaProvider": {
2872
+ method: "GET",
2873
+ retrySafety: RetrySafety.Safe,
2874
+ bucket: "auth"
2875
+ },
2867
2876
  "auth.signUp": {
2868
2877
  method: "POST",
2869
2878
  retrySafety: RetrySafety.Unsafe,
@@ -2924,6 +2933,16 @@ const OPERATIONS = freezeOperations({
2924
2933
  retrySafety: RetrySafety.Unsafe,
2925
2934
  bucket: "auth"
2926
2935
  },
2936
+ "auth.qrStart": {
2937
+ method: "POST",
2938
+ retrySafety: RetrySafety.Unsafe,
2939
+ bucket: "auth.qrStart"
2940
+ },
2941
+ "auth.qrClaim": {
2942
+ method: "POST",
2943
+ retrySafety: RetrySafety.Unsafe,
2944
+ bucket: "auth.qrClaim"
2945
+ },
2927
2946
  "users.me": {
2928
2947
  method: "GET",
2929
2948
  retrySafety: RetrySafety.Safe,
@@ -3463,6 +3482,41 @@ const ReportReason = Object.freeze({
3463
3482
  Fraud: "fraud",
3464
3483
  Other: "other"
3465
3484
  });
3485
+ /**
3486
+ * Провайдер капчи, которую сервер требует пройти при входе. Тип открытый.
3487
+ *
3488
+ * Активного сообщает `itd.auth.captchaProvider()`.
3489
+ */
3490
+ const CaptchaType = Object.freeze({
3491
+ /** Собственная капча ИТД. */
3492
+ Itd: "itd",
3493
+ /** Cloudflare Turnstile. */
3494
+ Cloudflare: "cloudflare"
3495
+ });
3496
+ /**
3497
+ * Какую капчу решать при входе по логину и паролю.
3498
+ *
3499
+ * `CaptchaChoice.Auto` — спросить сервер перед каждым входом; названный провайдер
3500
+ * решается без этого запроса.
3501
+ */
3502
+ const CaptchaChoice = Object.freeze({
3503
+ /** Провайдера называет сервер. */
3504
+ Auto: "auto",
3505
+ Itd: CaptchaType.Itd,
3506
+ Cloudflare: CaptchaType.Cloudflare
3507
+ });
3508
+ /**
3509
+ * Поле тела запроса, в котором сервер ждёт токен капчи. Тип открытый.
3510
+ *
3511
+ * При `CaptchaChoice.Auto` имя берётся из ответа сервера; эти значения — умолчания
3512
+ * для явно выбранного провайдера.
3513
+ */
3514
+ const CaptchaField = Object.freeze({
3515
+ /** Поле собственной капчи ИТД. */
3516
+ Itd: "token",
3517
+ /** Поле Cloudflare Turnstile. */
3518
+ Cloudflare: "turnstileToken"
3519
+ });
3466
3520
  /** Состояние соединения событийного канала. */
3467
3521
  const EventChannelStatus = Object.freeze({
3468
3522
  Connecting: "connecting",
@@ -3616,6 +3670,8 @@ const ItdErrorCode = Object.freeze({
3616
3670
  CAPTCHA_FAILED: "CAPTCHA_FAILED",
3617
3671
  /** Капча не пройдена: токен Turnstile недействителен, просрочен или уже использован. */
3618
3672
  TURNSTILE_VERIFICATION_FAILED: "TURNSTILE_VERIFICATION_FAILED",
3673
+ /** Собственная captcha ИТД не подтвердила целостность проверки. */
3674
+ INTEGRITY_CHECK_FAILED: "INTEGRITY_CHECK_FAILED",
3619
3675
  OTP_INVALID: "OTP_INVALID",
3620
3676
  /** `flowToken` неизвестен или просрочен — поток подтверждения нужно начинать заново. */
3621
3677
  INVALID_FLOW_TOKEN: "INVALID_FLOW_TOKEN",
@@ -3632,6 +3688,12 @@ const ItdErrorCode = Object.freeze({
3632
3688
  /** Cookie `refresh_token` есть, но сессии за ней уже нет: отозвана или истекла. */
3633
3689
  SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
3634
3690
  MISSING_FLOW_TOKEN: "MISSING_FLOW_TOKEN",
3691
+ QR_EXPIRED: "QR_EXPIRED",
3692
+ QR_TOKEN_MISMATCH: "QR_TOKEN_MISMATCH",
3693
+ QR_ALREADY_USED: "QR_ALREADY_USED",
3694
+ QR_NOT_SCANNED: "QR_NOT_SCANNED",
3695
+ USER_INACTIVE: "USER_INACTIVE",
3696
+ TOO_MANY_REQUESTS: "TOO_MANY_REQUESTS",
3635
3697
  PROFILE_USERNAME_TAKEN: "PROFILE_USERNAME_TAKEN",
3636
3698
  PROFILE_USERNAME_RESERVED: "PROFILE_USERNAME_RESERVED",
3637
3699
  PROFILE_RESTRICTION_ACTIVE: "PROFILE_RESTRICTION_ACTIVE",
@@ -4012,6 +4074,6 @@ function resolveNotificationUrl(notification) {
4012
4074
  return clickUrl || "/notifications";
4013
4075
  }
4014
4076
  //#endregion
4015
- export { orderPluginDefinitions as $, ITD_CATALOG as A, isRecord as B, ReportReason as C, ViewReason as D, SpanType as E, operationMethod as F, pickString as G, pickBoolean as H, operationRetrySafety as I, identityResult as J, RetrySafety as K, BUCKET_LIMITS as L, defineBuiltInOperation as M, isBuiltInOperationId as N, ViewSource as O, operationBucket as P, assertPluginRemovable as Q, DEFAULT_RATE_LIMIT_BUCKET as R, NotificationType as S, ServiceState as T, pickNumber as U, pickArray as V, pickObject as W, mergeService as X, voidResult as Y, RequestQueuePool as Z, FeedTab as _, tokenProvider as a, isRecord$1 as at, ItdErrorCode as b, normalizeNotification as c, createDeadline as ct, canonicalNotificationType as d, DEFAULT_BASE_URL as et, isKnownNotificationType as f, EventChannelStatus as g, CommentSort as h, bearerToken as i, LIBRARY_VERSION as it, OPERATIONS as j, WallAccess as k, readNotificationEvent as l, systemClock as lt, AttachmentType as m, formatNotificationText as n, STATUS_SERVICE as nt, passthroughOperation as o, requireOptionalBoolean as ot, AccessType as p, defineOperation as q, anonymousAuth as r, resolveRateLimit as rt, voidOperation as s, RateLimitPacing as st, resolveNotificationUrl as t, DEFAULT_STATUS_BASE_URL as tt, readUnreadCountEvent as u, installAsyncDisposeFallback as ut, IncidentKind as v, ReportTargetType as w, LikesVisibility as x, InteractionType as y, createClientRuntime as z };
4077
+ export { voidResult as $, ViewReason as A, BUCKET_LIMITS as B, ItdErrorCode as C, ReportTargetType as D, ReportReason as E, defineBuiltInOperation as F, pickArray as G, createClientRuntime as H, isBuiltInOperationId as I, pickObject as J, pickBoolean as K, operationBucket as L, WallAccess as M, ITD_CATALOG as N, ServiceState as O, OPERATIONS as P, identityResult as Q, operationMethod as R, InteractionType as S, NotificationType as T, createApiError as U, DEFAULT_RATE_LIMIT_BUCKET as V, isRecord as W, RetrySafety as X, pickString as Y, defineOperation as Z, CaptchaType as _, tokenProvider as a, orderPluginDefinitions as at, FeedTab as b, normalizeNotification as c, STATUS_SERVICE as ct, canonicalNotificationType as d, isRecord$1 as dt, createRequestAbortScope as et, isKnownNotificationType as f, requireOptionalBoolean as ft, CaptchaField as g, installAsyncDisposeFallback as gt, CaptchaChoice as h, systemClock as ht, bearerToken as i, assertPluginRemovable as it, ViewSource as j, SpanType as k, readNotificationEvent as l, resolveRateLimit as lt, AttachmentType as m, createDeadline as mt, formatNotificationText as n, mergeService as nt, passthroughOperation as o, DEFAULT_BASE_URL as ot, AccessType as p, RateLimitPacing as pt, pickNumber as q, anonymousAuth as r, RequestQueuePool as rt, voidOperation as s, DEFAULT_STATUS_BASE_URL as st, resolveNotificationUrl as t, requestAbortError as tt, readUnreadCountEvent as u, LIBRARY_VERSION as ut, CommentSort as v, LikesVisibility as w, IncidentKind as x, EventChannelStatus as y, operationRetrySafety as z };
4016
4078
 
4017
- //# sourceMappingURL=url-3Ts6EEHQ.js.map
4079
+ //# sourceMappingURL=url-BA5hEwj2.js.map