itd-api 0.0.10 → 0.1.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 (41) hide show
  1. package/README.md +8 -4
  2. package/dist/{chunk-SMV7TF5P.js → chunk-6FB4HTKH.js} +768 -194
  3. package/dist/chunk-6FB4HTKH.js.map +1 -0
  4. package/dist/{chunk-BN4AC3DP.cjs → chunk-73CISRBG.cjs} +768 -194
  5. package/dist/chunk-73CISRBG.cjs.map +1 -0
  6. package/dist/{index-CSjDNGCE.d.cts → index-BZF4K90s.d.cts} +169 -29
  7. package/dist/{index-CSjDNGCE.d.ts → index-BZF4K90s.d.ts} +169 -29
  8. package/dist/index.cjs +109 -109
  9. package/dist/index.d.cts +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/node.cjs +112 -112
  13. package/dist/node.d.cts +2 -2
  14. package/dist/node.d.ts +2 -2
  15. package/dist/node.js +2 -2
  16. package/guides/README.md +2 -0
  17. package/guides/multi-accounts/README.md +2 -1
  18. package/guides/plugins/README.md +93 -2
  19. package/guides/reference/README.md +67 -0
  20. package/guides/reference/accounts.md +101 -0
  21. package/guides/reference/auth.md +141 -0
  22. package/guides/reference/builders.md +135 -0
  23. package/guides/reference/client.md +184 -0
  24. package/guides/reference/comments.md +58 -0
  25. package/guides/reference/discovery.md +81 -0
  26. package/guides/reference/enums.md +103 -0
  27. package/guides/reference/errors.md +107 -0
  28. package/guides/reference/files.md +73 -0
  29. package/guides/reference/models.md +448 -0
  30. package/guides/reference/notifications.md +77 -0
  31. package/guides/reference/pagination.md +82 -0
  32. package/guides/reference/platform.md +47 -0
  33. package/guides/reference/posts.md +157 -0
  34. package/guides/reference/realtime.md +78 -0
  35. package/guides/reference/reports.md +28 -0
  36. package/guides/reference/subscription.md +41 -0
  37. package/guides/reference/users.md +146 -0
  38. package/guides/reference/verification.md +24 -0
  39. package/package.json +1 -1
  40. package/dist/chunk-BN4AC3DP.cjs.map +0 -1
  41. package/dist/chunk-SMV7TF5P.js.map +0 -1
@@ -1398,7 +1398,7 @@ interface RawRequestOptions extends RequestOptions {
1398
1398
  }
1399
1399
 
1400
1400
  /** Версия библиотеки. Попадает в `User-Agent`. */
1401
- declare const LIBRARY_VERSION = "0.0.10";
1401
+ declare const LIBRARY_VERSION = "0.1.0";
1402
1402
 
1403
1403
  /** Базовый URL API итд.com. Домен записан в punycode: `итд.com`. */
1404
1404
  declare const DEFAULT_BASE_URL = "https://xn--d1ah4a.com";
@@ -1421,7 +1421,7 @@ declare const DEFAULT_TIMEOUT = 30000;
1421
1421
  * В браузере заголовок не выставляется — `User-Agent` там запрещён к изменению, и среда
1422
1422
  * молча его игнорирует.
1423
1423
  */
1424
- declare const DEFAULT_USER_AGENT = "Mozilla/5.0 (compatible; itd-api/0.0.10; +https://github.com/KiowDev/itd-api)";
1424
+ declare const DEFAULT_USER_AGENT = "Mozilla/5.0 (compatible; itd-api/0.1.0; +https://github.com/KiowDev/itd-api)";
1425
1425
  /** Настройки очереди со всеми значениями по умолчанию. */
1426
1426
  interface ResolvedRateLimitOptions {
1427
1427
  concurrency: number;
@@ -1635,6 +1635,17 @@ interface AuthEvents {
1635
1635
  error: unknown;
1636
1636
  };
1637
1637
  }
1638
+ /** Области аккаунта и конкретной сессии для локального состояния плагинов. */
1639
+ interface AuthIdentity {
1640
+ /** Идентификатор пользователя; отсутствует у непрозрачного или повреждённого токена. */
1641
+ userId?: UserId | undefined;
1642
+ /** Идентификатор серверной сессии; отсутствует у непрозрачного или повреждённого токена. */
1643
+ sessionId?: string | undefined;
1644
+ }
1645
+ interface AuthManagerHooks {
1646
+ /** Вызывается синхронно перед заменой владельца авторизации. */
1647
+ onAccountChange?: (() => void) | undefined;
1648
+ }
1638
1649
  /**
1639
1650
  * Хранит сессию и продлевает её.
1640
1651
  *
@@ -1645,13 +1656,22 @@ interface AuthEvents {
1645
1656
  */
