@mtkruto/node 0.50.1 → 0.61.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 (150) hide show
  1. package/esm/2_tl.d.ts +4 -6
  2. package/esm/2_tl.d.ts.map +1 -1
  3. package/esm/2_tl.js +4 -6
  4. package/esm/3_types.d.ts +1 -0
  5. package/esm/3_types.d.ts.map +1 -1
  6. package/esm/3_types.js +1 -0
  7. package/esm/client/0_params.d.ts +12 -0
  8. package/esm/client/0_params.d.ts.map +1 -1
  9. package/esm/client/0_storage_operations.d.ts.map +1 -1
  10. package/esm/client/0_storage_operations.js +9 -9
  11. package/esm/client/1_client_encrypted.d.ts.map +1 -1
  12. package/esm/client/1_client_encrypted.js +173 -126
  13. package/esm/client/1_client_plain.d.ts.map +1 -1
  14. package/esm/client/1_client_plain.js +12 -8
  15. package/esm/client/3_message_manager.d.ts +1 -0
  16. package/esm/client/3_message_manager.d.ts.map +1 -1
  17. package/esm/client/3_message_manager.js +51 -50
  18. package/esm/client/4_forum_manager.d.ts +40 -0
  19. package/esm/client/4_forum_manager.d.ts.map +1 -0
  20. package/esm/client/4_forum_manager.js +134 -0
  21. package/esm/client/5_client.d.ts +67 -2
  22. package/esm/client/5_client.d.ts.map +1 -1
  23. package/esm/client/5_client.js +87 -2
  24. package/esm/tl/0_api.d.ts +1 -2
  25. package/esm/tl/0_api.d.ts.map +1 -1
  26. package/esm/tl/0_api.js +7345 -6639
  27. package/esm/tl/0_tl_raw_reader.d.ts +2 -0
  28. package/esm/tl/0_tl_raw_reader.d.ts.map +1 -1
  29. package/esm/tl/0_tl_raw_reader.js +10 -0
  30. package/esm/tl/1_utilities.d.ts +10 -1
  31. package/esm/tl/1_utilities.d.ts.map +1 -1
  32. package/esm/tl/1_utilities.js +25 -1
  33. package/esm/tl/{5_message.d.ts → 2_message.d.ts} +5 -8
  34. package/esm/tl/2_message.d.ts.map +1 -0
  35. package/esm/tl/{5_message.js → 2_message.js} +16 -33
  36. package/esm/tl/{3_tl_reader.d.ts → 2_tl_reader.d.ts} +4 -3
  37. package/esm/tl/2_tl_reader.d.ts.map +1 -0
  38. package/esm/tl/2_tl_reader.js +146 -0
  39. package/esm/tl/2_tl_reader_test.d.ts.map +1 -0
  40. package/{script/tl/4_tl_writer.d.ts → esm/tl/2_tl_writer.d.ts} +4 -3
  41. package/esm/tl/2_tl_writer.d.ts.map +1 -0
  42. package/esm/tl/2_tl_writer.js +209 -0
  43. package/esm/tl/2_tl_writer_test.d.ts.map +1 -0
  44. package/{script/tl/3_utilities.d.ts → esm/tl/2_utilities.d.ts} +1 -1
  45. package/esm/tl/{3_utilities.d.ts.map → 2_utilities.d.ts.map} +1 -1
  46. package/esm/types/2_chosen_inline_result.d.ts.map +1 -1
  47. package/esm/types/2_chosen_inline_result.js +2 -2
  48. package/esm/types/4_message.d.ts +3 -3
  49. package/esm/types/4_message.d.ts.map +1 -1
  50. package/esm/types/4_message.js +16 -8
  51. package/esm/types/5_callback_query.d.ts.map +1 -1
  52. package/esm/types/5_callback_query.js +3 -3
  53. package/esm/{tl/4_rpc_result.d.ts → types/5_topic.d.ts} +14 -7
  54. package/esm/types/5_topic.d.ts.map +1 -0
  55. package/esm/types/5_topic.js +76 -0
  56. package/esm/utilities/0_misc.d.ts +0 -1
  57. package/esm/utilities/0_misc.d.ts.map +1 -1
  58. package/esm/utilities/0_misc.js +0 -1
  59. package/package.json +1 -1
  60. package/script/2_tl.d.ts +4 -6
  61. package/script/2_tl.d.ts.map +1 -1
  62. package/script/2_tl.js +4 -6
  63. package/script/3_types.d.ts +1 -0
  64. package/script/3_types.d.ts.map +1 -1
  65. package/script/3_types.js +1 -0
  66. package/script/client/0_params.d.ts +12 -0
  67. package/script/client/0_params.d.ts.map +1 -1
  68. package/script/client/0_storage_operations.d.ts.map +1 -1
  69. package/script/client/0_storage_operations.js +8 -8
  70. package/script/client/1_client_encrypted.d.ts.map +1 -1
  71. package/script/client/1_client_encrypted.js +171 -124
  72. package/script/client/1_client_plain.d.ts.map +1 -1
  73. package/script/client/1_client_plain.js +11 -7
  74. package/script/client/3_message_manager.d.ts +1 -0
  75. package/script/client/3_message_manager.d.ts.map +1 -1
  76. package/script/client/3_message_manager.js +51 -50
  77. package/script/client/4_forum_manager.d.ts +40 -0
  78. package/script/client/4_forum_manager.d.ts.map +1 -0
  79. package/script/client/4_forum_manager.js +138 -0
  80. package/script/client/5_client.d.ts +67 -2
  81. package/script/client/5_client.d.ts.map +1 -1
  82. package/script/client/5_client.js +87 -2
  83. package/script/tl/0_api.d.ts +1 -2
  84. package/script/tl/0_api.d.ts.map +1 -1
  85. package/script/tl/0_api.js +7346 -6640
  86. package/script/tl/0_tl_raw_reader.d.ts +2 -0
  87. package/script/tl/0_tl_raw_reader.d.ts.map +1 -1
  88. package/script/tl/0_tl_raw_reader.js +10 -0
  89. package/script/tl/1_utilities.d.ts +10 -1
  90. package/script/tl/1_utilities.d.ts.map +1 -1
  91. package/script/tl/1_utilities.js +29 -1
  92. package/script/tl/{5_message.d.ts → 2_message.d.ts} +5 -8
  93. package/script/tl/2_message.d.ts.map +1 -0
  94. package/script/tl/{5_message.js → 2_message.js} +17 -34
  95. package/script/tl/{3_tl_reader.d.ts → 2_tl_reader.d.ts} +4 -3
  96. package/script/tl/2_tl_reader.d.ts.map +1 -0
  97. package/script/tl/2_tl_reader.js +150 -0
  98. package/script/tl/2_tl_reader_test.d.ts.map +1 -0
  99. package/{esm/tl/4_tl_writer.d.ts → script/tl/2_tl_writer.d.ts} +4 -3
  100. package/script/tl/2_tl_writer.d.ts.map +1 -0
  101. package/script/tl/2_tl_writer.js +213 -0
  102. package/script/tl/2_tl_writer_test.d.ts.map +1 -0
  103. package/{esm/tl/3_utilities.d.ts → script/tl/2_utilities.d.ts} +1 -1
  104. package/script/tl/{3_utilities.d.ts.map → 2_utilities.d.ts.map} +1 -1
  105. package/script/types/2_chosen_inline_result.d.ts.map +1 -1
  106. package/script/types/2_chosen_inline_result.js +1 -1
  107. package/script/types/4_message.d.ts +3 -3
  108. package/script/types/4_message.d.ts.map +1 -1
  109. package/script/types/4_message.js +16 -8
  110. package/script/types/5_callback_query.d.ts.map +1 -1
  111. package/script/types/5_callback_query.js +2 -2
  112. package/script/types/5_topic.d.ts +34 -0
  113. package/script/types/5_topic.d.ts.map +1 -0
  114. package/script/types/5_topic.js +79 -0
  115. package/script/utilities/0_misc.d.ts +0 -1
  116. package/script/utilities/0_misc.d.ts.map +1 -1
  117. package/script/utilities/0_misc.js +1 -2
  118. package/esm/tl/2_deserialize.d.ts +0 -23
  119. package/esm/tl/2_deserialize.d.ts.map +0 -1
  120. package/esm/tl/2_deserialize.js +0 -98
  121. package/esm/tl/2_serialize.d.ts +0 -22
  122. package/esm/tl/2_serialize.d.ts.map +0 -1
  123. package/esm/tl/2_serialize.js +0 -163
  124. package/esm/tl/2_serialize_test.d.ts.map +0 -1
  125. package/esm/tl/3_deserialize_test.d.ts.map +0 -1
  126. package/esm/tl/3_tl_reader.d.ts.map +0 -1
  127. package/esm/tl/3_tl_reader.js +0 -49
  128. package/esm/tl/4_rpc_result.d.ts.map +0 -1
  129. package/esm/tl/4_rpc_result.js +0 -33
  130. package/esm/tl/4_tl_writer.d.ts.map +0 -1
  131. package/esm/tl/4_tl_writer.js +0 -45
  132. package/esm/tl/5_message.d.ts.map +0 -1
  133. package/script/tl/2_deserialize.d.ts +0 -23
  134. package/script/tl/2_deserialize.d.ts.map +0 -1
  135. package/script/tl/2_deserialize.js +0 -101
  136. package/script/tl/2_serialize.d.ts +0 -22
  137. package/script/tl/2_serialize.d.ts.map +0 -1
  138. package/script/tl/2_serialize.js +0 -166
  139. package/script/tl/2_serialize_test.d.ts.map +0 -1
  140. package/script/tl/3_deserialize_test.d.ts.map +0 -1
  141. package/script/tl/3_tl_reader.d.ts.map +0 -1
  142. package/script/tl/3_tl_reader.js +0 -53
  143. package/script/tl/4_rpc_result.d.ts +0 -27
  144. package/script/tl/4_rpc_result.d.ts.map +0 -1
  145. package/script/tl/4_rpc_result.js +0 -37
  146. package/script/tl/4_tl_writer.d.ts.map +0 -1
  147. package/script/tl/4_tl_writer.js +0 -49
  148. package/script/tl/5_message.d.ts.map +0 -1
  149. /package/esm/tl/{3_utilities.js → 2_utilities.js} +0 -0
  150. /package/script/tl/{3_utilities.js → 2_utilities.js} +0 -0
