@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.
Files changed (187) hide show
  1. package/README.md +52 -7
  2. package/dist/client/api/voice.d.ts +13 -0
  3. package/dist/client/api/voice.d.ts.map +1 -1
  4. package/dist/client/api/voice.js +20 -1
  5. package/dist/client/api/voice.js.map +1 -1
  6. package/dist/client/capabilities.d.ts +4 -4
  7. package/dist/client/capabilities.d.ts.map +1 -1
  8. package/dist/client/capabilities.js +3 -8
  9. package/dist/client/capabilities.js.map +1 -1
  10. package/dist/client/client.d.ts.map +1 -1
  11. package/dist/client/client.js +120 -18
  12. package/dist/client/client.js.map +1 -1
  13. package/dist/client/crypto/crypt.d.ts +25 -4
  14. package/dist/client/crypto/crypt.d.ts.map +1 -1
  15. package/dist/client/crypto/crypt.js +41 -9
  16. package/dist/client/crypto/crypt.js.map +1 -1
  17. package/dist/client/crypto/identity.d.ts +2 -0
  18. package/dist/client/crypto/identity.d.ts.map +1 -1
  19. package/dist/client/crypto/identity.js +2 -2
  20. package/dist/client/crypto/identity.js.map +1 -1
  21. package/dist/client/crypto/index.d.ts +1 -1
  22. package/dist/client/crypto/index.d.ts.map +1 -1
  23. package/dist/client/crypto/index.js +1 -1
  24. package/dist/client/crypto/index.js.map +1 -1
  25. package/dist/client/errors.d.ts +14 -0
  26. package/dist/client/errors.d.ts.map +1 -1
  27. package/dist/client/errors.js +28 -0
  28. package/dist/client/errors.js.map +1 -1
  29. package/dist/client/handshake/crypt-handshake.d.ts +8 -2
  30. package/dist/client/handshake/crypt-handshake.d.ts.map +1 -1
  31. package/dist/client/handshake/crypt-handshake.js +26 -20
  32. package/dist/client/handshake/crypt-handshake.js.map +1 -1
  33. package/dist/client/index.d.ts +3 -3
  34. package/dist/client/index.d.ts.map +1 -1
  35. package/dist/client/index.js +2 -2
  36. package/dist/client/index.js.map +1 -1
  37. package/dist/client/trace.d.ts +7 -0
  38. package/dist/client/trace.d.ts.map +1 -1
  39. package/dist/client/transport/handler.d.ts +2 -0
  40. package/dist/client/transport/handler.d.ts.map +1 -1
  41. package/dist/client/transport/handler.js +4 -0
  42. package/dist/client/transport/handler.js.map +1 -1
  43. package/dist/client/types.d.ts +25 -3
  44. package/dist/client/types.d.ts.map +1 -1
  45. package/dist/client/types.js +4 -0
  46. package/dist/client/types.js.map +1 -1
  47. package/dist/client/view.d.ts +71 -4
  48. package/dist/client/view.d.ts.map +1 -1
  49. package/dist/client/view.js +165 -5
  50. package/dist/client/view.js.map +1 -1
  51. package/dist/core/api/channels.d.ts +7 -3
  52. package/dist/core/api/channels.d.ts.map +1 -1
  53. package/dist/core/api/channels.js +5 -3
  54. package/dist/core/api/channels.js.map +1 -1
  55. package/dist/core/api/clients.d.ts +38 -1
  56. package/dist/core/api/clients.d.ts.map +1 -1
  57. package/dist/core/api/clients.js +33 -2
  58. package/dist/core/api/clients.js.map +1 -1
  59. package/dist/core/api/command.d.ts +18 -1
  60. package/dist/core/api/command.d.ts.map +1 -1
  61. package/dist/core/api/command.js +7 -1
  62. package/dist/core/api/command.js.map +1 -1
  63. package/dist/core/api/group-rows.d.ts +12 -0
  64. package/dist/core/api/group-rows.d.ts.map +1 -0
  65. package/dist/core/api/group-rows.js +34 -0
  66. package/dist/core/api/group-rows.js.map +1 -0
  67. package/dist/core/api/groups.d.ts.map +1 -1
  68. package/dist/core/api/groups.js +2 -13
  69. package/dist/core/api/groups.js.map +1 -1
  70. package/dist/core/api/instance.d.ts +10 -2
  71. package/dist/core/api/instance.d.ts.map +1 -1
  72. package/dist/core/api/instance.js +6 -2
  73. package/dist/core/api/instance.js.map +1 -1
  74. package/dist/core/api/moderation.d.ts +7 -0
  75. package/dist/core/api/moderation.d.ts.map +1 -1
  76. package/dist/core/api/moderation.js +7 -0
  77. package/dist/core/api/moderation.js.map +1 -1
  78. package/dist/core/api/parse.d.ts.map +1 -1
  79. package/dist/core/api/parse.js +1 -0
  80. package/dist/core/api/parse.js.map +1 -1
  81. package/dist/core/api/server.d.ts +9 -0
  82. package/dist/core/api/server.d.ts.map +1 -1
  83. package/dist/core/api/server.js +5 -13
  84. package/dist/core/api/server.js.map +1 -1
  85. package/dist/core/command/responses.d.ts.map +1 -1
  86. package/dist/core/command/responses.js +1 -0
  87. package/dist/core/command/responses.js.map +1 -1
  88. package/dist/core/errorcode.d.ts +16 -0
  89. package/dist/core/errorcode.d.ts.map +1 -1
  90. package/dist/core/errorcode.js +16 -0
  91. package/dist/core/errorcode.js.map +1 -1
  92. package/dist/core/events.d.ts +67 -6
  93. package/dist/core/events.d.ts.map +1 -1
  94. package/dist/core/index.d.ts +2 -2
  95. package/dist/core/index.d.ts.map +1 -1
  96. package/dist/core/index.js +1 -1
  97. package/dist/core/index.js.map +1 -1
  98. package/dist/core/internal.d.ts +1 -0
  99. package/dist/core/internal.d.ts.map +1 -1
  100. package/dist/core/internal.js +1 -0
  101. package/dist/core/internal.js.map +1 -1
  102. package/dist/core/notification-name.d.ts +4 -0
  103. package/dist/core/notification-name.d.ts.map +1 -1
  104. package/dist/core/notification-name.js +4 -0
  105. package/dist/core/notification-name.js.map +1 -1
  106. package/dist/core/notifications.d.ts +6 -2
  107. package/dist/core/notifications.d.ts.map +1 -1
  108. package/dist/core/notifications.js +32 -1
  109. package/dist/core/notifications.js.map +1 -1
  110. package/dist/core/types.d.ts +7 -0
  111. package/dist/core/types.d.ts.map +1 -1
  112. package/dist/core/types.js +16 -0
  113. package/dist/core/types.js.map +1 -1
  114. package/dist/query/client.d.ts +16 -7
  115. package/dist/query/client.d.ts.map +1 -1
  116. package/dist/query/client.js +55 -20
  117. package/dist/query/client.js.map +1 -1
  118. package/dist/query/errors.d.ts +21 -0
  119. package/dist/query/errors.d.ts.map +1 -1
  120. package/dist/query/errors.js +34 -0
  121. package/dist/query/errors.js.map +1 -1
  122. package/dist/query/index.d.ts +4 -3
  123. package/dist/query/index.d.ts.map +1 -1
  124. package/dist/query/index.js +3 -2
  125. package/dist/query/index.js.map +1 -1
  126. package/dist/query/options.d.ts +32 -19
  127. package/dist/query/options.d.ts.map +1 -1
  128. package/dist/query/options.js +21 -16
  129. package/dist/query/options.js.map +1 -1
  130. package/dist/query/ssh.d.ts +3 -1
  131. package/dist/query/ssh.d.ts.map +1 -1
  132. package/dist/query/ssh.js +4 -1
  133. package/dist/query/ssh.js.map +1 -1
  134. package/dist/query/stream.d.ts +16 -3
  135. package/dist/query/stream.d.ts.map +1 -1
  136. package/dist/query/stream.js +57 -6
  137. package/dist/query/stream.js.map +1 -1
  138. package/dist/query/tcp.js +1 -1
  139. package/dist/query/tcp.js.map +1 -1
  140. package/dist/query/transport.d.ts +39 -3
  141. package/dist/query/transport.d.ts.map +1 -1
  142. package/dist/query/web.d.ts +25 -7
  143. package/dist/query/web.d.ts.map +1 -1
  144. package/dist/query/web.js +40 -10
  145. package/dist/query/web.js.map +1 -1
  146. package/package.json +6 -5
  147. package/src/client/api/voice.ts +25 -1
  148. package/src/client/capabilities.ts +14 -11
  149. package/src/client/client.ts +128 -14
  150. package/src/client/crypto/crypt.ts +46 -9
  151. package/src/client/crypto/identity.ts +2 -2
  152. package/src/client/crypto/index.ts +1 -0
  153. package/src/client/errors.ts +31 -0
  154. package/src/client/handshake/crypt-handshake.ts +51 -16
  155. package/src/client/index.ts +4 -1
  156. package/src/client/trace.ts +7 -0
  157. package/src/client/transport/handler.ts +5 -0
  158. package/src/client/types.ts +25 -1
  159. package/src/client/view.ts +227 -8
  160. package/src/core/api/channels.ts +9 -3
  161. package/src/core/api/clients.ts +73 -2
  162. package/src/core/api/command.ts +22 -1
  163. package/src/core/api/group-rows.ts +38 -0
  164. package/src/core/api/groups.ts +1 -14
  165. package/src/core/api/instance.ts +20 -2
  166. package/src/core/api/moderation.ts +7 -0
  167. package/src/core/api/parse.ts +1 -0
  168. package/src/core/api/server.ts +13 -15
  169. package/src/core/command/responses.ts +1 -0
  170. package/src/core/errorcode.ts +16 -0
  171. package/src/core/events.ts +68 -6
  172. package/src/core/index.ts +2 -1
  173. package/src/core/internal.ts +1 -0
  174. package/src/core/notification-name.ts +4 -0
  175. package/src/core/notifications.ts +48 -17
  176. package/src/core/types.ts +14 -0
  177. package/src/query/client.ts +63 -20
  178. package/src/query/errors.ts +37 -0
  179. package/src/query/index.ts +9 -3
  180. package/src/query/options.ts +53 -33
  181. package/src/query/ssh.ts +9 -2
  182. package/src/query/stream.ts +65 -7
  183. package/src/query/tcp.ts +1 -1
  184. package/src/query/testing/live.ts +311 -0
  185. package/src/query/testing/ssh-keys.ts +67 -0
  186. package/src/query/transport.ts +40 -3
  187. package/src/query/web.ts +65 -16
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AA8HA,sDAAsD;AACtD,MAAM,sBAAsB,GAAG;IAC7B,mEAAmE;IACnE,WAAW,EAAE,CAAC;IACd,oEAAoE;IACpE,YAAY,EAAE,CAAC;IACf,sFAAsF;IACtF,gBAAgB,EAAE,CAAC;IACnB,oBAAoB;IACpB,UAAU,EAAE,CAAC;CACL,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB;AAC3B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAIxD,sDAAsD;AACtD,MAAM,uBAAuB,GAAG;IAC9B,qBAAqB;IACrB,WAAW,EAAE,CAAC;IACd,oCAAoC;IACpC,cAAc,EAAE,CAAC;IACjB,sDAAsD;IACtD,aAAa,EAAE,CAAC;IAChB,0DAA0D;IAC1D,iBAAiB,EAAE,CAAC;IACpB,4DAA4D;IAC5D,aAAa,EAAE,CAAC;IAChB,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC;IACxB,2DAA2D;IAC3D,WAAW,EAAE,CAAC;CACN,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB;AAC5B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AA8BzD,sDAAsD;AACtD,MAAM,eAAe,GAAG;IACtB,gEAAgE;IAChE,WAAW,EAAE,aAAa;IAC1B,qFAAqF;IACrF,WAAW,EAAE,aAAa;IAC1B,kCAAkC;IAClC,WAAW,EAAE,aAAa;IAC1B,iCAAiC;IACjC,WAAW,EAAE,aAAa;IAC1B,+BAA+B;IAC/B,cAAc,EAAE,gBAAgB;IAChC,2CAA2C;IAC3C,aAAa,EAAE,eAAe;IAC9B,0CAA0C;IAC1C,YAAY,EAAE,cAAc;IAC5B,+BAA+B;IAC/B,cAAc,EAAE,gBAAgB;IAChC,+DAA+D;IAC/D,yBAAyB,EAAE,2BAA2B;IACtD,0DAA0D;IAC1D,sBAAsB,EAAE,wBAAwB;IAChD,0CAA0C;IAC1C,YAAY,EAAE,cAAc;IAC5B,qEAAqE;IACrE,aAAa,EAAE,eAAe;IAC9B,wCAAwC;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,4CAA4C;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,sDAAsD;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,iDAAiD;IACjD,iBAAiB,EAAE,mBAAmB;IACtC,2DAA2D;IAC3D,mBAAmB,EAAE,qBAAqB;IAC1C,sCAAsC;IACtC,aAAa,EAAE,eAAe;IAC9B,wDAAwD;IACxD,mBAAmB,EAAE,qBAAqB;IAC1C,iDAAiD;IACjD,SAAS,EAAE,WAAW;IACtB,+BAA+B;IAC/B,KAAK,EAAE,OAAO;IACd,mFAAmF;IACnF,SAAS,EAAE,WAAW;IACtB;;;OAGG;IACH,YAAY,EAAE,cAAc;IAC5B,0EAA0E;IAC1E,SAAS,EAAE,WAAW;IACtB,gFAAgF;IAChF,YAAY,EAAE,cAAc;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA2B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAOhG,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,uBAAuB,GAC3B,IAAI,CAAC;AACP,MAAM,wBAAwB,GAElB,IAAI,CAAC;AACjB,KAAK,uBAAuB,CAAC;AAC7B,KAAK,wBAAwB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAiJA,sDAAsD;AACtD,MAAM,sBAAsB,GAAG;IAC7B,mEAAmE;IACnE,WAAW,EAAE,CAAC;IACd,oEAAoE;IACpE,YAAY,EAAE,CAAC;IACf,sFAAsF;IACtF,gBAAgB,EAAE,CAAC;IACnB,oBAAoB;IACpB,UAAU,EAAE,CAAC;CACL,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB;AAC3B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAIxD,sDAAsD;AACtD,MAAM,uBAAuB,GAAG;IAC9B,qBAAqB;IACrB,WAAW,EAAE,CAAC;IACd,oCAAoC;IACpC,cAAc,EAAE,CAAC;IACjB,sDAAsD;IACtD,aAAa,EAAE,CAAC;IAChB,0DAA0D;IAC1D,iBAAiB,EAAE,CAAC;IACpB,4DAA4D;IAC5D,aAAa,EAAE,CAAC;IAChB,2EAA2E;IAC3E,qBAAqB,EAAE,CAAC;IACxB,2DAA2D;IAC3D,WAAW,EAAE,CAAC;CACN,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB;AAC5B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;AA8BzD,sDAAsD;AACtD,MAAM,eAAe,GAAG;IACtB,gEAAgE;IAChE,WAAW,EAAE,aAAa;IAC1B,qFAAqF;IACrF,WAAW,EAAE,aAAa;IAC1B,kCAAkC;IAClC,WAAW,EAAE,aAAa;IAC1B,iCAAiC;IACjC,WAAW,EAAE,aAAa;IAC1B,+BAA+B;IAC/B,cAAc,EAAE,gBAAgB;IAChC,2CAA2C;IAC3C,aAAa,EAAE,eAAe;IAC9B,0CAA0C;IAC1C,YAAY,EAAE,cAAc;IAC5B,+BAA+B;IAC/B,cAAc,EAAE,gBAAgB;IAChC,+DAA+D;IAC/D,yBAAyB,EAAE,2BAA2B;IACtD,0DAA0D;IAC1D,sBAAsB,EAAE,wBAAwB;IAChD,0CAA0C;IAC1C,YAAY,EAAE,cAAc;IAC5B,qEAAqE;IACrE,aAAa,EAAE,eAAe;IAC9B,wCAAwC;IACxC,sBAAsB,EAAE,wBAAwB;IAChD,4CAA4C;IAC5C,wBAAwB,EAAE,0BAA0B;IACpD,sDAAsD;IACtD,yBAAyB,EAAE,2BAA2B;IACtD,iDAAiD;IACjD,iBAAiB,EAAE,mBAAmB;IACtC,2DAA2D;IAC3D,mBAAmB,EAAE,qBAAqB;IAC1C,sCAAsC;IACtC,aAAa,EAAE,eAAe;IAC9B,wDAAwD;IACxD,mBAAmB,EAAE,qBAAqB;IAC1C,0DAA0D;IAC1D,gBAAgB,EAAE,kBAAkB;IACpC,iDAAiD;IACjD,SAAS,EAAE,WAAW;IACtB,2CAA2C;IAC3C,WAAW,EAAE,aAAa;IAC1B,+BAA+B;IAC/B,KAAK,EAAE,OAAO;IACd,mFAAmF;IACnF,SAAS,EAAE,WAAW;IACtB;;;OAGG;IACH,YAAY,EAAE,cAAc;IAC5B,0EAA0E;IAC1E,SAAS,EAAE,WAAW;IACtB,gFAAgF;IAChF,YAAY,EAAE,cAAc;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC;AACX;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAA2B,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAOhG,4EAA4E;AAC5E,yDAAyD;AACzD,MAAM,uBAAuB,GAC3B,IAAI,CAAC;AACP,MAAM,wBAAwB,GAElB,IAAI,CAAC;AACjB,KAAK,uBAAuB,CAAC;AAC7B,KAAK,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Channel, type ChannelCreatedEvent, type ChannelDeletedEvent, type ChannelEditedEvent, type ChannelID, type ChannelMovedEvent, type ClientEnterEvent, type ClientEntry, type ClientID, type Logger } from "@honeybbq/teamspeak";
1
+ import { type Channel, type ChannelCreatedEvent, type ChannelDeletedEvent, type ChannelEditedEvent, type ChannelID, type ChannelMovedEvent, type ClientEntry, type ChannelGroup, type ChannelGroupID, type ClientID, type Logger, type ServerGroup, type ServerGroupID } from "@honeybbq/teamspeak";
2
2
  /**
3
3
  * Where a {@link ServerView} is in a connection's life.
4
4
  *
@@ -22,6 +22,15 @@ export interface ViewReadyEvent {
22
22
  /** The view's `revision` when it became live. */
