@kevisual/router 0.2.4 → 0.2.5
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/dist/app.js +123 -112
- package/dist/commander.d.ts +2 -0
- package/dist/commander.js +90 -89
- package/dist/opencode.js +84 -84
- package/dist/router-browser.js +85 -85
- package/dist/router-simple.js +136 -95
- package/dist/router.js +119 -108
- package/dist/ws.js +34 -23
- package/package.json +1 -1
- package/src/commander.ts +4 -1
package/dist/ws.js
CHANGED
|
@@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => {
|
|
|
32
32
|
var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
|
|
33
33
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
34
34
|
|
|
35
|
-
// node_modules/ws/lib/constants.js
|
|
35
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/constants.js
|
|
36
36
|
var require_constants = __commonJS((exports, module) => {
|
|
37
37
|
var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
|
|
38
38
|
var hasBlob = typeof Blob !== "undefined";
|
|
@@ -40,6 +40,7 @@ var require_constants = __commonJS((exports, module) => {
|
|
|
40
40
|
BINARY_TYPES.push("blob");
|
|
41
41
|
module.exports = {
|
|
42
42
|
BINARY_TYPES,
|
|
43
|
+
CLOSE_TIMEOUT: 30000,
|
|
43
44
|
EMPTY_BUFFER: Buffer.alloc(0),
|
|
44
45
|
GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
|
|
45
46
|
hasBlob,
|
|
@@ -51,7 +52,7 @@ var require_constants = __commonJS((exports, module) => {
|
|
|
51
52
|
};
|
|
52
53
|
});
|
|
53
54
|
|
|
54
|
-
// node_modules/ws/lib/buffer-util.js
|
|
55
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/buffer-util.js
|
|
55
56
|
var require_buffer_util = __commonJS((exports, module) => {
|
|
56
57
|
var { EMPTY_BUFFER } = require_constants();
|
|
57
58
|
var FastBuffer = Buffer[Symbol.species];
|
|
@@ -112,7 +113,7 @@ var require_buffer_util = __commonJS((exports, module) => {
|
|
|
112
113
|
};
|
|
113
114
|
});
|
|
114
115
|
|
|
115
|
-
// node_modules/ws/lib/limiter.js
|
|
116
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/limiter.js
|
|
116
117
|
var require_limiter = __commonJS((exports, module) => {
|
|
117
118
|
var kDone = Symbol("kDone");
|
|
118
119
|
var kRun = Symbol("kRun");
|
|
@@ -144,7 +145,7 @@ var require_limiter = __commonJS((exports, module) => {
|
|
|
144
145
|
module.exports = Limiter;
|
|
145
146
|
});
|
|
146
147
|
|
|
147
|
-
// node_modules/ws/lib/permessage-deflate.js
|
|
148
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/permessage-deflate.js
|
|
148
149
|
var require_permessage_deflate = __commonJS((exports, module) => {
|
|
149
150
|
var zlib = __require("zlib");
|
|
150
151
|
var bufferUtil = require_buffer_util();
|
|
@@ -399,12 +400,16 @@ var require_permessage_deflate = __commonJS((exports, module) => {
|
|
|
399
400
|
}
|
|
400
401
|
function inflateOnError(err) {
|
|
401
402
|
this[kPerMessageDeflate]._inflate = null;
|
|
403
|
+
if (this[kError]) {
|
|
404
|
+
this[kCallback](this[kError]);
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
402
407
|
err[kStatusCode] = 1007;
|
|
403
408
|
this[kCallback](err);
|
|
404
409
|
}
|
|
405
410
|
});
|
|
406
411
|
|
|
407
|
-
// node_modules/ws/lib/validation.js
|
|
412
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/validation.js
|
|
408
413
|
var require_validation = __commonJS((exports, module) => {
|
|
409
414
|
var { isUtf8 } = __require("buffer");
|
|
410
415
|
var { hasBlob } = require_constants();
|
|
@@ -584,7 +589,7 @@ var require_validation = __commonJS((exports, module) => {
|
|
|
584
589
|
}
|
|
585
590
|
});
|
|
586
591
|
|
|
587
|
-
// node_modules/ws/lib/receiver.js
|
|
592
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/receiver.js
|
|
588
593
|
var require_receiver = __commonJS((exports, module) => {
|
|
589
594
|
var { Writable } = __require("stream");
|
|
590
595
|
var PerMessageDeflate = require_permessage_deflate();
|
|
@@ -965,7 +970,7 @@ var require_receiver = __commonJS((exports, module) => {
|
|
|
965
970
|
module.exports = Receiver;
|
|
966
971
|
});
|
|
967
972
|
|
|
968
|
-
// node_modules/ws/lib/sender.js
|
|
973
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/sender.js
|
|
969
974
|
var require_sender = __commonJS((exports, module) => {
|
|
970
975
|
var { Duplex } = __require("stream");
|
|
971
976
|
var { randomFillSync } = __require("crypto");
|
|
@@ -1319,7 +1324,7 @@ var require_sender = __commonJS((exports, module) => {
|
|
|
1319
1324
|
}
|
|
1320
1325
|
});
|
|
1321
1326
|
|
|
1322
|
-
// node_modules/ws/lib/event-target.js
|
|
1327
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/event-target.js
|
|
1323
1328
|
var require_event_target = __commonJS((exports, module) => {
|
|
1324
1329
|
var { kForOnEventAttribute, kListener } = require_constants();
|
|
1325
1330
|
var kCode = Symbol("kCode");
|
|
@@ -1470,7 +1475,7 @@ var require_event_target = __commonJS((exports, module) => {
|
|
|
1470
1475
|
}
|
|
1471
1476
|
});
|
|
1472
1477
|
|
|
1473
|
-
// node_modules/ws/lib/extension.js
|
|
1478
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/extension.js
|
|
1474
1479
|
var require_extension = __commonJS((exports, module) => {
|
|
1475
1480
|
var { tokenChars } = require_validation();
|
|
1476
1481
|
function push(dest, name, elem) {
|
|
@@ -1635,7 +1640,7 @@ var require_extension = __commonJS((exports, module) => {
|
|
|
1635
1640
|
module.exports = { format, parse };
|
|
1636
1641
|
});
|
|
1637
1642
|
|
|
1638
|
-
// node_modules/ws/lib/websocket.js
|
|
1643
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket.js
|
|
1639
1644
|
var require_websocket = __commonJS((exports, module) => {
|
|
1640
1645
|
var EventEmitter = __require("events");
|
|
1641
1646
|
var https = __require("https");
|
|
@@ -1651,6 +1656,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
1651
1656
|
var { isBlob } = require_validation();
|
|
1652
1657
|
var {
|
|
1653
1658
|
BINARY_TYPES,
|
|
1659
|
+
CLOSE_TIMEOUT,
|
|
1654
1660
|
EMPTY_BUFFER,
|
|
1655
1661
|
GUID,
|
|
1656
1662
|
kForOnEventAttribute,
|
|
@@ -1664,7 +1670,6 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
1664
1670
|
} = require_event_target();
|
|
1665
1671
|
var { format, parse } = require_extension();
|
|
1666
1672
|
var { toBuffer } = require_buffer_util();
|
|
1667
|
-
var closeTimeout = 30 * 1000;
|
|
1668
1673
|
var kAborted = Symbol("kAborted");
|
|
1669
1674
|
var protocolVersions = [8, 13];
|
|
1670
1675
|
var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
@@ -1704,6 +1709,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
1704
1709
|
initAsClient(this, address, protocols, options);
|
|
1705
1710
|
} else {
|
|
1706
1711
|
this._autoPong = options.autoPong;
|
|
1712
|
+
this._closeTimeout = options.closeTimeout;
|
|
1707
1713
|
this._isServer = true;
|
|
1708
1714
|
}
|
|
1709
1715
|
}
|
|
@@ -1995,6 +2001,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
1995
2001
|
const opts = {
|
|
1996
2002
|
allowSynchronousEvents: true,
|
|
1997
2003
|
autoPong: true,
|
|
2004
|
+
closeTimeout: CLOSE_TIMEOUT,
|
|
1998
2005
|
protocolVersion: protocolVersions[1],
|
|
1999
2006
|
maxPayload: 100 * 1024 * 1024,
|
|
2000
2007
|
skipUTF8Validation: false,
|
|
@@ -2012,6 +2019,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
2012
2019
|
port: undefined
|
|
2013
2020
|
};
|
|
2014
2021
|
websocket._autoPong = opts.autoPong;
|
|
2022
|
+
websocket._closeTimeout = opts.closeTimeout;
|
|
2015
2023
|
if (!protocolVersions.includes(opts.protocolVersion)) {
|
|
2016
2024
|
throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} ` + `(supported versions: ${protocolVersions.join(", ")})`);
|
|
2017
2025
|
}
|
|
@@ -2350,7 +2358,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
2350
2358
|
}
|
|
2351
2359
|
}
|
|
2352
2360
|
function setCloseTimer(websocket) {
|
|
2353
|
-
websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket),
|
|
2361
|
+
websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), websocket._closeTimeout);
|
|
2354
2362
|
}
|
|
2355
2363
|
function socketOnClose() {
|
|
2356
2364
|
const websocket = this[kWebSocket];
|
|
@@ -2358,8 +2366,8 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
2358
2366
|
this.removeListener("data", socketOnData);
|
|
2359
2367
|
this.removeListener("end", socketOnEnd);
|
|
2360
2368
|
websocket._readyState = WebSocket.CLOSING;
|
|
2361
|
-
|
|
2362
|
-
|
|
2369
|
+
if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
|
|
2370
|
+
const chunk = this.read(this._readableState.length);
|
|
2363
2371
|
websocket._receiver.write(chunk);
|
|
2364
2372
|
}
|
|
2365
2373
|
websocket._receiver.end();
|
|
@@ -2394,7 +2402,7 @@ var require_websocket = __commonJS((exports, module) => {
|
|
|
2394
2402
|
}
|
|
2395
2403
|
});
|
|
2396
2404
|
|
|
2397
|
-
// node_modules/ws/lib/stream.js
|
|
2405
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/stream.js
|
|
2398
2406
|
var require_stream = __commonJS((exports, module) => {
|
|
2399
2407
|
var WebSocket = require_websocket();
|
|
2400
2408
|
var { Duplex } = __require("stream");
|
|
@@ -2497,7 +2505,7 @@ var require_stream = __commonJS((exports, module) => {
|
|
|
2497
2505
|
module.exports = createWebSocketStream;
|
|
2498
2506
|
});
|
|
2499
2507
|
|
|
2500
|
-
// node_modules/ws/lib/subprotocol.js
|
|
2508
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/subprotocol.js
|
|
2501
2509
|
var require_subprotocol = __commonJS((exports, module) => {
|
|
2502
2510
|
var { tokenChars } = require_validation();
|
|
2503
2511
|
function parse(header) {
|
|
@@ -2542,7 +2550,7 @@ var require_subprotocol = __commonJS((exports, module) => {
|
|
|
2542
2550
|
module.exports = { parse };
|
|
2543
2551
|
});
|
|
2544
2552
|
|
|
2545
|
-
// node_modules/ws/lib/websocket-server.js
|
|
2553
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket-server.js
|
|
2546
2554
|
var require_websocket_server = __commonJS((exports, module) => {
|
|
2547
2555
|
var EventEmitter = __require("events");
|
|
2548
2556
|
var http = __require("http");
|
|
@@ -2552,7 +2560,7 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
2552
2560
|
var PerMessageDeflate = require_permessage_deflate();
|
|
2553
2561
|
var subprotocol = require_subprotocol();
|
|
2554
2562
|
var WebSocket = require_websocket();
|
|
2555
|
-
var { GUID, kWebSocket } = require_constants();
|
|
2563
|
+
var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
|
|
2556
2564
|
var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
2557
2565
|
var RUNNING = 0;
|
|
2558
2566
|
var CLOSING = 1;
|
|
@@ -2569,6 +2577,7 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
2569
2577
|
perMessageDeflate: false,
|
|
2570
2578
|
handleProtocols: null,
|
|
2571
2579
|
clientTracking: true,
|
|
2580
|
+
closeTimeout: CLOSE_TIMEOUT,
|
|
2572
2581
|
verifyClient: null,
|
|
2573
2582
|
noServer: false,
|
|
2574
2583
|
backlog: null,
|
|
@@ -2689,9 +2698,11 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
2689
2698
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
2690
2699
|
return;
|
|
2691
2700
|
}
|
|
2692
|
-
if (version !==
|
|
2701
|
+
if (version !== 13 && version !== 8) {
|
|
2693
2702
|
const message = "Missing or invalid Sec-WebSocket-Version header";
|
|
2694
|
-
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message
|
|
2703
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message, {
|
|
2704
|
+
"Sec-WebSocket-Version": "13, 8"
|
|
2705
|
+
});
|
|
2695
2706
|
return;
|
|
2696
2707
|
}
|
|
2697
2708
|
if (!this.shouldHandle(req)) {
|
|
@@ -2830,18 +2841,18 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
2830
2841
|
\r
|
|
2831
2842
|
` + message);
|
|
2832
2843
|
}
|
|
2833
|
-
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
2844
|
+
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message, headers) {
|
|
2834
2845
|
if (server.listenerCount("wsClientError")) {
|
|
2835
2846
|
const err = new Error(message);
|
|
2836
2847
|
Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
|
|
2837
2848
|
server.emit("wsClientError", err, socket, req);
|
|
2838
2849
|
} else {
|
|
2839
|
-
abortHandshake(socket, code, message);
|
|
2850
|
+
abortHandshake(socket, code, message, headers);
|
|
2840
2851
|
}
|
|
2841
2852
|
}
|
|
2842
2853
|
});
|
|
2843
2854
|
|
|
2844
|
-
// node_modules/ws/wrapper.mjs
|
|
2855
|
+
// ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/wrapper.mjs
|
|
2845
2856
|
var import_stream = __toESM(require_stream(), 1);
|
|
2846
2857
|
var import_receiver = __toESM(require_receiver(), 1);
|
|
2847
2858
|
var import_sender = __toESM(require_sender(), 1);
|
package/package.json
CHANGED
package/src/commander.ts
CHANGED
|
@@ -125,6 +125,8 @@ export const parse = async (opts: {
|
|
|
125
125
|
token?: string,
|
|
126
126
|
username?: string,
|
|
127
127
|
id?: string,
|
|
128
|
+
/** https://kevisual.cn/ws/proxy */
|
|
129
|
+
url?: string,
|
|
128
130
|
},
|
|
129
131
|
exitOnEnd?: boolean,
|
|
130
132
|
}) => {
|
|
@@ -141,12 +143,13 @@ export const parse = async (opts: {
|
|
|
141
143
|
createCommand({ app: app as App, program: _program });
|
|
142
144
|
|
|
143
145
|
if (opts.remote) {
|
|
144
|
-
const { token, username, id } = opts.remote;
|
|
146
|
+
const { token, username, id , url } = opts.remote;
|
|
145
147
|
const remoteApp = new RemoteApp({
|
|
146
148
|
app,
|
|
147
149
|
token,
|
|
148
150
|
username,
|
|
149
151
|
id,
|
|
152
|
+
url,
|
|
150
153
|
});
|
|
151
154
|
const isConnect = await remoteApp.isConnect();
|
|
152
155
|
if (isConnect) {
|