@@ -29,7 +29,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
29
29
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
30
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
31
  };
32
- var _ClientEncrypted_instances, _ClientEncrypted_authKey, _ClientEncrypted_authKeyId, _ClientEncrypted_sessionId, _ClientEncrypted_state, _ClientEncrypted_shouldInvalidateSession, _ClientEncrypted_toAcknowledge, _ClientEncrypted_recentAcks, _ClientEncrypted_promises, _ClientEncrypted_L, _ClientEncrypted_LreceiveLoop, _ClientEncrypted_Linvoke, _ClientEncrypted_timeDifference, _ClientEncrypted_nextMessageId, _ClientEncrypted_nextSeqNo, _ClientEncrypted_invalidateSession, _ClientEncrypted_sendMessage, _ClientEncrypted_receiveLoop;
32
+ var _ClientEncrypted_instances, _ClientEncrypted_authKey, _ClientEncrypted_authKeyId, _ClientEncrypted_sessionId, _ClientEncrypted_state, _ClientEncrypted_shouldInvalidateSession, _ClientEncrypted_toAcknowledge, _ClientEncrypted_recentAcks, _ClientEncrypted_promises, _ClientEncrypted_loopActive, _ClientEncrypted_L, _ClientEncrypted_LreceiveLoop, _ClientEncrypted_Linvoke, _ClientEncrypted_timeDifference, _ClientEncrypted_nextMessageId, _ClientEncrypted_nextSeqNo, _ClientEncrypted_invalidateSession, _ClientEncrypted_sendMessage, _ClientEncrypted_receiveLoop, _ClientEncrypted_handleIncomingMessage, _ClientEncrypted_handleRpcResult, _ClientEncrypted_handleType;
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
34
  exports.ClientEncrypted = void 0;
