@mmmbuto/qwen-code-termux 0.16.1-termux → 0.18.0-termux
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 +79 -109
- package/bundled/new-app/SKILL.md +22 -0
- package/bundled/qc-helper/SKILL.md +29 -24
- package/bundled/qc-helper/docs/_meta.ts +1 -0
- package/bundled/qc-helper/docs/configuration/_meta.ts +0 -3
- package/bundled/qc-helper/docs/configuration/settings.md +37 -31
- package/bundled/qc-helper/docs/configuration/themes.md +39 -0
- package/bundled/qc-helper/docs/features/_meta.ts +1 -3
- package/bundled/qc-helper/docs/features/approval-mode.md +35 -35
- package/bundled/qc-helper/docs/features/auto-mode.md +54 -9
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/feishu.md +170 -0
- package/bundled/qc-helper/docs/features/commands.md +115 -35
- package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
- package/bundled/qc-helper/docs/features/headless.md +32 -0
- package/bundled/qc-helper/docs/features/markdown-rendering.md +21 -1
- package/bundled/qc-helper/docs/features/memory.md +22 -5
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +1 -1
- package/bundled/qc-helper/docs/features/status-line.md +168 -32
- package/bundled/qc-helper/docs/features/sub-agents.md +60 -0
- package/bundled/qc-helper/docs/features/worktree.md +345 -0
- package/bundled/qc-helper/docs/overview.md +4 -4
- package/bundled/qc-helper/docs/quickstart.md +4 -4
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +221 -0
- package/bundled/qc-helper/docs/qwen-serve.md +234 -24
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +16 -0
- package/bundled/qc-helper/docs/support/Uninstall.md +19 -1
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/bundled/simplify/SKILL.md +123 -0
- package/chunks/agent-IDS4HMOX.js +56 -0
- package/chunks/agent-headless-5Q2EUSPS.js +50 -0
- package/chunks/{anthropicContentGenerator-SSGKR6DO.js → anthropicContentGenerator-2HBRNQ3B.js} +52 -9
- package/chunks/{askUserQuestion-PJWUUXKN.js → askUserQuestion-75TDJVK2.js} +45 -3
- package/chunks/{ca-UZ7BANMN.js → ca-BARBRL6N.js} +89 -5
- package/chunks/{chunk-GGNTZ2NH.js → chunk-2Y5SYSD3.js} +368 -597
- package/chunks/{chunk-2LA2TREA.js → chunk-3AA2DK35.js} +1448 -207
- package/chunks/{chunk-I2V5WXHJ.js → chunk-3AUHFMSK.js} +80 -38
- package/chunks/chunk-3DHXZ6EV.js +241 -0
- package/chunks/{chunk-PR4T27R7.js → chunk-3HTIVKZE.js} +42 -8
- package/chunks/chunk-3HX5LZ6R.js +1798 -0
- package/chunks/chunk-3PJXIDKI.js +2517 -0
- package/chunks/{chunk-MYAKAFEC.js → chunk-55ZMG67I.js} +7451 -3517
- package/chunks/{chunk-66CXYE4B.js → chunk-5IFG2VC4.js} +293 -242
- package/chunks/chunk-64WXLC72.js +98 -0
- package/chunks/{chunk-C6WMLUNB.js → chunk-72LDN5PP.js} +1 -1
- package/chunks/{chunk-F23NCRJ2.js → chunk-A7B4ISQP.js} +1 -1
- package/chunks/chunk-B7HXHOHU.js +393 -0
- package/chunks/{chunk-XEGHDASV.js → chunk-D3RHSPAS.js} +435 -540
- package/chunks/{chunk-XKS5KBFJ.js → chunk-EYENRK4D.js} +694 -384
- package/chunks/chunk-H6BD2ELD.js +36 -0
- package/chunks/{chunk-XP27SJMH.js → chunk-HR7SV7AY.js} +79 -48
- package/chunks/{chunk-D5NTAHYL.js → chunk-IDX6COTE.js} +7 -2
- package/chunks/{chunk-SHT4VJWU.js → chunk-IWKSG2AR.js} +2 -2
- package/chunks/chunk-J37FGIOA.js +1623 -0
- package/chunks/chunk-J5MDQKJL.js +2230 -0
- package/chunks/{chunk-USE2VQ5P.js → chunk-JTQAQBTV.js} +21 -0
- package/chunks/{chunk-NCTLV2NB.js → chunk-KQJMQJPI.js} +1 -1
- package/chunks/{chunk-5FBA5XC2.js → chunk-KRIHGKNA.js} +1 -1
- package/chunks/chunk-LD2XBG6Z.js +102 -0
- package/chunks/{chunk-MAY32HXD.js → chunk-M6VTDSVR.js} +3 -1
- package/chunks/chunk-MRO43B25.js +30 -0
- package/chunks/{chunk-N4WOREMD.js → chunk-NVFMZBX2.js} +43 -3
- package/chunks/chunk-OHEGWO4L.js +264 -0
- package/chunks/{chunk-K6O2NBMF.js → chunk-OQ7NJIY7.js} +4604 -6397
- package/chunks/chunk-QQDPRDVW.js +25 -0
- package/chunks/{chunk-KXZ4TJB4.js → chunk-SEGYWKIH.js} +1 -1
- package/chunks/chunk-SKBPNJEW.js +45 -0
- package/chunks/{chunk-4AOCVI6J.js → chunk-SNGELLWX.js} +52 -6
- package/chunks/{chunk-3OCRHZA3.js → chunk-TD4OPI4T.js} +56742 -44104
- package/chunks/{chunk-DQ4QTG7E.js → chunk-VV4F63BD.js} +11 -11
- package/chunks/chunk-XBY7E2FX.js +605 -0
- package/chunks/{chunk-JKMBWLFB.js → chunk-YILFYI5W.js} +48 -26
- package/chunks/chunk-YOGAOMYB.js +159 -0
- package/chunks/{chunk-QWSRH265.js → chunk-Z2Z3GUXZ.js} +777 -776
- package/chunks/{chunk-SDHRQFOS.js → chunk-ZTZ4DDQE.js} +2 -2
- package/chunks/computer-use-W2TYQNEE.js +825 -0
- package/chunks/contextCommand-6FGX3A7J.js +52 -0
- package/chunks/{cron-create-3ZBBN7WB.js → cron-create-APL5LU6I.js} +3 -3
- package/chunks/{cron-delete-NAGKKIIG.js → cron-delete-4SBJSCN4.js} +3 -3
- package/chunks/{cron-list-PAGRXNAI.js → cron-list-2AMGOMVO.js} +3 -3
- package/chunks/{de-V4IE2OOZ.js → de-YGKK2BC4.js} +89 -5
- package/chunks/{devtools-TWVXEJQB.js → devtools-FM6GJPYG.js} +2 -1
- package/chunks/{dist-4L54HRX2.js → dist-4LXD6L6X.js} +24 -5
- package/chunks/dist-H6ONXVLG.js +94146 -0
- package/chunks/{dist-XKWIWPWQ.js → dist-KAZ3SEBX.js} +1083 -3856
- package/chunks/{dist-BXDUQ2QY.js → dist-PK7DFCAW.js} +1 -1
- package/chunks/{edit-NVO3FOAK.js → edit-ZCEZC264.js} +30 -22
- package/chunks/{en-HGJ2SPLM.js → en-DHGYHIHX.js} +127 -6
- package/chunks/{enter-worktree-UEBG4WFC.js → enter-worktree-BBHCFCHG.js} +30 -20
- package/chunks/enterPlanMode-3M6KTD3B.js +158 -0
- package/chunks/{exit-worktree-UZ3MAQZN.js → exit-worktree-73YPIEQO.js} +27 -19
- package/chunks/exitPlanMode-TYZM6BAE.js +703 -0
- package/chunks/{fr-CJULI7ZX.js → fr-JXBKPJKQ.js} +89 -5
- package/chunks/{geminiContentGenerator-3UZFXGNT.js → geminiContentGenerator-7N2V3VW2.js} +8 -6
- package/chunks/{getMachineId-bsd-JXOSIJV2.js → getMachineId-bsd-4CASPIU4.js} +4 -4
- package/chunks/{getMachineId-darwin-TE4QRR42.js → getMachineId-darwin-HPQPEMZR.js} +4 -4
- package/chunks/{getMachineId-linux-S3OL52XK.js → getMachineId-linux-AUARKYHL.js} +3 -3
- package/chunks/{getMachineId-unsupported-DWUSBAPX.js → getMachineId-unsupported-S32ZDA2T.js} +3 -3
- package/chunks/{getMachineId-win-AAC5P3AP.js → getMachineId-win-4EFLHYIJ.js} +4 -4
- package/chunks/{glob-KNHSFFFG.js → glob-5XBCPQ2A.js} +27 -19
- package/chunks/{grep-LACWDZW4.js → grep-VIUU3A7X.js} +30 -19
- package/chunks/{ja-L7CHRQEW.js → ja-TGPZSP2B.js} +89 -5
- package/chunks/{keychain-token-storage-335UOLJ6.js → keychain-token-storage-6IU6ORQN.js} +3 -3
- package/chunks/{ls-AGXQOKSG.js → ls-JRGYIGLY.js} +4 -4
- package/chunks/{lsp-UDMUHNPA.js → lsp-SHMKFOAC.js} +3 -3
- package/chunks/{monitor-ETKWPJEH.js → monitor-6R4LIJL5.js} +40 -25
- package/chunks/{multipart-parser-3QWGTLK3.js → multipart-parser-AJ4WASWR.js} +2 -2
- package/chunks/{notebook-edit-QJJLPNYT.js → notebook-edit-5E7ULDVQ.js} +28 -20
- package/chunks/{openaiContentGenerator-CNNN424U.js → openaiContentGenerator-ZVHFKM3O.js} +17 -14
- package/chunks/{pt-M6JULLEQ.js → pt-TIBG6BIO.js} +89 -5
- package/chunks/{qwenContentGenerator-BOLCGK3R.js → qwenContentGenerator-B2VTVSPJ.js} +31 -23
- package/chunks/{qwenOAuth2-EEJGROP7.js → qwenOAuth2-2KCKWDCF.js} +6 -4
- package/chunks/read-file-GIT7BCDR.js +27 -0
- package/chunks/ripGrep-MWKFVYMS.js +48 -0
- package/chunks/{ru-QILM4HBC.js → ru-JBCHCK4L.js} +89 -5
- package/chunks/scheduler-5VOOYGBH.js +308 -0
- package/chunks/send-message-4QNWQJF4.js +244 -0
- package/chunks/{serve-OLSI7WSR.js → serve-MN6HZBWN.js} +14262 -7414
- package/chunks/shell-NQZQGFM2.js +56 -0
- package/chunks/{skill-D6YRHTTI.js → skill-WCFW4644.js} +145 -119
- package/chunks/{src-TMOD5X6F.js → src-7XL4G4DC.js} +88 -46
- package/chunks/{src-4QH4FZ6I.js → src-IHA6DTUV.js} +452 -62
- package/chunks/{syntheticOutput-5PVFDDJ4.js → syntheticOutput-YTYS2ZMQ.js} +4 -4
- package/chunks/task-create-MPORPYN6.js +19 -0
- package/chunks/task-list-R2YDYPZT.js +151 -0
- package/chunks/{task-stop-AJKPSR6R.js → task-stop-SYWJYBCM.js} +3 -3
- package/chunks/task-update-E4NSLKMQ.js +408 -0
- package/chunks/team-create-7R7KA5IP.js +314 -0
- package/chunks/team-delete-25OIWUPN.js +116 -0
- package/chunks/{todoWrite-VLAUG4CA.js → todoWrite-4YHMIF4X.js} +16 -5
- package/chunks/{tool-search-MZGHUUKD.js → tool-search-YBRVZCLI.js} +29 -11
- package/chunks/{tts-notification-K3X7X7MN.js → tts-notification-7SOEMQK4.js} +5 -4
- package/chunks/{web-fetch-OILB464A.js → web-fetch-MFIRHIHI.js} +5 -5
- package/chunks/workflow-5RIKVCIE.js +960 -0
- package/chunks/{write-file-BIQAA57V.js → write-file-DMQTJZOM.js} +32 -24
- package/chunks/{zh-PWL2NKY3.js → zh-7H5OQC4I.js} +135 -11
- package/chunks/{zh-TW-S3YGWICZ.js → zh-TW-P4IDHD3M.js} +128 -11
- package/cli.js +45402 -20570
- package/examples/agent/agents/diary.md +86 -0
- package/examples/agent/qwen-extension.json +5 -0
- package/examples/commands/commands/fs/grep-code.md +3 -0
- package/examples/commands/qwen-extension.json +5 -0
- package/examples/context/QWEN.md +8 -0
- package/examples/context/qwen-extension.json +5 -0
- package/examples/mcp-server/example.ts +60 -0
- package/examples/mcp-server/package.json +18 -0
- package/examples/mcp-server/qwen-extension.json +12 -0
- package/examples/mcp-server/tsconfig.json +13 -0
- package/examples/skills/qwen-extension.json +5 -0
- package/examples/skills/skills/synonyms/SKILL.md +48 -0
- package/examples/starter/QWEN.md +30 -0
- package/examples/starter/README.md +59 -0
- package/examples/starter/agents/diary.md +86 -0
- package/examples/starter/commands/writing/polish.md +13 -0
- package/examples/starter/example.ts +64 -0
- package/examples/starter/package.json +18 -0
- package/examples/starter/qwen-extension.json +12 -0
- package/examples/starter/skills/synonyms/SKILL.md +48 -0
- package/examples/starter/tsconfig.json +13 -0
- package/fzfWorker.js +1083 -0
- package/locales/ca.js +118 -5
- package/locales/de.js +117 -5
- package/locales/en.js +169 -7
- package/locales/fr.js +119 -5
- package/locales/ja.js +114 -5
- package/locales/pt.js +117 -5
- package/locales/ru.js +116 -5
- package/locales/zh-TW.js +161 -12
- package/locales/zh.js +169 -12
- package/package.json +4 -2
- package/scripts/postinstall.cjs +2 -1
- package/bundled/qc-helper/docs/features/checkpointing.md +0 -77
- package/chunks/agent-7ZN3CRHR.js +0 -48
- package/chunks/chunk-6PCB2DEF.js +0 -434
- package/chunks/chunk-EM6ETG2K.js +0 -60
- package/chunks/chunk-G7YTSRES.js +0 -150
- package/chunks/contextCommand-7IBASARL.js +0 -44
- package/chunks/exitPlanMode-PZAMWIRW.js +0 -227
- package/chunks/multipart-parser-IXGBIOIN.js +0 -384
- package/chunks/read-file-CCUEUFG2.js +0 -24
- package/chunks/ripGrep-TADOH2HK.js +0 -40
- package/chunks/send-message-YL44UZFC.js +0 -151
- package/chunks/shell-7KKKC5G7.js +0 -48
- package/chunks/src-IPWIHNMI.js +0 -1406
- package/chunks/undici-F6ZOXSS5.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
|
|
@@ -186,7 +185,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
186
185
|
var kBuffers = Symbol("buffers");
|
|
187
186
|
var kError = Symbol("error");
|
|
188
187
|
var zlibLimiter;
|
|
189
|
-
var
|
|
188
|
+
var PerMessageDeflate = class {
|
|
190
189
|
static {
|
|
191
190
|
__name(this, "PerMessageDeflate");
|
|
192
191
|
}
|
|
@@ -527,7 +526,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
527
526
|
});
|
|
528
527
|
}
|
|
529
528
|
};
|
|
530
|
-
module.exports =
|
|
529
|
+
module.exports = PerMessageDeflate;
|
|
531
530
|
function deflateOnData(chunk) {
|
|
532
531
|
this[kBuffers].push(chunk);
|
|
533
532
|
this[kTotalLength] += chunk.length;
|
|
@@ -770,7 +769,7 @@ var require_receiver = __commonJS({
|
|
|
770
769
|
"use strict";
|
|
771
770
|
init_esbuild_shims();
|
|
772
771
|
var { Writable } = __require("stream");
|
|
773
|
-
var
|
|
772
|
+
var PerMessageDeflate = require_permessage_deflate();
|
|
774
773
|
var {
|
|
775
774
|
BINARY_TYPES,
|
|
776
775
|
EMPTY_BUFFER,
|
|
@@ -787,7 +786,7 @@ var require_receiver = __commonJS({
|
|
|
787
786
|
var GET_DATA = 4;
|
|
788
787
|
var INFLATING = 5;
|
|
789
788
|
var DEFER_EVENT = 6;
|
|
790
|
-
var
|
|
789
|
+
var Receiver = class extends Writable {
|
|
791
790
|
static {
|
|
792
791
|
__name(this, "Receiver");
|
|
793
792
|
}
|
|
@@ -803,6 +802,10 @@ var require_receiver = __commonJS({
|
|
|
803
802
|
* extensions
|
|
804
803
|
* @param {Boolean} [options.isServer=false] Specifies whether to operate in
|
|
805
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
|
|
806
809
|
* @param {Number} [options.maxPayload=0] The maximum allowed message length
|
|
807
810
|
* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
|
|
808
811
|
* not to skip UTF-8 validation for text and close messages
|
|
@@ -813,6 +816,8 @@ var require_receiver = __commonJS({
|
|
|
813
816
|
this._binaryType = options.binaryType || BINARY_TYPES[0];
|
|
814
817
|
this._extensions = options.extensions || {};
|
|
815
818
|
this._isServer = !!options.isServer;
|
|
819
|
+
this._maxBufferedChunks = options.maxBufferedChunks | 0;
|
|
820
|
+
this._maxFragments = options.maxFragments | 0;
|
|
816
821
|
this._maxPayload = options.maxPayload | 0;
|
|
817
822
|
this._skipUTF8Validation = !!options.skipUTF8Validation;
|
|
818
823
|
this[kWebSocket] = void 0;
|
|
@@ -842,6 +847,18 @@ var require_receiver = __commonJS({
|
|
|
842
847
|
*/
|
|
843
848
|
_write(chunk, encoding, cb) {
|
|
844
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
|
+
}
|
|
845
862
|
this._bufferedBytes += chunk.length;
|
|
846
863
|
this._buffers.push(chunk);
|
|
847
864
|
this.startLoop(cb);
|
|
@@ -940,7 +957,7 @@ var require_receiver = __commonJS({
|
|
|
940
957
|
return;
|
|
941
958
|
}
|
|
942
959
|
const compressed = (buf[0] & 64) === 64;
|
|
943
|
-
if (compressed && !this._extensions[
|
|
960
|
+
if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
|
|
944
961
|
const error = this.createError(
|
|
945
962
|
RangeError,
|
|
946
963
|
"RSV1 must be clear",
|
|
@@ -1171,6 +1188,17 @@ var require_receiver = __commonJS({
|
|
|
1171
1188
|
return;
|
|
1172
1189
|
}
|
|
1173
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
|
+
}
|
|
1174
1202
|
this._messageLength = this._totalPayloadLength;
|
|
1175
1203
|
this._fragments.push(data);
|
|
1176
1204
|
}
|
|
@@ -1184,7 +1212,7 @@ var require_receiver = __commonJS({
|
|
|
1184
1212
|
* @private
|
|
1185
1213
|
*/
|
|
1186
1214
|
decompress(data, cb) {
|
|
1187
|
-
const perMessageDeflate = this._extensions[
|
|
1215
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
|
|
1188
1216
|
perMessageDeflate.decompress(data, this._fin, (err, buf) => {
|
|
1189
1217
|
if (err) return cb(err);
|
|
1190
1218
|
if (buf.length) {
|
|
@@ -1200,6 +1228,17 @@ var require_receiver = __commonJS({
|
|
|
1200
1228
|
cb(error);
|
|
1201
1229
|
return;
|
|
1202
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
|
+
}
|
|
1203
1242
|
this._fragments.push(buf);
|
|
1204
1243
|
}
|
|
1205
1244
|
this.dataMessage(cb);
|
|
@@ -1356,7 +1395,7 @@ var require_receiver = __commonJS({
|
|
|
1356
1395
|
return err;
|
|
1357
1396
|
}
|
|
1358
1397
|
};
|
|
1359
|
-
module.exports =
|
|
1398
|
+
module.exports = Receiver;
|
|
1360
1399
|
}
|
|
1361
1400
|
});
|
|
1362
1401
|
|
|
@@ -1370,7 +1409,7 @@ var require_sender = __commonJS({
|
|
|
1370
1409
|
var {
|
|
1371
1410
|
types: { isUint8Array }
|
|
1372
1411
|
} = __require("util");
|
|
1373
|
-
var
|
|
1412
|
+
var PerMessageDeflate = require_permessage_deflate();
|
|
1374
1413
|
var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants();
|
|
1375
1414
|
var { isBlob, isValidStatusCode } = require_validation();
|
|
1376
1415
|
var { mask: applyMask, toBuffer } = require_buffer_util();
|
|
@@ -1382,7 +1421,7 @@ var require_sender = __commonJS({
|
|
|
1382
1421
|
var DEFAULT = 0;
|
|
1383
1422
|
var DEFLATING = 1;
|
|
1384
1423
|
var GET_BLOB_DATA = 2;
|
|
1385
|
-
var
|
|
1424
|
+
var Sender = class _Sender {
|
|
1386
1425
|
static {
|
|
1387
1426
|
__name(this, "Sender");
|
|
1388
1427
|
}
|
|
@@ -1659,7 +1698,7 @@ var require_sender = __commonJS({
|
|
|
1659
1698
|
* @public
|
|
1660
1699
|
*/
|
|
1661
1700
|
send(data, options, cb) {
|
|
1662
|
-
const perMessageDeflate = this._extensions[
|
|
1701
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
|
|
1663
1702
|
let opcode = options.binary ? 2 : 1;
|
|
1664
1703
|
let rsv1 = options.compress;
|
|
1665
1704
|
let byteLength;
|
|
@@ -1783,7 +1822,7 @@ var require_sender = __commonJS({
|
|
|
1783
1822
|
this.sendFrame(_Sender.frame(data, options), cb);
|
|
1784
1823
|
return;
|
|
1785
1824
|
}
|
|
1786
|
-
const perMessageDeflate = this._extensions[
|
|
1825
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
|
|
1787
1826
|
this._bufferedBytes += options[kByteLength];
|
|
1788
1827
|
this._state = DEFLATING;
|
|
1789
1828
|
perMessageDeflate.compress(data, options.fin, (_, buf) => {
|
|
@@ -1841,7 +1880,7 @@ var require_sender = __commonJS({
|
|
|
1841
1880
|
}
|
|
1842
1881
|
}
|
|
1843
1882
|
};
|
|
1844
|
-
module.exports =
|
|
1883
|
+
module.exports = Sender;
|
|
1845
1884
|
function callCallbacks(sender, err, cb) {
|
|
1846
1885
|
if (typeof cb === "function") cb(err);
|
|
1847
1886
|
for (let i = 0; i < sender._queue.length; i++) {
|
|
@@ -1859,6 +1898,163 @@ var require_sender = __commonJS({
|
|
|
1859
1898
|
}
|
|
1860
1899
|
});
|
|
1861
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
|
+
|
|
1862
2058
|
// node_modules/ws/lib/event-target.js
|
|
1863
2059
|
var require_event_target = __commonJS({
|
|
1864
2060
|
"node_modules/ws/lib/event-target.js"(exports, module) {
|
|
@@ -2102,163 +2298,6 @@ var require_event_target = __commonJS({
|
|
|
2102
2298
|
}
|
|
2103
2299
|
});
|
|
2104
2300
|
|
|
2105
|
-
// node_modules/ws/lib/extension.js
|
|
2106
|
-
var require_extension = __commonJS({
|
|
2107
|
-
"node_modules/ws/lib/extension.js"(exports, module) {
|
|
2108
|
-
"use strict";
|
|
2109
|
-
init_esbuild_shims();
|
|
2110
|
-
var { tokenChars } = require_validation();
|
|
2111
|
-
function push(dest, name, elem) {
|
|
2112
|
-
if (dest[name] === void 0) dest[name] = [elem];
|
|
2113
|
-
else dest[name].push(elem);
|
|
2114
|
-
}
|
|
2115
|
-
__name(push, "push");
|
|
2116
|
-
function parse(header) {
|
|
2117
|
-
const offers = /* @__PURE__ */ Object.create(null);
|
|
2118
|
-
let params = /* @__PURE__ */ Object.create(null);
|
|
2119
|
-
let mustUnescape = false;
|
|
2120
|
-
let isEscaping = false;
|
|
2121
|
-
let inQuotes = false;
|
|
2122
|
-
let extensionName;
|
|
2123
|
-
let paramName;
|
|
2124
|
-
let start = -1;
|
|
2125
|
-
let code = -1;
|
|
2126
|
-
let end = -1;
|
|
2127
|
-
let i = 0;
|
|
2128
|
-
for (; i < header.length; i++) {
|
|
2129
|
-
code = header.charCodeAt(i);
|
|
2130
|
-
if (extensionName === void 0) {
|
|
2131
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
2132
|
-
if (start === -1) start = i;
|
|
2133
|
-
} else if (i !== 0 && (code === 32 || code === 9)) {
|
|
2134
|
-
if (end === -1 && start !== -1) end = i;
|
|
2135
|
-
} else if (code === 59 || code === 44) {
|
|
2136
|
-
if (start === -1) {
|
|
2137
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2138
|
-
}
|
|
2139
|
-
if (end === -1) end = i;
|
|
2140
|
-
const name = header.slice(start, end);
|
|
2141
|
-
if (code === 44) {
|
|
2142
|
-
push(offers, name, params);
|
|
2143
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2144
|
-
} else {
|
|
2145
|
-
extensionName = name;
|
|
2146
|
-
}
|
|
2147
|
-
start = end = -1;
|
|
2148
|
-
} else {
|
|
2149
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2150
|
-
}
|
|
2151
|
-
} else if (paramName === void 0) {
|
|
2152
|
-
if (end === -1 && tokenChars[code] === 1) {
|
|
2153
|
-
if (start === -1) start = i;
|
|
2154
|
-
} else if (code === 32 || code === 9) {
|
|
2155
|
-
if (end === -1 && start !== -1) end = i;
|
|
2156
|
-
} else if (code === 59 || code === 44) {
|
|
2157
|
-
if (start === -1) {
|
|
2158
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2159
|
-
}
|
|
2160
|
-
if (end === -1) end = i;
|
|
2161
|
-
push(params, header.slice(start, end), true);
|
|
2162
|
-
if (code === 44) {
|
|
2163
|
-
push(offers, extensionName, params);
|
|
2164
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2165
|
-
extensionName = void 0;
|
|
2166
|
-
}
|
|
2167
|
-
start = end = -1;
|
|
2168
|
-
} else if (code === 61 && start !== -1 && end === -1) {
|
|
2169
|
-
paramName = header.slice(start, i);
|
|
2170
|
-
start = end = -1;
|
|
2171
|
-
} else {
|
|
2172
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2173
|
-
}
|
|
2174
|
-
} else {
|
|
2175
|
-
if (isEscaping) {
|
|
2176
|
-
if (tokenChars[code] !== 1) {
|
|
2177
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2178
|
-
}
|
|
2179
|
-
if (start === -1) start = i;
|
|
2180
|
-
else if (!mustUnescape) mustUnescape = true;
|
|
2181
|
-
isEscaping = false;
|
|
2182
|
-
} else if (inQuotes) {
|
|
2183
|
-
if (tokenChars[code] === 1) {
|
|
2184
|
-
if (start === -1) start = i;
|
|
2185
|
-
} else if (code === 34 && start !== -1) {
|
|
2186
|
-
inQuotes = false;
|
|
2187
|
-
end = i;
|
|
2188
|
-
} else if (code === 92) {
|
|
2189
|
-
isEscaping = true;
|
|
2190
|
-
} else {
|
|
2191
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2192
|
-
}
|
|
2193
|
-
} else if (code === 34 && header.charCodeAt(i - 1) === 61) {
|
|
2194
|
-
inQuotes = true;
|
|
2195
|
-
} else if (end === -1 && tokenChars[code] === 1) {
|
|
2196
|
-
if (start === -1) start = i;
|
|
2197
|
-
} else if (start !== -1 && (code === 32 || code === 9)) {
|
|
2198
|
-
if (end === -1) end = i;
|
|
2199
|
-
} else if (code === 59 || code === 44) {
|
|
2200
|
-
if (start === -1) {
|
|
2201
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2202
|
-
}
|
|
2203
|
-
if (end === -1) end = i;
|
|
2204
|
-
let value = header.slice(start, end);
|
|
2205
|
-
if (mustUnescape) {
|
|
2206
|
-
value = value.replace(/\\/g, "");
|
|
2207
|
-
mustUnescape = false;
|
|
2208
|
-
}
|
|
2209
|
-
push(params, paramName, value);
|
|
2210
|
-
if (code === 44) {
|
|
2211
|
-
push(offers, extensionName, params);
|
|
2212
|
-
params = /* @__PURE__ */ Object.create(null);
|
|
2213
|
-
extensionName = void 0;
|
|
2214
|
-
}
|
|
2215
|
-
paramName = void 0;
|
|
2216
|
-
start = end = -1;
|
|
2217
|
-
} else {
|
|
2218
|
-
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
2219
|
-
}
|
|
2220
|
-
}
|
|
2221
|
-
}
|
|
2222
|
-
if (start === -1 || inQuotes || code === 32 || code === 9) {
|
|
2223
|
-
throw new SyntaxError("Unexpected end of input");
|
|
2224
|
-
}
|
|
2225
|
-
if (end === -1) end = i;
|
|
2226
|
-
const token = header.slice(start, end);
|
|
2227
|
-
if (extensionName === void 0) {
|
|
2228
|
-
push(offers, token, params);
|
|
2229
|
-
} else {
|
|
2230
|
-
if (paramName === void 0) {
|
|
2231
|
-
push(params, token, true);
|
|
2232
|
-
} else if (mustUnescape) {
|
|
2233
|
-
push(params, paramName, token.replace(/\\/g, ""));
|
|
2234
|
-
} else {
|
|
2235
|
-
push(params, paramName, token);
|
|
2236
|
-
}
|
|
2237
|
-
push(offers, extensionName, params);
|
|
2238
|
-
}
|
|
2239
|
-
return offers;
|
|
2240
|
-
}
|
|
2241
|
-
__name(parse, "parse");
|
|
2242
|
-
function format(extensions) {
|
|
2243
|
-
return Object.keys(extensions).map((extension2) => {
|
|
2244
|
-
let configurations = extensions[extension2];
|
|
2245
|
-
if (!Array.isArray(configurations)) configurations = [configurations];
|
|
2246
|
-
return configurations.map((params) => {
|
|
2247
|
-
return [extension2].concat(
|
|
2248
|
-
Object.keys(params).map((k) => {
|
|
2249
|
-
let values = params[k];
|
|
2250
|
-
if (!Array.isArray(values)) values = [values];
|
|
2251
|
-
return values.map((v) => v === true ? k : `${k}=${v}`).join("; ");
|
|
2252
|
-
})
|
|
2253
|
-
).join("; ");
|
|
2254
|
-
}).join(", ");
|
|
2255
|
-
}).join(", ");
|
|
2256
|
-
}
|
|
2257
|
-
__name(format, "format");
|
|
2258
|
-
module.exports = { format, parse };
|
|
2259
|
-
}
|
|
2260
|
-
});
|
|
2261
|
-
|
|
2262
2301
|
// node_modules/ws/lib/websocket.js
|
|
2263
2302
|
var require_websocket = __commonJS({
|
|
2264
2303
|
"node_modules/ws/lib/websocket.js"(exports, module) {
|
|
@@ -2272,9 +2311,9 @@ var require_websocket = __commonJS({
|
|
|
2272
2311
|
var { randomBytes, createHash } = __require("crypto");
|
|
2273
2312
|
var { Duplex, Readable } = __require("stream");
|
|
2274
2313
|
var { URL } = __require("url");
|
|
2275
|
-
var
|
|
2276
|
-
var
|
|
2277
|
-
var
|
|
2314
|
+
var PerMessageDeflate = require_permessage_deflate();
|
|
2315
|
+
var Receiver = require_receiver();
|
|
2316
|
+
var Sender = require_sender();
|
|
2278
2317
|
var { isBlob } = require_validation();
|
|
2279
2318
|
var {
|
|
2280
2319
|
BINARY_TYPES,
|
|
@@ -2296,7 +2335,7 @@ var require_websocket = __commonJS({
|
|
|
2296
2335
|
var protocolVersions = [8, 13];
|
|
2297
2336
|
var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
2298
2337
|
var subprotocolRegex = /^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;
|
|
2299
|
-
var
|
|
2338
|
+
var WebSocket = class _WebSocket extends EventEmitter {
|
|
2300
2339
|
static {
|
|
2301
2340
|
__name(this, "WebSocket");
|
|
2302
2341
|
}
|
|
@@ -2434,21 +2473,27 @@ var require_websocket = __commonJS({
|
|
|
2434
2473
|
* multiple times in the same tick
|
|
2435
2474
|
* @param {Function} [options.generateMask] The function used to generate the
|
|
2436
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
|
|
2437
2480
|
* @param {Number} [options.maxPayload=0] The maximum allowed message size
|
|
2438
2481
|
* @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
|
|
2439
2482
|
* not to skip UTF-8 validation for text and close messages
|
|
2440
2483
|
* @private
|
|
2441
2484
|
*/
|
|
2442
2485
|
setSocket(socket, head, options) {
|
|
2443
|
-
const receiver = new
|
|
2486
|
+
const receiver = new Receiver({
|
|
2444
2487
|
allowSynchronousEvents: options.allowSynchronousEvents,
|
|
2445
2488
|
binaryType: this.binaryType,
|
|
2446
2489
|
extensions: this._extensions,
|
|
2447
2490
|
isServer: this._isServer,
|
|
2491
|
+
maxBufferedChunks: options.maxBufferedChunks,
|
|
2492
|
+
maxFragments: options.maxFragments,
|
|
2448
2493
|
maxPayload: options.maxPayload,
|
|
2449
2494
|
skipUTF8Validation: options.skipUTF8Validation
|
|
2450
2495
|
});
|
|
2451
|
-
const sender = new
|
|
2496
|
+
const sender = new Sender(socket, this._extensions, options.generateMask);
|
|
2452
2497
|
this._receiver = receiver;
|
|
2453
2498
|
this._sender = sender;
|
|
2454
2499
|
this._socket = socket;
|
|
@@ -2483,8 +2528,8 @@ var require_websocket = __commonJS({
|
|
|
2483
2528
|
this.emit("close", this._closeCode, this._closeMessage);
|
|
2484
2529
|
return;
|
|
2485
2530
|
}
|
|
2486
|
-
if (this._extensions[
|
|
2487
|
-
this._extensions[
|
|
2531
|
+
if (this._extensions[PerMessageDeflate.extensionName]) {
|
|
2532
|
+
this._extensions[PerMessageDeflate.extensionName].cleanup();
|
|
2488
2533
|
}
|
|
2489
2534
|
this._receiver.removeAllListeners();
|
|
2490
2535
|
this._readyState = _WebSocket.CLOSED;
|
|
@@ -2646,7 +2691,7 @@ var require_websocket = __commonJS({
|
|
|
2646
2691
|
fin: true,
|
|
2647
2692
|
...options
|
|
2648
2693
|
};
|
|
2649
|
-
if (!this._extensions[
|
|
2694
|
+
if (!this._extensions[PerMessageDeflate.extensionName]) {
|
|
2650
2695
|
opts.compress = false;
|
|
2651
2696
|
}
|
|
2652
2697
|
this._sender.send(data || EMPTY_BUFFER, opts, cb);
|
|
@@ -2669,35 +2714,35 @@ var require_websocket = __commonJS({
|
|
|
2669
2714
|
}
|
|
2670
2715
|
}
|
|
2671
2716
|
};
|
|
2672
|
-
Object.defineProperty(
|
|
2717
|
+
Object.defineProperty(WebSocket, "CONNECTING", {
|
|
2673
2718
|
enumerable: true,
|
|
2674
2719
|
value: readyStates.indexOf("CONNECTING")
|
|
2675
2720
|
});
|
|
2676
|
-
Object.defineProperty(
|
|
2721
|
+
Object.defineProperty(WebSocket.prototype, "CONNECTING", {
|
|
2677
2722
|
enumerable: true,
|
|
2678
2723
|
value: readyStates.indexOf("CONNECTING")
|
|
2679
2724
|
});
|
|
2680
|
-
Object.defineProperty(
|
|
2725
|
+
Object.defineProperty(WebSocket, "OPEN", {
|
|
2681
2726
|
enumerable: true,
|
|
2682
2727
|
value: readyStates.indexOf("OPEN")
|
|
2683
2728
|
});
|
|
2684
|
-
Object.defineProperty(
|
|
2729
|
+
Object.defineProperty(WebSocket.prototype, "OPEN", {
|
|
2685
2730
|
enumerable: true,
|
|
2686
2731
|
value: readyStates.indexOf("OPEN")
|
|
2687
2732
|
});
|
|
2688
|
-
Object.defineProperty(
|
|
2733
|
+
Object.defineProperty(WebSocket, "CLOSING", {
|
|
2689
2734
|
enumerable: true,
|
|
2690
2735
|
value: readyStates.indexOf("CLOSING")
|
|
2691
2736
|
});
|
|
2692
|
-
Object.defineProperty(
|
|
2737
|
+
Object.defineProperty(WebSocket.prototype, "CLOSING", {
|
|
2693
2738
|
enumerable: true,
|
|
2694
2739
|
value: readyStates.indexOf("CLOSING")
|
|
2695
2740
|
});
|
|
2696
|
-
Object.defineProperty(
|
|
2741
|
+
Object.defineProperty(WebSocket, "CLOSED", {
|
|
2697
2742
|
enumerable: true,
|
|
2698
2743
|
value: readyStates.indexOf("CLOSED")
|
|
2699
2744
|
});
|
|
2700
|
-
Object.defineProperty(
|
|
2745
|
+
Object.defineProperty(WebSocket.prototype, "CLOSED", {
|
|
2701
2746
|
enumerable: true,
|
|
2702
2747
|
value: readyStates.indexOf("CLOSED")
|
|
2703
2748
|
});
|
|
@@ -2710,10 +2755,10 @@ var require_websocket = __commonJS({
|
|
|
2710
2755
|
"readyState",
|
|
2711
2756
|
"url"
|
|
2712
2757
|
].forEach((property) => {
|
|
2713
|
-
Object.defineProperty(
|
|
2758
|
+
Object.defineProperty(WebSocket.prototype, property, { enumerable: true });
|
|
2714
2759
|
});
|
|
2715
2760
|
["open", "error", "close", "message"].forEach((method) => {
|
|
2716
|
-
Object.defineProperty(
|
|
2761
|
+
Object.defineProperty(WebSocket.prototype, `on${method}`, {
|
|
2717
2762
|
enumerable: true,
|
|
2718
2763
|
get() {
|
|
2719
2764
|
for (const listener of this.listeners(method)) {
|
|
@@ -2735,15 +2780,17 @@ var require_websocket = __commonJS({
|
|
|
2735
2780
|
}
|
|
2736
2781
|
});
|
|
2737
2782
|
});
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
module.exports =
|
|
2783
|
+
WebSocket.prototype.addEventListener = addEventListener;
|
|
2784
|
+
WebSocket.prototype.removeEventListener = removeEventListener;
|
|
2785
|
+
module.exports = WebSocket;
|
|
2741
2786
|
function initAsClient(websocket, address, protocols, options) {
|
|
2742
2787
|
const opts = {
|
|
2743
2788
|
allowSynchronousEvents: true,
|
|
2744
2789
|
autoPong: true,
|
|
2745
2790
|
closeTimeout: CLOSE_TIMEOUT,
|
|
2746
2791
|
protocolVersion: protocolVersions[1],
|
|
2792
|
+
maxBufferedChunks: 1024 * 1024,
|
|
2793
|
+
maxFragments: 128 * 1024,
|
|
2747
2794
|
maxPayload: 100 * 1024 * 1024,
|
|
2748
2795
|
skipUTF8Validation: false,
|
|
2749
2796
|
perMessageDeflate: true,
|
|
@@ -2820,13 +2867,13 @@ var require_websocket = __commonJS({
|
|
|
2820
2867
|
opts.path = parsedUrl.pathname + parsedUrl.search;
|
|
2821
2868
|
opts.timeout = opts.handshakeTimeout;
|
|
2822
2869
|
if (opts.perMessageDeflate) {
|
|
2823
|
-
perMessageDeflate = new
|
|
2870
|
+
perMessageDeflate = new PerMessageDeflate({
|
|
2824
2871
|
...opts.perMessageDeflate,
|
|
2825
2872
|
isServer: false,
|
|
2826
2873
|
maxPayload: opts.maxPayload
|
|
2827
2874
|
});
|
|
2828
2875
|
opts.headers["Sec-WebSocket-Extensions"] = format({
|
|
2829
|
-
[
|
|
2876
|
+
[PerMessageDeflate.extensionName]: perMessageDeflate.offer()
|
|
2830
2877
|
});
|
|
2831
2878
|
}
|
|
2832
2879
|
if (protocols.length) {
|
|
@@ -2925,7 +2972,7 @@ var require_websocket = __commonJS({
|
|
|
2925
2972
|
});
|
|
2926
2973
|
req.on("upgrade", (res, socket, head) => {
|
|
2927
2974
|
websocket.emit("upgrade", res);
|
|
2928
|
-
if (websocket.readyState !==
|
|
2975
|
+
if (websocket.readyState !== WebSocket.CONNECTING) return;
|
|
2929
2976
|
req = websocket._req = null;
|
|
2930
2977
|
const upgrade = res.headers.upgrade;
|
|
2931
2978
|
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
@@ -2969,23 +3016,25 @@ var require_websocket = __commonJS({
|
|
|
2969
3016
|
return;
|
|
2970
3017
|
}
|
|
2971
3018
|
const extensionNames = Object.keys(extensions);
|
|
2972
|
-
if (extensionNames.length !== 1 || extensionNames[0] !==
|
|
3019
|
+
if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate.extensionName) {
|
|
2973
3020
|
const message = "Server indicated an extension that was not requested";
|
|
2974
3021
|
abortHandshake(websocket, socket, message);
|
|
2975
3022
|
return;
|
|
2976
3023
|
}
|
|
2977
3024
|
try {
|
|
2978
|
-
perMessageDeflate.accept(extensions[
|
|
3025
|
+
perMessageDeflate.accept(extensions[PerMessageDeflate.extensionName]);
|
|
2979
3026
|
} catch (err) {
|
|
2980
3027
|
const message = "Invalid Sec-WebSocket-Extensions header";
|
|
2981
3028
|
abortHandshake(websocket, socket, message);
|
|
2982
3029
|
return;
|
|
2983
3030
|
}
|
|
2984
|
-
websocket._extensions[
|
|
3031
|
+
websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
|
|
2985
3032
|
}
|
|
2986
3033
|
websocket.setSocket(socket, head, {
|
|
2987
3034
|
allowSynchronousEvents: opts.allowSynchronousEvents,
|
|
2988
3035
|
generateMask: opts.generateMask,
|
|
3036
|
+
maxBufferedChunks: opts.maxBufferedChunks,
|
|
3037
|
+
maxFragments: opts.maxFragments,
|
|
2989
3038
|
maxPayload: opts.maxPayload,
|
|
2990
3039
|
skipUTF8Validation: opts.skipUTF8Validation
|
|
2991
3040
|
});
|
|
@@ -2998,7 +3047,7 @@ var require_websocket = __commonJS({
|
|
|
2998
3047
|
}
|
|
2999
3048
|
__name(initAsClient, "initAsClient");
|
|
3000
3049
|
function emitErrorAndClose(websocket, err) {
|
|
3001
|
-
websocket._readyState =
|
|
3050
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3002
3051
|
websocket._errorEmitted = true;
|
|
3003
3052
|
websocket.emit("error", err);
|
|
3004
3053
|
websocket.emitClose();
|
|
@@ -3018,7 +3067,7 @@ var require_websocket = __commonJS({
|
|
|
3018
3067
|
}
|
|
3019
3068
|
__name(tlsConnect, "tlsConnect");
|
|
3020
3069
|
function abortHandshake(websocket, stream, message) {
|
|
3021
|
-
websocket._readyState =
|
|
3070
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3022
3071
|
const err = new Error(message);
|
|
3023
3072
|
Error.captureStackTrace(err, abortHandshake);
|
|
3024
3073
|
if (stream.setHeader) {
|
|
@@ -3103,9 +3152,9 @@ var require_websocket = __commonJS({
|
|
|
3103
3152
|
__name(resume, "resume");
|
|
3104
3153
|
function senderOnError(err) {
|
|
3105
3154
|
const websocket = this[kWebSocket];
|
|
3106
|
-
if (websocket.readyState ===
|
|
3107
|
-
if (websocket.readyState ===
|
|
3108
|
-
websocket._readyState =
|
|
3155
|
+
if (websocket.readyState === WebSocket.CLOSED) return;
|
|
3156
|
+
if (websocket.readyState === WebSocket.OPEN) {
|
|
3157
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3109
3158
|
setCloseTimer(websocket);
|
|
3110
3159
|
}
|
|
3111
3160
|
this._socket.end();
|
|
@@ -3127,7 +3176,7 @@ var require_websocket = __commonJS({
|
|
|
3127
3176
|
this.removeListener("close", socketOnClose);
|
|
3128
3177
|
this.removeListener("data", socketOnData);
|
|
3129
3178
|
this.removeListener("end", socketOnEnd);
|
|
3130
|
-
websocket._readyState =
|
|
3179
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3131
3180
|
if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
|
|
3132
3181
|
const chunk = this.read(this._readableState.length);
|
|
3133
3182
|
websocket._receiver.write(chunk);
|
|
@@ -3151,7 +3200,7 @@ var require_websocket = __commonJS({
|
|
|
3151
3200
|
__name(socketOnData, "socketOnData");
|
|
3152
3201
|
function socketOnEnd() {
|
|
3153
3202
|
const websocket = this[kWebSocket];
|
|
3154
|
-
websocket._readyState =
|
|
3203
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3155
3204
|
websocket._receiver.end();
|
|
3156
3205
|
this.end();
|
|
3157
3206
|
}
|
|
@@ -3161,7 +3210,7 @@ var require_websocket = __commonJS({
|
|
|
3161
3210
|
this.removeListener("error", socketOnError);
|
|
3162
3211
|
this.on("error", NOOP);
|
|
3163
3212
|
if (websocket) {
|
|
3164
|
-
websocket._readyState =
|
|
3213
|
+
websocket._readyState = WebSocket.CLOSING;
|
|
3165
3214
|
this.destroy();
|
|
3166
3215
|
}
|
|
3167
3216
|
}
|
|
@@ -3174,7 +3223,7 @@ var require_stream = __commonJS({
|
|
|
3174
3223
|
"node_modules/ws/lib/stream.js"(exports, module) {
|
|
3175
3224
|
"use strict";
|
|
3176
3225
|
init_esbuild_shims();
|
|
3177
|
-
var
|
|
3226
|
+
var WebSocket = require_websocket();
|
|
3178
3227
|
var { Duplex } = __require("stream");
|
|
3179
3228
|
function emitClose(stream) {
|
|
3180
3229
|
stream.emit("close");
|
|
@@ -3194,7 +3243,7 @@ var require_stream = __commonJS({
|
|
|
3194
3243
|
}
|
|
3195
3244
|
}
|
|
3196
3245
|
__name(duplexOnError, "duplexOnError");
|
|
3197
|
-
function
|
|
3246
|
+
function createWebSocketStream(ws, options) {
|
|
3198
3247
|
let terminateOnDestroy = true;
|
|
3199
3248
|
const duplex = new Duplex({
|
|
3200
3249
|
...options,
|
|
@@ -3267,8 +3316,8 @@ var require_stream = __commonJS({
|
|
|
3267
3316
|
duplex.on("error", duplexOnError);
|
|
3268
3317
|
return duplex;
|
|
3269
3318
|
}
|
|
3270
|
-
__name(
|
|
3271
|
-
module.exports =
|
|
3319
|
+
__name(createWebSocketStream, "createWebSocketStream");
|
|
3320
|
+
module.exports = createWebSocketStream;
|
|
3272
3321
|
}
|
|
3273
3322
|
});
|
|
3274
3323
|
|
|
@@ -3328,16 +3377,16 @@ var require_websocket_server = __commonJS({
|
|
|
3328
3377
|
var http = __require("http");
|
|
3329
3378
|
var { Duplex } = __require("stream");
|
|
3330
3379
|
var { createHash } = __require("crypto");
|
|
3331
|
-
var
|
|
3332
|
-
var
|
|
3333
|
-
var
|
|
3334
|
-
var
|
|
3380
|
+
var extension = require_extension();
|
|
3381
|
+
var PerMessageDeflate = require_permessage_deflate();
|
|
3382
|
+
var subprotocol = require_subprotocol();
|
|
3383
|
+
var WebSocket = require_websocket();
|
|
3335
3384
|
var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
|
|
3336
3385
|
var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
3337
3386
|
var RUNNING = 0;
|
|
3338
3387
|
var CLOSING = 1;
|
|
3339
3388
|
var CLOSED = 2;
|
|
3340
|
-
var
|
|
3389
|
+
var WebSocketServer = class extends EventEmitter {
|
|
3341
3390
|
static {
|
|
3342
3391
|
__name(this, "WebSocketServer");
|
|
3343
3392
|
}
|
|
@@ -3359,6 +3408,10 @@ var require_websocket_server = __commonJS({
|
|
|
3359
3408
|
* called
|
|
3360
3409
|
* @param {Function} [options.handleProtocols] A hook to handle protocols
|
|
3361
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
|
|
3362
3415
|
* @param {Number} [options.maxPayload=104857600] The maximum allowed message
|
|
3363
3416
|
* size
|
|
3364
3417
|
* @param {Boolean} [options.noServer=false] Enable no server mode
|
|
@@ -3380,6 +3433,8 @@ var require_websocket_server = __commonJS({
|
|
|
3380
3433
|
options = {
|
|
3381
3434
|
allowSynchronousEvents: true,
|
|
3382
3435
|
autoPong: true,
|
|
3436
|
+
maxBufferedChunks: 1024 * 1024,
|
|
3437
|
+
maxFragments: 128 * 1024,
|
|
3383
3438
|
maxPayload: 100 * 1024 * 1024,
|
|
3384
3439
|
skipUTF8Validation: false,
|
|
3385
3440
|
perMessageDeflate: false,
|
|
@@ -3394,7 +3449,7 @@ var require_websocket_server = __commonJS({
|
|
|
3394
3449
|
host: null,
|
|
3395
3450
|
path: null,
|
|
3396
3451
|
port: null,
|
|
3397
|
-
WebSocket
|
|
3452
|
+
WebSocket,
|
|
3398
3453
|
...options
|
|
3399
3454
|
};
|
|
3400
3455
|
if (options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) {
|
|
@@ -3556,7 +3611,7 @@ var require_websocket_server = __commonJS({
|
|
|
3556
3611
|
let protocols = /* @__PURE__ */ new Set();
|
|
3557
3612
|
if (secWebSocketProtocol !== void 0) {
|
|
3558
3613
|
try {
|
|
3559
|
-
protocols =
|
|
3614
|
+
protocols = subprotocol.parse(secWebSocketProtocol);
|
|
3560
3615
|
} catch (err) {
|
|
3561
3616
|
const message = "Invalid Sec-WebSocket-Protocol header";
|
|
3562
3617
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
@@ -3566,16 +3621,16 @@ var require_websocket_server = __commonJS({
|
|
|
3566
3621
|
const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
|
|
3567
3622
|
const extensions = {};
|
|
3568
3623
|
if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) {
|
|
3569
|
-
const perMessageDeflate = new
|
|
3624
|
+
const perMessageDeflate = new PerMessageDeflate({
|
|
3570
3625
|
...this.options.perMessageDeflate,
|
|
3571
3626
|
isServer: true,
|
|
3572
3627
|
maxPayload: this.options.maxPayload
|
|
3573
3628
|
});
|
|
3574
3629
|
try {
|
|
3575
|
-
const offers =
|
|
3576
|
-
if (offers[
|
|
3577
|
-
perMessageDeflate.accept(offers[
|
|
3578
|
-
extensions[
|
|
3630
|
+
const offers = extension.parse(secWebSocketExtensions);
|
|
3631
|
+
if (offers[PerMessageDeflate.extensionName]) {
|
|
3632
|
+
perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
|
|
3633
|
+
extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
|
|
3579
3634
|
}
|
|
3580
3635
|
} catch (err) {
|
|
3581
3636
|
const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
|
|
@@ -3646,10 +3701,10 @@ var require_websocket_server = __commonJS({
|
|
|
3646
3701
|
ws._protocol = protocol;
|
|
3647
3702
|
}
|
|
3648
3703
|
}
|
|
3649
|
-
if (extensions[
|
|
3650
|
-
const params = extensions[
|
|
3651
|
-
const value =
|
|
3652
|
-
[
|
|
3704
|
+
if (extensions[PerMessageDeflate.extensionName]) {
|
|
3705
|
+
const params = extensions[PerMessageDeflate.extensionName].params;
|
|
3706
|
+
const value = extension.format({
|
|
3707
|
+
[PerMessageDeflate.extensionName]: [params]
|
|
3653
3708
|
});
|
|
3654
3709
|
headers.push(`Sec-WebSocket-Extensions: ${value}`);
|
|
3655
3710
|
ws._extensions = extensions;
|
|
@@ -3659,6 +3714,8 @@ var require_websocket_server = __commonJS({
|
|
|
3659
3714
|
socket.removeListener("error", socketOnError);
|
|
3660
3715
|
ws.setSocket(socket, head, {
|
|
3661
3716
|
allowSynchronousEvents: this.options.allowSynchronousEvents,
|
|
3717
|
+
maxBufferedChunks: this.options.maxBufferedChunks,
|
|
3718
|
+
maxFragments: this.options.maxFragments,
|
|
3662
3719
|
maxPayload: this.options.maxPayload,
|
|
3663
3720
|
skipUTF8Validation: this.options.skipUTF8Validation
|
|
3664
3721
|
});
|
|
@@ -3674,7 +3731,7 @@ var require_websocket_server = __commonJS({
|
|
|
3674
3731
|
cb(ws, req);
|
|
3675
3732
|
}
|
|
3676
3733
|
};
|
|
3677
|
-
module.exports =
|
|
3734
|
+
module.exports = WebSocketServer;
|
|
3678
3735
|
function addListeners(server, map) {
|
|
3679
3736
|
for (const event of Object.keys(map)) server.on(event, map[event]);
|
|
3680
3737
|
return /* @__PURE__ */ __name(function removeListeners() {
|
|
@@ -3721,19 +3778,13 @@ var require_websocket_server = __commonJS({
|
|
|
3721
3778
|
}
|
|
3722
3779
|
});
|
|
3723
3780
|
|
|
3724
|
-
// node_modules/ws/wrapper.mjs
|
|
3725
|
-
init_esbuild_shims();
|
|
3726
|
-
var import_stream = __toESM(require_stream(), 1);
|
|
3727
|
-
var import_extension = __toESM(require_extension(), 1);
|
|
3728
|
-
var import_permessage_deflate = __toESM(require_permessage_deflate(), 1);
|
|
3729
|
-
var import_receiver = __toESM(require_receiver(), 1);
|
|
3730
|
-
var import_sender = __toESM(require_sender(), 1);
|
|
3731
|
-
var import_subprotocol = __toESM(require_subprotocol(), 1);
|
|
3732
|
-
var import_websocket = __toESM(require_websocket(), 1);
|
|
3733
|
-
var import_websocket_server = __toESM(require_websocket_server(), 1);
|
|
3734
|
-
var wrapper_default = import_websocket.default;
|
|
3735
|
-
|
|
3736
3781
|
export {
|
|
3737
|
-
|
|
3738
|
-
|
|
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
|
|
3739
3790
|
};
|