@qwen-code/qwen-code 0.16.2 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/settings.md +5 -1
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/feishu.md +170 -0
- package/chunks/{agent-RY5EB3XR.js → agent-KVXFGIOU.js} +17 -12
- package/chunks/{anthropicContentGenerator-LYI3OHBB.js → anthropicContentGenerator-L4HWAOIV.js} +5 -5
- package/chunks/{askUserQuestion-R3MKD2JT.js → askUserQuestion-DC6OWQIL.js} +5 -3
- package/chunks/chunk-24YKA2DA.js +233 -0
- package/chunks/{chunk-UFC57OYT.js → chunk-33RDTIU6.js} +5 -3
- package/chunks/{chunk-C6WMLUNB.js → chunk-3BJBCG2K.js} +1 -1
- package/chunks/chunk-3HX5LZ6R.js +1798 -0
- package/chunks/{chunk-GQXXO5HJ.js → chunk-4O2TWJK4.js} +25 -5
- package/chunks/{chunk-RDYWTWEM.js → chunk-5IFG2VC4.js} +299 -232
- package/chunks/chunk-6RQTH7UQ.js +115 -0
- package/chunks/{chunk-7HM6OB7M.js → chunk-7EHPK6TK.js} +1336 -5164
- package/chunks/{chunk-PJLEMR7N.js → chunk-7NNBQRV7.js} +6 -6
- package/chunks/{chunk-K5PGHDBN.js → chunk-AKBFRR6J.js} +112 -132
- package/chunks/{chunk-C27V5A2J.js → chunk-EMVEDSVZ.js} +1 -1
- package/chunks/{chunk-TXQI3VZ7.js → chunk-GJHMAWS7.js} +1 -1
- package/chunks/{chunk-K72FHBFO.js → chunk-HAQCNXSG.js} +1 -0
- package/chunks/{chunk-T4VD6OJ4.js → chunk-HCSJIOLR.js} +1 -1
- package/chunks/chunk-J37FGIOA.js +1623 -0
- package/chunks/chunk-J5VCSWPA.js +1467 -0
- package/chunks/{chunk-UE5LPQF7.js → chunk-JI7FDD65.js} +7 -7
- package/chunks/{chunk-4YNZFYJY.js → chunk-MEN6IEKX.js} +2533 -3943
- package/chunks/{chunk-USE2VQ5P.js → chunk-NP3ICQCN.js} +1 -1
- package/chunks/{chunk-66CJCYYZ.js → chunk-QEXSIXLX.js} +1 -1
- package/chunks/{chunk-YMDXEEOW.js → chunk-R2B65CAN.js} +1 -82
- package/chunks/chunk-SZOEIL6S.js +35 -0
- package/chunks/chunk-TI4GXJKO.js +4277 -0
- package/chunks/{chunk-E7E2MFYM.js → chunk-U2K6HDUJ.js} +434 -13
- package/chunks/{chunk-FO7BIVSR.js → chunk-UQRYJQBE.js} +5 -3
- package/chunks/{chunk-VMOWXTRC.js → chunk-V7LMZR76.js} +1 -1
- package/chunks/chunk-W57YDFU5.js +41 -0
- package/chunks/computer-use-2J5ZXEER.js +768 -0
- package/chunks/{contextCommand-DDGVLQSF.js → contextCommand-52NTEMCT.js} +19 -14
- package/chunks/{cron-create-BTEOGHPH.js → cron-create-FXRORK2U.js} +5 -3
- package/chunks/{cron-delete-56CEWELN.js → cron-delete-D24IN6CA.js} +5 -3
- package/chunks/{cron-list-SV6QRZW2.js → cron-list-SMOX26SL.js} +5 -3
- package/chunks/{devtools-WN62SQPV.js → devtools-IXE4UP72.js} +31 -3748
- package/chunks/{dist-MN2PDDPR.js → dist-6RUZ2JD6.js} +13 -1612
- package/chunks/{dist-R2SXPG74.js → dist-AHZNZWRI.js} +5 -4
- package/chunks/dist-GRQVFL3G.js +94147 -0
- package/chunks/{dist-BXDUQ2QY.js → dist-XTTPOFAH.js} +4 -3
- package/chunks/{edit-4LLGNYVZ.js → edit-RLFUTT5F.js} +20 -14
- package/chunks/{enter-worktree-E2R5XAFT.js → enter-worktree-CYRAPQKJ.js} +20 -14
- package/chunks/{exit-worktree-YVBYYYDD.js → exit-worktree-WQZM72QD.js} +20 -14
- package/chunks/{exitPlanMode-WD5IH7NS.js → exitPlanMode-STFEBQZE.js} +20 -14
- package/chunks/{geminiContentGenerator-LM65ADWM.js → geminiContentGenerator-DIV32SKO.js} +4 -3
- package/chunks/{glob-6X6OCEWE.js → glob-N3XO4RVI.js} +20 -14
- package/chunks/{grep-2UUPSSIQ.js → grep-AK5MP7P3.js} +20 -14
- package/chunks/{ls-MYXAM7LJ.js → ls-7FYQHPWF.js} +5 -3
- package/chunks/{lsp-PFGI35JL.js → lsp-DKG34USR.js} +5 -3
- package/chunks/{monitor-VUHPEGUW.js → monitor-IVBWJZEZ.js} +20 -14
- package/chunks/{notebook-edit-P4QVLW6I.js → notebook-edit-PM46AXFS.js} +21 -15
- package/chunks/{openaiContentGenerator-JH4YNZ3H.js → openaiContentGenerator-4QXCH7L2.js} +13 -10
- package/chunks/{qwenContentGenerator-5FE4UYUT.js → qwenContentGenerator-BLXQIIMX.js} +21 -16
- package/chunks/{read-file-J7DH4OKV.js → read-file-IEQAS3EZ.js} +10 -6
- package/chunks/{ripGrep-33DECY4F.js → ripGrep-HQO7IE4C.js} +17 -12
- package/chunks/{send-message-JUFP62VD.js → send-message-ZL7CDM7K.js} +5 -3
- package/chunks/{serve-7FX7MREA.js → serve-CYRAK4UM.js} +63 -1837
- package/chunks/{shell-ZNTQIRK6.js → shell-UZBGNO2Q.js} +17 -12
- package/chunks/{skill-CFCUIY23.js → skill-JVC34QYN.js} +24 -13
- package/chunks/{src-AHV2CWEQ.js → src-FOODLH7B.js} +49 -41
- package/chunks/{syntheticOutput-AKTXC6FR.js → syntheticOutput-U3YJ3GOO.js} +3 -2
- package/chunks/{task-stop-2NYFR2ES.js → task-stop-NPUI3YBA.js} +5 -3
- package/chunks/{todoWrite-WHZ2O2XP.js → todoWrite-Y6F7YEIM.js} +6 -4
- package/chunks/{tool-search-C2EMLFBJ.js → tool-search-P7PRPOW3.js} +13 -8
- package/chunks/{web-fetch-S6MZXPZ5.js → web-fetch-XWEK4TFX.js} +6 -4
- package/chunks/{write-file-EEPVRS4Q.js → write-file-SIIEUON5.js} +21 -15
- package/cli.js +412 -329
- package/package.json +2 -2
- package/chunks/chunk-JVD46YJV.js +0 -434
- package/chunks/undici-4ARNOH74.js +0 -8
|
@@ -6,8 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
__commonJS,
|
|
8
8
|
__name,
|
|
9
|
-
__require
|
|
10
|
-
__toESM
|
|
9
|
+
__require
|
|
11
10
|
} from "./chunk-J2S4EL5Y.js";
|
|
12
11
|
|
|
13
12
|
// node_modules/ws/lib/constants.js
|
|
@@ -20,6 +19,7 @@ var require_constants = __commonJS({
|
|
|
20
19
|
if (hasBlob) BINARY_TYPES.push("blob");
|
|
21
20
|
module.exports = {
|
|
22
21
|
BINARY_TYPES,
|
|
22
|
+
CLOSE_TIMEOUT: 3e4,
|
|
23
23
|
EMPTY_BUFFER: Buffer.alloc(0),
|
|
24
24
|
GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
|
|
25
25
|
hasBlob,
|
|
@@ -199,6 +199,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
199
199
|
* acknowledge disabling of client context takeover
|
|
200
200
|
* @param {Number} [options.concurrencyLimit=10] The number of concurrent
|
|
201
201
|
* calls to zlib
|
|
202
|
+
* @param {Boolean} [options.isServer=false] Create the instance in either
|
|
203
|
+
* server or client mode
|
|
204
|
+
* @param {Number} [options.maxPayload=0] The maximum allowed message length
|
|
202
205
|
* @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
|
|
203
206
|
* use of a custom server window size
|
|
204
207
|
* @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
|
|
@@ -209,15 +212,12 @@ var require_permessage_deflate = __commonJS({
|
|
|
209
212
|
* deflate
|
|
210
213
|
* @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
|
|
211
214
|
* inflate
|
|
212
|
-
* @param {Boolean} [isServer=false] Create the instance in either server or
|
|
213
|
-
* client mode
|
|
214
|
-
* @param {Number} [maxPayload=0] The maximum allowed message length
|
|
215
215
|
*/
|
|
216
|
-
constructor(options
|
|
217
|
-
this._maxPayload = maxPayload | 0;
|
|
216
|
+
constructor(options) {
|
|
218
217
|
this._options = options || {};
|
|
219
218
|
this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024;
|
|
220
|
-
this.
|
|
219
|
+
this._maxPayload = this._options.maxPayload | 0;
|
|
220
|
+
this._isServer = !!this._options.isServer;
|
|
221
221
|
this._deflate = null;
|
|
222
222
|
this._inflate = null;
|
|
223
223
|
this.params = null;
|
|
@@ -786,7 +786,7 @@ var require_receiver = __commonJS({
|
|
|
786
786
|
var GET_DATA = 4;
|
|
787
787
|
var INFLATING = 5;
|
|
788
788
|
var DEFER_EVENT = 6;
|
|
789
|
-
var
|
|
789
|
+
var Receiver = class extends Writable {
|
|
790
790
|
static {
|
|
791
791
|
__name(this, "Receiver");
|
|
792
792
|
}
|
|
@@ -802,6 +802,10 @@ var require_receiver = __commonJS({
|
|
|
802
802
|
* extensions
|
|
803
803
|
* @param {Boolean} [options.isServer=false] Specifies whether to operate in
|
|
804
804
|
* client or server mode
|
|
805
|
+
* @param {Number} [options.maxBufferedChunks=0] The maximum number of
|
|
806
|
+
* buffered data chunks
|
|
807
|
+
* @param {Number} [options.maxFragments=0] The maximum number of message
|
|
808
|
+
* fragments
|
|
805
809
|
* @param {Number} [options.maxPayload=0] The maximum allowed message length
|
|
806
810
|
* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
|
|
807
811
|
* not to skip UTF-8 validation for text and close messages
|
|
@@ -812,6 +816,8 @@ var require_receiver = __commonJS({
|
|
|
812
816
|
this._binaryType = options.binaryType || BINARY_TYPES[0];
|
|
813
817
|
this._extensions = options.extensions || {};
|
|
814
818
|
this._isServer = !!options.isServer;
|
|
819
|
+
this._maxBufferedChunks = options.maxBufferedChunks | 0;
|
|
820
|
+
this._maxFragments = options.maxFragments | 0;
|
|
815
821
|
this._maxPayload = options.maxPayload | 0;
|
|
816
822
|
this._skipUTF8Validation = !!options.skipUTF8Validation;
|
|
817
823
|
this[kWebSocket] = void 0;
|
|
@@ -841,6 +847,18 @@ var require_receiver = __commonJS({
|
|
|
841
847
|
*/
|
|
842
848
|
_write(chunk, encoding, cb) {
|
|
843
849
|
if (this._opcode === 8 && this._state == GET_INFO) return cb();
|
|
850
|
+
if (this._maxBufferedChunks > 0 && this._buffers.length >= this._maxBufferedChunks) {
|
|
851
|
+
cb(
|
|
852
|
+
this.createError(
|
|
853
|
+
RangeError,
|
|
854
|
+
"Too many buffered chunks",
|
|
855
|
+
false,
|
|
856
|
+
1008,
|
|
857
|
+
"WS_ERR_TOO_MANY_BUFFERED_PARTS"
|
|
858
|
+
)
|
|
859
|
+
);
|
|
860
|
+
return;
|
|
861
|
+
}
|
|
844
862
|
this._bufferedBytes += chunk.length;
|
|
845
863
|
this._buffers.push(chunk);
|
|
846
864
|
this.startLoop(cb);
|
|
@@ -1170,6 +1188,17 @@ var require_receiver = __commonJS({
|
|
|
1170
1188
|
return;
|
|
1171
1189
|
}
|
|
1172
1190
|
if (data.length) {
|
|
1191
|
+
if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
|
|
1192
|
+
const error = this.createError(
|
|
1193
|
+
RangeError,
|
|
1194
|
+
"Too many message fragments",
|
|
1195
|
+
false,
|
|
1196
|
+
1008,
|
|
1197
|
+
"WS_ERR_TOO_MANY_BUFFERED_PARTS"
|
|
1198
|
+
);
|
|
1199
|
+
cb(error);
|
|
1200
|
+
return;
|
|
1201
|
+
}
|
|
1173
1202
|
this._messageLength = this._totalPayloadLength;
|
|
1174
1203
|
this._fragments.push(data);
|
|
1175
1204
|
}
|
|
@@ -1199,6 +1228,17 @@ var require_receiver = __commonJS({
|
|
|
1199
1228
|
cb(error);
|
|
1200
1229
|
return;
|
|
1201
1230
|
}
|
|
1231
|
+
if (this._maxFragments > 0 && this._fragments.length >= this._maxFragments) {
|
|
1232
|
+
const error = this.createError(
|
|
1233
|
+
RangeError,
|
|
1234
|
+
"Too many message fragments",
|
|
1235
|
+
false,
|
|
1236
|
+
1008,
|
|
1237
|
+
"WS_ERR_TOO_MANY_BUFFERED_PARTS"
|
|
1238
|
+
);
|
|
1239
|
+
cb(error);
|
|
1240
|
+
return;
|
|
1241
|
+
}
|
|
1202
1242
|
this._fragments.push(buf);
|
|
1203
1243
|
}
|
|
1204
1244
|
this.dataMessage(cb);
|
|
@@ -1355,7 +1395,7 @@ var require_receiver = __commonJS({
|
|
|
1355
1395
|
return err;
|
|
1356
1396
|
}
|
|
1357
1397
|
};
|
|
1358
|
-
module.exports =
|
|
1398
|
+
module.exports = Receiver;
|
|
1359
1399
|
}
|
|
1360
1400
|
});
|
|
1361
1401
|
|
|
@@ -1366,6 +1406,9 @@ var require_sender = __commonJS({
|
|
|
1366
1406
|
init_esbuild_shims();
|
|
1367
1407
|
var { Duplex } = __require("stream");
|
|
1368
1408
|
var { randomFillSync } = __require("crypto");
|
|
1409
|
+
var {
|
|
1410
|
+
types: { isUint8Array }
|
|
1411
|
+
} = __require("util");
|
|
1369
1412
|
var PerMessageDeflate = require_permessage_deflate();
|
|
1370
1413
|
var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants();
|
|
1371
1414
|
var { isBlob, isValidStatusCode } = require_validation();
|
|
@@ -1378,7 +1421,7 @@ var require_sender = __commonJS({
|
|
|
1378
1421
|
var DEFAULT = 0;
|
|
1379
1422
|
var DEFLATING = 1;
|
|
1380
1423
|
var GET_BLOB_DATA = 2;
|
|
1381
|
-
var
|
|
1424
|
+
var Sender = class _Sender {
|
|
1382
1425
|
static {
|
|
1383
1426
|
__name(this, "Sender");
|
|
1384
1427
|
}
|
|
@@ -1522,8 +1565,10 @@ var require_sender = __commonJS({
|
|
|
1522
1565
|
buf.writeUInt16BE(code, 0);
|
|
1523
1566
|
if (typeof data === "string") {
|
|
1524
1567
|
buf.write(data, 2);
|
|
1525
|
-
} else {
|
|
1568
|
+
} else if (isUint8Array(data)) {
|
|
1526
1569
|
buf.set(data, 2);
|
|
1570
|
+
} else {
|
|
1571
|
+
throw new TypeError("Second argument must be a string or a Uint8Array");
|
|
1527
1572
|
}
|
|
1528
1573
|
}
|
|
1529
1574
|
const options = {
|
|
@@ -1835,7 +1880,7 @@ var require_sender = __commonJS({
|
|
|
1835
1880
|
}
|
|
1836
1881
|
}
|
|
1837
1882
|
};
|
|
1838
|
-
module.exports =
|
|
1883
|
+
module.exports = Sender;
|
|
1839
1884
|
function callCallbacks(sender, err, cb) {
|
|
1840
1885
|
if (typeof cb === "function") cb(err);
|
|
1841
1886
|
for (let i = 0; i < sender._queue.length; i++) {
|
|
@@ -1853,6 +1898,163 @@ var require_sender = __commonJS({
|
|
|
1853
1898
|
}
|
|
1854
1899
|
});
|
|
1855
1900
|
|
|
1901
|
+
// node_modules/ws/lib/extension.js
|
|
1902
|
+
var require_extension = __commonJS({
|
|
1903
|
+
"node_modules/ws/lib/extension.js"(exports, module) {
|
|
1904
|
+
"use strict";
|
|
1905
|
+
init_esbuild_shims();
|
|
1906
|
+
var { tokenChars } = require_validation();
|
|
1907
|
+
function push(dest, name, elem) {
|
|
1908
|
+
if (dest[name] === void 0) dest[name] = [elem];
|
|
1909
|
+
else dest[name].push(elem);
|
|
1910
|
+
}
|
|
1911
|
+
__name(push, "push");
|
|
1912
|
+
function parse(header) {
|
|
1913
|
+
const offers = /* @__PURE__ */ Object.create(null);
|
|
1914
|
+
let params = /* @__PURE__ */ Object.create(null);
|
|
1915
|
+
let mustUnescape = false;
|
|
1916
|
+
let isEscaping = false;
|
|
1917
|
+
let inQuotes = false;
|
|
1918
|
+
let extensionName;
|
|
1919
|
+
let paramName;
|
|
1920
|
+
let start = -1;
|
|
1921
|
+
let code = -1;
|
|
1922
|
+
let end = -1;
|
|
1923
|
+
let i = 0;
|
|
1924
|
+
for (; i < header.length; i++) {
|
|
1925
|
+
code = header.charCodeAt(i);
|
|
1926
|
+
if (extensionName === void 0) {
|
|
1927
|
+
if (end === -1 && tokenChars[code] === 1) {
|
|
1928
|
+
if (start === -1) start = i;
|
|
1929
|
+
} else if (i !== 0 && (code === 32 || code === 9)) {
|
|
1930
|
+
if (end === -1 && start !== -1) end = i;
|
|
1931
|
+
} else if (code === 59 || code === 44) {
|
|
1932
|
+
if (start === -1) {
|
|
1933
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1934
|
+
}
|
|
1935
|
+
if (end === -1) end = i;
|
|
1936
|
+
const name = header.slice(start, end);
|
|
1937
|
+
if (code === 44) {
|
|
1938
|
+
push(offers, name, params);
|
|
1939
|
+
params = /* @__PURE__ */ Object.create(null);
|
|
1940
|
+
} else {
|
|
1941
|
+
extensionName = name;
|
|
1942
|
+
}
|
|
1943
|
+
start = end = -1;
|
|
1944
|
+
} else {
|
|
1945
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1946
|
+
}
|
|
1947
|
+
} else if (paramName === void 0) {
|
|
1948
|
+
if (end === -1 && tokenChars[code] === 1) {
|
|
1949
|
+
if (start === -1) start = i;
|
|
1950
|
+
} else if (code === 32 || code === 9) {
|
|
1951
|
+
if (end === -1 && start !== -1) end = i;
|
|
1952
|
+
} else if (code === 59 || code === 44) {
|
|
1953
|
+
if (start === -1) {
|
|
1954
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1955
|
+
}
|
|
1956
|
+
if (end === -1) end = i;
|
|
1957
|
+
push(params, header.slice(start, end), true);
|
|
1958
|
+
if (code === 44) {
|
|
1959
|
+
push(offers, extensionName, params);
|
|
1960
|
+
params = /* @__PURE__ */ Object.create(null);
|
|
1961
|
+
extensionName = void 0;
|
|
1962
|
+
}
|
|
1963
|
+
start = end = -1;
|
|
1964
|
+
} else if (code === 61 && start !== -1 && end === -1) {
|
|
1965
|
+
paramName = header.slice(start, i);
|
|
1966
|
+
start = end = -1;
|
|
1967
|
+
} else {
|
|
1968
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1969
|
+
}
|
|
1970
|
+
} else {
|
|
1971
|
+
if (isEscaping) {
|
|
1972
|
+
if (tokenChars[code] !== 1) {
|
|
1973
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1974
|
+
}
|
|
1975
|
+
if (start === -1) start = i;
|
|
1976
|
+
else if (!mustUnescape) mustUnescape = true;
|
|
1977
|
+
isEscaping = false;
|
|
1978
|
+
} else if (inQuotes) {
|
|
1979
|
+
if (tokenChars[code] === 1) {
|
|
1980
|
+
if (start === -1) start = i;
|
|
1981
|
+
} else if (code === 34 && start !== -1) {
|
|
1982
|
+
inQuotes = false;
|
|
1983
|
+
end = i;
|
|
1984
|
+
} else if (code === 92) {
|
|
1985
|
+
isEscaping = true;
|
|
1986
|
+
} else {
|
|
1987
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1988
|
+
}
|
|
1989
|
+
} else if (code === 34 && header.charCodeAt(i - 1) === 61) {
|
|
1990
|
+
inQuotes = true;
|
|
1991
|
+
} else if (end === -1 && tokenChars[code] === 1) {
|
|
1992
|
+
if (start === -1) start = i;
|
|
1993
|
+
} else if (start !== -1 && (code === 32 || code === 9)) {
|
|
1994
|
+
if (end === -1) end = i;
|
|
1995
|
+
} else if (code === 59 || code === 44) {
|
|
1996
|
+
if (start === -1) {
|
|
1997
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
1998
|
+
}
|
|
1999
|
+
if (end === -1) end = i;
|
|
2000
|
+
let value = header.slice(start, end);
|
|
2001
|
+
if (mustUnescape) {
|
|
2002
|
+
value = value.replace(/\\/g, "");
|
|
2003
|
+
mustUnescape = false;
|
|
2004
|
+
}
|
|
2005
|
+
push(params, paramName, value);
|
|
2006
|
+
if (code === 44) {
|
|
2007
|
+
push(offers, extensionName, params);
|
|
2008
|
+
params = /* @__PURE__ */ Object.create(null);
|
|
2009
|
+
extensionName = void 0;
|
|
2010
|
+
}
|
|
2011
|
+
paramName = void 0;
|
|
2012
|
+
start = end = -1;
|
|
2013
|
+
} else {
|
|
2014
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
2018
|
+
if (start === -1 || inQuotes || code === 32 || code === 9) {
|
|
2019
|
+
throw new SyntaxError("Unexpected end of input");
|
|
2020
|
+
}
|
|
2021
|
+
if (end === -1) end = i;
|
|
2022
|
+
const token = header.slice(start, end);
|
|
2023
|
+
if (extensionName === void 0) {
|
|
2024
|
+
push(offers, token, params);
|
|
2025
|
+
} else {
|
|
2026
|
+
if (paramName === void 0) {
|
|
2027
|
+
push(params, token, true);
|
|
2028
|
+
} else if (mustUnescape) {
|
|
2029
|
+
push(params, paramName, token.replace(/\\/g, ""));
|
|
2030
|
+
} else {
|
|
2031
|
+
push(params, paramName, token);
|
|
2032
|
+
}
|
|
2033
|
+
push(offers, extensionName, params);
|
|
2034
|
+
}
|
|
2035
|
+
return offers;
|
|
2036
|
+
}
|
|
2037
|
+
__name(parse, "parse");
|
|
2038
|
+
function format(extensions) {
|
|
2039
|
+
return Object.keys(extensions).map((extension) => {
|
|
2040
|
+
let configurations = extensions[extension];
|
|
2041
|
+
if (!Array.isArray(configurations)) configurations = [configurations];
|
|
2042
|
+
return configurations.map((params) => {
|
|
2043
|
+
return [extension].concat(
|
|
2044
|
+
Object.keys(params).map((k) => {
|
|
2045
|
+
let values = params[k];
|
|
2046
|
+
if (!Array.isArray(values)) values = [values];
|
|
2047
|
+
return values.map((v) => v === true ? k : `${k}=${v}`).join("; ");
|
|
2048
|
+
})
|
|
2049
|
+
).join("; ");
|
|
2050
|
+
}).join(", ");
|
|
2051
|
+
}).join(", ");
|
|
2052
|
+
}
|
|
2053
|
+
__name(format, "format");
|
|
2054
|
+
module.exports = { format, parse };
|
|
2055
|
+
}
|
|
2056
|
+
});
|
|
2057
|
+
|
|
1856
2058
|
// node_modules/ws/lib/event-target.js
|
|
1857
2059
|
var require_event_target = __commonJS({
|
|
1858
2060
|
"node_modules/ws/lib/event-target.js"(exports, module) {
|
|
@@ -2096,163 +2298,6 @@ var require_event_target = __commonJS({
|
|
|
2096
2298
|
}
|
|
2097
2299
|
});
|
|
2098
2300
|
|
|
2099
|
-
// node_modules/ws/lib/extension.js
|
|
2100
|
-
var require_extension = __commonJS({
|
|
2101
|
-
"node_modules/ws/lib/extension.js"(exports, module) {
|
|
2102
|
-
"use strict";
|
|
2103
|
-
init_esbuild_shims();
|
|
2104
|
-
var { tokenChars } = require_validation();
|
|
2105
|
-
function push(dest, name, elem) {
|
|
2106
|
-
if (dest[name] === void 0) dest[name] = [elem];
|
|
2107
|
-
else dest[name].push(elem);
|
|
2108
|
-
}
|
|
2109
|
-
__name(push, "push");
|
|
2110
|
-
function parse(header) {
|
|
2111
|
-
const offers = /* @__PURE__ */ Object.create(null);
|
|
2112
|
-
let params = /* @__PURE__ */ Object.create(null);
|
|
2113
|
-
let mustUnescape = false;
|
|
2114
|
-
let isEscaping = false;
|
|
2115
|
-
let inQuotes = false;
|
|
2116
|
-
let extensionName;
|
|
2117
|
-
let paramName;
|
|
2118
|
-
let start = -1;
|
|
2119
|
-
let code = -1;
|
|
2120
|
-
let end = -1;
|
|
2121
|
-
let i = 0;
|
|
2122
|
-
for (; i < header.length; i++) {
|
|
2123
|
-
code = header.charCodeAt(i);
|
|
2124
|
-
if (extensionName === void 0) {
|
|
2125
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
2126
|
-
if (start === -1) start = i;
|
|
2127
|
-
} else if (i !== 0 && (code === 32 || code === 9)) {
|
|
2128
|
-
if (end === -1 && start !== -1) end = i;
|
|
2129
|
-
} else if (code === 59 || code === 44) {
|
|
2130
|
-
if (start === -1) {
|
|
2131
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2132
|
-
}
|
|
2133
|
-
if (end === -1) end = i;
|
|
2134
|
-
const name = header.slice(start, end);
|
|
2135
|
-
if (code === 44) {
|
|
2136
|
-
push(offers, name, params);
|
|
2137
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2138
|
-
} else {
|
|
2139
|
-
extensionName = name;
|
|
2140
|
-
}
|
|
2141
|
-
start = end = -1;
|
|
2142
|
-
} else {
|
|
2143
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2144
|
-
}
|
|
2145
|
-
} else if (paramName === void 0) {
|
|
2146
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
2147
|
-
if (start === -1) start = i;
|
|
2148
|
-
} else if (code === 32 || code === 9) {
|
|
2149
|
-
if (end === -1 && start !== -1) end = i;
|
|
2150
|
-
} else if (code === 59 || code === 44) {
|
|
2151
|
-
if (start === -1) {
|
|
2152
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2153
|
-
}
|
|
2154
|
-
if (end === -1) end = i;
|
|
2155
|
-
push(params, header.slice(start, end), true);
|
|
2156
|
-
if (code === 44) {
|
|
2157
|
-
push(offers, extensionName, params);
|
|
2158
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2159
|
-
extensionName = void 0;
|
|
2160
|
-
}
|
|
2161
|
-
start = end = -1;
|
|
2162
|
-
} else if (code === 61 && start !== -1 && end === -1) {
|
|
2163
|
-
paramName = header.slice(start, i);
|
|
2164
|
-
start = end = -1;
|
|
2165
|
-
} else {
|
|
2166
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2167
|
-
}
|
|
2168
|
-
} else {
|
|
2169
|
-
if (isEscaping) {
|
|
2170
|
-
if (tokenChars[code] !== 1) {
|
|
2171
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2172
|
-
}
|
|
2173
|
-
if (start === -1) start = i;
|
|
2174
|
-
else if (!mustUnescape) mustUnescape = true;
|
|
2175
|
-
isEscaping = false;
|
|
2176
|
-
} else if (inQuotes) {
|
|
2177
|
-
if (tokenChars[code] === 1) {
|
|
2178
|
-
if (start === -1) start = i;
|
|
2179
|
-
} else if (code === 34 && start !== -1) {
|
|
2180
|
-
inQuotes = false;
|
|
2181
|
-
end = i;
|
|
2182
|
-
} else if (code === 92) {
|
|
2183
|
-
isEscaping = true;
|
|
2184
|
-
} else {
|
|
2185
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2186
|
-
}
|
|
2187
|
-
} else if (code === 34 && header.charCodeAt(i - 1) === 61) {
|
|
2188
|
-
inQuotes = true;
|
|
2189
|
-
} else if (end === -1 && tokenChars[code] === 1) {
|
|
2190
|
-
if (start === -1) start = i;
|
|
2191
|
-
} else if (start !== -1 && (code === 32 || code === 9)) {
|
|
2192
|
-
if (end === -1) end = i;
|
|
2193
|
-
} else if (code === 59 || code === 44) {
|
|
2194
|
-
if (start === -1) {
|
|
2195
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2196
|
-
}
|
|
2197
|
-
if (end === -1) end = i;
|
|
2198
|
-
let value = header.slice(start, end);
|
|
2199
|
-
if (mustUnescape) {
|
|
2200
|
-
value = value.replace(/\\/g, "");
|
|
2201
|
-
mustUnescape = false;
|
|
2202
|
-
}
|
|
2203
|
-
push(params, paramName, value);
|
|
2204
|
-
if (code === 44) {
|
|
2205
|
-
push(offers, extensionName, params);
|
|
2206
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2207
|
-
extensionName = void 0;
|
|
2208
|
-
}
|
|
2209
|
-
paramName = void 0;
|
|
2210
|
-
start = end = -1;
|
|
2211
|
-
} else {
|
|
2212
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2213
|
-
}
|
|
2214
|
-
}
|
|
2215
|
-
}
|
|
2216
|
-
if (start === -1 || inQuotes || code === 32 || code === 9) {
|
|
2217
|
-
throw new SyntaxError("Unexpected end of input");
|
|
2218
|
-
}
|
|
2219
|
-
if (end === -1) end = i;
|
|
2220
|
-
const token = header.slice(start, end);
|
|
2221
|
-
if (extensionName === void 0) {
|
|
2222
|
-
push(offers, token, params);
|
|
2223
|
-
} else {
|
|
2224
|
-
if (paramName === void 0) {
|
|
2225
|
-
push(params, token, true);
|
|
2226
|
-
} else if (mustUnescape) {
|
|
2227
|
-
push(params, paramName, token.replace(/\\/g, ""));
|
|
2228
|
-
} else {
|
|
2229
|
-
push(params, paramName, token);
|
|
2230
|
-
}
|
|
2231
|
-
push(offers, extensionName, params);
|
|
2232
|
-
}
|
|
2233
|
-
return offers;
|
|
2234
|
-
}
|
|
2235
|
-
__name(parse, "parse");
|
|
2236
|
-
function format(extensions) {
|
|
2237
|
-
return Object.keys(extensions).map((extension) => {
|
|
2238
|
-
let configurations = extensions[extension];
|
|
2239
|
-
if (!Array.isArray(configurations)) configurations = [configurations];
|
|
2240
|
-
return configurations.map((params) => {
|
|
2241
|
-
return [extension].concat(
|
|
2242
|
-
Object.keys(params).map((k) => {
|
|
2243
|
-
let values = params[k];
|
|
2244
|
-
if (!Array.isArray(values)) values = [values];
|
|
2245
|
-
return values.map((v) => v === true ? k : `${k}=${v}`).join("; ");
|
|
2246
|
-
})
|
|
2247
|
-
).join("; ");
|
|
2248
|
-
}).join(", ");
|
|
2249
|
-
}).join(", ");
|
|
2250
|
-
}
|
|
2251
|
-
__name(format, "format");
|
|
2252
|
-
module.exports = { format, parse };
|
|
2253
|
-
}
|
|
2254
|
-
});
|
|
2255
|
-
|
|
2256
2301
|
// node_modules/ws/lib/websocket.js
|
|
2257
2302
|
var require_websocket = __commonJS({
|
|
2258
2303
|
"node_modules/ws/lib/websocket.js"(exports, module) {
|
|
@@ -2267,11 +2312,12 @@ var require_websocket = __commonJS({
|
|
|
2267
2312
|
var { Duplex, Readable } = __require("stream");
|
|
2268
2313
|
var { URL } = __require("url");
|
|
2269
2314
|
var PerMessageDeflate = require_permessage_deflate();
|
|
2270
|
-
var
|
|
2271
|
-
var
|
|
2315
|
+
var Receiver = require_receiver();
|
|
2316
|
+
var Sender = require_sender();
|
|
2272
2317
|
var { isBlob } = require_validation();
|
|
2273
2318
|
var {
|
|
2274
2319
|
BINARY_TYPES,
|
|
2320
|
+
CLOSE_TIMEOUT,
|
|
2275
2321
|
EMPTY_BUFFER,
|
|
2276
2322
|
GUID,
|
|
2277
2323
|
kForOnEventAttribute,
|
|
@@ -2285,12 +2331,11 @@ var require_websocket = __commonJS({
|
|
|
2285
2331
|
} = require_event_target();
|
|
2286
2332
|
var { format, parse } = require_extension();
|
|
2287
2333
|
var { toBuffer } = require_buffer_util();
|
|
2288
|
-
var closeTimeout = 30 * 1e3;
|
|
2289
2334
|
var kAborted = Symbol("kAborted");
|
|
2290
2335
|
var protocolVersions = [8, 13];
|
|
2291
2336
|
var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
2292
2337
|
var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
|
|
2293
|
-
var
|
|
2338
|
+
var WebSocket = class _WebSocket extends EventEmitter {
|
|
2294
2339
|
static {
|
|
2295
2340
|
__name(this, "WebSocket");
|
|
2296
2341
|
}
|
|
@@ -2334,6 +2379,7 @@ var require_websocket = __commonJS({
|
|
|
2334
2379
|
initAsClient(this, address, protocols, options);
|
|
2335
2380
|
} else {
|
|
2336
2381
|
this._autoPong = options.autoPong;
|
|
2382
|
+
this._closeTimeout = options.closeTimeout;
|
|
2337
2383
|
this._isServer = true;
|
|
2338
2384
|
}
|
|
2339
2385
|
}
|
|
@@ -2427,21 +2473,27 @@ var require_websocket = __commonJS({
|
|
|
2427
2473
|
* multiple times in the same tick
|
|
2428
2474
|
* @param {Function} [options.generateMask] The function used to generate the
|
|
2429
2475
|
* masking key
|
|
2476
|
+
* @param {Number} [options.maxBufferedChunks=0] The maximum number of
|
|
2477
|
+
* buffered data chunks
|
|
2478
|
+
* @param {Number} [options.maxFragments=0] The maximum number of message
|
|
2479
|
+
* fragments
|
|
2430
2480
|
* @param {Number} [options.maxPayload=0] The maximum allowed message size
|
|
2431
2481
|
* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
|
|
2432
2482
|
* not to skip UTF-8 validation for text and close messages
|
|
2433
2483
|
* @private
|
|
2434
2484
|
*/
|
|
2435
2485
|
setSocket(socket, head, options) {
|
|
2436
|
-
const receiver = new
|
|
2486
|
+
const receiver = new Receiver({
|
|
2437
2487
|
allowSynchronousEvents: options.allowSynchronousEvents,
|
|
2438
2488
|
binaryType: this.binaryType,
|
|
2439
2489
|
extensions: this._extensions,
|
|
2440
2490
|
isServer: this._isServer,
|
|
2491
|
+
maxBufferedChunks: options.maxBufferedChunks,
|
|
2492
|
+
maxFragments: options.maxFragments,
|
|
2441
2493
|
maxPayload: options.maxPayload,
|
|
2442
2494
|
skipUTF8Validation: options.skipUTF8Validation
|
|
2443
2495
|
});
|
|
2444
|
-
const sender = new
|
|
2496
|
+
const sender = new Sender(socket, this._extensions, options.generateMask);
|
|
2445
2497
|
this._receiver = receiver;
|
|
2446
2498
|
this._sender = sender;
|
|
2447
2499
|
this._socket = socket;
|
|
@@ -2662,35 +2714,35 @@ var require_websocket = __commonJS({
|
|
|
2662
2714
|
}
|
|
2663
2715
|
}
|
|
2664
2716
|
};
|
|
2665
|
-
Object.defineProperty(
|
|
2717
|
+
Object.defineProperty(WebSocket, "CONNECTING", {
|
|
2666
2718
|
enumerable: true,
|
|
2667
2719
|
value: readyStates.indexOf("CONNECTING")
|
|
2668
2720
|
});
|
|
2669
|
-
Object.defineProperty(
|
|
2721
|
+
Object.defineProperty(WebSocket.prototype, "CONNECTING", {
|
|
2670
2722
|
enumerable: true,
|
|
2671
2723
|
value: readyStates.indexOf("CONNECTING")
|
|
2672
2724
|
});
|
|
2673
|
-
Object.defineProperty(
|
|
2725
|
+
Object.defineProperty(WebSocket, "OPEN", {
|
|
2674
2726
|
enumerable: true,
|
|
2675
2727
|
value: readyStates.indexOf("OPEN")
|
|
2676
2728
|
});
|
|
2677
|
-
Object.defineProperty(
|
|
2729
|
+
Object.defineProperty(WebSocket.prototype, "OPEN", {
|
|
2678
2730
|
enumerable: true,
|
|
2679
2731
|
value: readyStates.indexOf("OPEN")
|
|
2680
2732
|
});
|
|
2681
|
-
Object.defineProperty(
|
|
2733
|
+
Object.defineProperty(WebSocket, "CLOSING", {
|
|
2682
2734
|
enumerable: true,
|
|
2683
2735
|
value: readyStates.indexOf("CLOSING")
|
|
2684
2736
|
});
|
|
2685
|
-
Object.defineProperty(
|
|
2737
|
+
Object.defineProperty(WebSocket.prototype, "CLOSING", {
|
|
2686
2738
|
enumerable: true,
|
|
2687
2739
|
value: readyStates.indexOf("CLOSING")
|
|
2688
2740
|
});
|
|
2689
|
-
Object.defineProperty(
|
|
2741
|
+
Object.defineProperty(WebSocket, "CLOSED", {
|
|
2690
2742
|
enumerable: true,
|
|
2691
2743
|
value: readyStates.indexOf("CLOSED")
|
|
2692
2744
|
});
|
|
2693
|
-
Object.defineProperty(
|
|
2745
|
+
Object.defineProperty(WebSocket.prototype, "CLOSED", {
|
|
2694
2746
|
enumerable: true,
|
|
2695
2747
|
value: readyStates.indexOf("CLOSED")
|
|
2696
2748
|
});
|
|
@@ -2703,10 +2755,10 @@ var require_websocket = __commonJS({
|
|
|
2703
2755
|
"readyState",
|
|
2704
2756
|
"url"
|
|
2705
2757
|
].forEach((property) => {
|
|
2706
|
-
Object.defineProperty(
|
|
2758
|
+
Object.defineProperty(WebSocket.prototype, property, { enumerable: true });
|
|
2707
2759
|
});
|
|
2708
2760
|
["open", "error", "close", "message"].forEach((method) => {
|
|
2709
|
-
Object.defineProperty(
|
|
2761
|
+
Object.defineProperty(WebSocket.prototype, `on${method}`, {
|
|
2710
2762
|
enumerable: true,
|
|
2711
2763
|
get() {
|
|
2712
2764
|
for (const listener of this.listeners(method)) {
|
|
@@ -2728,14 +2780,17 @@ var require_websocket = __commonJS({
|
|
|
2728
2780
|
}
|
|
2729
2781
|
});
|
|
2730
2782
|
});
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
module.exports =
|
|
2783
|
+
WebSocket.prototype.addEventListener = addEventListener;
|
|
2784
|
+
WebSocket.prototype.removeEventListener = removeEventListener;
|
|
2785
|
+
module.exports = WebSocket;
|
|
2734
2786
|
function initAsClient(websocket, address, protocols, options) {
|
|
2735
2787
|
const opts = {
|
|
2736
2788
|
allowSynchronousEvents: true,
|
|
2737
2789
|
autoPong: true,
|
|
2790
|
+
closeTimeout: CLOSE_TIMEOUT,
|
|
2738
2791
|
protocolVersion: protocolVersions[1],
|
|
2792
|
+
maxBufferedChunks: 1024 * 1024,
|
|
2793
|
+
maxFragments: 128 * 1024,
|
|
2739
2794
|
maxPayload: 100 * 1024 * 1024,
|
|
2740
2795
|
skipUTF8Validation: false,
|
|
2741
2796
|
perMessageDeflate: true,
|
|
@@ -2752,6 +2807,7 @@ var require_websocket = __commonJS({
|
|
|
2752
2807
|
port: void 0
|
|
2753
2808
|
};
|
|
2754
2809
|
websocket._autoPong = opts.autoPong;
|
|
2810
|
+
websocket._closeTimeout = opts.closeTimeout;
|
|
2755
2811
|
if (!protocolVersions.includes(opts.protocolVersion)) {
|
|
2756
2812
|
throw new RangeError(
|
|
2757
2813
|
`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`
|
|
@@ -2763,7 +2819,7 @@ var require_websocket = __commonJS({
|
|
|
2763
2819
|
} else {
|
|
2764
2820
|
try {
|
|
2765
2821
|
parsedUrl = new URL(address);
|
|
2766
|
-
} catch
|
|
2822
|
+
} catch {
|
|
2767
2823
|
throw new SyntaxError(`Invalid URL: ${address}`);
|
|
2768
2824
|
}
|
|
2769
2825
|
}
|
|
@@ -2811,11 +2867,11 @@ var require_websocket = __commonJS({
|
|
|
2811
2867
|
opts.path = parsedUrl.pathname + parsedUrl.search;
|
|
2812
2868
|
opts.timeout = opts.handshakeTimeout;
|
|
2813
2869
|
if (opts.perMessageDeflate) {
|
|
2814
|
-
perMessageDeflate = new PerMessageDeflate(
|
|
2815
|
-
opts.perMessageDeflate
|
|
2816
|
-
false,
|
|
2817
|
-
opts.maxPayload
|
|
2818
|
-
);
|
|
2870
|
+
perMessageDeflate = new PerMessageDeflate({
|
|
2871
|
+
...opts.perMessageDeflate,
|
|
2872
|
+
isServer: false,
|
|
2873
|
+
maxPayload: opts.maxPayload
|
|
2874
|
+
});
|
|
2819
2875
|
opts.headers["Sec-WebSocket-Extensions"] = format({
|
|
2820
2876
|
[PerMessageDeflate.extensionName]: perMessageDeflate.offer()
|
|
2821
2877
|
});
|
|
@@ -2916,7 +2972,7 @@ var require_websocket = __commonJS({
|
|
|
2916
2972
|
});
|
|
2917
2973
|
req.on("upgrade", (res, socket, head) => {
|
|
2918
2974
|
websocket.emit("upgrade", res);
|
|
2919
|
-
if (websocket.readyState !==
|
|
2975
|
+
if (websocket.readyState !== WebSocket.CONNECTING) return;
|
|
2920
2976
|
req = websocket._req = null;
|
|
2921
2977
|
const upgrade = res.headers.upgrade;
|
|
2922
2978
|
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
@@ -2977,6 +3033,8 @@ var require_websocket = __commonJS({
|
|
|
2977
3033
|
websocket.setSocket(socket, head, {
|
|
2978
3034
|
allowSynchronousEvents: opts.allowSynchronousEvents,
|
|
2979
3035
|
generateMask: opts.generateMask,
|
|
3036
|
+
maxBufferedChunks: opts.maxBufferedChunks,
|
|
3037
|
+
maxFragments: opts.maxFragments,
|
|
2980
3038
|
maxPayload: opts.maxPayload,
|
|
2981
3039
|
skipUTF8Validation: opts.skipUTF8Validation
|
|
2982
3040
|
});
|
|
@@ -2989,7 +3047,7 @@ var require_websocket = __commonJS({
|
|
|
2989
3047
|
}
|
|
2990
3048
|
__name(initAsClient, "initAsClient");
|
|
2991
3049
|
function emitErrorAndClose(websocket, err) {
|
|
2992
|
-
websocket._readyState =
|
|
3050
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
2993
3051
|
websocket._errorEmitted = true;
|
|
2994
3052
|
websocket.emit("error", err);
|
|
2995
3053
|
websocket.emitClose();
|
|
@@ -3009,7 +3067,7 @@ var require_websocket = __commonJS({
|
|
|
3009
3067
|
}
|
|
3010
3068
|
__name(tlsConnect, "tlsConnect");
|
|
3011
3069
|
function abortHandshake(websocket, stream, message) {
|
|
3012
|
-
websocket._readyState =
|
|
3070
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3013
3071
|
const err = new Error(message);
|
|
3014
3072
|
Error.captureStackTrace(err, abortHandshake);
|
|
3015
3073
|
if (stream.setHeader) {
|
|
@@ -3094,9 +3152,9 @@ var require_websocket = __commonJS({
|
|
|
3094
3152
|
__name(resume, "resume");
|
|
3095
3153
|
function senderOnError(err) {
|
|
3096
3154
|
const websocket = this[kWebSocket];
|
|
3097
|
-
if (websocket.readyState ===
|
|
3098
|
-
if (websocket.readyState ===
|
|
3099
|
-
websocket._readyState =
|
|
3155
|
+
if (websocket.readyState === WebSocket.CLOSED) return;
|
|
3156
|
+
if (websocket.readyState === WebSocket.OPEN) {
|
|
3157
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3100
3158
|
setCloseTimer(websocket);
|
|
3101
3159
|
}
|
|
3102
3160
|
this._socket.end();
|
|
@@ -3109,7 +3167,7 @@ var require_websocket = __commonJS({
|
|
|
3109
3167
|
function setCloseTimer(websocket) {
|
|
3110
3168
|
websocket._closeTimer = setTimeout(
|
|
3111
3169
|
websocket._socket.destroy.bind(websocket._socket),
|
|
3112
|
-
|
|
3170
|
+
websocket._closeTimeout
|
|
3113
3171
|
);
|
|
3114
3172
|
}
|
|
3115
3173
|
__name(setCloseTimer, "setCloseTimer");
|
|
@@ -3118,9 +3176,9 @@ var require_websocket = __commonJS({
|
|
|
3118
3176
|
this.removeListener("close", socketOnClose);
|
|
3119
3177
|
this.removeListener("data", socketOnData);
|
|
3120
3178
|
this.removeListener("end", socketOnEnd);
|
|
3121
|
-
websocket._readyState =
|
|
3122
|
-
|
|
3123
|
-
|
|
3179
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3180
|
+
if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
|
|
3181
|
+
const chunk = this.read(this._readableState.length);
|
|
3124
3182
|
websocket._receiver.write(chunk);
|
|
3125
3183
|
}
|
|
3126
3184
|
websocket._receiver.end();
|
|
@@ -3142,7 +3200,7 @@ var require_websocket = __commonJS({
|
|
|
3142
3200
|
__name(socketOnData, "socketOnData");
|
|
3143
3201
|
function socketOnEnd() {
|
|
3144
3202
|
const websocket = this[kWebSocket];
|
|
3145
|
-
websocket._readyState =
|
|
3203
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3146
3204
|
websocket._receiver.end();
|
|
3147
3205
|
this.end();
|
|
3148
3206
|
}
|
|
@@ -3152,7 +3210,7 @@ var require_websocket = __commonJS({
|
|
|
3152
3210
|
this.removeListener("error", socketOnError);
|
|
3153
3211
|
this.on("error", NOOP);
|
|
3154
3212
|
if (websocket) {
|
|
3155
|
-
websocket._readyState =
|
|
3213
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3156
3214
|
this.destroy();
|
|
3157
3215
|
}
|
|
3158
3216
|
}
|
|
@@ -3165,7 +3223,7 @@ var require_stream = __commonJS({
|
|
|
3165
3223
|
"node_modules/ws/lib/stream.js"(exports, module) {
|
|
3166
3224
|
"use strict";
|
|
3167
3225
|
init_esbuild_shims();
|
|
3168
|
-
var
|
|
3226
|
+
var WebSocket = require_websocket();
|
|
3169
3227
|
var { Duplex } = __require("stream");
|
|
3170
3228
|
function emitClose(stream) {
|
|
3171
3229
|
stream.emit("close");
|
|
@@ -3185,7 +3243,7 @@ var require_stream = __commonJS({
|
|
|
3185
3243
|
}
|
|
3186
3244
|
}
|
|
3187
3245
|
__name(duplexOnError, "duplexOnError");
|
|
3188
|
-
function
|
|
3246
|
+
function createWebSocketStream(ws, options) {
|
|
3189
3247
|
let terminateOnDestroy = true;
|
|
3190
3248
|
const duplex = new Duplex({
|
|
3191
3249
|
...options,
|
|
@@ -3258,8 +3316,8 @@ var require_stream = __commonJS({
|
|
|
3258
3316
|
duplex.on("error", duplexOnError);
|
|
3259
3317
|
return duplex;
|
|
3260
3318
|
}
|
|
3261
|
-
__name(
|
|
3262
|
-
module.exports =
|
|
3319
|
+
__name(createWebSocketStream, "createWebSocketStream");
|
|
3320
|
+
module.exports = createWebSocketStream;
|
|
3263
3321
|
}
|
|
3264
3322
|
});
|
|
3265
3323
|
|
|
@@ -3322,13 +3380,13 @@ var require_websocket_server = __commonJS({
|
|
|
3322
3380
|
var extension = require_extension();
|
|
3323
3381
|
var PerMessageDeflate = require_permessage_deflate();
|
|
3324
3382
|
var subprotocol = require_subprotocol();
|
|
3325
|
-
var
|
|
3326
|
-
var { GUID, kWebSocket } = require_constants();
|
|
3383
|
+
var WebSocket = require_websocket();
|
|
3384
|
+
var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
|
|
3327
3385
|
var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
3328
3386
|
var RUNNING = 0;
|
|
3329
3387
|
var CLOSING = 1;
|
|
3330
3388
|
var CLOSED = 2;
|
|
3331
|
-
var
|
|
3389
|
+
var WebSocketServer = class extends EventEmitter {
|
|
3332
3390
|
static {
|
|
3333
3391
|
__name(this, "WebSocketServer");
|
|
3334
3392
|
}
|
|
@@ -3345,8 +3403,15 @@ var require_websocket_server = __commonJS({
|
|
|
3345
3403
|
* pending connections
|
|
3346
3404
|
* @param {Boolean} [options.clientTracking=true] Specifies whether or not to
|
|
3347
3405
|
* track clients
|
|
3406
|
+
* @param {Number} [options.closeTimeout=30000] Duration in milliseconds to
|
|
3407
|
+
* wait for the closing handshake to finish after `websocket.close()` is
|
|
3408
|
+
* called
|
|
3348
3409
|
* @param {Function} [options.handleProtocols] A hook to handle protocols
|
|
3349
3410
|
* @param {String} [options.host] The hostname where to bind the server
|
|
3411
|
+
* @param {Number} [options.maxBufferedChunks=1048576] The maximum number of
|
|
3412
|
+
* buffered data chunks
|
|
3413
|
+
* @param {Number} [options.maxFragments=131072] The maximum number of message
|
|
3414
|
+
* fragments
|
|
3350
3415
|
* @param {Number} [options.maxPayload=104857600] The maximum allowed message
|
|
3351
3416
|
* size
|
|
3352
3417
|
* @param {Boolean} [options.noServer=false] Enable no server mode
|
|
@@ -3368,11 +3433,14 @@ var require_websocket_server = __commonJS({
|
|
|
3368
3433
|
options = {
|
|
3369
3434
|
allowSynchronousEvents: true,
|
|
3370
3435
|
autoPong: true,
|
|
3436
|
+
maxBufferedChunks: 1024 * 1024,
|
|
3437
|
+
maxFragments: 128 * 1024,
|
|
3371
3438
|
maxPayload: 100 * 1024 * 1024,
|
|
3372
3439
|
skipUTF8Validation: false,
|
|
3373
3440
|
perMessageDeflate: false,
|
|
3374
3441
|
handleProtocols: null,
|
|
3375
3442
|
clientTracking: true,
|
|
3443
|
+
closeTimeout: CLOSE_TIMEOUT,
|
|
3376
3444
|
verifyClient: null,
|
|
3377
3445
|
noServer: false,
|
|
3378
3446
|
backlog: null,
|
|
@@ -3381,7 +3449,7 @@ var require_websocket_server = __commonJS({
|
|
|
3381
3449
|
host: null,
|
|
3382
3450
|
path: null,
|
|
3383
3451
|
port: null,
|
|
3384
|
-
WebSocket
|
|
3452
|
+
WebSocket,
|
|
3385
3453
|
...options
|
|
3386
3454
|
};
|
|
3387
3455
|
if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) {
|
|
@@ -3553,11 +3621,11 @@ var require_websocket_server = __commonJS({
|
|
|
3553
3621
|
const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
|
|
3554
3622
|
const extensions = {};
|
|
3555
3623
|
if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) {
|
|
3556
|
-
const perMessageDeflate = new PerMessageDeflate(
|
|
3557
|
-
this.options.perMessageDeflate,
|
|
3558
|
-
true,
|
|
3559
|
-
this.options.maxPayload
|
|
3560
|
-
);
|
|
3624
|
+
const perMessageDeflate = new PerMessageDeflate({
|
|
3625
|
+
...this.options.perMessageDeflate,
|
|
3626
|
+
isServer: true,
|
|
3627
|
+
maxPayload: this.options.maxPayload
|
|
3628
|
+
});
|
|
3561
3629
|
try {
|
|
3562
3630
|
const offers = extension.parse(secWebSocketExtensions);
|
|
3563
3631
|
if (offers[PerMessageDeflate.extensionName]) {
|
|
@@ -3646,6 +3714,8 @@ var require_websocket_server = __commonJS({
|
|
|
3646
3714
|
socket.removeListener("error", socketOnError);
|
|
3647
3715
|
ws.setSocket(socket, head, {
|
|
3648
3716
|
allowSynchronousEvents: this.options.allowSynchronousEvents,
|
|
3717
|
+
maxBufferedChunks: this.options.maxBufferedChunks,
|
|
3718
|
+
maxFragments: this.options.maxFragments,
|
|
3649
3719
|
maxPayload: this.options.maxPayload,
|
|
3650
3720
|
skipUTF8Validation: this.options.skipUTF8Validation
|
|
3651
3721
|
});
|
|
@@ -3661,7 +3731,7 @@ var require_websocket_server = __commonJS({
|
|
|
3661
3731
|
cb(ws, req);
|
|
3662
3732
|
}
|
|
3663
3733
|
};
|
|
3664
|
-
module.exports =
|
|
3734
|
+
module.exports = WebSocketServer;
|
|
3665
3735
|
function addListeners(server, map) {
|
|
3666
3736
|
for (const event of Object.keys(map)) server.on(event, map[event]);
|
|
3667
3737
|
return /* @__PURE__ */ __name(function removeListeners() {
|
|
@@ -3708,16 +3778,13 @@ var require_websocket_server = __commonJS({
|
|
|
3708
3778
|
}
|
|
3709
3779
|
});
|
|
3710
3780
|
|
|
3711
|
-
// node_modules/ws/wrapper.mjs
|
|
3712
|
-
init_esbuild_shims();
|
|
3713
|
-
var import_stream = __toESM(require_stream(), 1);
|
|
3714
|
-
var import_receiver = __toESM(require_receiver(), 1);
|
|
3715
|
-
var import_sender = __toESM(require_sender(), 1);
|
|
3716
|
-
var import_websocket = __toESM(require_websocket(), 1);
|
|
3717
|
-
var import_websocket_server = __toESM(require_websocket_server(), 1);
|
|
3718
|
-
var wrapper_default = import_websocket.default;
|
|
3719
|
-
|
|
3720
3781
|
export {
|
|
3721
|
-
|
|
3722
|
-
|
|
3782
|
+
require_permessage_deflate,
|
|
3783
|
+
require_receiver,
|
|
3784
|
+
require_sender,
|
|
3785
|
+
require_extension,
|
|
3786
|
+
require_websocket,
|
|
3787
|
+
require_stream,
|
|
3788
|
+
require_subprotocol,
|
|
3789
|
+
require_websocket_server
|
|
3723
3790
|
};
|