35
35
  const _0_deps_js_1 = require("../0_deps.js");
@@ -37,10 +37,13 @@ const _0_errors_js_1 = require("../0_errors.js");
37
37
  const _1_utilities_js_1 = require("../1_utilities.js");
38
38
  const _2_tl_js_1 = require("../2_tl.js");
39
39
  const _4_errors_js_1 = require("../4_errors.js");
40
+ const _2_tl_writer_js_1 = require("../tl/2_tl_writer.js");
40
41
  const _0_client_abstract_js_1 = require("./0_client_abstract.js");
41
42
  const _0_message_js_1 = require("./0_message.js");
43
+ const COMPRESSION_THRESHOLD = 1024;
42
44
  // global ClientEncrypted ID counter for logs
43
45
  let id = 0;
46
+ const RPC_ERROR = _2_tl_js_1.Api.getType("rpc_error")[0];
44
47
  /**
45
48
  * An MTProto client for making encrypted connections. Most users won't need to interact with this. Used internally by `Client`.
46
49
  *
@@ -64,6 +67,7 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
64
67
  _ClientEncrypted_toAcknowledge.set(this, new Array());
65
68
  _ClientEncrypted_recentAcks.set(this, new _1_utilities_js_1.CacheMap(20));
66
69
  _ClientEncrypted_promises.set(this, new Map());
70
+ _ClientEncrypted_loopActive.set(this, true);
67
71
  // loggers
68
72
  _ClientEncrypted_L.set(this, void 0);
69
73
  _ClientEncrypted_LreceiveLoop.set(this, void 0);
@@ -105,13 +109,19 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
105
109
  }
106
110
  async invoke(function_, noWait) {
107
111
  const messageId = __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_nextMessageId).call(this);
112
+ let body = new _2_tl_writer_js_1.TLWriter().serialize(function_).buffer;
113
+ if (body.length > COMPRESSION_THRESHOLD) {
114
+ body = new _2_tl_writer_js_1.TLWriter()
115
+ .writeInt32(_2_tl_js_1.GZIP_PACKED, false)
116
+ .writeBytes(await (0, _1_utilities_js_1.gzip)(body))
117
+ .buffer;
118
+ }
108
119
  let message_ = {
109
120
  _: "message",
110
121
  msg_id: messageId,
111
122
  seqno: __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_nextSeqNo).call(this, true),
112
- body: function_,
123
+ body,
113
124
  };
114
- Object.assign(message_, { [_2_tl_js_1.compressible]: true });
115
125
  const message__ = message_;
116
126
  let container = undefined;
117
127
  if (__classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").length) {
@@ -119,7 +129,7 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
119
129
  _: "message",
120
130
  msg_id: __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_nextMessageId).call(this),
121
131
  seqno: __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_nextSeqNo).call(this, false),
122
- body: { _: "msgs_ack", msg_ids: __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").splice(0, 8192) },
132
+ body: new _2_tl_writer_js_1.TLWriter().serialize({ _: "msgs_ack", msg_ids: __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").splice(0, 8192) }).buffer,
123
133
  };
124
134
  __classPrivateFieldGet(this, _ClientEncrypted_recentAcks, "f").set(ack.msg_id, { container, message: ack });
125
135
  message_ = {
@@ -148,7 +158,7 @@ class ClientEncrypted extends _0_client_abstract_js_1.ClientAbstract {
148
158
  }
149
159
  }
150
160
  exports.ClientEncrypted = ClientEncrypted;
151
- _ClientEncrypted_authKey = new WeakMap(), _ClientEncrypted_authKeyId = new WeakMap(), _ClientEncrypted_sessionId = new WeakMap(), _ClientEncrypted_state = new WeakMap(), _ClientEncrypted_shouldInvalidateSession = new WeakMap(), _ClientEncrypted_toAcknowledge = new WeakMap(), _ClientEncrypted_recentAcks = new WeakMap(), _ClientEncrypted_promises = new WeakMap(), _ClientEncrypted_L = new WeakMap(), _ClientEncrypted_LreceiveLoop = new WeakMap(), _ClientEncrypted_Linvoke = new WeakMap(), _ClientEncrypted_timeDifference = new WeakMap(), _ClientEncrypted_instances = new WeakSet(), _ClientEncrypted_nextMessageId = function _ClientEncrypted_nextMessageId() {
161
+ _ClientEncrypted_authKey = new WeakMap(), _ClientEncrypted_authKeyId = new WeakMap(), _ClientEncrypted_sessionId = new WeakMap(), _ClientEncrypted_state = new WeakMap(), _ClientEncrypted_shouldInvalidateSession = new WeakMap(), _ClientEncrypted_toAcknowledge = new WeakMap(), _ClientEncrypted_recentAcks = new WeakMap(), _ClientEncrypted_promises = new WeakMap(), _ClientEncrypted_loopActive = new WeakMap(), _ClientEncrypted_L = new WeakMap(), _ClientEncrypted_LreceiveLoop = new WeakMap(), _ClientEncrypted_Linvoke = new WeakMap(), _ClientEncrypted_timeDifference = new WeakMap(), _ClientEncrypted_instances = new WeakSet(), _ClientEncrypted_nextMessageId = function _ClientEncrypted_nextMessageId() {
152
162
  return __classPrivateFieldGet(this, _ClientEncrypted_state, "f").messageId = (0, _0_message_js_1.getMessageId)(__classPrivateFieldGet(this, _ClientEncrypted_state, "f").messageId, __classPrivateFieldGet(this, _ClientEncrypted_timeDifference, "f"));
153
163
  }, _ClientEncrypted_nextSeqNo = function _ClientEncrypted_nextSeqNo(contentRelated) {
154
164
  let seqNo = __classPrivateFieldGet(this, _ClientEncrypted_state, "f").seqNo * 2;
@@ -177,7 +187,8 @@ _ClientEncrypted_authKey = new WeakMap(), _ClientEncrypted_authKeyId = new WeakM
177
187
  reject?.(new _0_errors_js_1.ConnectionError("Connection was closed"));
178
188
  __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(key);
179
189
  }
180
- loop: while (this.connected) {
190
+ __classPrivateFieldSet(this, _ClientEncrypted_loopActive, true, "f");
191
+ while (this.connected && __classPrivateFieldGet(this, _ClientEncrypted_loopActive, "f")) {
181
192
  try {
182
193
  const buffer = await this.transport.transport.receive();
183
194
  __classPrivateFieldGet(this, _ClientEncrypted_L, "f").inBin(buffer);
@@ -191,126 +202,12 @@ _ClientEncrypted_authKey = new WeakMap(), _ClientEncrypted_authKeyId = new WeakM
191
202
  (0, _1_utilities_js_1.drop)(this.handlers.error?.(err, "decryption"));
192
203
  continue;
193
204
  }
194
- const messages = decrypted.body._ == "msg_container" ? decrypted.body.messages : [decrypted];
205
+ const messages = decrypted.body instanceof Uint8Array ? [decrypted] : decrypted.body.messages.map((v) => v);
195
206
  for (const message of messages) {
196
- let sendAck = true;
197
- const body = message.body;
198
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("received", body._);
199
- if ((0, _2_tl_js_1.isOfEnum)("Updates", body) || (0, _2_tl_js_1.isOfEnum)("Update", body)) {
200
- (0, _1_utilities_js_1.drop)(this.handlers.updates?.(body, null));
201
- }
202
- else if ((0, _2_tl_js_1.is)("new_session_created", body)) {
203
- this.serverSalt = body.server_salt;
204
- (0, _1_utilities_js_1.drop)(this.handlers.serverSaltReassigned?.(this.serverSalt));
205
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("new session created with ID", body.unique_id);
206
- }
207
- else if (body._ == "rpc_result") {
208
- const result = body.result;
209
- if ((0, _2_tl_js_1.is)("rpc_error", result)) {
210
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("RPCResult:", result.error_code, result.error_message);
211
- }
212
- else {
213
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("RPCResult:", Array.isArray(result) ? "Array" : typeof result === "object" ? result._ : result);
214
- }
215
- const messageId = body.req_msg_id;
216
- const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(messageId);
217
- const resolvePromise = () => {
218
- if (promise) {
219
- if ((0, _2_tl_js_1.is)("rpc_error", result)) {
220
- promise.reject?.((0, _4_errors_js_1.constructTelegramError)(result, promise.call));
221
- }
222
- else {
223
- promise.resolve?.(result);
224
- }
225
- __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(messageId);
226
- }
227
- };
228
- if ((0, _2_tl_js_1.isOfEnum)("Updates", result) || (0, _2_tl_js_1.isOfEnum)("Update", result)) {
229
- // @ts-ignore: tbd
230
- let call = promise?.call ?? null;
231
- if ((0, _2_tl_js_1.isGenericFunction)(call)) {
232
- call = call.query;
233
- }
234
- (0, _1_utilities_js_1.drop)(this.handlers.updates?.(result, call, resolvePromise));
235
- }
236
- else {
237
- (0, _1_utilities_js_1.drop)(this.handlers.result?.(result, resolvePromise));
238
- }
239
- }
240
- else if ((0, _2_tl_js_1.is)("pong", body)) {
241
- const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.msg_id);
242
- if (promise) {
243
- promise.resolve?.(body);
244
- __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(body.msg_id);
245
- }
246
- }
247
- else if ((0, _2_tl_js_1.is)("bad_server_salt", body)) {
248
- sendAck = false;
249
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("server salt reassigned");
250
- this.serverSalt = body.new_server_salt;
251
- (0, _1_utilities_js_1.drop)(this.handlers.serverSaltReassigned?.(this.serverSalt));
252
- const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.bad_msg_id);
253
- const ack = __classPrivateFieldGet(this, _ClientEncrypted_recentAcks, "f").get(body.bad_msg_id);
254
- if (promise) {
255
- (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, promise.message));
256
- }
257
- else if (ack) {
258
- (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, ack.message));
259
- }
260
- else {
261
- for (const promise of __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").values()) {
262
- if (promise.container && promise.container == body.bad_msg_id) {
263
- (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, promise.message));
264
- }
265
- }
266
- for (const ack of __classPrivateFieldGet(this, _ClientEncrypted_recentAcks, "f").values()) {
267
- if (ack.container && ack.container == body.bad_msg_id) {
268
- (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, ack.message));
269
- }
270
- }
271
- }
272
- }
273
- else if ((0, _2_tl_js_1.is)("bad_msg_notification", body)) {
274
- sendAck = false;
275
- let low = false;
276
- switch (body.error_code) {
277
- case 16: // message ID too low
278
- low = true;
279
- /* falls through */
280
- case 17: // message ID too high
281
- __classPrivateFieldSet(this, _ClientEncrypted_timeDifference, Math.abs((0, _1_utilities_js_1.toUnixTimestamp)(new Date()) - Number(message.msg_id >> 32n)), "f");
282
- if (!low) {
283
- __classPrivateFieldSet(this, _ClientEncrypted_timeDifference, -__classPrivateFieldGet(this, _ClientEncrypted_timeDifference, "f"), "f");
284
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("message ID too high, invalidating session");
285
- await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_invalidateSession).call(this);
286
- break loop;
287
- }
288
- else {
289
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("message ID too low, resending message");
290
- }
291
- break;
292
- case 48: // bad server salt
293
- // resend
294
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("resending message that caused bad_server_salt");
295
- break;
296
- default:
297
- await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_invalidateSession).call(this);
298
- __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("invalidating session because of unexpected bad_msg_notification:", body.error_code);
299
- break loop;
300
- }
301
- const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.bad_msg_id);
302
- if (promise) {
303
- promise.reject?.(body);
304
- __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(body.bad_msg_id);
305
- }
306
- }
307
- else if ((0, _2_tl_js_1.isOneOf)(["msg_detailed_info", "msg_new_detailed_info"], body)) {
308
- sendAck = false;
309
- __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").push(body.answer_msg_id);
310
- }
311
- if (sendAck) {
312
- __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").push(message.msg_id);
207
+ if (!(message.body instanceof Uint8Array)) {
208
+ (0, _0_deps_js_1.unreachable)();
313
209
  }
210
+ await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_handleIncomingMessage).call(this, message);
314
211
  }
