@honeybbq/teamspeak-client 0.2.3 → 0.3.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 (121) hide show
  1. package/README.md +1 -0
  2. package/dist/address-BR-5unVo.cjs +2 -0
  3. package/dist/address-BR-5unVo.cjs.map +1 -0
  4. package/dist/address-BfmovVpp.js +65 -0
  5. package/dist/address-BfmovVpp.js.map +1 -0
  6. package/dist/address.d.ts +9 -0
  7. package/dist/address.d.ts.map +1 -0
  8. package/dist/api.d.ts.map +1 -1
  9. package/dist/client.d.ts +2 -0
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/command/index.cjs +1 -1
  12. package/dist/command/index.mjs +2 -2
  13. package/dist/{command-CTDmBXd_.js → command-BLe-C2L2.js} +2 -4
  14. package/dist/{command-CUPNiKRl.cjs.map → command-BLe-C2L2.js.map} +1 -1
  15. package/dist/command-DAK4pUBP.cjs +4 -0
  16. package/dist/command-DAK4pUBP.cjs.map +1 -0
  17. package/dist/commands.d.ts.map +1 -1
  18. package/dist/{crypt-handshake-D2Rsi2e3.cjs → crypt-handshake-CQkQreLx.cjs} +2 -2
  19. package/dist/crypt-handshake-CQkQreLx.cjs.map +1 -0
  20. package/dist/{crypt-handshake-DIj51kno.js → crypt-handshake-DziOY4Lq.js} +2 -2
  21. package/dist/crypt-handshake-DziOY4Lq.js.map +1 -0
  22. package/dist/{crypt-init2-C2X9oK4i.js → crypt-init2-D70ha4LB.js} +6 -6
  23. package/dist/crypt-init2-D70ha4LB.js.map +1 -0
  24. package/dist/{crypt-init2-CazdFwqF.cjs → crypt-init2-DparLekm.cjs} +2 -2
  25. package/dist/crypt-init2-DparLekm.cjs.map +1 -0
  26. package/dist/crypto/crypt.d.ts.map +1 -1
  27. package/dist/crypto/eax.d.ts.map +1 -1
  28. package/dist/crypto/identity.d.ts.map +1 -1
  29. package/dist/crypto/index.cjs +1 -1
  30. package/dist/crypto/index.mjs +2 -2
  31. package/dist/{crypto-CwIMggQG.js → crypto-Bg02m4ZE.js} +7 -7
  32. package/dist/crypto-Bg02m4ZE.js.map +1 -0
  33. package/dist/crypto-CDlweUL3.cjs +2 -0
  34. package/dist/crypto-CDlweUL3.cjs.map +1 -0
  35. package/dist/discovery/index.cjs +1 -1
  36. package/dist/discovery/index.mjs +1 -1
  37. package/dist/discovery/resolver.d.ts.map +1 -1
  38. package/dist/errors.d.ts.map +1 -1
  39. package/dist/{handler-BP38rMNl.js → handler-DI_abe9c.js} +153 -125
  40. package/dist/handler-DI_abe9c.js.map +1 -0
  41. package/dist/handler-DuwoO5RC.cjs +2 -0
  42. package/dist/handler-DuwoO5RC.cjs.map +1 -0
  43. package/dist/handshake/index.cjs +1 -1
  44. package/dist/handshake/index.mjs +2 -2
  45. package/dist/handshake/license.d.ts.map +1 -1
  46. package/dist/helpers.d.ts.map +1 -1
  47. package/dist/index.cjs +2 -2
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.mjs +236 -191
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/{parser-B6cGUByG.cjs → parser-CL33R9tr.cjs} +2 -2
  52. package/dist/parser-CL33R9tr.cjs.map +1 -0
  53. package/dist/{parser-BPzO8py_.js → parser-DZMv3Jm-.js} +2 -2
  54. package/dist/parser-DZMv3Jm-.js.map +1 -0
  55. package/dist/primitives-cNNAeFCo.cjs +2 -0
  56. package/dist/primitives-cNNAeFCo.cjs.map +1 -0
  57. package/dist/primitives-xIr6Tjk4.js +1457 -0
  58. package/dist/primitives-xIr6Tjk4.js.map +1 -0
  59. package/dist/resolver-6B8dI9gr.js +141 -0
  60. package/dist/resolver-6B8dI9gr.js.map +1 -0
  61. package/dist/resolver-DCcmyWSK.cjs +4 -0
  62. package/dist/resolver-DCcmyWSK.cjs.map +1 -0
  63. package/dist/throttle.d.ts.map +1 -1
  64. package/dist/transfer.d.ts.map +1 -1
  65. package/dist/transport/generation-window.d.ts.map +1 -1
  66. package/dist/transport/handler.d.ts +2 -0
  67. package/dist/transport/handler.d.ts.map +1 -1
  68. package/dist/transport/index.cjs +1 -1
  69. package/dist/transport/index.mjs +1 -1
  70. package/dist/transport/quicklz.d.ts.map +1 -1
  71. package/dist/types.d.ts +2 -0
  72. package/dist/types.d.ts.map +1 -1
  73. package/package.json +6 -7
  74. package/dist/command/command.test.d.ts +0 -2
  75. package/dist/command/command.test.d.ts.map +0 -1
  76. package/dist/command-CTDmBXd_.js.map +0 -1
  77. package/dist/command-CUPNiKRl.cjs +0 -4
  78. package/dist/crypt-handshake-D2Rsi2e3.cjs.map +0 -1
  79. package/dist/crypt-handshake-DIj51kno.js.map +0 -1
  80. package/dist/crypt-init2-C2X9oK4i.js.map +0 -1
  81. package/dist/crypt-init2-CazdFwqF.cjs.map +0 -1
  82. package/dist/crypto/eax.test.d.ts +0 -2
  83. package/dist/crypto/eax.test.d.ts.map +0 -1
  84. package/dist/crypto/identity.test.d.ts +0 -2
  85. package/dist/crypto/identity.test.d.ts.map +0 -1
  86. package/dist/crypto-CwIMggQG.js.map +0 -1
  87. package/dist/crypto-IbzNNTgO.cjs +0 -2
  88. package/dist/crypto-IbzNNTgO.cjs.map +0 -1
  89. package/dist/handler-BJdwhtkp.cjs +0 -2
  90. package/dist/handler-BJdwhtkp.cjs.map +0 -1
  91. package/dist/handler-BP38rMNl.js.map +0 -1
  92. package/dist/handshake.test.d.ts +0 -2
  93. package/dist/handshake.test.d.ts.map +0 -1
  94. package/dist/helpers.test.d.ts +0 -2
  95. package/dist/helpers.test.d.ts.map +0 -1
  96. package/dist/integration.test.d.ts +0 -12
  97. package/dist/integration.test.d.ts.map +0 -1
  98. package/dist/notifications.test.d.ts +0 -2
  99. package/dist/notifications.test.d.ts.map +0 -1
  100. package/dist/parser-B6cGUByG.cjs.map +0 -1
  101. package/dist/parser-BPzO8py_.js.map +0 -1
  102. package/dist/primitives-Bt-L4BZa.js +0 -1483
  103. package/dist/primitives-Bt-L4BZa.js.map +0 -1
  104. package/dist/primitives-ClIhDdNZ.cjs +0 -2
  105. package/dist/primitives-ClIhDdNZ.cjs.map +0 -1
  106. package/dist/resolver-B7jho9CP.cjs +0 -4
  107. package/dist/resolver-B7jho9CP.cjs.map +0 -1
  108. package/dist/resolver-BDCF2KbM.js +0 -162
  109. package/dist/resolver-BDCF2KbM.js.map +0 -1
  110. package/dist/throttle.test.d.ts +0 -2
  111. package/dist/throttle.test.d.ts.map +0 -1
  112. package/dist/transport/generation-window.test.d.ts +0 -2
  113. package/dist/transport/generation-window.test.d.ts.map +0 -1
  114. package/dist/transport/packet.test.d.ts +0 -2
  115. package/dist/transport/packet.test.d.ts.map +0 -1
  116. package/dist/transport/quicklz.test.d.ts +0 -2
  117. package/dist/transport/quicklz.test.d.ts.map +0 -1
  118. package/dist/types-ANvuLFWH.cjs +0 -2
  119. package/dist/types-ANvuLFWH.cjs.map +0 -1
  120. package/dist/types-Xm1vrW4s.js +0 -18
  121. package/dist/types-Xm1vrW4s.js.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,16 +1,16 @@