1646
1657
  declare class AuthManager {
1647
1658
  #private;
1648
- constructor(config: AuthConfig, send: RequestHandler, jar: CookieJar);
1659
+ constructor(config: AuthConfig, send: RequestHandler, jar: CookieJar, hooks?: AuthManagerHooks);
1649
1660
  /** Подписка на события авторизации. */
1650
1661
  get on(): Emitter<AuthEvents>['on'];
1651
1662
  /** Подписка на одно срабатывание. */
1652
1663
  get once(): Emitter<AuthEvents>['once'];
1653
- /** Непрозрачная область авторизации; токен и идентификатор пользователя не раскрываются. */
1664
+ /**
1665
+ * Непрозрачная fallback-область авторизации.
1666
+ *
1667
+ * Изолирует состояние плагинов, когда идентичность аккаунта из JWT недоступна (непрозрачный
1668
+ * токен): значение уникально для владельца и сменяется при замене или очистке сессии.
1669
+ */
1654
1670
  getAuthScope(): string;
1671
+ /** Загружает сессию и возвращает идентификаторы аккаунта и сессии для плагинов. */
1672
+ getAuthIdentity(): Promise<AuthIdentity>;
1673
+ /** Идентификаторы аккаунта и сессии без чтения хранилища. @internal */
1674
+ getCurrentAuthIdentity(): AuthIdentity;
1655
1675
  /**
1656
1676
  * Есть ли признак живой refresh-сессии.
1657
1677
  *
@@ -1733,6 +1753,8 @@ declare class AuthManager {
1733
1753
  * ```
1734
1754
  */
1735
1755
  type Transformer = (request: RawRequestOptions, next: (request: RawRequestOptions) => Promise<unknown>) => Promise<unknown>;
1756
+ /** Освобождение ресурсов, заведённых плагином при установке. */
1757
+ type PluginTeardown = () => void | Promise<void>;
1736
1758
  /** Что плагин получает при подключении. */
1737
1759
  interface PluginContext {
1738
1760
  /** Базовый URL клиента — например чтобы разобрать абсолютные ссылки из ответа. */
@@ -1740,15 +1762,28 @@ interface PluginContext {
1740
1762
  /** Отладочный вывод клиента, если он включён. */
1741
1763
  logger: Logger | undefined;
1742
1764
  /**
1743
- * Непрозрачная область текущей авторизации.
1765
+ * Непрозрачная fallback-область текущей авторизации.
1744
1766
  *
1745
- * Значение уникально для клиента и меняется при замене либо очистке его сессии. Плагин может
1746
- * использовать его только для разделения состояния; идентификатор пользователя и токен в нём
1747
- * не раскрываются.
1767
+ * Нужна плагинам, которые обязаны безопасно изолировать непрозрачный токен. Для объединения
1768
+ * состояния копий одного аккаунта используйте {@link getAuthIdentity}.
1748
1769
  */
1749
1770
  getAuthScope?: (() => string) | undefined;
1771
+ /**
1772
+ * Загружает сессию и возвращает идентификаторы аккаунта и конкретной сессии из JWT.
1773
+ *
1774
+ * Предпочтительнее {@link getAuthScope} для состояния, которое должно объединяться между
1775
+ * несколькими экземплярами клиента одного аккаунта.
1776
+ */
1777
+ getAuthIdentity?: (() => Promise<AuthIdentity>) | undefined;
1750
1778
  /** Добавляет обёртку запроса. Подключённые раньше оказываются снаружи. */
1751
1779
  use(transformer: Transformer): void;
1780
+ /**
1781
+ * Добавляет перехватчики отдельных сетевых попыток.
1782
+ *
1783
+ * В отличие от {@link use}, они видят каждый retry и сырой `Response` до чтения тела.
1784
+ * Несколько наборов хуков одного плагина вызываются в порядке регистрации.
1785
+ */
1786
+ useHooks(hooks: ClientHooks): void;
1752
1787
  }
1753
1788
  /**
1754
1789
  * Плагин клиента.
@@ -1793,8 +1828,21 @@ interface ItdPlugin {
1793
1828
  * ```
1794
1829
  */
1795
1830
  optionKeys?: readonly string[];
1796
- /** Вызывается один раз при подключении. */
1797
- install(context: PluginContext): void;
1831
+ /** Плагины, которые обязаны быть подключены раньше этого. */
1832
+ requires?: readonly string[];
1833
+ /** Несовместимые плагины. Достаточно объявить конфликт с одной стороны. */
1834
+ conflicts?: readonly string[];
1835
+ /** Имена плагинов, снаружи которых должна стоять эта обёртка. */
1836
+ before?: readonly string[];
1837
+ /** Имена плагинов, внутри которых должна стоять эта обёртка. */
1838
+ after?: readonly string[];
1839
+ /**
1840
+ * Устанавливает плагин.
1841
+ *
1842
+ * Может вернуть функцию освобождения ресурсов. Она вызывается при `unuse()` или
1843
+ * окончательном `dispose()` клиента и может быть асинхронной.
1844
+ */
1845
+ install(context: PluginContext): unknown;
1798
1846
  }
1799
1847
  /**
1800
1848
  * Список подключённых плагинов и собранная из них цепочка обёрток.
@@ -1804,22 +1852,52 @@ interface ItdPlugin {
1804
1852
  */
1805
1853
  declare class PluginRegistry {
1806
1854
  #private;
1807
- /** Сколько обёрток подключено. Ноль означает, что запрос идёт прежним путём. */
1855
+ /** Сколько плагинов подключено. */
1808
1856
  get size(): number;
1809
- /** Имена опций запроса, заявленные плагинами. */
1857
+ /** Имена опций активных плагинов. */
1810
1858
  get optionKeys(): ReadonlySet<string>;
1859
+ /** Имена плагинов в фактическом порядке выполнения. */
1860
+ names(): string[];
1861
+ /** Подключён ли плагин с таким именем. */
1862
+ has(name: string): boolean;
1863
+ /** Проверяет добавление без вызова `install()`. @internal */
1864
+ assertCanAdd(plugin: ItdPlugin): void;
1865
+ /** Проверяет удаление без изменения реестра. @internal */
1866
+ assertCanRemove(name: string): void;
1811
1867
  /**
1812
1868
  * Подключает плагин.
1813
1869
  *
1814
- * @throws {ItdConfigError} если плагин задан неверно, уже подключён или заявил занятое
1815
- * имя опции
1870
+ * @throws {ItdConfigError} если плагин задан неверно, уже подключён, нарушает зависимости
1871
+ * или заявил занятое имя опции
1872
+ */
1873
+ add(plugin: ItdPlugin, context: Omit<PluginContext, 'use' | 'useHooks'>): void;
1874
+ /**
1875
+ * Отключает плагин и вызывает его функцию очистки.
1876
+ *
1877
+ * Новые запросы перестают видеть плагин сразу. Если его обёртка уже выполняется,
1878
+ * очистка дождётся завершения этого логического запроса.
1879
+ *
1880
+ * @returns `false`, если такого плагина не было
1881
+ */
1882
+ remove(name: string): Promise<boolean>;
1883
+ /**
1884
+ * Отключает все плагины окончательно.
1885
+ *
1886
+ * Очистка идёт изнутри наружу — в порядке, обратном выполнению обёрток.
1887
+ */
1888
+ dispose(): Promise<void>;
1889
+ /**
1890
+ * Объединяет конструкторские хуки с хуками подключаемых плагинов.
1891
+ *
1892
+ * Возвращённый объект динамический: подключение и отключение плагина начинает действовать
1893
+ * со следующего логического запроса без пересоздания транспорта.
1816
1894
  */
1817
- add(plugin: ItdPlugin, context: Omit<PluginContext, 'use'>): void;
1895
+ hooks(base: ClientHooks): ClientHooks;
1818
1896
  /**
1819
1897
  * Прогоняет запрос через цепочку обёрток.
1820
1898
  *
1821
- * Цепочка собирается на каждый запрос заново: плагин можно подключить в любой момент,
1822
- * а обёрток единицы — экономить тут не на чем.
1899
+ * Снимок цепочки берётся в начале: `unuse()` влияет на новые запросы, но не обрывает
1900
+ * уже выполняющийся посередине.
1823
1901
  *
1824
1902
  * @param execute настоящий запрос, вызывается самой внутренней обёрткой
1825
1903
  */
@@ -2079,6 +2157,12 @@ interface RealtimeOptions extends ReconnectOptions {
2079
2157
  * может незаметно «зависнуть».
2080
2158
  */
2081
2159
  idleTimeout?: number;
2160
+ /**
2161
+ * Сколько ждать ответа на запрос потока, прежде чем оборвать попытку, мс. По умолчанию
2162
+ * 20 000. Защищает от зависания на установке соединения, когда {@link idleTimeout} ещё
2163
+ * не действует. `0` отключает проверку. Только для потокового транспорта.
2164
+ */
2165
+ handshakeTimeout?: number;
2082
2166
  /** Как часто опрашивать сервер, если используется запасной транспорт. */
2083
2167
  pollInterval?: number;
2084
2168
  /**
@@ -2104,6 +2188,10 @@ interface RealtimeDeps {
2104
2188
  fetch: typeof fetch;
2105
2189
  /** Общие заголовки клиента для адреса — см. {@link TransportContext.baseHeaders}. */
2106
2190
  baseHeaders: (url: string) => Promise<Headers>;
2191
+ /** Идентификаторы аккаунта и сессии создавшего поток клиента. */
2192
+ getAuthIdentity?: (() => AuthIdentity) | undefined;
2193
+ /** Непрозрачная область авторизации создавшего поток клиента. */
2194
+ getAuthScope?: (() => string) | undefined;
2107
2195
  getToken: () => Promise<string | null>;
2108
2196
  /** Обновляет токен после отказа авторизации. Возвращает `true`, если удалось. */
2109
2197
  refresh: () => Promise<boolean>;
@@ -2140,6 +2228,12 @@ declare class ItdRealtime {
2140
2228
  get status(): RealtimeStatus;
2141
2229
  /** Какой транспорт используется: `sse` или `poll`. */
2142
2230
  get transport(): string;
2231
+ /** Базовый URL клиента, создавшего поток. @internal */
2232
+ get baseUrl(): string;
2233
+ /** Идентификаторы аккаунта и сессии клиента, создавшего поток. @internal */
2234
+ getAuthIdentity(): AuthIdentity | undefined;
2235
+ /** Непрозрачная область авторизации создавшего поток клиента. @internal */
2236
+ getAuthScope(): string | undefined;
2143
2237
  /** Подписывается на событие потока. @returns функция отписки */
2144
2238
  on<K extends keyof RealtimeEvents>(event: K, listener: Listener<RealtimeEvents[K]>): Unsubscribe;
2145
2239
  /** Подписывается на одно срабатывание. */
@@ -3663,8 +3757,7 @@ interface InteractionEntry {
3663
3757
  /**
3664
3758
  * Телеметрия просмотров.
3665
3759
  *
3666
- * @experimental Недокументированные эндпоинты `/api/v1/i` (просмотры) и `/api/v1/x`
3667
- * (взаимодействия); формат полей может измениться без предупреждения.
3760
+ * @experimental
3668
3761
  *
3669
3762
  * Методы не вызываются автоматически — телеметрия отправляется только явным вызовом.
3670
3763
  *
@@ -3921,11 +4014,7 @@ declare class ItdClient {
3921
4014
  readonly subscription: SubscriptionResource;
3922
4015
  /** Сведения о платформе: изменения, анонсы, баннер события. */
3923
4016
  readonly platform: PlatformResource;
3924
- /**
3925
- * Телеметрия просмотров.
3926
- *
3927
- * @experimental Недокументированные эндпоинты. Библиотека никогда не отправляет их сама.
3928
- */
4017
+ /** Телеметрия просмотров. */
3929
4018
  readonly telemetry: TelemetryResource;
3930
4019
  constructor(options?: ItdClientOptions, internals?: ItdClientInternals);
3931
4020
  /** Базовый URL, к которому обращается клиент. */
@@ -3960,6 +4049,20 @@ declare class ItdClient {
3960
4049
  * ```
3961
4050
  */
3962
4051
  use(plugin: ItdPlugin): this;
4052
+ /** Имена подключённых плагинов в фактическом порядке выполнения обёрток. */
4053
+ pluginNames(): string[];
4054
+ /** Подключён ли плагин с таким именем. */
4055
+ hasPlugin(name: string): boolean;
4056
+ /**
4057
+ * Отключает плагин и освобождает заведённые им ресурсы.
4058
+ *
4059
+ * Новые запросы перестают видеть плагин сразу. Очистка дождётся логического запроса,
4060
+ * который уже проходил через его обёртку.
4061
+ *
4062
+ * @returns `false`, если такого плагина не было
4063
+ * @throws {ItdConfigError} если от плагина зависит другой подключённый плагин
4064
+ */
4065
+ unuse(name: string): Promise<boolean>;
3963
4066
  /**
3964
4067
  * Регистрирует сервис платформы — домен, отличный от основного.
3965
4068
  *
@@ -4009,7 +4112,8 @@ declare class ItdClient {
4009
4112
  * Создаёт поток уведомлений в реальном времени.
4010
4113
  *
4011
4114
  * Каждый вызов даёт новый независимый поток; обычно он нужен один на приложение.
4012
- * Соединение поднимается методом `connect()` и держится само.
4115
+ * Соединение поднимается методом `connect()` и держится само. Замена авторизации на токен
4116
+ * другого пользователя завершает все потоки клиента; смена только сессии их не затрагивает.
4013
4117
  *
4014
4118
  * @example
4015
4119
  * ```ts
@@ -4038,10 +4142,18 @@ declare class ItdClient {
4038
4142
  * ```ts
4039
4143
  * await using itd = new ItdClient({ auth: token });
4040
4144
  * // …работа…
4041
- * // close() вызовется сам на выходе из блока
4145
+ * // dispose() вызовется сам на выходе из блока
4042
4146
  * ```
4043
4147
  */
4044
4148
  close(): Promise<void>;
4149
+ /**
4150
+ * Окончательно освобождает клиент: выполняет {@link close} и отключает все плагины.
4151
+ *
4152
+ * В отличие от `close()`, после `dispose()` плагины не восстанавливаются автоматически.
4153
+ * Сам клиент остаётся пригоден для обычных запросов; при необходимости плагины можно
4154
+ * подключить заново через {@link use}.
4155
+ */
4156
+ dispose(): Promise<void>;
4045
4157
  /** Позволяет использовать клиент с `await using`. */
4046
4158
  [Symbol.asyncDispose](): Promise<void>;
4047
4159
  /** Текущая сессия целиком — чтобы сохранить её самостоятельно. */
@@ -4362,6 +4474,17 @@ declare class ItdAccounts {
4362
4474
  * ```
4363
4475
  */
4364
4476
  use(plugin: ItdPlugin): this;
4477
+ /** Имена общих плагинов в фактическом порядке выполнения обёрток. */
4478
+ pluginNames(): string[];
4479
+ /** Подключён ли общий плагин с таким именем. */
4480
+ hasPlugin(name: string): boolean;
4481
+ /**
4482
+ * Отключает общий плагин у существующих клиентов и не применяет его к будущим.
4483
+ *
4484
+ * @returns `false`, если такого плагина не было
4485
+ * @throws {ItdConfigError} если от плагина зависит другой общий плагин
4486
+ */
4487
+ unuse(name: string): Promise<boolean>;
4365
4488
  /**
4366
4489
  * Подписывается на события авторизации всех аккаунтов сразу.
4367
4490
  *
@@ -4395,10 +4518,17 @@ declare class ItdAccounts {
4395
4518
  * ```ts
4396
4519
  * await using accounts = new ItdAccounts({ storage });
4397
4520
  * // …работа…
4398
- * // close() вызовется сам на выходе из блока
4521
+ * // dispose() вызовется сам на выходе из блока
4399
4522
  * ```
4400
4523
  */
4401
4524
  close(): Promise<void>;
4525
+ /**
4526
+ * Окончательно освобождает контейнер и отключает общие плагины у всех аккаунтов.
4527
+ *
4528
+ * Для временной остановки потоков и очереди без отключения плагинов используйте
4529
+ * {@link close}.
4530
+ */
4531
+ dispose(): Promise<void>;
4402
4532
  /** Позволяет использовать контейнер с `await using`. */
4403
4533
  [Symbol.asyncDispose](): Promise<void>;
4404
4534
  }
@@ -4651,7 +4781,9 @@ declare class ItdTimeoutError extends ItdError {
4651
4781
  }
4652
4782
  /** Запрос отменён через переданный `AbortSignal`. */
4653
4783
  declare class ItdAbortError extends ItdError {
4654
- constructor(message?: string);
4784
+ constructor(message?: string, options?: {
4785
+ cause?: unknown;
4786
+ });
4655
4787
  }
4656
4788
  /**
4657
4789
  * Некорректная конфигурация или аргументы — обнаружено до обращения к сети.
@@ -4791,6 +4923,14 @@ interface SseTransportOptions {
4791
4923
  * По умолчанию 90 000. `0` отключает проверку.
4792
4924
  */
4793
4925
  idleTimeout?: number;
4926
+ /**
4927
+ * Сколько миллисекунд ждать ответа на запрос потока, прежде чем оборвать попытку.
4928
+ *
4929
+ * Проверка молчания ({@link idleTimeout}) начинается только после получения тела ответа.
4930
+ * Если `fetch` завис на установке соединения, без этого таймаута переподключение не
4931
+ * запустится до системного сетевого таймаута. По умолчанию 20 000. `0` отключает проверку.
4932
+ */
4933
+ handshakeTimeout?: number;
4794
4934
  }
4795
4935
 
4796
4936
  /** Формат результата {@link renderSpans}. */
@@ -4818,4 +4958,4 @@ interface RenderSpansOptions {
4818
4958
  */
4819
4959
  declare function renderSpans(content: string, spans?: readonly Span[] | null | undefined, options?: RenderSpansOptions): string;
4820
4960
 
4821
- export { DetectedRuntime as $, ALLOWED_MIME_TYPES as A, BUILT_IN_SERVICES as B, type CaptchaCredentials as C, type ClientHooks as D, type Comment as E, type FileReader as F, CommentBuilder as G, type CommentInput as H, type ItdSession as I, type CommentReplyTo as J, CommentSort as K, type CommentsParams as L, type MultiTokenStorage as M, CommentsResource as N, type CreateCommentInput as O, type CreatePollInput as P, type CreatePostInput as Q, type CreateReportInput as R, type Credentials as S, type TokenStorage as T, type CredentialsAuth as U, DEFAULT_BASE_URL as V, DEFAULT_STATUS_BASE_URL as W, DEFAULT_TIMEOUT as X, DEFAULT_UPLOAD_TIMEOUT as Y, DEFAULT_USER_AGENT as Z, DEVICE_ID_HEADER as _, ItdAccounts as a, type PageState as a$, type DwellEntry as a0, type ErrorContextHook as a1, type FeedParams as a2, FeedTab as a3, type FileInput as a4, FilesResource as a5, type FollowResult as a6, type ForgotPasswordInput as a7, type Hashtag as a8, type HashtagPostsParams as a9, ItdServerError as aA, ItdTimeoutError as aB, ItdValidationError as aC, LIBRARY_VERSION as aD, type LikeResult as aE, LikesVisibility as aF, type Listener as aG, LocalStorageTokenStorage as aH, type Logger as aI, type Loose as aJ, MAX_RECONNECT_ATTEMPTS as aK, MarkupBuilder as aL, type MarkupContent as aM, type MarkupInput as aN, type MarkupSpan as aO, MemoryMultiTokenStorage as aP, MemoryTokenStorage as aQ, type MyProfile as aR, NOTIFICATION_TYPE_ALIASES as aS, type Notification as aT, type NotificationEvent as aU, type NotificationListParams as aV, type NotificationSettings as aW, NotificationType as aX, NotificationsResource as aY, OAuthProvider as aZ, type Page as a_, HashtagsResource as aa, IMAGE_MIME_TYPES as ab, type ImageMimeType as ac, IncidentKind as ad, type InteractionEntry as ae, InteractionType as af, type IsoDate as ag, ItdAbortError as ah, ItdApiError as ai, type ItdApiErrorInit as aj, ItdApiErrorKind as ak, ItdAuthError as al, type ItdBuilder as am, ItdConfigError as an, ItdConflictError as ao, ItdError as ap, ItdErrorCode as aq, ItdErrorKind as ar, type ItdFieldErrors as as, ItdForbiddenError as at, ItdNetworkError as au, ItdNotFoundError as av, ItdPhoneVerificationError as aw, type ItdPlugin as ax, ItdRateLimitError as ay, ItdRealtime as az, type ItdAccountsOptions as b, type ServiceDefinition as b$, PaginationMode as b0, Paginator as b1, type PaginatorOptions as b2, type PaymentMethod as b3, type Pin as b4, type PinPostResult as b5, type PinsResult as b6, PlatformResource as b7, type PlatformStatus as b8, type PluginContext as b9, type RealtimeEvents as bA, type RealtimeOptions as bB, RealtimeStatus as bC, type RealtimeTransport as bD, RealtimeTransportKind as bE, type ReconnectOptions as bF, type RecordStorageSource as bG, type RemoveAccountOptions as bH, type RenderSpansOptions as bI, type RepliesParams as bJ, type Report as bK, ReportBuilder as bL, type ReportInput as bM, ReportReason as bN, ReportTargetType as bO, ReportsResource as bP, type RequestContext as bQ, type RequestOptions as bR, type ResetPasswordInput as bS, type ResponseContext as bT, type RetryContext as bU, type RetryOptions as bV, RuntimeMode as bW, STATUS_SERVICE as bX, STREAM_PATH as bY, SearchResource as bZ, type SearchResult as b_, type Poll as ba, PollBuilder as bb, type PollInput as bc, type PollOption as bd, type PollTransportOptions as be, type Portal as bf, type Post as bg, PostBuilder as bh, type PostInput as bi, type PostStats as bj, type PostUpdateInput as bk, PostsResource as bl, type PrivacySettings as bm, type Profile as bn, type PublicProfile as bo, type QueryParams as bp, type QueryValue as bq, RECONNECT_BACKOFF as br, RECONNECT_JITTER as bs, REFRESH_COOKIE as bt, REFRESH_COOKIE_PATH as bu, REQUEST_OPTION_KEYS as bv, type RateLimitOptions as bw, type RateLimitScope as bx, type RawRequestOptions as by, type RealtimeDeps as bz, ItdClient as c, mapPage as c$, ServiceRegistry as c0, ServiceState as c1, type ServiceStatus as c2, type Session as c3, type SignInResult as c4, SignInStatus as c5, type Span as c6, type SpanRenderFormat as c7, SpanType as c8, type SseTransportOptions as c9, VIDEO_MIME_TYPES as cA, VerificationResource as cB, type VerificationStatus as cC, type VideoMimeType as cD, ViewReason as cE, ViewSource as cF, WallAccess as cG, autoSpans as cH, canonicalNotificationType as cI, comment as cJ, createMultiTokenStorage as cK, createRecordMultiStorage as cL, createTokenStorage as cM, formatNotificationText as cN, isBuilder as cO, isItdApiError as cP, isItdAuthError as cQ, isItdConflictError as cR, isItdError as cS, isItdForbiddenError as cT, isItdNotFoundError as cU, isItdPhoneVerificationError as cV, isItdRateLimitError as cW, isItdServerError as cX, isItdValidationError as cY, isKnownNotificationType as cZ, isMyProfile as c_, type StatusDay as ca, type StatusIncidentLine as cb, type Subscription as cc, SubscriptionResource as cd, type SubscriptionState as ce, TURNSTILE_SITE_KEY as cf, type TelemetryOptions as cg, TelemetryResource as ch, type TextMarkup as ci, type Transformer as cj, type TransportContext as ck, type TransportEvent as cl, UnauthorizedStreamError as cm, type Unsubscribe as cn, type UpdateNotificationSettingsInput as co, type UpdatePostInput as cp, type UpdatePrivacyInput as cq, type UpdateProfileInput as cr, type UploadOptions as cs, type UploadedFile as ct, type UserId as cu, type UserListParams as cv, type UserPostsParams as cw, type UserRef as cx, type UserSummary as cy, UsersResource as cz, type ItdClientOptions as d, markup as d0, normalizeNotification as d1, poll as d2, post as d3, readNotificationEvent as d4, readUnreadCountEvent as d5, renderSpans as d6, report as d7, resolveNotificationUrl as d8, scopedTokenStorage as d9, statusDays as da, toDate as db, utcStampToIso as dc, createAccounts as dd, createClient as de, type ItdClientInternals as e, AUDIO_MIME_TYPES as f, AUTH_FLAG_COOKIE as g, AUTH_PATHS as h, AccessType as i, type AccountEvents as j, type Actor as k, type AddAccountOptions as l, type AllowedMimeType as m, type Announcement as n, type AnnouncementButton as o, type Attachment as p, AttachmentType as q, type AudioMimeType as r, type AuthEvents as s, type AuthInput as t, AuthResource as u, type Author as v, type AutoSpansOptions as w, type BuilderInput as x, type ChangelogEntry as y, type Clan as z };
4961
+ export { DEVICE_ID_HEADER as $, ALLOWED_MIME_TYPES as A, BUILT_IN_SERVICES as B, type CaptchaCredentials as C, type Clan as D, type ClientHooks as E, type FileReader as F, type Comment as G, CommentBuilder as H, type ItdSession as I, type CommentInput as J, type CommentReplyTo as K, CommentSort as L, type MultiTokenStorage as M, type CommentsParams as N, CommentsResource as O, type CreateCommentInput as P, type CreatePollInput as Q, type CreatePostInput as R, type CreateReportInput as S, type TokenStorage as T, type Credentials as U, type CredentialsAuth as V, DEFAULT_BASE_URL as W, DEFAULT_STATUS_BASE_URL as X, DEFAULT_TIMEOUT as Y, DEFAULT_UPLOAD_TIMEOUT as Z, DEFAULT_USER_AGENT as _, ItdAccounts as a, type Page as a$, DetectedRuntime as a0, type DwellEntry as a1, type ErrorContextHook as a2, type FeedParams as a3, FeedTab as a4, type FileInput as a5, FilesResource as a6, type FollowResult as a7, type ForgotPasswordInput as a8, type Hashtag as a9, ItdRealtime as aA, ItdServerError as aB, ItdTimeoutError as aC, ItdValidationError as aD, LIBRARY_VERSION as aE, type LikeResult as aF, LikesVisibility as aG, type Listener as aH, LocalStorageTokenStorage as aI, type Logger as aJ, type Loose as aK, MAX_RECONNECT_ATTEMPTS as aL, MarkupBuilder as aM, type MarkupContent as aN, type MarkupInput as aO, type MarkupSpan as aP, MemoryMultiTokenStorage as aQ, MemoryTokenStorage as aR, type MyProfile as aS, NOTIFICATION_TYPE_ALIASES as aT, type Notification as aU, type NotificationEvent as aV, type NotificationListParams as aW, type NotificationSettings as aX, NotificationType as aY, NotificationsResource as aZ, OAuthProvider as a_, type HashtagPostsParams as aa, HashtagsResource as ab, IMAGE_MIME_TYPES as ac, type ImageMimeType as ad, IncidentKind as ae, type InteractionEntry as af, InteractionType as ag, type IsoDate as ah, ItdAbortError as ai, ItdApiError as aj, type ItdApiErrorInit as ak, ItdApiErrorKind as al, ItdAuthError as am, type ItdBuilder as an, ItdConfigError as ao, ItdConflictError as ap, ItdError as aq, ItdErrorCode as ar, ItdErrorKind as as, type ItdFieldErrors as at, ItdForbiddenError as au, ItdNetworkError as av, ItdNotFoundError as aw, ItdPhoneVerificationError as ax, type ItdPlugin as ay, ItdRateLimitError as az, type ItdAccountsOptions as b, SearchResource as b$, type PageState as b0, PaginationMode as b1, Paginator as b2, type PaginatorOptions as b3, type PaymentMethod as b4, type Pin as b5, type PinPostResult as b6, type PinsResult as b7, PlatformResource as b8, type PlatformStatus as b9, type RawRequestOptions as bA, type RealtimeDeps as bB, type RealtimeEvents as bC, type RealtimeOptions as bD, RealtimeStatus as bE, type RealtimeTransport as bF, RealtimeTransportKind as bG, type ReconnectOptions as bH, type RecordStorageSource as bI, type RemoveAccountOptions as bJ, type RenderSpansOptions as bK, type RepliesParams as bL, type Report as bM, ReportBuilder as bN, type ReportInput as bO, ReportReason as bP, ReportTargetType as bQ, ReportsResource as bR, type RequestContext as bS, type RequestOptions as bT, type ResetPasswordInput as bU, type ResponseContext as bV, type RetryContext as bW, type RetryOptions as bX, RuntimeMode as bY, STATUS_SERVICE as bZ, STREAM_PATH as b_, type PluginContext as ba, type PluginTeardown as bb, type Poll as bc, PollBuilder as bd, type PollInput as be, type PollOption as bf, type PollTransportOptions as bg, type Portal as bh, type Post as bi, PostBuilder as bj, type PostInput as bk, type PostStats as bl, type PostUpdateInput as bm, PostsResource as bn, type PrivacySettings as bo, type Profile as bp, type PublicProfile as bq, type QueryParams as br, type QueryValue as bs, RECONNECT_BACKOFF as bt, RECONNECT_JITTER as bu, REFRESH_COOKIE as bv, REFRESH_COOKIE_PATH as bw, REQUEST_OPTION_KEYS as bx, type RateLimitOptions as by, type RateLimitScope as bz, ItdClient as c, isKnownNotificationType as c$, type SearchResult as c0, type ServiceDefinition as c1, ServiceRegistry as c2, ServiceState as c3, type ServiceStatus as c4, type Session as c5, type SignInResult as c6, SignInStatus as c7, type Span as c8, type SpanRenderFormat as c9, type UserSummary as cA, UsersResource as cB, VIDEO_MIME_TYPES as cC, VerificationResource as cD, type VerificationStatus as cE, type VideoMimeType as cF, ViewReason as cG, ViewSource as cH, WallAccess as cI, autoSpans as cJ, canonicalNotificationType as cK, comment as cL, createMultiTokenStorage as cM, createRecordMultiStorage as cN, createTokenStorage as cO, formatNotificationText as cP, isBuilder as cQ, isItdApiError as cR, isItdAuthError as cS, isItdConflictError as cT, isItdError as cU, isItdForbiddenError as cV, isItdNotFoundError as cW, isItdPhoneVerificationError as cX, isItdRateLimitError as cY, isItdServerError as cZ, isItdValidationError as c_, SpanType as ca, type SseTransportOptions as cb, type StatusDay as cc, type StatusIncidentLine as cd, type Subscription as ce, SubscriptionResource as cf, type SubscriptionState as cg, TURNSTILE_SITE_KEY as ch, type TelemetryOptions as ci, TelemetryResource as cj, type TextMarkup as ck, type Transformer as cl, type TransportContext as cm, type TransportEvent as cn, UnauthorizedStreamError as co, type Unsubscribe as cp, type UpdateNotificationSettingsInput as cq, type UpdatePostInput as cr, type UpdatePrivacyInput as cs, type UpdateProfileInput as ct, type UploadOptions as cu, type UploadedFile as cv, type UserId as cw, type UserListParams as cx, type UserPostsParams as cy, type UserRef as cz, type ItdClientOptions as d, isMyProfile as d0, mapPage as d1, markup as d2, normalizeNotification as d3, poll as d4, post as d5, readNotificationEvent as d6, readUnreadCountEvent as d7, renderSpans as d8, report as d9, resolveNotificationUrl as da, scopedTokenStorage as db, statusDays as dc, toDate as dd, utcStampToIso as de, createAccounts as df, createClient as dg, type ItdClientInternals as e, AUDIO_MIME_TYPES as f, AUTH_FLAG_COOKIE as g, AUTH_PATHS as h, AccessType as i, type AccountEvents as j, type Actor as k, type AddAccountOptions as l, type AllowedMimeType as m, type Announcement as n, type AnnouncementButton as o, type Attachment as p, AttachmentType as q, type AudioMimeType as r, type AuthEvents as s, type AuthIdentity as t, type AuthInput as u, AuthResource as v, type Author as w, type AutoSpansOptions as x, type BuilderInput as y, type ChangelogEntry as z };