23
23
  readonly revision: number;
24
24
  }
25
+ /**
26
+ * What `viewChanged` delivers.
27
+ *
28
+ * @experimental New in 1.x and may change in a minor release.
29
+ */
30
+ export interface ViewChangedEvent {
31
+ /** The view's `revision` when the event was delivered. */
32
+ readonly revision: number;
33
+ }
25
34
  /**
26
35
  * What a connected client knows of the server: the channels in the server's
27
36
  * order, the clients it has been told about, and itself. It is read-only and
@@ -51,6 +60,11 @@ export interface ViewReadyEvent {
51
60
  * and does not say when a subscription ends, so the view drops a channel's
52
61
  * clients when it sees `channelUnsubscribed`. It is not a list of everyone on
53
62
  * the server; `listClients` is, for the moment it is called.
63
+ * - The group definitions are the server's last full list of each kind, which
64
+ * it sends again whole after any group is added, renamed, copied or deleted.
65
+ * A change to a group's permissions is not announced, and is not in the view.
66
+ * - The server's properties are exact for those the server announces when
67
+ * they change, and as of the last `getServerVariables` for the others.
54
68
  *
55
69
  * @experimental New in 1.x and may change in a minor release: the shape of the
56
70
  * view and its names are still settling.
@@ -110,16 +124,47 @@ export interface ServerView {
110
124
  clientsIn(id: ChannelID): readonly ClientEntry[];
111
125
  /** This client's own record; `undefined` until the welcome has delivered it. */
