@mtcute/core 0.29.7 → 0.30.1

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 (134) hide show
  1. package/client.cjs +8 -0
  2. package/client.js +8 -0
  3. package/highlevel/client.d.cts +67 -7
  4. package/highlevel/client.d.ts +67 -7
  5. package/highlevel/methods/chats/join-chat.cjs +38 -16
  6. package/highlevel/methods/chats/join-chat.d.cts +20 -6
  7. package/highlevel/methods/chats/join-chat.d.ts +20 -6
  8. package/highlevel/methods/chats/join-chat.js +38 -16
  9. package/highlevel/methods/chats/save-draft.d.cts +4 -1
  10. package/highlevel/methods/chats/save-draft.d.ts +4 -1
  11. package/highlevel/methods/files/normalize-input-media.cjs +8 -0
  12. package/highlevel/methods/files/normalize-input-media.js +9 -1
  13. package/highlevel/methods/messages/create-rich-streaming-draft.cjs +39 -0
  14. package/highlevel/methods/messages/create-rich-streaming-draft.d.cts +42 -0
  15. package/highlevel/methods/messages/create-rich-streaming-draft.d.ts +42 -0
  16. package/highlevel/methods/messages/create-rich-streaming-draft.js +34 -0
  17. package/highlevel/methods/messages/normalize-rich-message.cjs +157 -0
  18. package/highlevel/methods/messages/normalize-rich-message.d.cts +10 -0
  19. package/highlevel/methods/messages/normalize-rich-message.d.ts +10 -0
  20. package/highlevel/methods/messages/normalize-rich-message.js +152 -0
  21. package/highlevel/methods/messages/send-rich-message.cjs +49 -0
  22. package/highlevel/methods/messages/send-rich-message.d.cts +38 -0
  23. package/highlevel/methods/messages/send-rich-message.d.ts +38 -0
  24. package/highlevel/methods/messages/send-rich-message.js +44 -0
  25. package/highlevel/methods.d.cts +5 -0
  26. package/highlevel/methods.d.ts +5 -0
  27. package/highlevel/storage/service/peers.cjs +1 -0
  28. package/highlevel/storage/service/peers.js +1 -0
  29. package/highlevel/types/bots/inline-message/factories.cjs +14 -0
  30. package/highlevel/types/bots/inline-message/factories.d.cts +9 -1
  31. package/highlevel/types/bots/inline-message/factories.d.ts +9 -1
  32. package/highlevel/types/bots/inline-message/factories.js +14 -0
  33. package/highlevel/types/bots/inline-message/types.d.cts +17 -1
  34. package/highlevel/types/bots/inline-message/types.d.ts +17 -1
  35. package/highlevel/types/files/utils.d.cts +1 -1
  36. package/highlevel/types/files/utils.d.ts +1 -1
  37. package/highlevel/types/media/input-media/types.d.cts +1 -1
  38. package/highlevel/types/media/input-media/types.d.ts +1 -1
  39. package/highlevel/types/messages/index.d.cts +1 -0
  40. package/highlevel/types/messages/index.d.ts +1 -0
  41. package/highlevel/types/messages/message.cjs +5 -0
  42. package/highlevel/types/messages/message.d.cts +3 -0
  43. package/highlevel/types/messages/message.d.ts +3 -0
  44. package/highlevel/types/messages/message.js +5 -0
  45. package/highlevel/types/messages/rich/index.d.cts +4 -0
  46. package/highlevel/types/messages/rich/index.d.ts +4 -0
  47. package/highlevel/types/messages/rich/inner.cjs +219 -0
  48. package/highlevel/types/messages/rich/inner.d.cts +127 -0
  49. package/highlevel/types/messages/rich/inner.d.ts +127 -0
  50. package/highlevel/types/messages/rich/inner.js +214 -0
  51. package/highlevel/types/messages/rich/rich-message.cjs +50 -0
  52. package/highlevel/types/messages/rich/rich-message.d.cts +18 -0
  53. package/highlevel/types/messages/rich/rich-message.d.ts +18 -0
  54. package/highlevel/types/messages/rich/rich-message.js +45 -0
  55. package/highlevel/types/messages/rich/types.d.cts +76 -0
  56. package/highlevel/types/messages/rich/types.d.ts +76 -0
  57. package/highlevel/types/peers/full-chat.cjs +6 -0
  58. package/highlevel/types/peers/full-chat.d.cts +2 -0
  59. package/highlevel/types/peers/full-chat.d.ts +2 -0
  60. package/highlevel/types/peers/full-chat.js +6 -0
  61. package/highlevel/types/peers/user.cjs +4 -0
  62. package/highlevel/types/peers/user.d.cts +2 -0
  63. package/highlevel/types/peers/user.d.ts +2 -0
  64. package/highlevel/types/peers/user.js +4 -0
  65. package/highlevel/types/updates/user-typing-update.cjs +2 -0
  66. package/highlevel/types/updates/user-typing-update.js +2 -0
  67. package/highlevel/updates/manager.cjs +195 -0
  68. package/highlevel/updates/manager.js +195 -0
  69. package/highlevel/utils/entities.cjs +176 -0
  70. package/highlevel/utils/entities.d.cts +18 -0
  71. package/highlevel/utils/entities.d.ts +18 -0
  72. package/highlevel/utils/entities.js +177 -1
  73. package/highlevel/utils/inspectable.cjs +1 -0
  74. package/highlevel/utils/inspectable.d.cts +1 -0
  75. package/highlevel/utils/inspectable.d.ts +1 -0
  76. package/highlevel/utils/inspectable.js +1 -0
  77. package/index.cjs +4 -0
  78. package/index.js +4 -0
  79. package/methods.cjs +4 -0
  80. package/methods.js +4 -0
  81. package/network/flood-control.cjs +149 -0
  82. package/network/flood-control.d.cts +79 -0
  83. package/network/flood-control.d.ts +79 -0
  84. package/network/flood-control.js +144 -0
  85. package/network/flood-control.test.d.cts +1 -0
  86. package/network/flood-control.test.d.ts +1 -0
  87. package/network/mtproto-session.cjs +1 -21
  88. package/network/mtproto-session.d.cts +1 -5
  89. package/network/mtproto-session.d.ts +1 -5
  90. package/network/mtproto-session.js +2 -22
  91. package/network/mtproxy/_fake-tls.cjs +169 -107
  92. package/network/mtproxy/_fake-tls.js +169 -107
  93. package/network/mtproxy/_fake-tls.test.d.cts +1 -0
  94. package/network/mtproxy/_fake-tls.test.d.ts +1 -0
  95. package/network/multi-session-connection.cjs +26 -16
  96. package/network/multi-session-connection.d.cts +1 -1
  97. package/network/multi-session-connection.d.ts +1 -1
  98. package/network/multi-session-connection.js +26 -16
  99. package/network/multi-session-connection.test.d.cts +1 -0
  100. package/network/multi-session-connection.test.d.ts +1 -0
  101. package/network/network-manager.cjs +3 -2
  102. package/network/network-manager.d.cts +12 -0
  103. package/network/network-manager.d.ts +12 -0
  104. package/network/network-manager.js +3 -2
  105. package/network/persistent-connection.cjs +25 -1
  106. package/network/persistent-connection.d.cts +5 -0
  107. package/network/persistent-connection.d.ts +5 -0
  108. package/network/persistent-connection.js +25 -1
  109. package/network/session-connection.cjs +5 -10
  110. package/network/session-connection.d.cts +0 -2
  111. package/network/session-connection.d.ts +0 -2
  112. package/network/session-connection.js +5 -10
  113. package/package.json +1 -1
  114. package/tl/api-schema.json +1 -1
  115. package/tl/binary/reader.cjs +182 -26
  116. package/tl/binary/reader.js +182 -26
  117. package/tl/binary/writer.cjs +437 -20
  118. package/tl/binary/writer.js +437 -20
  119. package/tl/compat/reader.cjs +23 -0
  120. package/tl/compat/reader.js +23 -0
  121. package/tl/index.d.cts +425 -14
  122. package/tl/index.d.ts +425 -14
  123. package/tl/inner-tl.cjs +22 -8
  124. package/tl/inner-tl.js +22 -8
  125. package/types/utils.d.cts +4 -0
  126. package/types/utils.d.ts +4 -0
  127. package/utils/binary/compat.cjs +79 -0
  128. package/utils/binary/compat.js +79 -0
  129. package/utils/index.d.cts +1 -0
  130. package/utils/index.d.ts +1 -0
  131. package/utils/long-utils.cjs +10 -0
  132. package/utils/long-utils.js +10 -0
  133. package/utils.cjs +9 -0
  134. package/utils.js +11 -2
