@honeybbq/teamspeak 1.0.0-beta.11 → 1.0.0-beta.13
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.
- package/README.md +52 -7
- package/dist/client/api/voice.d.ts +13 -0
- package/dist/client/api/voice.d.ts.map +1 -1
- package/dist/client/api/voice.js +20 -1
- package/dist/client/api/voice.js.map +1 -1
- package/dist/client/capabilities.d.ts +4 -4
- package/dist/client/capabilities.d.ts.map +1 -1
- package/dist/client/capabilities.js +3 -8
- package/dist/client/capabilities.js.map +1 -1
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +120 -18
- package/dist/client/client.js.map +1 -1
- package/dist/client/crypto/crypt.d.ts +25 -4
- package/dist/client/crypto/crypt.d.ts.map +1 -1
- package/dist/client/crypto/crypt.js +41 -9
- package/dist/client/crypto/crypt.js.map +1 -1
- package/dist/client/crypto/identity.d.ts +2 -0
- package/dist/client/crypto/identity.d.ts.map +1 -1
- package/dist/client/crypto/identity.js +2 -2
- package/dist/client/crypto/identity.js.map +1 -1
- package/dist/client/crypto/index.d.ts +1 -1
- package/dist/client/crypto/index.d.ts.map +1 -1
- package/dist/client/crypto/index.js +1 -1
- package/dist/client/crypto/index.js.map +1 -1
- package/dist/client/errors.d.ts +14 -0
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +28 -0
- package/dist/client/errors.js.map +1 -1
- package/dist/client/handshake/crypt-handshake.d.ts +8 -2
- package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
- package/dist/client/handshake/crypt-handshake.js +26 -20
- package/dist/client/handshake/crypt-handshake.js.map +1 -1
- package/dist/client/index.d.ts +3 -3
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/trace.d.ts +7 -0
- package/dist/client/trace.d.ts.map +1 -1
- package/dist/client/transport/handler.d.ts +2 -0
- package/dist/client/transport/handler.d.ts.map +1 -1
- package/dist/client/transport/handler.js +4 -0
- package/dist/client/transport/handler.js.map +1 -1
- package/dist/client/types.d.ts +25 -3
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +4 -0
- package/dist/client/types.js.map +1 -1
- package/dist/client/view.d.ts +71 -4
- package/dist/client/view.d.ts.map +1 -1
- package/dist/client/view.js +165 -5
- package/dist/client/view.js.map +1 -1
- package/dist/core/api/channels.d.ts +7 -3
- package/dist/core/api/channels.d.ts.map +1 -1
- package/dist/core/api/channels.js +5 -3
- package/dist/core/api/channels.js.map +1 -1
- package/dist/core/api/clients.d.ts +38 -1
- package/dist/core/api/clients.d.ts.map +1 -1
- package/dist/core/api/clients.js +33 -2
- package/dist/core/api/clients.js.map +1 -1
- package/dist/core/api/command.d.ts +18 -1
- package/dist/core/api/command.d.ts.map +1 -1
- package/dist/core/api/command.js +7 -1
- package/dist/core/api/command.js.map +1 -1
- package/dist/core/api/group-rows.d.ts +12 -0
- package/dist/core/api/group-rows.d.ts.map +1 -0
- package/dist/core/api/group-rows.js +34 -0
- package/dist/core/api/group-rows.js.map +1 -0
- package/dist/core/api/groups.d.ts.map +1 -1
- package/dist/core/api/groups.js +2 -13
- package/dist/core/api/groups.js.map +1 -1
- package/dist/core/api/instance.d.ts +10 -2
- package/dist/core/api/instance.d.ts.map +1 -1
- package/dist/core/api/instance.js +6 -2
- package/dist/core/api/instance.js.map +1 -1
- package/dist/core/api/moderation.d.ts +7 -0
- package/dist/core/api/moderation.d.ts.map +1 -1
- package/dist/core/api/moderation.js +7 -0
- package/dist/core/api/moderation.js.map +1 -1
- package/dist/core/api/parse.d.ts.map +1 -1
- package/dist/core/api/parse.js +1 -0
- package/dist/core/api/parse.js.map +1 -1
- package/dist/core/api/server.d.ts +9 -0
- package/dist/core/api/server.d.ts.map +1 -1
- package/dist/core/api/server.js +5 -13
- package/dist/core/api/server.js.map +1 -1
- package/dist/core/command/responses.d.ts.map +1 -1
- package/dist/core/command/responses.js +1 -0
- package/dist/core/command/responses.js.map +1 -1
- package/dist/core/errorcode.d.ts +16 -0
- package/dist/core/errorcode.d.ts.map +1 -1
- package/dist/core/errorcode.js +16 -0
- package/dist/core/errorcode.js.map +1 -1
- package/dist/core/events.d.ts +67 -6
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/internal.d.ts +1 -0
- package/dist/core/internal.d.ts.map +1 -1
- package/dist/core/internal.js +1 -0
- package/dist/core/internal.js.map +1 -1
- package/dist/core/notification-name.d.ts +4 -0
- package/dist/core/notification-name.d.ts.map +1 -1
- package/dist/core/notification-name.js +4 -0
- package/dist/core/notification-name.js.map +1 -1
- package/dist/core/notifications.d.ts +6 -2
- package/dist/core/notifications.d.ts.map +1 -1
- package/dist/core/notifications.js +32 -1
- package/dist/core/notifications.js.map +1 -1
- package/dist/core/types.d.ts +7 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +16 -0
- package/dist/core/types.js.map +1 -1
- package/dist/query/client.d.ts +16 -7
- package/dist/query/client.d.ts.map +1 -1
- package/dist/query/client.js +55 -20
- package/dist/query/client.js.map +1 -1
- package/dist/query/errors.d.ts +21 -0
- package/dist/query/errors.d.ts.map +1 -1
- package/dist/query/errors.js +34 -0
- package/dist/query/errors.js.map +1 -1
- package/dist/query/index.d.ts +4 -3
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +3 -2
- package/dist/query/index.js.map +1 -1
- package/dist/query/options.d.ts +32 -19
- package/dist/query/options.d.ts.map +1 -1
- package/dist/query/options.js +21 -16
- package/dist/query/options.js.map +1 -1
- package/dist/query/ssh.d.ts +3 -1
- package/dist/query/ssh.d.ts.map +1 -1
- package/dist/query/ssh.js +4 -1
- package/dist/query/ssh.js.map +1 -1
- package/dist/query/stream.d.ts +16 -3
- package/dist/query/stream.d.ts.map +1 -1
- package/dist/query/stream.js +57 -6
- package/dist/query/stream.js.map +1 -1
- package/dist/query/tcp.js +1 -1
- package/dist/query/tcp.js.map +1 -1
- package/dist/query/transport.d.ts +39 -3
- package/dist/query/transport.d.ts.map +1 -1
- package/dist/query/web.d.ts +25 -7
- package/dist/query/web.d.ts.map +1 -1
- package/dist/query/web.js +40 -10
- package/dist/query/web.js.map +1 -1
- package/package.json +6 -5
- package/src/client/api/voice.ts +25 -1
- package/src/client/capabilities.ts +14 -11
- package/src/client/client.ts +128 -14
- package/src/client/crypto/crypt.ts +46 -9
- package/src/client/crypto/identity.ts +2 -2
- package/src/client/crypto/index.ts +1 -0
- package/src/client/errors.ts +31 -0
- package/src/client/handshake/crypt-handshake.ts +51 -16
- package/src/client/index.ts +4 -1
- package/src/client/trace.ts +7 -0
- package/src/client/transport/handler.ts +5 -0
- package/src/client/types.ts +25 -1
- package/src/client/view.ts +227 -8
- package/src/core/api/channels.ts +9 -3
- package/src/core/api/clients.ts +73 -2
- package/src/core/api/command.ts +22 -1
- package/src/core/api/group-rows.ts +38 -0
- package/src/core/api/groups.ts +1 -14
- package/src/core/api/instance.ts +20 -2
- package/src/core/api/moderation.ts +7 -0
- package/src/core/api/parse.ts +1 -0
- package/src/core/api/server.ts +13 -15
- package/src/core/command/responses.ts +1 -0
- package/src/core/errorcode.ts +16 -0
- package/src/core/events.ts +68 -6
- package/src/core/index.ts +2 -1
- package/src/core/internal.ts +1 -0
- package/src/core/notification-name.ts +4 -0
- package/src/core/notifications.ts +48 -17
- package/src/core/types.ts +14 -0
- package/src/query/client.ts +63 -20
- package/src/query/errors.ts +37 -0
- package/src/query/index.ts +9 -3
- package/src/query/options.ts +53 -33
- package/src/query/ssh.ts +9 -2
- package/src/query/stream.ts +65 -7
- package/src/query/tcp.ts +1 -1
- package/src/query/testing/live.ts +311 -0
- package/src/query/testing/ssh-keys.ts +67 -0
- package/src/query/transport.ts +40 -3
- package/src/query/web.ts +65 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/query/options.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/query/options.ts"],"names":[],"mappings":"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"}
|
package/dist/query/ssh.d.ts
CHANGED
|
@@ -229,7 +229,9 @@ export interface SshDialTarget {
|
|
|
229
229
|
* `whoami` answer, `serverinfo` and the like are refused with 2568, and
|
|
230
230
|
* `servernotifyregister` is the Guest group's permission to give or withhold,
|
|
231
231
|
* so pass `events: false` to a `QueryClient` that should not register for any.
|
|
232
|
-
* A server
|
|
232
|
+
* A server that offers no guest access (TeamSpeak 3 has none, and TeamSpeak 6
|
|
233
|
+
* can be started with `--query-ssh-allow-guest=0`) fails the login, which a
|
|
234
|
+
* `QueryClient` reports as a `GuestAccessError` whose `cause` is the
|
|
233
235
|
* {@link QueryAuthError}.
|
|
234
236
|
*
|
|
235
237
|
* @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
|
package/dist/query/ssh.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/query/ssh.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ssh.d.ts","sourceRoot":"","sources":["../../src/query/ssh.ts"],"names":[],"mappings":"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"}
|
package/dist/query/ssh.js
CHANGED
|
@@ -135,7 +135,10 @@ export async function connectSsh(options) {
|
|
|
135
135
|
// stream closes with it.
|
|
136
136
|
ssh.on("error", (failure) => channel.emit("error", failure));
|
|
137
137
|
channel.once("close", () => ssh.end());
|
|
138
|
-
resolve(new StreamTransport(channel, () => ssh.end()
|
|
138
|
+
resolve(new StreamTransport(channel, () => ssh.end(), {
|
|
139
|
+
transport: "ssh",
|
|
140
|
+
address: `${login === undefined ? "" : `${login.username}@`}${host}:${port}`,
|
|
141
|
+
}));
|
|
139
142
|
});
|
|
140
143
|
};
|
|
141
144
|
signal?.addEventListener("abort", onAbort, { once: true });
|
package/dist/query/ssh.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/query/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../src/query/ssh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA6X9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAkB;IAChD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GACzF,OAAO,CAAC;IACV,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3D,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC1E,MAAM,IAAI,SAAS,CACjB,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,qBAAqB,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6HAA6H,CACjJ,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,GAAG,KAAK,CAAC,CAAC,CAAC,+GAA+G,CAC3H,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC5E,MAAM,IAAI,SAAS,CACjB,sHAAsH,CACvH,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAA6B,EAAE,CAAC;IAC9F,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9E,IAAI,qBAAqB,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrE,MAAM,IAAI,KAAK,CACb,+NAA+N,CAChO,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAA4B,CAAC,IAAI,KAAK,sBAAsB,EAC7D,CAAC;YACD,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC3D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,uEAAuE;IACvE,6EAA6E;IAC7E,gCAAgC;IAChC,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IAEzB,uEAAuE;IACvE,+DAA+D;IAC/D,IAAI,OAA0B,CAAC;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAY,EAAQ,EAAE;YACpC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,MAAM,CAAC,MAAO,CAAC,MAAe,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,KAAY,EAAQ,EAAE;YACzC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,CACJ,IAAI,eAAe,CACjB,IAAI,EACJ,IAAI,EACJ,uBAAuB,IAAI,IAAI,IAAI,4CAA4C,OAAO,CAAC,OAAO,EAAE,EAChG,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,wEAAwE;YACxE,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,KAAK,GAAI,KAA6B,CAAC,KAAK,CAAC;YACnD,MAAM,CACJ,KAAK,KAAK,uBAAuB;gBAC/B,CAAC,CAAC,IAAI,cAAc,CAChB,KAAM,CAAC,QAAQ,EACf,iCAAiC,KAAM,CAAC,QAAQ,EAAE,EAClD,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB;gBACH,CAAC,CAAC,KAAK,CACV,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAClC,IAAI,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC9B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,0EAA0E;gBAC1E,yBAAyB;gBACzB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvC,OAAO,CACL,IAAI,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;oBAC5C,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE;iBAC7E,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,wEAAwE;YACxE,yEAAyE;YACzE,oEAAoE;YACpE,SAAS,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7B,GAAG,CAAC,OAAO,CAAC;YACV,IAAI;YACJ,IAAI;YACJ,mEAAmE;YACnE,QAAQ,EAAE,KAAM,CAAC,QAAQ;YACzB,2DAA2D;YAC3D,GAAG,CAAC,KAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,YAAY,EAAE,MAAM;YACpB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjD,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,GAAG,OAAO,CAAC;gBAC7C,OAAO,OAAO,KAAK,SAAS,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,OAAkB;IACjC,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,SAAS,CAAC,6DAA6D,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,SAAS,CACjB,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IACD,MAAM,IAAI,GAAG,6DAA6D,CAAC;IAC3E,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;QAC5D,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,IAAY,EAAE,IAAI,GAAG,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE;QAC3C,MAAM,IAAI,SAAS,CAAC,GAAG,IAAI,yBAAyB,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,WAAW,CACxB,MAAuB,EACvB,IAAY,EACZ,IAAY;IAEZ,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrD,+EAA+E;IAC/E,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAElD,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,eAAe,CACvB,IAAI,EACJ,IAAI,EACJ,mBAAmB,IAAI,IAAI,IAAI,uBAAwB,KAAe,CAAC,OAAO,EAAE,EAChF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CACb,MAA0B,EAC1B,IAAY,EACZ,IAAY,EACZ,IAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,MAAM,GAAY,MAAM,CAAC;YAC7B,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;YACvB,GAAG;YACH,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC;SAChC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,yEAAyE;QACzE,IAAI,OAAQ,MAA6B,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9D,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,SAAS,CAClB,2HAA2H,CAC5H,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,SAAS,CAAC,UAAqC;IAC5D,IAAI,OAAO,UAAU,KAAK,UAAU;QAAE,OAAO,UAAU,EAAE,CAAC;IAC1D,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;IACpC,OAAO,IAAI,MAAM,EAAE,CAAC;AACtB,CAAC"}
|
package/dist/query/stream.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { QueryTransport } from "./transport.js";
|
|
1
|
+
import type { QueryTransport, QueryTransportStats } from "./transport.js";
|
|
2
2
|
/**
|
|
3
3
|
* The part of a duplex byte stream a line transport uses. A `node:net` socket
|
|
4
4
|
* is one; so is an SSH shell channel, or a test double.
|
|
@@ -29,10 +29,23 @@ export declare class StreamTransport implements QueryTransport {
|
|
|
29
29
|
onClose: ((error: Error | undefined) => void) | null;
|
|
30
30
|
/**
|
|
31
31
|
* `onEnd` runs once the stream is closed, to release what the stream sits
|
|
32
|
-
* on: an SSH session's connection, say.
|
|
32
|
+
* on: an SSH session's connection, say. `identity` says which kind of
|
|
33
|
+
* connection this is and where it points, for {@link StreamTransport.stats}.
|
|
33
34
|
*/
|
|
34
|
-
constructor(stream: QueryStream, onEnd?: () => void
|
|
35
|
+
constructor(stream: QueryStream, onEnd?: () => void, identity?: {
|
|
36
|
+
readonly transport: "tcp" | "ssh";
|
|
37
|
+
readonly address: string;
|
|
38
|
+
});
|
|
35
39
|
send(line: string): Promise<void>;
|
|
40
|
+
stats(): QueryTransportStats;
|
|
41
|
+
/**
|
|
42
|
+
* Say `quit`, give the server a moment to end the session, and close.
|
|
43
|
+
*
|
|
44
|
+
* Ending the connection without it is not always noticed: a TeamSpeak 3
|
|
45
|
+
* server can keep an SSH session, and its slot among the few each address
|
|
46
|
+
* gets, long after the client has gone. `quit` is the command that ends a
|
|
47
|
+
* session, and the server answers it by closing the stream.
|
|
48
|
+
*/
|
|
36
49
|
close(): Promise<void>;
|
|
37
50
|
}
|
|
38
51
|
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/query/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/query/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,+FAA+F;IAC/F,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC;IACvE,wBAAwB;IACxB,GAAG,IAAI,OAAO,CAAC;IACf,sCAAsC;IACtC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC;IAClE,uDAAuD;IACvD,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,OAAO,CAAC;IAC9D,qCAAqC;IACrC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC;CACnD;AAKD;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,cAAc;;IACpD,+EAA+E;IAC/E,QAAQ,CAAC,qBAAqB,QAAQ;IACtC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAiB5D;;;;OAIG;IACH,YACE,MAAM,EAAE,WAAW,EACnB,KAAK,CAAC,EAAE,MAAM,IAAI,EAClB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAU3E;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhC;IAED,KAAK,IAAI,mBAAmB,CAQ3B;IAED;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B3B;CAoBF"}
|
package/dist/query/stream.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { LineReader } from "./lines.js";
|
|
2
|
+
/** How long `close()` waits for the server to end the session after `quit`. */
|
|
3
|
+
const QUIT_WAIT_MS = 1_000;
|
|
2
4
|
/**
|
|
3
5
|
* A {@link QueryTransport} over a byte stream: raw TCP, or an SSH shell.
|
|
4
6
|
*
|
|
@@ -17,14 +19,22 @@ export class StreamTransport {
|
|
|
17
19
|
#banner = 2;
|
|
18
20
|
#closing = false;
|
|
19
21
|
#ended = false;
|
|
22
|
+
/** Wakes a `close()` that is waiting for the server to end the session. */
|
|
23
|
+
#onEnded;
|
|
20
24
|
#error;
|
|
25
|
+
#identity;
|
|
26
|
+
#openedAt = new Date();
|
|
27
|
+
#bytesSent = 0;
|
|
28
|
+
#bytesReceived = 0;
|
|
21
29
|
/**
|
|
22
30
|
* `onEnd` runs once the stream is closed, to release what the stream sits
|
|
23
|
-
* on: an SSH session's connection, say.
|
|
31
|
+
* on: an SSH session's connection, say. `identity` says which kind of
|
|
32
|
+
* connection this is and where it points, for {@link StreamTransport.stats}.
|
|
24
33
|
*/
|
|
25
|
-
constructor(stream, onEnd) {
|
|
34
|
+
constructor(stream, onEnd, identity) {
|
|
26
35
|
this.#stream = stream;
|
|
27
36
|
this.#onEnd = onEnd;
|
|
37
|
+
this.#identity = identity;
|
|
28
38
|
stream.on("data", (chunk) => this.#handleData(chunk));
|
|
29
39
|
stream.on("error", (error) => {
|
|
30
40
|
this.#error = error;
|
|
@@ -35,22 +45,62 @@ export class StreamTransport {
|
|
|
35
45
|
if (this.#ended)
|
|
36
46
|
return Promise.reject(new Error("the query connection is closed"));
|
|
37
47
|
return new Promise((resolve, reject) => {
|
|
38
|
-
this.#stream.write(`${line}\n`, (error) =>
|
|
48
|
+
this.#stream.write(`${line}\n`, (error) => {
|
|
49
|
+
if (error)
|
|
50
|
+
reject(error);
|
|
51
|
+
else {
|
|
52
|
+
this.#bytesSent += Buffer.byteLength(line) + 1;
|
|
53
|
+
resolve();
|
|
54
|
+
}
|
|
55
|
+
});
|
|
39
56
|
});
|
|
40
57
|
}
|
|
41
|
-
|
|
58
|
+
stats() {
|
|
59
|
+
return {
|
|
60
|
+
connectedAt: this.#openedAt,
|
|
61
|
+
transport: this.#identity?.transport,
|
|
62
|
+
address: this.#identity?.address ?? "",
|
|
63
|
+
bytesSent: this.#bytesSent,
|
|
64
|
+
bytesReceived: this.#bytesReceived,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Say `quit`, give the server a moment to end the session, and close.
|
|
69
|
+
*
|
|
70
|
+
* Ending the connection without it is not always noticed: a TeamSpeak 3
|
|
71
|
+
* server can keep an SSH session, and its slot among the few each address
|
|
72
|
+
* gets, long after the client has gone. `quit` is the command that ends a
|
|
73
|
+
* session, and the server answers it by closing the stream.
|
|
74
|
+
*/
|
|
75
|
+
async close() {
|
|
42
76
|
if (this.#ended)
|
|
43
|
-
return
|
|
77
|
+
return;
|
|
44
78
|
this.#closing = true;
|
|
79
|
+
// Whatever the server still says, it is no longer anyone's answer.
|
|
80
|
+
this.onLine = null;
|
|
81
|
+
const closed = new Promise((resolve) => {
|
|
82
|
+
this.#onEnded = resolve;
|
|
83
|
+
});
|
|
84
|
+
const said = await this.send("quit").then(() => true, () => false);
|
|
85
|
+
if (said) {
|
|
86
|
+
let timer;
|
|
87
|
+
const patience = new Promise((resolve) => {
|
|
88
|
+
timer = setTimeout(resolve, QUIT_WAIT_MS);
|
|
89
|
+
});
|
|
90
|
+
await Promise.race([closed, patience]);
|
|
91
|
+
clearTimeout(timer);
|
|
92
|
+
}
|
|
93
|
+
if (this.#ended)
|
|
94
|
+
return;
|
|
45
95
|
// Ending the stream is not enough to hear it close. An SSH session channel
|
|
46
96
|
// is half-open, so `end()` sends EOF and stops there without reporting
|
|
47
97
|
// 'close', and the hook that releases the connection underneath would never
|
|
48
98
|
// run; the close is owed here as well as from the stream's own event.
|
|
49
99
|
this.#stream.end();
|
|
50
100
|
this.#handleClose();
|
|
51
|
-
return Promise.resolve();
|
|
52
101
|
}
|
|
53
102
|
#handleData(chunk) {
|
|
103
|
+
this.#bytesReceived += chunk.byteLength;
|
|
54
104
|
for (const line of this.#reader.push(chunk)) {
|
|
55
105
|
if (this.#banner > 0) {
|
|
56
106
|
this.#banner--;
|
|
@@ -63,6 +113,7 @@ export class StreamTransport {
|
|
|
63
113
|
if (this.#ended)
|
|
64
114
|
return;
|
|
65
115
|
this.#ended = true;
|
|
116
|
+
this.#onEnded?.();
|
|
66
117
|
this.#onEnd?.();
|
|
67
118
|
this.onClose?.(this.#closing ? undefined : this.#error);
|
|
68
119
|
}
|
package/dist/query/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/query/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoBxC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAC1B,+EAA+E;IACtE,qBAAqB,GAAG,IAAI,CAAC;IACtC,MAAM,GAAoC,IAAI,CAAC;IAC/C,OAAO,GAAgD,IAAI,CAAC;IAE5D,OAAO,CAAc;IACrB,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAC3B,MAAM,CAA2B;IACjC,0DAA0D;IAC1D,OAAO,GAAG,CAAC,CAAC;IACZ,QAAQ,GAAG,KAAK,CAAC;IACjB,MAAM,GAAG,KAAK,CAAC;IACf,MAAM,CAAoB;
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/query/stream.ts"],"names":[],"mappings":"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"}
|
package/dist/query/tcp.js
CHANGED
|
@@ -11,7 +11,7 @@ export async function connectTcp(options) {
|
|
|
11
11
|
signal?.throwIfAborted();
|
|
12
12
|
const stream = await connect(host, port);
|
|
13
13
|
await opened(stream, signal);
|
|
14
|
-
return new StreamTransport(stream);
|
|
14
|
+
return new StreamTransport(stream, undefined, { transport: "tcp", address: `${host}:${port}` });
|
|
15
15
|
}
|
|
16
16
|
/** A connected `node:net` socket, with whole lines sent as they are written. */
|
|
17
17
|
function defaultConnect(host, port) {
|
package/dist/query/tcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/query/tcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgC9C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../src/query/tcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAgC9C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,MAAM,EAAE,OAAO,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,gFAAgF;AAChF,SAAS,cAAc,CAAC,IAAY,EAAE,IAAY;IAChD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,uEAAuE;IACvE,YAAY;IACZ,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,MAAc,EAAE,MAA+B;IAC7D,MAAM,UAAU,GAAI,MAA4C,CAAC,UAAU,CAAC;IAC5E,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAQ,EAAE;YACpC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAS,EAAE;YACzB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,MAAO,CAAC,MAAe,CAAC,CAAC;QAClC,CAAC,CAAC;QACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5B,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,10 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a connection reports about itself, enough for a metrics exporter to
|
|
3
|
+
* publish without reaching into the client.
|
|
4
|
+
*
|
|
5
|
+
* @experimental Part of the `@honeybbq/teamspeak/query` entry, which may
|
|
6
|
+
* change in a minor release.
|
|
7
|
+
*/
|
|
8
|
+
export interface QueryTransportStats {
|
|
9
|
+
/** When the current connection was opened; undefined when there is none. */
|
|
10
|
+
readonly connectedAt: Date | undefined;
|
|
11
|
+
/** The kind of connection; undefined when there is none, or for a transport that does not say. */
|
|
12
|
+
readonly transport: "tcp" | "ssh" | "web" | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Where it points: `host:port` for raw TCP, `user@host:port` for SSH, the
|
|
15
|
+
* base URL for WebQuery. Never a password or an api key; "" when there is
|
|
16
|
+
* no connection.
|
|
17
|
+
*/
|
|
18
|
+
readonly address: string;
|
|
19
|
+
/**
|
|
20
|
+
* What the line protocol has written, line terminators included; for
|
|
21
|
+
* WebQuery, the request bodies. It is what the transport sent, not what the
|
|
22
|
+
* socket did: headers and retries are not counted.
|
|
23
|
+
*/
|
|
24
|
+
readonly bytesSent: number;
|
|
25
|
+
/**
|
|
26
|
+
* What the server has sent, banner included: the bytes read from the stream
|
|
27
|
+
* for raw TCP and SSH, the response bodies for WebQuery.
|
|
28
|
+
*/
|
|
29
|
+
readonly bytesReceived: number;
|
|
30
|
+
}
|
|
1
31
|
/**
|
|
2
32
|
* The connection a ServerQuery client talks over.
|
|
3
33
|
*
|
|
4
34
|
* ServerQuery is a line protocol on three transports: raw TCP (10011), SSH
|
|
5
|
-
* (10022) and
|
|
6
|
-
*
|
|
7
|
-
*
|
|
35
|
+
* (10022) and an HTTP WebQuery (10080) that frames each command as a request.
|
|
36
|
+
* WebQuery and SSH are served by TeamSpeak 3 (3.12 and 3.3 or later) as well as
|
|
37
|
+
* TeamSpeak 6. The client depends on this interface only, so each transport is
|
|
38
|
+
* a separate piece, and a test or a proxy can supply its own.
|
|
8
39
|
*/
|
|
9
40
|
export interface QueryTransport {
|
|
10
41
|
/**
|
|
@@ -32,5 +63,10 @@ export interface QueryTransport {
|
|
|
32
63
|
onClose: ((error: Error | undefined) => void) | null;
|
|
33
64
|
/** End the connection. */
|
|
34
65
|
close(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* What the connection reports about itself, for `QueryClient.stats`. A
|
|
68
|
+
* transport that does not keep counts leaves it out.
|
|
69
|
+
*/
|
|
70
|
+
stats?(): QueryTransportStats;
|
|
35
71
|
}
|
|
36
72
|
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/query/transport.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/query/transport.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IACvC,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,qEAAqE;IACrE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,oFAAoF;IACpF,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD,0BAA0B;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB;;;OAGG;IACH,KAAK,CAAC,IAAI,mBAAmB,CAAC;CAC/B"}
|
package/dist/query/web.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TeamspeakError } from "@honeybbq/teamspeak";
|
|
2
|
-
import type { QueryTransport } from "./transport.js";
|
|
2
|
+
import type { QueryTransport, QueryTransportStats } from "./transport.js";
|
|
3
3
|
/**
|
|
4
4
|
* A WebQuery request that failed with an HTTP status and no TeamSpeak error in
|
|
5
5
|
* its answer: a wrong or missing api key, a server that is not a WebQuery. A
|
|
@@ -41,19 +41,36 @@ export type WebCredentials = {
|
|
|
41
41
|
};
|
|
42
42
|
/** How a WebQuery is reached. */
|
|
43
43
|
export type WebQueryOptions = WebCredentials & {
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* The server's base URL, such as `http://127.0.0.1:10080` or
|
|
46
|
+
* `https://ts.example.com:10443`. The default `fetch` speaks `http:` and
|
|
47
|
+
* `https:` and refuses any other scheme.
|
|
48
|
+
*/
|
|
45
49
|
readonly url: string;
|
|
46
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* The virtual server to address; `use` changes it. Unset leaves the server out
|
|
52
|
+
* of the path, which TeamSpeak 6 reads as the instance. TeamSpeak 3 runs every
|
|
53
|
+
* command on a virtual server even then, so an instance command such as
|
|
54
|
+
* `queryloginadd client_login_name=…` answers 1539 there.
|
|
55
|
+
*/
|
|
47
56
|
readonly serverID?: number | bigint | undefined;
|
|
48
57
|
/**
|
|
49
|
-
* The `fetch` to use. By default a small one over `node:http
|
|
50
|
-
* `
|
|
51
|
-
* standard blocks.
|
|
58
|
+
* The `fetch` to use. By default a small one over `node:http` for an `http:`
|
|
59
|
+
* URL and `node:https` for an `https:` one: the global `fetch` refuses port
|
|
60
|
+
* 10080, WebQuery's own default, as a port the Fetch standard blocks.
|
|
61
|
+
*
|
|
62
|
+
* Over HTTPS the default verifies the server's certificate against the
|
|
63
|
+
* trust store Node uses, and never skips that. A server whose certificate
|
|
64
|
+
* comes from a private CA, or is self-signed, is trusted one of two ways:
|
|
65
|
+
* start Node with `NODE_EXTRA_CA_CERTS=ca.pem`, or pass a `fetch` that
|
|
66
|
+
* trusts the CA, such as one over `node:https` with an `https.Agent` whose
|
|
67
|
+
* `ca` is that certificate.
|
|
52
68
|
*/
|
|
53
69
|
readonly fetch?: typeof fetch | undefined;
|
|
54
70
|
};
|
|
55
71
|
/**
|
|
56
|
-
* A {@link QueryTransport} over WebQuery,
|
|
72
|
+
* A {@link QueryTransport} over WebQuery, the HTTP interface of TeamSpeak 3
|
|
73
|
+
* (3.12 and later) and TeamSpeak 6.
|
|
57
74
|
*
|
|
58
75
|
* Each command line becomes one request, `POST /<server>/<command>` with the
|
|
59
76
|
* parameters as JSON, and the JSON answer is turned back into what a raw
|
|
@@ -73,6 +90,7 @@ export declare class WebQueryTransport implements QueryTransport {
|
|
|
73
90
|
onClose: ((error: Error | undefined) => void) | null;
|
|
74
91
|
constructor(options: WebQueryOptions);
|
|
75
92
|
send(line: string): Promise<void>;
|
|
93
|
+
stats(): QueryTransportStats;
|
|
76
94
|
close(): Promise<void>;
|
|
77
95
|
}
|
|
78
96
|
//# sourceMappingURL=web.d.ts.map
|
package/dist/query/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/query/web.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/query/web.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1E;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,gBAAyB,IAAI,EAAE,MAAM,CAAuB;IAU5D,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAG7C;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,cAAc,GACtB;IACE,6DAA6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB,GACD;IACE,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEN,iCAAiC;AACjC,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;CAC3C,CAAC;AAYF;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAkB,YAAW,cAAc;;IACtD,wEAAwE;IACxE,QAAQ,CAAC,qBAAqB,SAAS;IACvC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAW5D,YAAY,OAAO,EAAE,eAAe,EAsBnC;IAEK,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDtC;IAED,KAAK,IAAI,mBAAmB,CAY3B;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAKrB;CAmBF"}
|
package/dist/query/web.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { request } from "node:http";
|
|
1
|
+
import { request as httpRequest } from "node:http";
|
|
2
|
+
import { request as httpsRequest } from "node:https";
|
|
2
3
|
import { TeamspeakError } from "@honeybbq/teamspeak";
|
|
3
4
|
import { buildCommandOrdered, parseCommand, splitCommandRows } from "../core/internal.js";
|
|
4
5
|
/**
|
|
@@ -26,7 +27,8 @@ export class WebQueryHttpError extends TeamspeakError {
|
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
|
-
* A {@link QueryTransport} over WebQuery,
|
|
30
|
+
* A {@link QueryTransport} over WebQuery, the HTTP interface of TeamSpeak 3
|
|
31
|
+
* (3.12 and later) and TeamSpeak 6.
|
|
30
32
|
*
|
|
31
33
|
* Each command line becomes one request, `POST /<server>/<command>` with the
|
|
32
34
|
* parameters as JSON, and the JSON answer is turned back into what a raw
|
|
@@ -48,6 +50,9 @@ export class WebQueryTransport {
|
|
|
48
50
|
#prefix;
|
|
49
51
|
#fetch;
|
|
50
52
|
#closed = false;
|
|
53
|
+
#openedAt = new Date();
|
|
54
|
+
#bytesSent = 0;
|
|
55
|
+
#bytesReceived = 0;
|
|
51
56
|
constructor(options) {
|
|
52
57
|
this.#base = options.url.replace(/\/+$/, "");
|
|
53
58
|
if (options.guest === true) {
|
|
@@ -60,7 +65,13 @@ export class WebQueryTransport {
|
|
|
60
65
|
}
|
|
61
66
|
this.#apiKey = options.apiKey;
|
|
62
67
|
this.#prefix = options.serverID === undefined ? "" : `/${options.serverID}`;
|
|
63
|
-
|
|
68
|
+
if (options.fetch === undefined) {
|
|
69
|
+
const { protocol } = new URL(options.url);
|
|
70
|
+
if (protocol !== "http:" && protocol !== "https:") {
|
|
71
|
+
throw new TypeError(`WebQuery is reached over http: or https:, not ${protocol}; pass a fetch to use another scheme`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
this.#fetch = options.fetch ?? nodeFetch;
|
|
64
75
|
}
|
|
65
76
|
async send(line) {
|
|
66
77
|
if (this.#closed)
|
|
@@ -74,17 +85,21 @@ export class WebQueryTransport {
|
|
|
74
85
|
return;
|
|
75
86
|
}
|
|
76
87
|
const params = rows.map((row) => ({ ...row.params }));
|
|
88
|
+
const body = JSON.stringify(params.length === 1 ? params[0] : params);
|
|
77
89
|
const response = await this.#fetch(`${this.#base}${this.#prefix}/${name}`, {
|
|
78
90
|
method: "POST",
|
|
79
91
|
headers: {
|
|
80
92
|
...(this.#apiKey === undefined ? {} : { "x-api-key": this.#apiKey }),
|
|
81
93
|
"content-type": "application/json",
|
|
82
94
|
},
|
|
83
|
-
body
|
|
95
|
+
body,
|
|
84
96
|
});
|
|
97
|
+
this.#bytesSent += Buffer.byteLength(body);
|
|
85
98
|
let answer;
|
|
86
99
|
try {
|
|
87
|
-
|
|
100
|
+
const text = await response.text();
|
|
101
|
+
this.#bytesReceived += Buffer.byteLength(text);
|
|
102
|
+
answer = JSON.parse(text);
|
|
88
103
|
}
|
|
89
104
|
catch {
|
|
90
105
|
// Not JSON: nothing the server said about the command.
|
|
@@ -92,8 +107,8 @@ export class WebQueryTransport {
|
|
|
92
107
|
const code = answer?.status?.code;
|
|
93
108
|
if (typeof code !== "number")
|
|
94
109
|
throw new WebQueryHttpError(response.status, response.statusText);
|
|
95
|
-
const
|
|
96
|
-
for (const row of Array.isArray(
|
|
110
|
+
const rowsBody = answer?.body;
|
|
111
|
+
for (const row of Array.isArray(rowsBody) ? rowsBody : []) {
|
|
97
112
|
if (typeof row === "object" && row !== null)
|
|
98
113
|
this.onLine?.(rowLine(row));
|
|
99
114
|
}
|
|
@@ -106,6 +121,19 @@ export class WebQueryTransport {
|
|
|
106
121
|
...Object.entries(tail),
|
|
107
122
|
]));
|
|
108
123
|
}
|
|
124
|
+
stats() {
|
|
125
|
+
// The base URL as given, without a user or password a caller put in it.
|
|
126
|
+
const url = new URL(this.#base);
|
|
127
|
+
url.username = "";
|
|
128
|
+
url.password = "";
|
|
129
|
+
return {
|
|
130
|
+
connectedAt: this.#openedAt,
|
|
131
|
+
transport: "web",
|
|
132
|
+
address: url.toString().replace(/\/+$/, ""),
|
|
133
|
+
bytesSent: this.#bytesSent,
|
|
134
|
+
bytesReceived: this.#bytesReceived,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
109
137
|
close() {
|
|
110
138
|
if (this.#closed)
|
|
111
139
|
return Promise.resolve();
|
|
@@ -138,10 +166,12 @@ function rowLine(row) {
|
|
|
138
166
|
return buildCommandOrdered("", fields).slice(1);
|
|
139
167
|
}
|
|
140
168
|
/**
|
|
141
|
-
* The part of `fetch` this transport uses, over `node:http
|
|
142
|
-
* string body, answered with a `Response`.
|
|
169
|
+
* The part of `fetch` this transport uses, over `node:http` or `node:https`
|
|
170
|
+
* by the URL's scheme: a POST with a string body, answered with a `Response`.
|
|
171
|
+
* An HTTPS certificate is verified the way Node does by default.
|
|
143
172
|
*/
|
|
144
|
-
const
|
|
173
|
+
const nodeFetch = ((url, init) => new Promise((resolve, reject) => {
|
|
174
|
+
const request = new URL(url).protocol === "https:" ? httpsRequest : httpRequest;
|
|
145
175
|
const req = request(url, { method: init.method, headers: init.headers }, (res) => {
|
|
146
176
|
const chunks = [];
|
|
147
177
|
res.on("data", (chunk) => chunks.push(chunk));
|
package/dist/query/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/query/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/query/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG1F;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,cAAc;IACnD,4DAA4D;IAC5D,MAAM,CAAmB,IAAI,GAAW,mBAAmB,CAAC;IAC5D;QACE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;YAC5C,KAAK,EAAE,mBAAmB;YAC1B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACd,MAAM,CAAS;IAExB,YAAY,MAAc,EAAE,UAAkB;QAC5C,KAAK,CAAC,0BAA0B,MAAM,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAuED;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,iBAAiB;IAC5B,wEAAwE;IAC/D,qBAAqB,GAAG,KAAK,CAAC;IACvC,MAAM,GAAoC,IAAI,CAAC;IAC/C,OAAO,GAAgD,IAAI,CAAC;IAE5D,KAAK,CAAS;IACd,OAAO,CAAqB;IAC5B,OAAO,CAAS;IAChB,MAAM,CAAe;IACrB,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,UAAU,GAAG,CAAC,CAAC;IACf,cAAc,GAAG,CAAC,CAAC;IAEnB,YAAY,OAAwB;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,SAAS,CAAC,gEAAgE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvE,MAAM,IAAI,SAAS,CACjB,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,IAAI,SAAS,CACjB,iDAAiD,QAAQ,sCAAsC,CAChG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;aAChC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAEjC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpE,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,MAA6B,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,uDAAuD;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;QAClC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEhG,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,CAAC,MAAM,EAAE,CACX,mBAAmB,CAAC,OAAO,EAAE;YAC3B,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK;QACH,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QAClB,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,SAAS;YAC3B,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,mFAAmF;IACnF,IAAI,CAAC,MAAwC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;aAChE,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,OAAO,GAAG,WAAW,IAAI,EAAE,CAAC;aAC/E,CAAC;YACJ,IAAI,CAAC,MAAM,EAAE,CACX,mBAAmB,CAAC,OAAO,EAAE;gBAC3B,CAAC,IAAI,EAAE,MAAM,CAAC;gBACd,CAAC,KAAK,EAAE,mBAAmB,CAAC;aAC7B,CAAC,CACH,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,CAAC;IACrC,CAAC;CACF;AAED,mGAAmG;AACnG,SAAS,OAAO,CAAC,GAAW;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CACpC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAU,CACpF,CAAC;IACF,2DAA2D;IAC3D,OAAO,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,GAAW,EAAE,IAAiB,EAAE,EAAE,CACpD,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;IAChF,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EACH,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAiC,EAAE,EACxE,CAAC,GAAG,EAAE,EAAE;QACN,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACtD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CACjB,OAAO,CACL,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAClC,MAAM,EAAE,GAAG,CAAC,UAAU,IAAI,CAAC;YAC3B,UAAU,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;SACpC,CAAC,CACH,CACF,CAAC;IACJ,CAAC,CACF,CAAC;IACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC;AAC/B,CAAC,CAAC,CAA4B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@honeybbq/teamspeak",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.13",
|
|
4
4
|
"description": "TeamSpeak SDK for TypeScript: a clean-room voice client for Node.js, and the typed commands, ids and errors every connection shares",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"client",
|
|
@@ -94,16 +94,17 @@
|
|
|
94
94
|
},
|
|
95
95
|
"scripts": {
|
|
96
96
|
"build": "tsc -p tsconfig.build.json",
|
|
97
|
-
"test": "vitest run",
|
|
97
|
+
"test": "vitest run --project @honeybbq/teamspeak --project scripts",
|
|
98
98
|
"test:watch": "vitest",
|
|
99
99
|
"lint": "oxlint --deny-warnings .",
|
|
100
100
|
"fmt": "oxfmt .",
|
|
101
101
|
"fmt:check": "oxfmt --check .",
|
|
102
102
|
"typecheck": "tsc --noEmit",
|
|
103
103
|
"check": "pnpm typecheck && pnpm lint && pnpm fmt:check",
|
|
104
|
-
"test:integration": "vitest run
|
|
105
|
-
"test:integration:client": "vitest run
|
|
106
|
-
"test:integration:query": "vitest run src/query/integration.test.ts --reporter=verbose",
|
|
104
|
+
"test:integration": "vitest run --project integration --exclude src/query/instance.integration.test.ts --reporter=verbose",
|
|
105
|
+
"test:integration:client": "vitest run --project integration src/client/ --reporter=verbose",
|
|
106
|
+
"test:integration:query": "vitest run --project integration src/query/ --exclude src/query/instance.integration.test.ts --reporter=verbose",
|
|
107
|
+
"test:integration:instance": "TEAMSPEAK_QUERY_DESTRUCTIVE=1 TEAMSPEAK_QUERY_STOP_INSTANCE=1 vitest run --project integration src/query/instance.integration.test.ts --reporter=verbose",
|
|
107
108
|
"test:integration:ts3": "TEAMSPEAK_ADDR=127.0.0.1:9987 TEAMSPEAK_DEFAULT_CHANNEL=Alpha TEAMSPEAK_PASSWORD_CHANNEL=Secret TEAMSPEAK_PASSWORD_CHANNEL_PASSWORD=hunter2 pnpm test:integration",
|
|
108
109
|
"test:integration:ts6": "TEAMSPEAK_ADDR=127.0.0.1:9988 TEAMSPEAK_DEFAULT_CHANNEL=Alpha TEAMSPEAK_PASSWORD_CHANNEL=Secret TEAMSPEAK_PASSWORD_CHANNEL_PASSWORD=hunter2 pnpm test:integration",
|
|
109
110
|
"test:integration:both": "pnpm test:integration:ts3 && pnpm test:integration:ts6",
|