112
126
  readonly self: ClientEntry | undefined;
127
+ /**
128
+ * The server groups, in the server's order, which is ascending id. A change
129
+ * to the list makes the next read a new map; a client's `serverGroups` can
130
+ * name an id that is not in it for a moment, so look ups must allow for a
131
+ * miss. Empty until `groupsLoaded`.
132
+ */
133
+ readonly serverGroups: ReadonlyMap<ServerGroupID, ServerGroup>;
134
+ /** The channel groups, as `serverGroups` is for server groups. */
135
+ readonly channelGroups: ReadonlyMap<ChannelGroupID, ChannelGroup>;
136
+ /**
137
+ * True once both group lists of this connection have arrived. The server
138
+ * sends them right after the welcome, so `viewReady` can come first: the
139
+ * `viewChanged` that follows reports them. It is `false` again from the next
140
+ * `connect()` and stays `true` once `"stale"`.
141
+ */
142
+ readonly groupsLoaded: boolean;
143
+ /**
144
+ * The server's `virtualserver_*` properties by wire name, the keys
145
+ * `getServerInfo` returns and `PropertyName` names. A change makes the next
146
+ * read a new object.
147
+ *
148
+ * It starts from what the server says on joining. It then follows the edits
149
+ * the server announces, and merges every `getServerVariables` answer. The
150
+ * server announces an edit only to a property that answer does not carry; a
151
+ * change to the welcome message, the host message or the maximum number of
152
+ * clients, among others, arrives as an empty `serverEdited`. Call
153
+ * `getServerVariables` after one to bring those up to date. The counters and
154
+ * statistics that change by themselves (clients online, uptime, traffic) are
155
+ * never held.
156
+ */
157
+ readonly server: Readonly<Record<string, string>>;
113
158
  }