315
212
  }
316
213
  catch (err) {
@@ -335,4 +232,154 @@ _ClientEncrypted_authKey = new WeakMap(), _ClientEncrypted_authKeyId = new WeakM
335
232
  else {
336
233
  (0, _0_deps_js_1.unreachable)();
337
234
  }
235
+ }, _ClientEncrypted_handleIncomingMessage = async function _ClientEncrypted_handleIncomingMessage(message) {
236
+ const body = message.body;
237
+ if (!(body instanceof Uint8Array)) {
238
+ (0, _0_deps_js_1.unreachable)();
239
+ }
240
+ let reader = new _2_tl_js_1.TLReader(body);
241
+ const id = reader.readInt32(false);
242
+ if (id == _2_tl_js_1.GZIP_PACKED) {
243
+ reader = new _2_tl_js_1.TLReader(await (0, _1_utilities_js_1.gunzip)(reader.readBytes()));
244
+ }
245
+ else if (id == _2_tl_js_1.RPC_RESULT) {
246
+ await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_handleRpcResult).call(this, reader);
247
+ }
248
+ else {
249
+ reader.unreadInt32();
250
+ await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_handleType).call(this, message, reader);
251
+ return;
252
+ }
253
+ __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").push(message.msg_id);
254
+ }, _ClientEncrypted_handleRpcResult = async function _ClientEncrypted_handleRpcResult(reader) {
255
+ const messageId = reader.readInt64();
256
+ const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(messageId);
257
+ if (!promise) {
258
+ return;
259
+ }
260
+ let id = reader.readInt32(false);
261
+ if (id == _2_tl_js_1.GZIP_PACKED) {
262
+ reader = new _2_tl_js_1.TLReader(await (0, _1_utilities_js_1.gunzip)(reader.readBytes()));
263
+ id = reader.readInt32(false);
264
+ reader.unreadInt32();
265
+ }
266
+ else {
267
+ reader.unreadInt32();
268
+ }
269
+ // deno-lint-ignore no-explicit-any
270
+ let call = promise?.call ?? null;
271
+ while ((0, _2_tl_js_1.isGenericFunction)(call)) {
272
+ call = call.query;
273
+ }
274
+ // deno-lint-ignore no-explicit-any
275
+ let result;
276
+ if (id == RPC_ERROR) {
277
+ result = await reader.deserialize("rpc_error");
278
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("RPCResult:", result.error_code, result.error_message);
279
+ }
280
+ else {
281
+ result = await reader.deserialize((0, _2_tl_js_1.mustGetReturnType)(call._));
282
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("RPCResult:", Array.isArray(result) ? "Array" : typeof result === "object" ? result._ : result);
283
+ }
284
+ const resolvePromise = () => {
285
+ if ((0, _2_tl_js_1.is)("rpc_error", result)) {
286
+ promise.reject?.((0, _4_errors_js_1.constructTelegramError)(result, promise.call));
287
+ }
288
+ else {
289
+ promise.resolve?.(result);
290
+ }
291
+ __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(messageId);
292
+ };
293
+ if ((0, _2_tl_js_1.isOfEnum)("Updates", result) || (0, _2_tl_js_1.isOfEnum)("Update", result)) {
294
+ (0, _1_utilities_js_1.drop)(this.handlers.updates?.(result, call, resolvePromise));
295
+ }
296
+ else {
297
+ (0, _1_utilities_js_1.drop)(this.handlers.result?.(result, resolvePromise));
298
+ }
299
+ }, _ClientEncrypted_handleType = async function _ClientEncrypted_handleType(message, reader) {
300
+ const body = await reader.deserialize(_2_tl_js_1.X);
301
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("received", (0, _2_tl_js_1.repr)(body));
302
+ let sendAck = true;
303
+ if ((0, _2_tl_js_1.isOfEnum)("Updates", body) || (0, _2_tl_js_1.isOfEnum)("Update", body)) {
304
+ (0, _1_utilities_js_1.drop)(this.handlers.updates?.(body, null));
305
+ }
306
+ else if ((0, _2_tl_js_1.is)("new_session_created", body)) {
307
+ this.serverSalt = body.server_salt;
308
+ (0, _1_utilities_js_1.drop)(this.handlers.serverSaltReassigned?.(this.serverSalt));
309
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("new session created with ID", body.unique_id);
310
+ }
311
+ else if ((0, _2_tl_js_1.is)("pong", body)) {
312
+ const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.msg_id);
313
+ if (promise) {
314
+ promise.resolve?.(body);
315
+ __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(body.msg_id);
316
+ }
317
+ }
318
+ else if ((0, _2_tl_js_1.is)("bad_server_salt", body)) {
319
+ sendAck = false;
320
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("server salt reassigned");
321
+ this.serverSalt = body.new_server_salt;
322
+ (0, _1_utilities_js_1.drop)(this.handlers.serverSaltReassigned?.(this.serverSalt));
323
+ const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.bad_msg_id);
324
+ const ack = __classPrivateFieldGet(this, _ClientEncrypted_recentAcks, "f").get(body.bad_msg_id);
325
+ if (promise) {
326
+ (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, promise.message));
327
+ }
328
+ else if (ack) {
329
+ (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, ack.message));
330
+ }
331
+ else {
332
+ for (const promise of __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").values()) {
333
+ if (promise.container && promise.container == body.bad_msg_id) {
334
+ (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, promise.message));
335
+ }
336
+ }
337
+ for (const ack of __classPrivateFieldGet(this, _ClientEncrypted_recentAcks, "f").values()) {
338
+ if (ack.container && ack.container == body.bad_msg_id) {
339
+ (0, _1_utilities_js_1.drop)(__classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_sendMessage).call(this, ack.message));
340
+ }
341
+ }
342
+ }
343
+ }
344
+ else if ((0, _2_tl_js_1.is)("bad_msg_notification", body)) {
345
+ sendAck = false;
346
+ let low = false;
347
+ switch (body.error_code) {
348
+ case 16: // message ID too low
349
+ low = true;
350
+ /* falls through */
351
+ case 17: // message ID too high
352
+ __classPrivateFieldSet(this, _ClientEncrypted_timeDifference, Math.abs((0, _1_utilities_js_1.toUnixTimestamp)(new Date()) - Number(message.msg_id >> 32n)), "f");
353
+ if (!low) {
354
+ __classPrivateFieldSet(this, _ClientEncrypted_timeDifference, -__classPrivateFieldGet(this, _ClientEncrypted_timeDifference, "f"), "f");
355
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("message ID too high, invalidating session");
356
+ await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_invalidateSession).call(this);
357
+ __classPrivateFieldSet(this, _ClientEncrypted_loopActive, false, "f");
358
+ }
359
+ else {
360
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("message ID too low, resending message");
361
+ }
362
+ break;
363
+ case 48: // bad server salt
364
+ // resend
365
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("resending message that caused bad_server_salt");
366
+ break;
367
+ default:
368
+ await __classPrivateFieldGet(this, _ClientEncrypted_instances, "m", _ClientEncrypted_invalidateSession).call(this);
369
+ __classPrivateFieldGet(this, _ClientEncrypted_LreceiveLoop, "f").debug("invalidating session because of unexpected bad_msg_notification:", body.error_code);
370
+ __classPrivateFieldSet(this, _ClientEncrypted_loopActive, false, "f");
371
+ }
372
+ const promise = __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").get(body.bad_msg_id);
373
+ if (promise) {
374
+ promise.reject?.(body);
375
+ __classPrivateFieldGet(this, _ClientEncrypted_promises, "f").delete(body.bad_msg_id);
376
+ }
377
+ }
378
+ else if ((0, _2_tl_js_1.isOneOf)(["msg_detailed_info", "msg_new_detailed_info"], body)) {
379
+ sendAck = false;
380
+ __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").push(body.answer_msg_id);
381
+ }
382
+ if (sendAck) {
383
+ __classPrivateFieldGet(this, _ClientEncrypted_toAcknowledge, "f").push(message.msg_id);
384
+ }
338
385
  };