@@ -129,6 +129,72 @@ function mapCompatPoll(obj) {
129
129
  return obj;
130
130
  }
131
131
  }
132
+ function mapCompatPageListOrderedItem(obj) {
133
+ switch (obj._) {
134
+ case "pageListOrderedItemBlocks_layer225":
135
+ return {
136
+ ...obj,
137
+ _: "pageListOrderedItemBlocks",
138
+ blocks: obj.blocks.map(mapCompatPageBlock)
139
+ };
140
+ case "pageListOrderedItemText_layer225":
141
+ return replaceType(obj, "pageListOrderedItemText");
142
+ default:
143
+ return obj;
144
+ }
145
+ }
146
+ function mapCompatPageListItem(obj) {
147
+ switch (obj._) {
148
+ case "pageListItemBlocks_layer225":
149
+ return {
150
+ ...obj,
151
+ _: "pageListItemBlocks",
152
+ blocks: obj.blocks.map(mapCompatPageBlock)
153
+ };
154
+ case "pageListItemText_layer225":
155
+ return replaceType(obj, "pageListItemText");
156
+ default:
157
+ return obj;
158
+ }
159
+ }
160
+ function mapCompatPageBlock(obj) {
161
+ switch (obj._) {
162
+ case "pageBlockOrderedList_layer225":
163
+ return {
164
+ ...obj,
165
+ _: "pageBlockOrderedList",
166
+ items: obj.items.map(mapCompatPageListOrderedItem)
167
+ };
168
+ case "pageBlockList":
169
+ return {
170
+ ...obj,
171
+ items: obj.items.map(mapCompatPageListItem)
172
+ };
173
+ case "pageBlockDetails":
174
+ return {
175
+ ...obj,
176
+ blocks: obj.blocks.map(mapCompatPageBlock)
177
+ };
178
+ case "pageBlockEmbedPost":
179
+ return {
180
+ ...obj,
181
+ blocks: obj.blocks.map(mapCompatPageBlock)
182
+ };
183
+ case "pageBlockCollage":
184
+ case "pageBlockSlideshow":
185
+ return {
186
+ ...obj,
187
+ items: obj.items.map(mapCompatPageBlock)
188
+ };
189
+ case "pageBlockCover":
190
+ return {
191
+ ...obj,
192
+ cover: mapCompatPageBlock(obj.cover)
193
+ };
194
+ default:
195
+ return obj;
196
+ }
197
+ }
132
198
  function mapCompatMessageMedia(obj) {
133
199
  switch (obj._) {
134
200
  case "messageMediaDocument_layer197":
@@ -230,6 +296,7 @@ function mapCompatMessage(obj) {
230
296
  case "message_layer220":
231
297
  case "message_layer222":
232
298
  case "message_layer224":
299
+ case "message_layer225":
233
300
  return {
234
301
  ...obj,
235
302
  _: "message",
@@ -317,6 +384,7 @@ function mapCompatObject(obj) {
317
384
  return mapCompatMessageMedia(obj);
318
385
  case "channelFull_layer197":
319
386
  case "channelFull_layer204":
387
+ case "channelFull_layer225":
320
388
  return replaceType(obj, "channelFull");
321
389
  case "messageActionStarGift_layer197":
322
390
  case "messageActionStarGift_layer211":
@@ -368,6 +436,7 @@ function mapCompatObject(obj) {
368
436
  case "message_layer220":
369
437
  case "message_layer222":
370
438
  case "message_layer224":
439
+ case "message_layer225":
371
440
  case "messageService_layer204":
372
441
  return mapCompatMessage(obj);
373
442
  case "messageReplyHeader_layer206":
@@ -434,6 +503,16 @@ function mapCompatObject(obj) {
434
503
  case "inputKeyboardButtonRequestPeer_layer221":
435
504
  case "keyboardButtonCopy_layer221":
436
505
  return mapCompatKeyboardButton(obj);
506
+ case "pageBlockOrderedList_layer225":
507
+ return mapCompatPageBlock(obj);
508
+ case "pageListOrderedItemBlocks_layer225":
509
+ return mapCompatPageListOrderedItem(obj);
510
+ case "pageListItemBlocks_layer225":
511
+ return mapCompatPageListItem(obj);
512
+ case "pageListItemText_layer225":
513
+ return mapCompatPageListItem(obj);
514
+ case "pageListOrderedItemText_layer225":
515
+ return mapCompatPageListOrderedItem(obj);
437
516
  default:
438
517
  return obj;
439
518
  }
package/utils/index.d.cts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from '../highlevel/utils/index.js';
2
+ export * from '../network/flood-control.js';
2
3
  export { __tlReaderMap } from '../tl/binary/reader.js';
3
4
  export { __tlWriterMap } from '../tl/binary/writer.js';
4
5
  export * from './bigint-utils.js';
package/utils/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from '../highlevel/utils/index.js';
2
+ export * from '../network/flood-control.js';
2
3
  export { __tlReaderMap } from '../tl/binary/reader.js';
3
4
  export { __tlWriterMap } from '../tl/binary/writer.js';
4
5
  export * from './bigint-utils.js';
@@ -7,6 +7,7 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
8
  const utils = require("@fuman/utils");
9
9
  const Long = require("long");
10
+ const inspectable = require("../highlevel/utils/inspectable.cjs");
10
11
  const miscUtils = require("./misc-utils.cjs");
11
12
  function randomLong(unsigned = false) {
12
13
  const lo = miscUtils.getRandomInt(4294967295);
@@ -53,6 +54,15 @@ class LongMap extends utils.CustomMap {
53
54
  super(longToFastString, longFromFastString);
54
55
  }
55
56
  }
57
+ const proto = class LongMap2 {
58
+ }.prototype;
59
+ LongMap.prototype[inspectable.customInspectSymbol] = function() {
60
+ const res = Object.create(proto);
61
+ this.forEach((v, k) => {
62
+ res[k.toString()] = v;
63
+ });
64
+ return res;
65
+ };
56
66
  class LongSet extends utils.CustomSet {
57
67
  constructor() {
58
68
  super(longToFastString, longFromFastString);
@@ -1,5 +1,6 @@
1
1
  import { typed, CustomMap, CustomSet } from "@fuman/utils";
2
2
  import Long from "long";
3
+ import { customInspectSymbol } from "../highlevel/utils/inspectable.js";
3
4
  import { getRandomInt } from "./misc-utils.js";
4
5
  function randomLong(unsigned = false) {
5
6
  const lo = getRandomInt(4294967295);
@@ -46,6 +47,15 @@ class LongMap extends CustomMap {
46
47
  super(longToFastString, longFromFastString);
47
48
  }
48
49
  }
50
+ const proto = class LongMap2 {
51
+ }.prototype;
52
+ LongMap.prototype[customInspectSymbol] = function() {
53
+ const res = Object.create(proto);
54
+ this.forEach((v, k) => {
55
+ res[k.toString()] = v;
56
+ });
57
+ return res;
58
+ };
49
59
  class LongSet extends CustomSet {
50
60
  constructor() {
51
61
  super(longToFastString, longFromFastString);
package/utils.cjs CHANGED
@@ -5,6 +5,7 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
5
5
  }
6
6
  "use strict";
7
7
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
8
+ const floodControl = require("./network/flood-control.cjs");
8
9
  const reader = require("./tl/binary/reader.cjs");
9
10
  const writer = require("./tl/binary/writer.cjs");
10
11
  const bigintUtils = require("./utils/bigint-utils.cjs");
@@ -40,6 +41,11 @@ const millerRabin = require("./utils/crypto/miller-rabin.cjs");
40
41
  const mtproto = require("./utils/crypto/mtproto.cjs");
41
42
  const password = require("./utils/crypto/password.cjs");
42
43
  const bundle = require("./utils/links/bundle.cjs");
44
+ exports.ConnectionFloodController = floodControl.ConnectionFloodController;
45
+ exports.DEFAULT_FLOOD_LIMITS = floodControl.DEFAULT_FLOOD_LIMITS;
46
+ exports.DEFAULT_MTPROTO_ERROR_LIMITS = floodControl.DEFAULT_MTPROTO_ERROR_LIMITS;
47
+ exports.DEFAULT_SANITY_LIMITS = floodControl.DEFAULT_SANITY_LIMITS;
48
+ exports.FloodControl = floodControl.FloodControl;
43
49
  exports.__tlReaderMap = reader.__tlReaderMap;
44
50
  exports.__tlWriterMap = writer.__tlWriterMap;
45
51
  exports.randomBigInt = bigintUtils.randomBigInt;
@@ -99,6 +105,8 @@ exports.fileIdToInputPhoto = convertFileId.fileIdToInputPhoto;
99
105
  exports.fileIdToInputWebFileLocation = convertFileId.fileIdToInputWebFileLocation;
100
106
  exports.fileIdToSecureFile = convertFileId.fileIdToSecureFile;
101
107
  exports.joinTextWithEntities = entities.joinTextWithEntities;
108
+ exports.richTextToTextWithEntities = entities.richTextToTextWithEntities;
109
+ exports.textWithEntitiesToRichText = entities.textWithEntitiesToRichText;
102
110
  exports.determinePartSize = fileUtils.determinePartSize;
103
111
  exports.extractFileName = fileUtils.extractFileName;
104
112
  exports.inflateSvgPath = fileUtils.inflateSvgPath;
@@ -108,6 +116,7 @@ exports.svgPathToFile = fileUtils.svgPathToFile;
108
116
  exports.encodeInlineMessageId = inlineUtils.encodeInlineMessageId;
109
117
  exports.normalizeInlineId = inlineUtils.normalizeInlineId;
110
118
  exports.parseInlineMessageId = inlineUtils.parseInlineMessageId;
119
+ exports.customInspectSymbol = inspectable.customInspectSymbol;
111
120
  exports.makeInspectable = inspectable.makeInspectable;
112
121
  exports.makeArrayPaginated = miscUtils.makeArrayPaginated;
113
122
  exports.makeArrayPaginatedWithMeta = miscUtils.makeArrayPaginatedWithMeta;
package/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { ConnectionFloodController, DEFAULT_FLOOD_LIMITS, DEFAULT_MTPROTO_ERROR_LIMITS, DEFAULT_SANITY_LIMITS, FloodControl } from "./network/flood-control.js";
1
2
  import { __tlReaderMap } from "./tl/binary/reader.js";
2
3
  import { __tlWriterMap } from "./tl/binary/writer.js";
3
4
  import { randomBigInt, randomBigIntBits, randomBigIntInRange } from "./utils/bigint-utils.js";
@@ -16,10 +17,10 @@ import { jsonToTlJson, tlJsonToJson } from "./utils/tl-json.js";
16
17
  import { assertTrue, assertTypeIs, assertTypeIsNot, hasValueAtKey, isPresent, isTlRpcError, mtpAssertTypeIs } from "./utils/type-assertions.js";
17
18
  export * from "@mtcute/tl-runtime";
18
19
  import { fileIdToEncryptedFile, fileIdToInputDocument, fileIdToInputFileLocation, fileIdToInputPhoto, fileIdToInputWebFileLocation, fileIdToSecureFile } from "./highlevel/utils/convert-file-id.js";
19
- import { joinTextWithEntities } from "./highlevel/utils/entities.js";
20
+ import { joinTextWithEntities, richTextToTextWithEntities, textWithEntitiesToRichText } from "./highlevel/utils/entities.js";
20
21
  import { determinePartSize, extractFileName, inflateSvgPath, isProbablyPlainText, strippedPhotoToJpg, svgPathToFile } from "./highlevel/utils/file-utils.js";
21
22
  import { encodeInlineMessageId, normalizeInlineId, parseInlineMessageId } from "./highlevel/utils/inline-utils.js";
22
- import { makeInspectable } from "./highlevel/utils/inspectable.js";
23
+ import { customInspectSymbol, makeInspectable } from "./highlevel/utils/inspectable.js";
23
24
  import { makeArrayPaginated, makeArrayPaginatedWithMeta, makeArrayWithTotal, normalizeDate, normalizeMessageId, normalizePhoneNumber, resolveMaybeDynamic } from "./highlevel/utils/misc-utils.js";
24
25
  import { INVITE_LINK_REGEX, extractUsernames, inputPeerToPeer, isInputPeerChannel, isInputPeerChat, isInputPeerUser, toInputChannel, toInputPeer, toInputUser } from "./highlevel/utils/peer-utils.js";
25
26
  import { RpsMeter } from "./highlevel/utils/rps-meter.js";
@@ -35,7 +36,12 @@ import { computeNewPasswordHash, computePasswordHash, computeSrpParams } from ".
35
36
  import * as bundle from "./utils/links/bundle.js";
36
37
  export {
37
38
  BaseCryptoProvider,
39
+ ConnectionFloodController,
40
+ DEFAULT_FLOOD_LIMITS,
41
+ DEFAULT_MTPROTO_ERROR_LIMITS,
42
+ DEFAULT_SANITY_LIMITS,
38
43
  EarlyTimer,
44
+ FloodControl,
39
45
  INVITE_LINK_REGEX,
40
46
  LogManager,
41
47
  Logger,
@@ -57,6 +63,7 @@ export {
57
63
  computeSrpParams,
58
64
  createAesIgeForMessage,
59
65
  createAesIgeForMessageOld,
66
+ customInspectSymbol,
60
67
  dateEntityFormatToString,
61
68
  decodeWaveform,
62
69
  defaultProductionDc,
@@ -124,6 +131,7 @@ export {
124
131
  readStringSession,
125
132
  removeFromLongArray,
126
133
  resolveMaybeDynamic,
134
+ richTextToTextWithEntities,
127
135
  serializeBasicDcOption,
128
136
  serializeObject,
129
137
  serializePeersIndex,
@@ -131,6 +139,7 @@ export {
131
139
  streamToBuffer,
132
140
  strippedPhotoToJpg,
133
141
  svgPathToFile,
142
+ textWithEntitiesToRichText,
134
143
  throttle,
135
144
  tlJsonToJson,
136
145
  toInputChannel,