114
159
  /**
115
160
  * The clients a client knows, by id. Every change to it, whoever makes it, is
116
161
  * a change to the view, so it counts them.
117
162
  */
118
- export declare class Roster extends Map<number, ClientEnterEvent> {
163
+ export declare class Roster extends Map<number, ClientEntry> {
119
164
  #private;
120
165
  /** Call `changed` after each change from now on. */
121
166
  onChange(changed: () => void): void;
122
- set(id: number, entry: ClientEnterEvent): this;
167
+ set(id: number, entry: ClientEntry): this;
123
168
  delete(id: number): boolean;
124
169
  clear(): void;
125
170
  }
@@ -132,9 +177,16 @@ export declare class ViewStore {
132
177
  /** The clients, shared with the client's own roster. */
133
178
  readonly roster: Roster;
134
179
  readonly view: ServerView;
135
- constructor(logger: Logger, selfID: () => number);
180
+ /** `changed` is called when the revision moves outside a loading view, so an event can follow. */
181
+ constructor(logger: Logger, selfID: () => number, changed?: () => void);
136
182
  /** A connection begins: what the last one left is cleared. */
137
183
  reset(): void;
184
+ /**
185
+ * The revision to announce with `viewChanged`, or `undefined` when there is
186
+ * nothing to say: the view is loading, or it is as it was when the last
187
+ * `viewReady` or `viewChanged` reported it.
188
+ */
189
+ announce(): number | undefined;
138
190
  /** A `channellist` row of the welcome. */
139
191
  collect(row: Channel): void;
140
192
  /**
@@ -156,6 +208,21 @@ export declare class ViewStore {
156
208
  * not say they left: forget them. This client's own record stays.
157
209
  */
158
210
  dropChannel(channelID: ChannelID): void;
211
+ /**
212
+ * The server's list of its server groups, one line of rows. It replaces the
213
+ * set, so a group the line lacks is gone; a row without an id is skipped.
214
+ */
215
+ setServerGroups(groups: readonly ServerGroup[]): void;
216
+ /** The server's list of its channel groups; see {@link ViewStore.setServerGroups}. */
217
+ setChannelGroups(groups: readonly ChannelGroup[]): void;
218
+ /** The `initserver` parameters: the server's own properties are kept, nothing of the client's. */
219
+ seedServer(params: Readonly<Record<string, string>>): void;
220
+ /** An edit the server announced. */
221
+ patchServer(changes: Readonly<Record<string, string>>): void;
222
+ /** An answer to `servergetvariables`, whoever asked: merged, less the counters. */
223
+ mergeServer(params: Readonly<Record<string, string>>): void;
224
+ /** The channel as the view holds it, for the event that reports its deletion. */
225
+ channelBeforeDeletion(id: ChannelID): Channel | undefined;
159
226
  /** The connection ended, for `error`; undefined for a disconnect. */
160
227
  end(error: unknown): void;
161
228
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/client/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/client/view.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,55 @@ export class Roster extends Map {
29
29
  }
30
30
  }
31
31
  const TOP = asChannelID(0n);
32
+ /**
33
+ * The `virtualserver_*` properties of `servergetvariables` that change by
34
+ * themselves. A number nothing keeps current would be wrong from the next
35
+ * second, so the view never holds one.
36
+ */
37
+ const COUNTERS = new Set([
38
+ "clientsonline",
39
+ "queryclientsonline",
40
+ "channelsonline",
41
+ "uptime",
42
+ "client_connections",
43
+ "query_client_connections",
44
+ "month_bytes_downloaded",
45
+ "month_bytes_uploaded",
46
+ "total_bytes_downloaded",
47
+ "total_bytes_uploaded",
48
+ "total_packetloss_speech",
49
+ "total_packetloss_keepalive",
50
+ "total_packetloss_control",
51
+ "total_packetloss_total",
52
+ "total_ping",
53
+ ].map((name) => `virtualserver_${name}`));
54
+ /** The `virtualserver_*` entries of `params`, less the counters when `counters` is false. */
55
+ function serverEntries(params, counters) {
56
+ return Object.entries(params).filter(([key]) => key.startsWith("virtualserver_") && (counters || !COUNTERS.has(key)));
57
+ }
58
+ /** Whether two records hold the same values under the same keys. */
59
+ function sameRecord(a, b) {
60
+ const left = Object.entries(a);
61
+ const right = Object.entries(b);
62
+ return (left.length === right.length &&
63
+ left.every(([key, value], i) => {
64
+ const other = right[i];
65
+ return key === other[0] && Object.is(value, other[1]);
66
+ }));
67
+ }
68
+ /** Whether two lists hold the same groups in the same order. */
69
+ function sameGroups(a, b) {
70
+ if (a.size !== b.size)
71
+ return false;
72
+ const right = [...b];
73
+ let i = 0;
74
+ for (const [id, group] of a) {
75
+ const other = right[i++];
76
+ if (id !== other[0] || !sameRecord(group, other[1]))
77
+ return false;
78
+ }
79
+ return true;
80
+ }
32
81
  /** The channels of `tree`, parents first and siblings in order, in one map. */
33
82
  function preorder(tree) {
34
83
  const out = new Map();
@@ -58,15 +107,25 @@ export class ViewStore {
58
107
  #rows = [];
59
108
  #known;
60
109
  #ordered;
110
+ #serverGroups = new Map();
111
+ #channelGroups = new Map();
112
+ #serverGroupsSeen = false;
113
+ #channelGroupsSeen = false;
114
+ #server = {};
115
+ /** The revision `viewReady` or `viewChanged` last reported. */
116
+ #announced = 0;
117
+ #changed;
61
118
  #waiters = new Set();
62
119
  /** Why the last connection ended. */
63
120
  #endedBy;
64
- constructor(logger, selfID) {
121
+ /** `changed` is called when the revision moves outside a loading view, so an event can follow. */
122
+ constructor(logger, selfID, changed = () => { }) {
65
123
  this.#logger = logger;
66
124
  this.#selfID = selfID;
125
+ this.#changed = changed;
67
126
  this.#ordered = { tree: this.#tree, channels: new Map() };
68
127
  this.#known = { revision: this.#revision, clients: new Map() };
69
- this.roster.onChange(() => this.#revision++);
128
+ this.roster.onChange(() => this.#bump());
70
129
  // oxlint-disable-next-line no-this-alias -- accessors cannot be arrow functions
71
130
  const store = this;
72
131
  this.view = {
@@ -103,6 +162,18 @@ export class ViewStore {
103
162
  const id = store.#selfID();
104
163
  return id === 0 ? undefined : store.roster.get(id);
105
164
  },
165
+ get serverGroups() {
166
+ return store.#serverGroups;
167
+ },
168
+ get channelGroups() {
169
+ return store.#channelGroups;
170
+ },
171
+ get groupsLoaded() {
172
+ return store.#groupsLoaded();
173
+ },
174
+ get server() {
175
+ return store.#server;
176
+ },
106
177
  };
107
178
  }
108
179
  /** A connection begins: what the last one left is cleared. */
@@ -110,8 +181,32 @@ export class ViewStore {
110
181
  this.roster.clear();
111
182
  this.#rows = [];
112
183
  this.#tree = ChannelTree.from([]);
184
+ this.#serverGroups = new Map();
185
+ this.#channelGroups = new Map();
186
+ this.#serverGroupsSeen = false;
187
+ this.#channelGroupsSeen = false;
188
+ this.#server = {};
113
189
  this.#status = "loading";
190
+ this.#bump();
191
+ }
192
+ /** The revision moved. */
193
+ #bump() {
114
194
  this.#revision++;
195
+ if (this.#status !== "loading")
196
+ this.#changed();
197
+ }
198
+ /**
199
+ * The revision to announce with `viewChanged`, or `undefined` when there is
200
+ * nothing to say: the view is loading, or it is as it was when the last
201
+ * `viewReady` or `viewChanged` reported it.
202
+ */
203
+ announce() {
204
+ if (this.#status === "loading" || this.#status === "empty")
205
+ return undefined;
206
+ if (this.#revision === this.#announced)
207
+ return undefined;
208
+ this.#announced = this.#revision;
209
+ return this.#revision;
115
210
  }
116
211
  /** A `channellist` row of the welcome. */
117
212
  collect(row) {
@@ -137,7 +232,8 @@ export class ViewStore {
137
232
  if (!this.#tree.consistent)
138
233
  this.#logger.debug("the channel list is not a tree");
139
234
  this.#status = "live";
140
- this.#revision++;
235
+ this.#bump();
236
+ this.#announced = this.#revision;
141
237
  for (const waiter of this.#waiters)
142
238
  waiter.resolve();
143
239
  return this.#revision;
@@ -163,7 +259,7 @@ export class ViewStore {
163
259
  return;
164
260
  const before = this.#tree;
165
261
  this.#tree = next(before);
166
- this.#revision++;
262
+ this.#bump();
167
263
  if (before.consistent && !this.#tree.consistent) {
168
264
  this.#logger.debug("a channel event could not be placed", {
169
265
  event: name,
@@ -182,12 +278,76 @@ export class ViewStore {
182
278
  this.roster.delete(id);
183
279
  }
184
280
  }
281
+ /**
282
+ * The server's list of its server groups, one line of rows. It replaces the
283
+ * set, so a group the line lacks is gone; a row without an id is skipped.
284
+ */
285
+ setServerGroups(groups) {
286
+ if (!this.#accepting())
287
+ return;
288
+ const loaded = this.#groupsLoaded();
289
+ const next = new Map();
290
+ for (const group of groups)
291
+ next.set(group.id, group);
292
+ this.#serverGroupsSeen = true;
293
+ const changed = !sameGroups(this.#serverGroups, next);
294
+ if (changed)
295
+ this.#serverGroups = next;
296
+ if (changed || loaded !== this.#groupsLoaded())
297
+ this.#bump();
298
+ }
299
+ /** The server's list of its channel groups; see {@link ViewStore.setServerGroups}. */
300
+ setChannelGroups(groups) {
301
+ if (!this.#accepting())
302
+ return;
303
+ const loaded = this.#groupsLoaded();
304
+ const next = new Map();
305
+ for (const group of groups)
306
+ next.set(group.id, group);
307
+ this.#channelGroupsSeen = true;
308
+ const changed = !sameGroups(this.#channelGroups, next);
309
+ if (changed)
310
+ this.#channelGroups = next;
311
+ if (changed || loaded !== this.#groupsLoaded())
312
+ this.#bump();
313
+ }
314
+ #groupsLoaded() {
315
+ return this.#serverGroupsSeen && this.#channelGroupsSeen;
316
+ }
317
+ /** The `initserver` parameters: the server's own properties are kept, nothing of the client's. */
318
+ seedServer(params) {
319
+ this.#mergeServer(serverEntries(params, true));
320
+ }
321
+ /** An edit the server announced. */
322
+ patchServer(changes) {
323
+ this.#mergeServer(serverEntries(changes, true));
324
+ }
325
+ /** An answer to `servergetvariables`, whoever asked: merged, less the counters. */
326
+ mergeServer(params) {
327
+ this.#mergeServer(serverEntries(params, false));
328
+ }
329
+ #mergeServer(entries) {
330
+ if (!this.#accepting())
331
+ return;
332
+ if (entries.every(([key, value]) => this.#server[key] === value))
333
+ return;
334
+ this.#server = { ...this.#server, ...Object.fromEntries(entries) };
335
+ this.#bump();
336
+ }
337
+ /** Group lists and server properties are taken while loading and live, not once stale. */
338
+ #accepting() {
339
+ return this.#status === "loading" || this.#status === "live";
340
+ }
341
+ /** The channel as the view holds it, for the event that reports its deletion. */
342
+ channelBeforeDeletion(id) {
343
+ return this.#status === "live" ? this.#tree.get(id) : undefined;
344
+ }
185
345
  /** The connection ended, for `error`; undefined for a disconnect. */
186
346
  end(error) {
187
347
  if (this.#status !== "loading" && this.#status !== "live")
188
348
  return;
189
349
  this.#status = "stale";
190
- this.#revision++;
350
+ this.#bump();
191
351
  this.#endedBy =
192
352
  error === undefined
193
353
  ? new NotConnectedError()
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/client/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/client/view.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,10 @@ export interface ChannelSettings {
82
82
  readonly deleteDelayMs?: number | undefined;
83
83
  /** How the name is pronounced, for text-to-speech (`channel_name_phonetic`). */
84
84
  readonly namePhonetic?: string | undefined;
85
+ /** The URL of the channel's banner image (`channel_banner_gfx_url`); needs `b_channel_modify_banner`. */
86
+ readonly bannerURL?: string | undefined;
87
+ /** How the banner is scaled (`channel_banner_mode`); needs `b_channel_modify_banner`. */
88
+ readonly bannerMode?: number | undefined;
85
89
  }
86
90
  /** A new channel's settings. Only `name` is required; see {@link ChannelSettings}. */
87
91
  export interface ChannelCreateOptions extends ChannelSettings {
@@ -140,9 +144,9 @@ export declare function deleteChannel(client: CommandExecutor, cid: ChannelID, o
140
144
  * All channels on the server, in the server's own sort order.
141
145
  *
142
146
  * Always asks for the topic, flags, voice, limits, icon, seconds empty and
143
- * banners, which a bare `channellist` leaves out. The last two are asked for
144
- * and not read: `Channel` has no field for them yet. `description` and `uid` are not part of
145
- * `channellist` and stay empty; `getChannelInfo` has them.
147
+ * banners, which a bare `channellist` leaves out. `description`, `uid` and
148
+ * `filePath` are not part of `channellist` and stay empty or undefined;
149
+ * `getChannelInfo` has them.
146
150
  */
147
151
  export declare function listChannels(client: CommandExecutor, options?: CommandOptions): Promise<Channel[]>;
148
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../src/core/api/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.d.ts","sourceRoot":"","sources":["../../../src/core/api/channels.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ const settingNames = {
32
32
  isDefault: "channel_flag_default",
33
33
  deleteDelayMs: ["channel_delete_delay", inSeconds],
34
34
  namePhonetic: "channel_name_phonetic",
35
+ bannerURL: "channel_banner_gfx_url",
36
+ bannerMode: "channel_banner_mode",
35
37
  };
36
38
  const createNames = {
37
39
  name: "channel_name",
@@ -102,9 +104,9 @@ const listFlags = [
102
104
  * All channels on the server, in the server's own sort order.
103
105
  *
104
106
  * Always asks for the topic, flags, voice, limits, icon, seconds empty and
105
- * banners, which a bare `channellist` leaves out. The last two are asked for
106
- * and not read: `Channel` has no field for them yet. `description` and `uid` are not part of
107
- * `channellist` and stay empty; `getChannelInfo` has them.
107
+ * banners, which a bare `channellist` leaves out. `description`, `uid` and
108
+ * `filePath` are not part of `channellist` and stay empty or undefined;
109
+ * `getChannelInfo` has them.
108
110
  */
109
111
  export async function listChannels(client, options) {
110
112
  return (await list(client, "channellist", listFlags, options)).map(parseChannel);
@@ -1 +1 @@
1
- {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/core/api/channels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channels.js","sourceRoot":"","sources":["../../../src/core/api/channels.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACZ,SAAS,EACT,GAAG,EACH,GAAG,GACJ,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgF5C,MAAM,YAAY,GAA+B;IAC/C,KAAK,EAAE,eAAe;IACtB,WAAW,EAAE,qBAAqB;IAClC,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,uBAAuB;IACpC,KAAK,EAAE,eAAe;IACtB,YAAY,EAAE,uBAAuB;IACrC,kBAAkB,EAAE,8BAA8B;IAClD,aAAa,EAAE,8BAA8B;IAC7C,UAAU,EAAE,oBAAoB;IAChC,gBAAgB,EAAE,0BAA0B;IAC5C,qBAAqB,EAAE,mCAAmC;IAC1D,2BAA2B,EAAE,yCAAyC;IACtE,2BAA2B,EAAE,yCAAyC;IACtE,KAAK,EAAE,eAAe;IACtB,eAAe,EAAE,2BAA2B;IAC5C,WAAW,EAAE,wBAAwB;IACrC,eAAe,EAAE,6BAA6B;IAC9C,SAAS,EAAE,sBAAsB;IACjC,aAAa,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC;IAClD,YAAY,EAAE,uBAAuB;IACrC,SAAS,EAAE,wBAAwB;IACnC,UAAU,EAAE,qBAAqB;CAClC,CAAC;AAaF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,GAAG,YAAY;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,OAA6B,EAC7B,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE;QAC7F,kBAAkB;KACnB,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CACxD,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,WAAW,CACnB,eAAe,EACf,8CAA8C,OAAO,CAAC,IAAI,GAAG,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,CAAC;AAClB,CAAC;AAQD,MAAM,SAAS,GAAkC,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,YAAY,EAAE,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,GAAc,EACd,QAA4B,EAC5B,OAAwB;IAExB,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE;QAC/F,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC;AAYD,wBAAwB;AACxB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAuB,EACvB,GAAc,EACd,OAAO,GAAyB,EAAE;IAElC,MAAM,IAAI,CACR,MAAM,EACN,eAAe,EACf;QACE,CAAC,KAAK,EAAE,GAAG,CAAC;QACZ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;KAClC,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAA2C;IACxD,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,QAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,SAAS,EAAE,IAAI,CAAC;IACjB,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,eAAe,EAAE,IAAI,CAAC;IACvB,CAAC,UAAU,EAAE,IAAI,CAAC;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,OAAwB;IAExB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAuB,EACvB,GAAc,EACd,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,OAAO,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AACrE,CAAC;AAUD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAuB,EACvB,OAAe,EACf,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE;QAC9E,OAAO,EAAE,SAAS,CAAC,gBAAgB;KACpC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AACnG,CAAC;AAQD,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAuB,EACvB,GAAc,EACd,QAAmB,EACnB,OAAO,GAAuB,EAAE;IAEhC,MAAM,IAAI,CACR,MAAM,EACN,aAAa,EACb;QACE,CAAC,KAAK,EAAE,GAAG,CAAC;QACZ,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;KACzB,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,qCAAqC;AACrC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,GAAc,EACd,UAAsB,EACtB,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,CACR,MAAM,EACN,gBAAgB,EAChB,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EACjE,OAAO,CACR,CAAC;AACJ,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB,EACvB,GAAc,EACd,UAAsB,EACtB,OAAwB;IAExB,MAAM,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAED,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAuB,EACvB,GAAc,EACd,OAAwB;IAExB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC/F,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAuB,EACvB,GAAc,EACd,MAAkB,EAClB,OAAwB;IAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,MAAM,EACN,uBAAuB,EACvB;QACE,CAAC,KAAK,EAAE,GAAG,CAAC;QACZ,CAAC,QAAQ,EAAE,MAAM,CAAC;KACnB,EACD,OAAO,CACR,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAuB,EACvB,GAAc,EACd,MAAkB,EAClB,UAAsB,EACtB,KAAa,EACb,OAAwB;IAExB,MAAM,IAAI,CACR,MAAM,EACN,sBAAsB,EACtB,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,EACrF,OAAO,CACR,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAAuB,EACvB,GAAc,EACd,MAAkB,EAClB,UAAsB,EACtB,OAAwB;IAExB,MAAM,IAAI,CACR,MAAM,EACN,sBAAsB,EACtB,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,EAC/D,OAAO,CACR,CAAC;AACJ,CAAC"}
@@ -70,6 +70,11 @@ export interface ClientEntry {
70
70
  * the request (`client_talk_request`); any non-zero value is true. No flag.
71
71
  */
72
72
  readonly isRequestingTalk?: boolean | undefined;
73
+ /**
74
+ * When the client asked to talk (`client_talk_request`, a unix time; 0 on
75
+ * the wire when there is no request, which reads as undefined); no flag.
76
+ */
77
+ readonly talkRequestedAt?: Date | undefined;
73
78
  /** The message sent with a talk request (`client_talk_request_msg`); no flag. */
74
79
  readonly talkRequestMessage?: string | undefined;
75
80
  /** The client's description (`client_description`); no flag. */
@@ -78,7 +83,7 @@ export interface ClientEntry {
78
83
  readonly metaData?: string | undefined;
79
84
  /** The MD5 of the client's avatar (`client_flag_avatar`); "" for none; no flag. */
80
85
  readonly avatar?: string | undefined;
81
- /** The client's icon (`client_icon_id`); undefined for none as well as for absent; no flag. */
86
+ /** The client's icon (`client_icon_id`), with `icon`; undefined for none as well as for absent. */
82
87
  readonly iconID?: IconID | undefined;
83
88
  /** How the nickname is pronounced (`client_nickname_phonetic`); no flag. */
84
89
  readonly nicknamePhonetic?: string | undefined;
@@ -158,6 +163,8 @@ export interface ClientListOptions extends CommandOptions {
158
163
  readonly ip?: boolean | undefined;
159
164
  /** The client's badges (`-badges`). */
160
165
  readonly badges?: boolean | undefined;
166
+ /** The client's icon (`-icon`), which fills `ClientEntry.iconID`. */
167
+ readonly icon?: boolean | undefined;
161
168
  }
162
169
  /** Every client currently connected. */
163
170
  export declare function listClients(client: CommandExecutor, options?: ClientListOptions): Promise<ClientEntry[]>;
@@ -416,6 +423,22 @@ export declare function findClients(client: CommandExecutor, pattern: string, op
416
423
  export declare function getClientIDs(client: CommandExecutor, uid: UID, options?: CommandOptions): Promise<ClientMatch[]>;
417
424
  /** The uid of a connected client. */
418
425
  export declare function getClientUIDByID(client: CommandExecutor, clid: ClientID, options?: CommandOptions): Promise<UID>;
426
+ /** What `clientgetuidfromclid` says about a connected client. */
427
+ export interface ClientUIDInfo {
428
+ /** The client's id (`clid`). */
429
+ readonly clientID: ClientID;
430
+ /** The client's unique identifier (`cluid`). */
431
+ readonly uid: UID;
432
+ /** The client's nickname (`nickname`). */
433
+ readonly nickname: string;
434
+ /** The client's myTeamSpeak id (`mytsid`); "" for none, as TS3 3.13.8 and TS6 6.0.0-beta13.1 sent it for a client without one. */
435
+ readonly mytsid: string;
436
+ }
437
+ /**
438
+ * The uid, nickname and myTeamSpeak id of a connected client.
439
+ * {@link getClientUIDByID} is the same command, keeping only the uid.
440
+ */
441
+ export declare function getClientUIDInfoByID(client: CommandExecutor, clid: ClientID, options?: CommandOptions): Promise<ClientUIDInfo>;
419
442
  /** The persistent database id behind a uid. */
420
443
  export declare function getClientDBIDByUID(client: CommandExecutor, uid: UID, options?: CommandOptions): Promise<ClientDBID>;
421
444
  /** The database record a uid or database id names. */
@@ -424,6 +447,8 @@ export interface ClientDatabaseName {
424
447
  readonly databaseID: ClientDBID;
425
448
  /** The nickname the client last used. */
426
449
  readonly name: string;
450
+ /** The client's unique identifier (`cluid`); "" when the server sent none. */
451
+ readonly uid: UID;
427
452
  }
428
453
  /** The database id and nickname recorded for a database id. */
429
454
  export declare function getClientNameByDBID(client: CommandExecutor, cldbid: ClientDBID, options?: CommandOptions): Promise<ClientDatabaseName>;
@@ -449,6 +474,18 @@ export interface ClientDatabaseEntry {
449
474
  readonly description: string;
450
475
  /** The address the client last connected from. */
451
476
  readonly lastIP: string;
477
+ /** The client's query account name (`client_login_name`); "" for none; `clientdblist` rows only. */
478
+ readonly loginName?: string | undefined;
479
+ /** The MD5 of the client's avatar (`client_flag_avatar`), "" for none; `getClientDatabaseInfo` only. */
480
+ readonly avatarHash?: string | undefined;
481
+ /** Bytes the client has uploaded in all (`client_total_bytes_uploaded`); `getClientDatabaseInfo` only. */
482
+ readonly totalBytesUploaded?: number | undefined;
483
+ /** Bytes the client has downloaded in all (`client_total_bytes_downloaded`); `getClientDatabaseInfo` only. */
484
+ readonly totalBytesDownloaded?: number | undefined;
485
+ /** Bytes the client has uploaded this month (`client_month_bytes_uploaded`); `getClientDatabaseInfo` only. */
486
+ readonly monthBytesUploaded?: number | undefined;
487
+ /** Bytes the client has downloaded this month (`client_month_bytes_downloaded`); `getClientDatabaseInfo` only. */
488
+ readonly monthBytesDownloaded?: number | undefined;
452
489
  }
453
490
  /** Which slice of the client database {@link listClientDatabase} reads. */
454
491
  export interface ClientDatabasePageOptions extends CommandOptions {