@@ -1 +1 @@
1
- {"version":3,"file":"1_client_plain.d.ts","sourceRoot":"","sources":["../../src/client/1_client_plain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,GAAG,EAA2B,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9E,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,cAAc;;gBAIjC,MAAM,CAAC,EAAE,iBAAiB;IAKhC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwB3P,aAAa,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;CA+HlE"}
1
+ {"version":3,"file":"1_client_plain.d.ts","sourceRoot":"","sources":["../../src/client/1_client_plain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,GAAG,EAA6C,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9E,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,cAAc;;gBAIjC,MAAM,CAAC,EAAE,iBAAiB;IAKhC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwB3P,aAAa,IAAI,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;CAmIlE"}
@@ -56,7 +56,7 @@ class ClientPlain extends _0_client_abstract_js_1.ClientAbstract {
56
56
  throw new _0_errors_js_1.ConnectionError("Not connected.");
57
57
  }
58
58
  const messageId = __classPrivateFieldSet(this, _ClientPlain_lastMessageId, (0, _0_message_js_1.getMessageId)(__classPrivateFieldGet(this, _ClientPlain_lastMessageId, "f"), 0), "f");
59
- const payload = (0, _0_message_js_1.packUnencryptedMessage)((0, _2_tl_js_1.serialize)(function_), messageId);
59
+ const payload = (0, _0_message_js_1.packUnencryptedMessage)(new _2_tl_js_1.TLWriter().serialize(function_).buffer, messageId);
60
60
  await this.transport.transport.send(payload);
61
61
  L.out(function_);
62
62
  L.outBin(payload);
@@ -68,7 +68,7 @@ class ClientPlain extends _0_client_abstract_js_1.ClientAbstract {
68
68
  }
69
69
  const { message } = (0, _0_message_js_1.unpackUnencryptedMessage)(buffer);
70
70
  const reader = new _2_tl_js_1.TLReader(message);
71
- const result = reader.readObject();
71
+ const result = await reader.deserialize((0, _2_tl_js_1.mustGetReturnType)(function_._));
72
72
  L.in(result);
73
73
  return result;
74
74
  }
@@ -116,7 +116,8 @@ class ClientPlain extends _0_client_abstract_js_1.ClientAbstract {
116
116
  const pq = resPq.pq;
117
117
  const serverNonce = resPq.server_nonce;
118
118
  const newNonce = (0, _1_utilities_js_1.getRandomBigInt)(32, false, true);
119
- let encryptedData = await (0, _1_utilities_js_1.rsaPad)((0, _2_tl_js_1.serialize)({
119
+ let encryptedData = await (0, _1_utilities_js_1.rsaPad)(new _2_tl_js_1.TLWriter()
120
+ .serialize({
120
121
  _: "p_q_inner_data_dc",
121
122
  pq,
122
123
  p,
@@ -125,7 +126,8 @@ class ClientPlain extends _0_client_abstract_js_1.ClientAbstract {
125
126
  new_nonce: newNonce,
126
127
  nonce,
127
128
  server_nonce: serverNonce,
128
- }), publicKey);
129
+ })
130
+ .buffer, publicKey);
129
131
  const dhParams = await this.invoke({
130
132
  _: "req_DH_params",
131
133
  nonce,
@@ -142,20 +144,22 @@ class ClientPlain extends _0_client_abstract_js_1.ClientAbstract {
142
144
  const tmpAesKey = (0, _0_deps_js_1.concat)([await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([newNonce_, serverNonce_])), (await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([serverNonce_, newNonce_]))).subarray(0, 0 + 12)]);
143
145
  const tmpAesIv = (0, _0_deps_js_1.concat)([(await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([serverNonce_, newNonce_]))).subarray(12, 12 + 8), await (0, _1_utilities_js_1.sha1)((0, _0_deps_js_1.concat)([newNonce_, newNonce_])), newNonce_.subarray(0, 0 + 4)]);
144
146
  const answerWithHash = (0, _0_deps_js_1.ige256Decrypt)(dhParams.encrypted_answer, tmpAesKey, tmpAesIv);
145
- const dhInnerData = new _2_tl_js_1.TLReader(answerWithHash.slice(20)).readObject();
147
+ const dhInnerData = await new _2_tl_js_1.TLReader(answerWithHash.slice(20)).deserialize("server_DH_inner_data");
146
148
  (0, _0_deps_js_1.assert)((0, _2_tl_js_1.is)("server_DH_inner_data", dhInnerData));
147
149
  const { g, g_a: gA_, dh_prime: dhPrime_ } = dhInnerData;
148
150
  const gA = (0, _1_utilities_js_1.bigIntFromBuffer)(gA_, false, false);
149
151
  const dhPrime = (0, _1_utilities_js_1.bigIntFromBuffer)(dhPrime_, false, false);
150
152
  const b = (0, _1_utilities_js_1.getRandomBigInt)(256, false, false);
151
153
  const gB = (0, _1_utilities_js_1.modExp)(BigInt(g), b, dhPrime);
152
- const data = (0, _2_tl_js_1.serialize)({
154
+ const data = new _2_tl_js_1.TLWriter()
155
+ .serialize({
153
156
  _: "client_DH_inner_data",
154
157
  nonce,
155
158
  server_nonce: serverNonce,
156
159
  retry_id: 0n,
157
160
  g_b: (0, _1_utilities_js_1.bufferFromBigInt)(gB, 256, false, false),
158
- });
161
+ })
162
+ .buffer;
159
163
  let dataWithHash = (0, _0_deps_js_1.concat)([await (0, _1_utilities_js_1.sha1)(data), data]);
160
164
  while (dataWithHash.length % 16 != 0) {
161
165
  dataWithHash = (0, _0_deps_js_1.concat)([dataWithHash, new Uint8Array(1)]);
@@ -40,6 +40,7 @@ export declare class MessageManager implements UpdateProcessor<MessageManagerUpd
40
40
  parseMode?: ParseMode;
41
41
  entities?: MessageEntity[];
42
42
  }): Promise<readonly [string, Api.MessageEntity[] | undefined]>;
43
+ updatesToMessages(chatId: ID, updates: Api.Updates, businessConnectionId?: string): Promise<Message[]>;
43
44
  constructMessage(message_: Api.Message, r?: boolean, business?: {
44
45
  connectionId: string;
45
46
  replyToMessage?: Api.Message;
@@ -1 +1 @@
1
- {"version":3,"file":"3_message_manager.d.ts","sourceRoot":"","sources":["../../src/client/3_message_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"3_message_manager.d.ts","sourceRoot":"","sources":["../../src/client/3_message_manager.ts"],"names":[],"mappings":"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"}