1
- import { n as e, r as t, t as n } from "./types-Xm1vrW4s.js";
2
- import { C as r, S as i, _ as a, b as o, d as s, g as c, h as l, l as u, o as d, p as ee, r as f, u as p, v as m, w as h, x as g, y as _ } from "./primitives-Bt-L4BZa.js";
3
- import { t as v } from "./crypto-CwIMggQG.js";
4
- import { t as y } from "./resolver-BDCF2KbM.js";
5
- import { a as b, t as x } from "./handler-BP38rMNl.js";
6
- import { i as S, n as C, t as w } from "./command-CTDmBXd_.js";
7
- import { n as te } from "./crypt-handshake-DIj51kno.js";
8
- import { t as T } from "./crypt-init2-C2X9oK4i.js";
9
- import { t as E } from "./parser-BPzO8py_.js";
10
- import { createHash as D } from "node:crypto";
11
- import { createConnection as O } from "node:net";
1
+ import { a as e, i as t, o as n } from "./address-BfmovVpp.js";
2
+ import { C as r, S as i, _ as a, b as o, d as s, g as c, h as l, l as u, o as d, p as f, r as p, u as m, v as h, w as ee, x as g, y as _ } from "./primitives-xIr6Tjk4.js";
3
+ import { t as v } from "./crypto-Bg02m4ZE.js";
4
+ import { t as y } from "./resolver-6B8dI9gr.js";
5
+ import { a as b, t as x } from "./handler-DI_abe9c.js";
6
+ import { i as S, n as C, t as w } from "./command-BLe-C2L2.js";
7
+ import { n as te } from "./crypt-handshake-DziOY4Lq.js";
8
+ import { t as ne } from "./crypt-init2-D70ha4LB.js";
9
+ import { t as T } from "./parser-DZMv3Jm-.js";
10
+ import { createHash as E } from "node:crypto";
11
+ import { createConnection as D } from "node:net";
12
12
  //#region src/commands.ts
13
- var k = class {
13
+ var O = class {
14
14
  #e = /* @__PURE__ */ new Map();
15
15
  #t = 0;
16
16
  #n = [];
@@ -50,7 +50,7 @@ var k = class {
50
50
  this.#e.clear(), this.#n = [], this.#r = !1, this.#t = 0;
51
51
  }
52
52
  };
53
- function A(e) {
53
+ function k(e) {
54
54
  let t = e.id ?? "0", n = e.msg ?? "", i = e.return_code, a = null;
55
55
  t !== "0" && (a = new r(t, n));
56
56
  let o = null;
@@ -63,12 +63,12 @@ function A(e) {
63
63
  rc: o
64
64
  };
65
65
  }
66
- function j(e, t) {
66
+ function A(e, t) {
67
67
  return e.includes("return_code=") ? e : `${e} return_code=${t}`;
68
68
  }
69
69
  //#endregion
70
70
  //#region src/transfer.ts
71
- var M = class {
71
+ var j = class {
72
72
  #e = /* @__PURE__ */ new Map();
73
73
  #t = 0;
74
74
  register() {
@@ -89,9 +89,9 @@ var M = class {
89
89
  this.#e.clear(), this.#t = 0;
90
90
  }
91
91
  };
92
- function N(e, t, n) {
92
+ function M(e, t, n) {
93
93
  return new Promise((r, i) => {
94
- let a = O({
94
+ let a = D({
95
95
  host: e,
96
96
  port: t
97
97
  }, () => {
@@ -104,19 +104,19 @@ function N(e, t, n) {
104
104
  });
105
105
  });
106
106
  }
107
- async function P(e, t, n) {
108
- let r = await N(e, t.port, t.fileTransferKey);
107
+ async function N(e, t, n) {
108
+ let r = await M(e, t.port, t.fileTransferKey);
109
109
  await new Promise((e, t) => {
110
110
  n.pipe(r), r.on("finish", e), r.on("error", t);
111
111
  });
112
112
  }
113
- async function F(e, t, n) {
114
- let r = await N(e, t.port, t.fileTransferKey);
113
+ async function P(e, t, n) {
114
+ let r = await M(e, t.port, t.fileTransferKey);
115
115
  await new Promise((e, t) => {
116
116
  r.pipe(n), n.on("finish", e), r.on("error", t), n.on("error", t);
117
117
  });
118
118
  }
119
- function I(e, t, n, r, i, a) {
119
+ function F(e, t, n, r, i, a) {
120
120
  let o = t.startsWith("/") ? t : `/${t}`;
121
121
  return w("ftinitupload", {
122
122
  cid: String(e),
@@ -128,7 +128,7 @@ function I(e, t, n, r, i, a) {
128
128
  resume: "0"
129
129
  });
130
130
  }
131
- function L(e, t, n, r) {
131
+ function I(e, t, n, r) {
132
132
  let i = t.startsWith("/") ? t : `/${t}`;
133
133
  return w("ftinitdownload", {
134
134
  cid: String(e),
@@ -140,28 +140,28 @@ function L(e, t, n, r) {
140
140
  }
141
141
  //#endregion
142
142
  //#region src/events.ts
143
- function R(e, t) {
143
+ function L(e, t) {
144
144
  let n = t;
145
145
  for (let t = e.length - 1; t >= 0; t--) n = e[t](n);
146
146
  return n;
147
147
  }
148
- function z(e, t) {
148
+ function R(e, t) {
149
149
  let n = t;
150
150
  for (let t = e.length - 1; t >= 0; t--) n = e[t](n);
151
151
  return n;
152
152
  }
153
153
  //#endregion
154
154
  //#region src/handshake.ts
155
- function B(e, t) {
155
+ function z(e, t) {
156
156
  let n = t.alpha ?? "", r = t.beta ?? "", i = t.omega ?? "";
157
- e.crypt.initCrypto(n, r, i), e.logger.info("crypto initialized (P-256 path), sending clientinit"), K(e);
157
+ e.crypt.initCrypto(n, r, i), e.logger.info("crypto initialized (P-256 path), sending clientinit"), G(e);
158
158
  }
159
- function V(e, t) {
159
+ function B(e, t) {
160
160
  e.logger.info("received initivexpand2"), e.handler.receivedFinalInitAck();
161
- let n = t.l ?? "", r = t.omega ?? "", i = t.proof ?? "", a = t.beta ?? "", o = U(e, a);
162
- T(e.crypt, n, r, i, a, o), K(e);
161
+ let n = t.l ?? "", r = t.omega ?? "", i = t.proof ?? "", a = t.beta ?? "", o = H(e, a);
162
+ ne(e.crypt, n, r, i, a, o), G(e);
163
163
  }
164
- function H(e, t) {
164
+ function V(e, t) {
165
165
  let n = t.aclid ?? t.clid ?? "", r = n ? parseInt(n, 10) : 0;
166
166
  r > 0 && (e.clid = r, e.handler.setClientID(r)), e.logger.info("connected to server", { selfId: e.clid }), e._markConnected(), setImmediate(() => {
167
167
  let t = w("clientupdate", {
@@ -171,25 +171,25 @@ function H(e, t) {
171
171
  e.sendCommandNoWait(t).catch(() => {});
172
172
  });
173
173
  }
174
- function U(e, t) {
175
- let [n, r] = f(), i = Buffer.from(n).toString("base64"), a = W(e, n, t), o = C("clientek", [["ek", i], ["proof", a]]);
174
+ function H(e, t) {
175
+ let [n, r] = p(), i = Buffer.from(n).toString("base64"), a = U(e, n, t), o = C("clientek", [["ek", i], ["proof", a]]);
176
176
  return e.handler.sendPacket(b.Command, Buffer.from(o), 0), r;
177
177
  }
178
- function W(e, t, n) {
178
+ function U(e, t, n) {
179
179
  let r = Buffer.from(n, "base64"), i = /* @__PURE__ */ new Uint8Array(86);
180
180
  i.set(t.slice(0, 32)), i.set(r.slice(0, Math.min(54, r.length)), 32);
181
181
  let a = d(e.crypt.identity.privateKey, i);
182
182
  return Buffer.from(a).toString("base64");
183
183
  }
184
- function G(e) {
185
- return e === "" ? "" : D("sha1").update(e).digest().toString("base64");
184
+ function W(e) {
185
+ return e === "" ? "" : E("sha1").update(e).digest().toString("base64");
186
186
  }
187
- function K(e) {
188
- let t = q(e);
187
+ function G(e) {
188
+ let t = K(e);
189
189
  e.handler.sendPacket(b.Command, Buffer.from(t), 0);
190
190
  }
191
- function q(e) {
192
- let t = e.crypt.identity.publicKeyBase64(), n = e.getClientInitOptions(), r = G(n.defaultChannelPassword), i = G(n.serverPassword), a = D("sha1").update(t).digest().toString("base64");
191
+ function K(e) {
192
+ let t = e.crypt.identity.publicKeyBase64(), n = e.getClientInitOptions(), r = W(n.defaultChannelPassword), i = W(n.serverPassword), a = E("sha1").update(t).digest().toString("base64");
193
193
  return C("clientinit", [
194
194
  ["client_nickname", e.nickname],
195
195
  ["client_version", "3.?.? [Build: 5680278000]"],
@@ -209,7 +209,7 @@ function q(e) {
209
209
  }
210
210
  //#endregion
211
211
  //#region src/helpers.ts
212
- function J(e) {
212
+ function q(e) {
213
213
  if (e === "" || e === void 0) return 0n;
214
214
  try {
215
215
  return BigInt(e);
@@ -217,55 +217,68 @@ function J(e) {
217
217
  return 0n;
218
218
  }
219
219
  }
220
- function Y(e) {
220
+ function J(e) {
221
221
  let t = parseInt(e, 10);
222
222
  return isNaN(t) || t < 0 || t > 65535 ? 0 : t;
223
223
  }
224
- function X(e) {
224
+ function Y(e) {
225
225
  let t = parseInt(e, 10);
226
226
  return isNaN(t) ? 0 : t;
227
227
  }
228
- function Z(e, t) {
228
+ function X(e, t) {
229
229
  if (t === e) return !0;
230
230
  if (!t.startsWith(e)) return !1;
231
231
  let n = t.slice(e.length);
232
232
  return /^\d+$/.test(n);
233
233
  }
234
- function Q(e) {
234
+ function Z(e) {
235
235
  let t = e.indexOf(" ");
236
236
  if (t < 0) return [e];
237
237
  let n = e.slice(0, t), r = e.slice(t + 1);
238
238
  if (!r.includes("|")) return [e];
239
- let i = r.split("|"), a = [];
240
- for (let e of i) e !== "" && a.push(`${n} ${e}`);
239
+ let i = r.split("|"), a = [], o = /* @__PURE__ */ new Map();
240
+ for (let e of i) {
241
+ if (e === "") continue;
242
+ let t = e.split(" ").filter(Boolean), r = /* @__PURE__ */ new Set();
243
+ for (let e of t) r.add(Q(e));
244
+ let i = [];
245
+ for (let [e, t] of o) r.has(e) || i.push(t);
246
+ let s = [...i, ...t];
247
+ a.push(`${n} ${s.join(" ")}`), o = /* @__PURE__ */ new Map();
248
+ for (let e of s) o.set(Q(e), e);
249
+ }
241
250
  return a.length === 0 ? [e] : a;
242
251
  }
252
+ function Q(e) {
253
+ let t = e.indexOf("=");
254
+ return t > 0 ? e.slice(0, t) : e;
255
+ }
243
256
  //#endregion
244
257
  //#region src/notifications.ts
245
- function ne(e, t, n, r) {
258
+ function re(e, t, n, r) {
246
259
  switch (e.name) {
247
- case "notifycliententerview": return re(e, n, r);
248
- case "notifyclientleftview": return ie(e, t, n);
249
- case "notifyclientmoved": return ae(e, n);
250
- case "notifytextmessage": return oe(e, n);
251
- case "notifyclientpoke": return ue(e);
260
+ case "notifycliententerview": return ie(e, n, r);
261
+ case "notifyclientleftview": return ae(e, t, n);
262
+ case "notifyclientmoved": return oe(e, n);
263
+ case "notifytextmessage": return se(e, n);
264
+ case "notifyclientpoke": return de(e);
252
265
  case "notifystartupload": return {
253
266
  kind: "startUpload",
254
- info: se(e)
267
+ info: ce(e)
255
268
  };
256
269
  case "notifystartdownload": return {
257
270
  kind: "startDownload",
258
- info: ce(e)
271
+ info: le(e)
259
272
  };
260
273
  case "notifystatusfiletransfer": return {
261
274
  kind: "fileTransferStatus",
262
- info: le(e)
275
+ info: ue(e)
263
276
  };
264
277
  default: return { kind: "unknown" };
265
278
  }
266
279
  }
267
- function re(e, t, n) {
268
- let r = Y(e.params.clid ?? ""), i = J(e.params.ctid ?? ""), a = X(e.params.client_type ?? ""), o = e.params.client_servergroups ?? "", s = {
280
+ function ie(e, t, n) {
281
+ let r = J(e.params.clid ?? ""), i = q(e.params.ctid ?? ""), a = Y(e.params.client_type ?? ""), o = e.params.client_servergroups ?? "", s = {
269
282
  id: r,
270
283
  nickname: e.params.client_nickname ?? "",
271
284
  uid: e.params.client_unique_identifier ?? "",
@@ -278,21 +291,21 @@ function re(e, t, n) {
278
291
  info: s
279
292
  };
280
293
  }
281
- function ie(e, t, n) {
282
- let r = Y(e.params.clid ?? ""), i = X(e.params.reasonid ?? ""), a = r === t;
294
+ function ae(e, t, n) {
295
+ let r = J(e.params.clid ?? ""), i = Y(e.params.reasonid ?? ""), a = r === t;
283
296
  return r !== 0 && n.delete(r), {
284
297
  kind: "clientLeave",
285
298
  event: {
286
299
  id: r,
287
300
  reasonID: i,
288
301
  reasonMsg: e.params.reasonmsg ?? "",
289
- targetID: Y(e.params.targetid ?? "")
302
+ targetID: J(e.params.targetid ?? "")
290
303
  },
291
304
  isSelf: a
292
305
  };
293
306
  }
294
- function ae(e, t) {
295
- let n = Y(e.params.clid ?? ""), r = J(e.params.ctid ?? "");
307
+ function oe(e, t) {
308
+ let n = J(e.params.clid ?? ""), r = q(e.params.ctid ?? "");
296
309
  if (n !== 0) {
297
310
  let e = t.get(n);
298
311
  e && t.set(n, {
@@ -305,20 +318,20 @@ function ae(e, t) {
305
318
  event: {
306
319
  id: n,
307
320
  targetChannelID: r,
308
- reasonID: X(e.params.reasonid ?? ""),
309
- invokerID: Y(e.params.invokerid ?? ""),
321
+ reasonID: Y(e.params.reasonid ?? ""),
322
+ invokerID: J(e.params.invokerid ?? ""),
310
323
  invokerName: e.params.invokername ?? "",
311
324
  invokerUID: e.params.invokeruid ?? ""
312
325
  }
313
326
  };
314
327
  }
315
- function oe(e, t) {
316
- let n = Y(e.params.invokerid ?? ""), r = t.get(n);
328
+ function se(e, t) {
329
+ let n = J(e.params.invokerid ?? ""), r = t.get(n);
317
330
  return {
318
331
  kind: "textMessage",
319
332
  message: {
320
- targetMode: X(e.params.targetmode ?? ""),
321
- targetID: J(e.params.target ?? ""),
333
+ targetMode: Y(e.params.targetmode ?? ""),
334
+ targetID: q(e.params.target ?? ""),
322
335
  invokerID: n,
323
336
  invokerName: e.params.invokername ?? "",
324
337
  invokerUID: e.params.invokeruid ?? r?.uid ?? "",
@@ -327,36 +340,36 @@ function oe(e, t) {
327
340
  }
328
341
  };
329
342
  }
330
- function se(e) {
343
+ function ce(e) {
331
344
  return {
332
- clientFileTransferID: Y(e.params.clientftfid ?? ""),
333
- serverFileTransferID: Y(e.params.serverftfid ?? ""),
345
+ clientFileTransferID: J(e.params.clientftfid ?? ""),
346
+ serverFileTransferID: J(e.params.serverftfid ?? ""),
334
347
  fileTransferKey: e.params.ftkey ?? "",
335
- port: Y(e.params.port ?? ""),
336
- seekPosition: J(e.params.seekpos ?? "")
348
+ port: J(e.params.port ?? ""),
349
+ seekPosition: q(e.params.seekpos ?? "")
337
350
  };
338
351
  }
339
- function ce(e) {
352
+ function le(e) {
340
353
  return {
341
- clientFileTransferID: Y(e.params.clientftfid ?? ""),
342
- serverFileTransferID: Y(e.params.serverftfid ?? ""),
354
+ clientFileTransferID: J(e.params.clientftfid ?? ""),
355
+ serverFileTransferID: J(e.params.serverftfid ?? ""),
343
356
  fileTransferKey: e.params.ftkey ?? "",
344
- port: Y(e.params.port ?? ""),
345
- size: J(e.params.size ?? "")
357
+ port: J(e.params.port ?? ""),
358
+ size: q(e.params.size ?? "")
346
359
  };
347
360
  }
348
- function le(e) {
361
+ function ue(e) {
349
362
  return {
350
- clientFileTransferID: Y(e.params.clientftfid ?? ""),
351
- status: X(e.params.status ?? ""),
363
+ clientFileTransferID: J(e.params.clientftfid ?? ""),
364
+ status: Y(e.params.status ?? ""),
352
365
  message: e.params.msg ?? ""
353
366
  };
354
367
  }
355
- function ue(e) {
368
+ function de(e) {
356
369
  return {
357
370
  kind: "poked",
358
371
  event: {
359
- invokerID: Y(e.params.invokerid ?? ""),
372
+ invokerID: J(e.params.invokerid ?? ""),
360
373
  invokerName: S(e.params.invokername ?? ""),
361
374
  invokerUID: e.params.invokeruid ?? "",
362
375
  message: S(e.params.msg ?? "")
@@ -365,7 +378,7 @@ function ue(e) {
365
378
  }
366
379
  //#endregion
367
380
  //#region src/throttle.ts
368
- var de = class e {
381
+ var fe = class e {
369
382
  static TOKEN_RATE = 4;
370
383
  static TOKEN_MAX = 8;
371
384
  #e = 5;
@@ -390,14 +403,14 @@ var de = class e {
390
403
  };
391
404
  //#endregion
392
405
  //#region src/client.ts
393
- function fe(e) {
406
+ function pe(e) {
394
407
  return {
395
408
  serverPassword: e.serverPassword ?? "",
396
409
  defaultChannel: e.defaultChannel ?? "",
397
410
  defaultChannelPassword: e.defaultChannelPassword ?? ""
398
411
  };
399
412
  }
400
- var pe = class {
413
+ var $ = class {
401
414
  crypt;
402
415
  handler;
403
416
  logger;
@@ -407,13 +420,13 @@ var pe = class {
407
420
  #t;
408
421
  #n;
409
422
  #r;
410
- #i = n.Disconnected;
411
- #a = new de();
412
- #o = new k();
413
- #s = new M();
423
+ #i = t.Disconnected;
424
+ #a = new fe();
425
+ #o = new O();
426
+ #s = new j();
414
427
  #c = /* @__PURE__ */ new Map();
415
428
  #l = [];
416
- #u = [];
429
+ #u = null;
417
430
  #d = [];
418
431
  #f = [];
419
432
  #p = [];
@@ -424,10 +437,11 @@ var pe = class {
424
437
  #v = [];
425
438
  #y = [];
426
439
  #b = [];
427
- #x;
440
+ #x = [];
428
441
  #S;
442
+ #C;
429
443
  constructor(t, n, r, i = {}) {
430
- this.#e = t, this.#t = n, this.nickname = r, this.logger = i.logger ?? e, this.#n = i.resolver ?? new y(this.logger), this.#r = fe(i), this.crypt = new v(t), this.handler = new x(this.crypt, this.logger), this.handler.onPacket = (e) => this.#T(e), this.handler.onClosed = (e) => this.#P(e), i.commandMiddleware && this.#y.push(...i.commandMiddleware), i.eventMiddleware && this.#b.push(...i.eventMiddleware), this.#x = this.#F(), this.#S = this.#I();
444
+ this.#e = t, this.#t = n, this.nickname = r, this.logger = i.logger ?? e, this.#n = i.resolver ?? new y(this.logger), this.#r = pe(i), this.crypt = new v(t), this.handler = new x(this.crypt, this.logger), this.handler.onPacket = (e) => this.#E(e), this.handler.onClosed = (e) => this.#F(e), i.commandMiddleware && this.#b.push(...i.commandMiddleware), i.eventMiddleware && this.#x.push(...i.eventMiddleware), this.#S = this.#L(), this.#C = this.#R();
431
445
  }
432
446
  get status() {
433
447
  return this.#i;
@@ -436,36 +450,49 @@ var pe = class {
436
450
  return this.#r;
437
451
  }
438
452
  async connect() {
439
- if (this.#i !== n.Disconnected) throw new l();
440
- this.#C(), this.#i = n.Connecting;
441
- let e = await this.#w();
453
+ if (this.#i !== t.Disconnected) throw new l();
454
+ this.#w(), this.#i = t.Connecting;
455
+ let e = await this.#T();
442
456
  this.logger.info("connecting to server", { address: e }), await this.handler.connect(e);
443
457
  }
444
458
  async disconnect() {
445
- if (this.#i === n.Disconnected) return;
446
- let e = this.#i === n.Connected;
447
- if (this.#i = n.Disconnected, this.logger.info("disconnecting from server"), e) try {
459
+ if (this.#i === t.Disconnected) return;
460
+ let e = this.#i === t.Connected;
461
+ if (this.#i = t.Disconnected, this.logger.info("disconnecting from server"), e) try {
448
462
  await this.execCommand("clientdisconnect reasonmsg=Shutdown", 1e3);
449
463
  } catch {}
450
464
  this.handler.close();
451
- let t = this.#_.slice();
452
- for (let e of t) setImmediate(() => e(void 0));
465
+ let n = this.#v.slice();
466
+ for (let e of n) setImmediate(() => e(void 0));
453
467
  }
454
468
  waitConnected(e) {
455
- return this.#i === n.Connected ? Promise.resolve() : new Promise((t, n) => {
456
- this.#l.push(t), e && e.addEventListener("abort", () => n(e.reason), { once: !0 });
469
+ return this.#i === t.Connected ? Promise.resolve() : this.#u ? Promise.reject(this.#u) : new Promise((t, n) => {
470
+ let r = {
471
+ resolve: () => {
472
+ e?.removeEventListener("abort", i), t();
473
+ },
474
+ reject: (t) => {
475
+ e?.removeEventListener("abort", i), n(t);
476
+ }
477
+ }, i = () => {
478
+ let t = this.#l.indexOf(r);
479
+ t >= 0 && this.#l.splice(t, 1);
480
+ let n = e?.reason;
481
+ r.reject(n instanceof Error ? n : Error(String(n ?? "Connection wait aborted")));
482
+ };
483
+ this.#l.push(r), e?.aborted ? i() : e?.addEventListener("abort", i, { once: !0 });
457
484
  });
458
485
  }
459
486
  async sendCommandNoWait(e) {
460
- await this.#a.wait(), await this.#x(e);
487
+ await this.#a.wait(), await this.#S(e);
461
488
  }
462
489
  async execCommand(e, t = 1e4) {
463
490
  await this.execCommandWithResponse(e, t);
464
491
  }
465
492
  async execCommandWithResponse(e, t = 1e4) {
466
- let [n, r] = this.#o.register(), i = j(e, n);
493
+ let [n, r] = this.#o.register(), i = A(e, n);
467
494
  try {
468
- await this.#a.wait(), await this.#x(i);
495
+ await this.#a.wait(), await this.#S(i);
469
496
  } catch (e) {
470
497
  throw this.#o.unregister(n), e;
471
498
  }
@@ -476,40 +503,38 @@ var pe = class {
476
503
  on(e, t) {
477
504
  switch (e) {
478
505
  case "textMessage":
479
- this.#u.push(t);
480
- break;
481
- case "clientEnter":
482
506
  this.#d.push(t);
483
507
  break;
484
- case "clientLeave":
508
+ case "clientEnter":
485
509
  this.#f.push(t);
486
510
  break;
487
- case "clientMoved":
511
+ case "clientLeave":
488
512
  this.#p.push(t);
489
513
  break;
490
- case "poked":
514
+ case "clientMoved":
491
515
  this.#m.push(t);
492
516
  break;
493
- case "voiceData":
517
+ case "poked":
494
518
  this.#h.push(t);
495
519
  break;
496
- case "connected":
520
+ case "voiceData":
497
521
  this.#g.push(t);
498
522
  break;
499
- case "disconnected":
523
+ case "connected":
500
524
  this.#_.push(t);
501
525
  break;
502
- case "kicked":
526
+ case "disconnected":
503
527
  this.#v.push(t);
504
528
  break;
529
+ case "kicked": this.#y.push(t);
505
530
  }
506
531
  return this;
507
532
  }
508
533
  useCommandMiddleware(...e) {
509
- return this.#y.push(...e), this.#x = this.#F(), this;
534
+ return this.#b.push(...e), this.#S = this.#L(), this;
510
535
  }
511
536
  useEventMiddleware(...e) {
512
- return this.#b.push(...e), this.#S = this.#I(), this;
537
+ return this.#x.push(...e), this.#C = this.#R(), this;
513
538
  }
514
539
  clientID() {
515
540
  return this.clid;
@@ -517,11 +542,14 @@ var pe = class {
517
542
  channelID() {
518
543
  return this.#c.get(this.clid)?.channelID ?? 0n;
519
544
  }
545
+ sendWhisper(e, t, n) {
546
+ this.handler.sendWhisperPacket(e, t, n);
547
+ }
520
548
  sendVoice(e, t) {
521
549
  this.handler.sendVoicePacket(e, t);
522
550
  }
523
551
  async fileTransferInitUpload(e, t, n, r, i = !1) {
524
- let [a, s] = this.#s.register(), c = I(e, t, n, r, a, i);
552
+ let [a, s] = this.#s.register(), c = F(e, t, n, r, a, i);
525
553
  try {
526
554
  await this.execCommand(c, 1e4);
527
555
  } catch (e) {
@@ -536,7 +564,7 @@ var pe = class {
536
564
  return l;
537
565
  }
538
566
  async fileTransferInitDownload(e, t, n) {
539
- let [r, i] = this.#s.register(), a = L(e, t, n, r);
567
+ let [r, i] = this.#s.register(), a = I(e, t, n, r);
540
568
  try {
541
569
  await this.execCommand(a, 1e4);
542
570
  } catch (e) {
@@ -551,22 +579,22 @@ var pe = class {
551
579
  return s;
552
580
  }
553
581
  uploadFileData(e, t, n) {
554
- return P(e, t, n);
582
+ return N(e, t, n);
555
583
  }
556
584
  downloadFileData(e, t, n) {
557
- return F(e, t, n);
585
+ return P(e, t, n);
558
586
  }
559
587
  _markConnected() {
560
- this.#i = n.Connected;
561
- for (let e of this.#l) e();
588
+ this.#i = t.Connected, this.#u = null;
589
+ for (let e of this.#l) e.resolve();
562
590
  this.#l = [];
563
- let e = this.#g.slice();
591
+ let e = this.#_.slice();
564
592
  for (let t of e) setImmediate(() => t());
565
593
  }
566
- #C() {
567
- this.handler.close(), this.crypt = new v(this.#e), this.handler = new x(this.crypt, this.logger), this.handler.onPacket = (e) => this.#T(e), this.handler.onClosed = (e) => this.#P(e), this.#o.reset(), this.#s.reset(), this.#c.clear(), this.clid = 0, this.#x = this.#F();
594
+ #w() {
595
+ this.#u = null, this.handler.close(), this.crypt = new v(this.#e), this.handler = new x(this.crypt, this.logger), this.handler.onPacket = (e) => this.#E(e), this.handler.onClosed = (e) => this.#F(e), this.#o.reset(), this.#s.reset(), this.#c.clear(), this.clid = 0, this.#S = this.#L();
568
596
  }
569
- async #w() {
597
+ async #T() {
570
598
  let e = this.#t.includes(":") ? this.#t : `${this.#t}:9987`;
571
599
  try {
572
600
  return (await this.#n.resolve(this.#t))[0]?.addr ?? e;
@@ -574,10 +602,10 @@ var pe = class {
574
602
  return e;
575
603
  }
576
604
  }
577
- #T(e) {
578
- this.#E(e);
579
- }
580
605
  #E(e) {
606
+ this.#D(e);
607
+ }
608
+ #D(e) {
581
609
  let t = e.typeFlagged & 15;
582
610
  if (t === 8) {
583
611
  let t = te(this.crypt, e.data);
@@ -585,13 +613,13 @@ var pe = class {
585
613
  return;
586
614
  }
587
615
  if ((t === 0 || t === 1) && e.data.length > 5) {
588
- this.#D(e.data);
616
+ this.#O(e.data);
589
617
  return;
590
618
  }
591
- (t === 2 || t === 3) && e.data.length > 0 && this.#O(Buffer.from(e.data).toString("utf8"));
619
+ (t === 2 || t === 3) && e.data.length > 0 && this.#k(Buffer.from(e.data).toString("utf8"));
592
620
  }
593
- #D(e) {
594
- if (this.#h.length === 0) return;
621
+ #O(e) {
622
+ if (this.#g.length === 0) return;
595
623
  let t = new DataView(e.buffer, e.byteOffset, e.byteLength).getUint16(2, !1);
596
624
  if (t === this.clid) return;
597
625
  let n = {
@@ -599,36 +627,36 @@ var pe = class {
599
627
  codec: e[4],
600
628
  data: e.subarray(5)
601
629
  };
602
- for (let e of this.#h) setImmediate(() => e(n));
630
+ for (let e of this.#g) setImmediate(() => e(n));
603
631
  }
604
- #O(e) {
632
+ #k(e) {
605
633
  if (!e) return;
606
634
  let t = e.split("\0").join("\n").split("\n");
607
635
  for (let e of t) {
608
636
  let t = e.replace(/\r$/, "");
609
- if (t) for (let e of Q(t)) this.#k(e);
637
+ if (t) for (let e of Z(t)) this.#A(e);
610
638
  }
611
639
  }
612
- #k(e) {
613
- let t = E(e);
614
- if (!(!t || !t.name)) {
640
+ #A(e) {
641
+ let t = T(e);
642
+ if (t && t.name) {
615
643
  if (t.name.startsWith("notify")) {
616
- let e = ne(t, this.clid, this.#c, this.nickname);
617
- this.#j(e, t.params);
644
+ let e = re(t, this.clid, this.#c, this.nickname);
645
+ this.#M(e, t.params);
618
646
  return;
619
647
  }
620
648
  switch (t.name) {
621
649
  case "clientinitiv":
622
- B(this, t.params);
650
+ z(this, t.params);
623
651
  break;
624
652
  case "initivexpand2":
625
- V(this, t.params);
653
+ B(this, t.params);
626
654
  break;
627
655
  case "initserver":
628
- H(this, t.params);
656
+ V(this, t.params);
629
657
  break;
630
658
  case "error":
631
- this.#A(t.params);
659
+ this.#j(t.params);
632
660
  break;
633
661
  default: {
634
662
  let e = t.params;
@@ -645,31 +673,35 @@ var pe = class {
645
673
  }
646
674
  }
647
675
  }
648
- #A(e) {
649
- let { err: t, rc: n } = A(e);
650
- n === null ? this.#o.discardBuffer() : this.#o.resolve(n, t), (e.id ?? "0") === "3329" && setImmediate(() => this.disconnect().catch(() => {}));
676
+ #j(e) {
677
+ let { err: n, rc: r } = k(e);
678
+ if (r === null ? this.#o.discardBuffer() : this.#o.resolve(r, n), n && this.#i !== t.Connected) {
679
+ this.#I(n);
680
+ return;
681
+ }
682
+ (e.id ?? "0") === "3329" && setImmediate(() => this.disconnect().catch(() => {}));
651
683
  }
652
- #j(e, t) {
684
+ #M(e, t) {
653
685
  switch (e.kind) {
654
686
  case "clientEnter": {
655
687
  let t = e.info;
656
- t.id !== 0 && Z(this.nickname, t.nickname) && (this.clid = t.id, this.handler.setClientID(t.id), this.#o.signalWelcomeComplete()), this.#M("clientEnter", t);
688
+ t.id !== 0 && t.id === this.clid ? (this.nickname = t.nickname, this.#o.signalWelcomeComplete()) : t.id !== 0 && this.clid === 0 && X(this.nickname, t.nickname) && (this.clid = t.id, this.handler.setClientID(t.id), this.nickname = t.nickname, this.#o.signalWelcomeComplete()), this.#N("clientEnter", t);
657
689
  break;
658
690
  }
659
691
  case "clientLeave":
660
- if (this.#M("clientLeave", e.event), e.isSelf && (e.event.reasonID === 4 || e.event.reasonID === 5)) {
692
+ if (this.#N("clientLeave", e.event), e.isSelf && (e.event.reasonID === 4 || e.event.reasonID === 5)) {
661
693
  let t = e.event.reasonMsg;
662
- for (let e of this.#v) setImmediate(() => e(t));
694
+ for (let e of this.#y) setImmediate(() => e(t));
663
695
  }
664
696
  break;
665
697
  case "clientMoved":
666
- this.#M("clientMoved", e.event);
698
+ this.#N("clientMoved", e.event);
667
699
  break;
668
700
  case "textMessage":
669
- this.#M("textMessage", e.message);
701
+ this.#N("textMessage", e.message);
670
702
  break;
671
703
  case "poked":
672
- this.#M("poked", e.event);
704
+ this.#N("poked", e.event);
673
705
  break;
674
706
  case "startUpload":
675
707
  this.#s.notify(e.info.clientFileTransferID, e.info);
@@ -677,53 +709,62 @@ var pe = class {
677
709
  case "startDownload":
678
710
  this.#s.notify(e.info.clientFileTransferID, e.info);
679
711
  break;
680
- case "fileTransferStatus":
681
- this.#s.notify(e.info.clientFileTransferID, e.info);
682
- break;
712
+ case "fileTransferStatus": this.#s.notify(e.info.clientFileTransferID, e.info);
683
713
  }
684
714
  }
685
- #M(e, t) {
686
- this.#S(t);
687
- }
688
715
  #N(e, t) {
716
+ this.#C(t);
717
+ }
718
+ #P(e, t) {
689
719
  switch (e) {
690
720
  case "textMessage":
691
- for (let e of this.#u) setImmediate(() => e(t));
692
- break;
693
- case "clientEnter":
694
721
  for (let e of this.#d) setImmediate(() => e(t));
695
722
  break;
696
- case "clientLeave":
723
+ case "clientEnter":
697
724
  for (let e of this.#f) setImmediate(() => e(t));
698
725
  break;
699
- case "clientMoved":
726
+ case "clientLeave":
700
727
  for (let e of this.#p) setImmediate(() => e(t));
701
728
  break;
702
- case "poked":
729
+ case "clientMoved":
703
730
  for (let e of this.#m) setImmediate(() => e(t));
704
731
  break;
732
+ case "poked": for (let e of this.#h) setImmediate(() => e(t));
705
733
  }
706
734
  }
707
- #P(e) {
708
- if (this.#i === n.Disconnected) return;
709
- this.#i = n.Disconnected;
710
- let t = this.#_.slice();
711
- for (let n of t) setImmediate(() => n(e ?? void 0));
712
- }
713
- #F() {
714
- return R(this.#y, async (e) => {
735
+ #F(e) {
736
+ if (this.#i === t.Disconnected) return;
737
+ if (this.#i !== t.Connected) {
738
+ this.#I(e ?? /* @__PURE__ */ Error("Connection closed before the TeamSpeak handshake completed"));
739
+ return;
740
+ }
741
+ this.#i = t.Disconnected;
742
+ let n = this.#v.slice();
743
+ for (let t of n) setImmediate(() => t(e ?? void 0));
744
+ }
745
+ #I(e) {
746
+ this.#u = e;
747
+ let n = this.#l.splice(0);
748
+ for (let t of n) t.reject(e);
749
+ if (this.#i === t.Disconnected) return;
750
+ this.#i = t.Disconnected, this.handler.close();
751
+ let r = this.#v.slice();
752
+ for (let t of r) setImmediate(() => t(e));
753
+ }
754
+ #L() {
755
+ return L(this.#b, async (e) => {
715
756
  this.handler.sendPacket(b.Command, Buffer.from(e), 0);
716
757
  });
717
758
  }
718
- #I() {
719
- return z(this.#b, (e) => {
720
- typeof e == "object" && e && "invokerName" in e && "message" in e && "targetMode" in e ? this.#N("textMessage", e) : typeof e == "object" && e && "invokerName" in e && "message" in e && !("targetMode" in e) ? this.#N("poked", e) : typeof e == "object" && e && "id" in e && "uid" in e ? this.#N("clientEnter", e) : typeof e == "object" && e && "id" in e && "reasonID" in e && "targetChannelID" in e ? this.#N("clientMoved", e) : typeof e == "object" && e && "id" in e && "reasonID" in e && this.#N("clientLeave", e);
759
+ #R() {
760
+ return R(this.#x, (e) => {
761
+ typeof e == "object" && e && "invokerName" in e && "message" in e && "targetMode" in e ? this.#P("textMessage", e) : typeof e == "object" && e && "invokerName" in e && "message" in e && !("targetMode" in e) ? this.#P("poked", e) : typeof e == "object" && e && "id" in e && "uid" in e ? this.#P("clientEnter", e) : typeof e == "object" && e && "id" in e && "reasonID" in e && "targetChannelID" in e ? this.#P("clientMoved", e) : typeof e == "object" && e && "id" in e && "reasonID" in e && this.#P("clientLeave", e);
721
762
  });
722
763
  }
723
764
  };
724
765
  //#endregion
725
766
  //#region src/api.ts
726
- async function $(e, t, n, r) {
767
+ async function me(e, t, n, r) {
727
768
  let i = C("sendtextmessage", [
728
769
  ["targetmode", String(t)],
729
770
  ["target", String(n)],
@@ -731,30 +772,34 @@ async function $(e, t, n, r) {
731
772
  ]);
732
773
  await e.sendCommandNoWait(i);
733
774
  }
734
- async function me(e, t, n, r = "") {
775
+ async function he(e, t, n, r = "") {
735
776
  let i = [["clid", String(t)], ["cid", String(n)]];
736
- r && i.push(["cpw", r]);
777
+ r && i.push(["cpw", ge(r)]);
737
778
  let a = C("clientmove", i);
738
779
  await e.execCommand(a, 1e4);
739
780
  }
740
- async function he(e, t, n) {
781
+ function ge(e) {
782
+ return E("sha1").update(e).digest("base64");
783
+ }
784
+ async function _e(e, t, n) {
741
785
  let r = C("clientpoke", [["clid", String(t)], ["msg", n]]);
742
786
  await e.execCommand(r, 1e4);
743
787
  }
744
- async function ge(e, t) {
788
+ async function ve(e, t) {
745
789
  let n = (await e.execCommandWithResponse(`clientinfo clid=${t}`, 5e3))[0];
746
790
  if (!n) throw Error(`no data returned for client ${t}`);
747
791
  return n;
748
792
  }
749
- async function _e(e) {
793
+ async function ye(e) {
750
794
  return (await e.execCommandWithResponse("channellist", 5e3)).map((e) => ({
751
795
  id: BigInt(e.cid ?? "0"),
752
- parentID: BigInt(e.pid ?? "0"),
796
+ parentID: BigInt(e.pid ?? e.cpid ?? "0"),
797
+ order: BigInt(e.channel_order ?? "0"),
753
798
  name: S(e.channel_name ?? ""),
754
799
  description: ""
755
800
  }));
756
801
  }
757
- async function ve(e) {
802
+ async function be(e) {
758
803
  return (await e.execCommandWithResponse("clientlist -uid -away -voice -groups", 5e3)).map((e) => {
759
804
  let t = e.client_servergroups ?? "";
760
805
  return {
@@ -767,7 +812,7 @@ async function ve(e) {
767
812
  };
768
813
  });
769
814
  }
770
- async function ye(e, t, n) {
815
+ async function xe(e, t, n) {
771
816
  if (n.length === 0) return;
772
817
  let r = n.join("|"), i = w("ftdeletefile", {
773
818
  cid: String(t),
@@ -777,6 +822,6 @@ async function ye(e, t, n) {
777
822
  await e.execCommand(i, 1e4);
778
823
  }
779
824
  //#endregion
780
- export { l as AlreadyConnectedError, pe as Client, n as ClientStatus, c as CommandTimeoutError, a as CryptoInitError, m as EAXTagMismatchError, _ as FakeSignatureMismatchError, o as FileTransferError, g as FileTransferTimeoutError, u as Identity, i as InvalidIdentityError, r as ServerError, h as TeamspeakError, me as clientMove, e as consoleLogger, N as dialFileTransfer, F as downloadFileData, ye as fileTransferDeleteFile, p as generateIdentity, ge as getClientInfo, s as getUidFromPublicKey, ee as identityFromString, _e as listChannels, ve as listClients, t as noopLogger, he as poke, $ as sendTextMessage, P as uploadFileData };
825
+ export { l as AlreadyConnectedError, $ as Client, t as ClientStatus, c as CommandTimeoutError, a as CryptoInitError, h as EAXTagMismatchError, _ as FakeSignatureMismatchError, o as FileTransferError, g as FileTransferTimeoutError, u as Identity, i as InvalidIdentityError, r as ServerError, ee as TeamspeakError, he as clientMove, e as consoleLogger, M as dialFileTransfer, P as downloadFileData, xe as fileTransferDeleteFile, m as generateIdentity, ve as getClientInfo, s as getUidFromPublicKey, f as identityFromString, ye as listChannels, be as listClients, n as noopLogger, _e as poke, me as sendTextMessage, N as uploadFileData };
781
826
 
782
827
  //# sourceMappingURL=index.mjs.map