veryfront 0.0.63 → 0.0.64
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/ai/index.js +28 -28
- package/dist/ai/index.js.map +2 -2
- package/dist/ai/workflow.js +26 -24
- package/dist/ai/workflow.js.map +2 -2
- package/dist/cli.js +261 -3016
- package/dist/components.js +407 -224
- package/dist/components.js.map +4 -4
- package/dist/config.js +26 -24
- package/dist/config.js.map +2 -2
- package/dist/data.js +26 -24
- package/dist/data.js.map +2 -2
- package/dist/index.js +413 -229
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -131,6 +131,7 @@ function __loggerResetForTests(options = {}) {
|
|
|
131
131
|
var LogLevel, originalConsole, cachedLogLevel, ConsoleLogger, getDefaultLevel, trackedLoggers, cliLogger, serverLogger, rendererLogger, bundlerLogger, agentLogger, logger;
|
|
132
132
|
var init_logger = __esm({
|
|
133
133
|
"src/core/utils/logger/logger.ts"() {
|
|
134
|
+
"use strict";
|
|
134
135
|
init_env();
|
|
135
136
|
LogLevel = /* @__PURE__ */ ((LogLevel2) => {
|
|
136
137
|
LogLevel2[LogLevel2["DEBUG"] = 0] = "DEBUG";
|
|
@@ -236,6 +237,7 @@ var init_build = __esm({
|
|
|
236
237
|
var SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, MS_PER_SECOND, DEFAULT_LRU_MAX_ENTRIES, COMPONENT_LOADER_MAX_ENTRIES, COMPONENT_LOADER_TTL_MS, MDX_RENDERER_MAX_ENTRIES, MDX_RENDERER_TTL_MS, RENDERER_CORE_MAX_ENTRIES, RENDERER_CORE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_TTL_MS, DATA_FETCHING_MAX_ENTRIES, DATA_FETCHING_TTL_MS, MDX_CACHE_TTL_PRODUCTION_MS, MDX_CACHE_TTL_DEVELOPMENT_MS, BUNDLE_CACHE_TTL_PRODUCTION_MS, BUNDLE_CACHE_TTL_DEVELOPMENT_MS, BUNDLE_MANIFEST_PROD_TTL_MS, BUNDLE_MANIFEST_DEV_TTL_MS, RSC_MANIFEST_CACHE_TTL_MS, SERVER_ACTION_DEFAULT_TTL_SEC, DENO_KV_SAFE_SIZE_LIMIT_BYTES, HTTP_CACHE_SHORT_MAX_AGE_SEC, HTTP_CACHE_MEDIUM_MAX_AGE_SEC, HTTP_CACHE_LONG_MAX_AGE_SEC, ONE_DAY_MS, CACHE_CLEANUP_INTERVAL_MS, LRU_DEFAULT_MAX_ENTRIES, LRU_DEFAULT_MAX_SIZE_BYTES, CLEANUP_INTERVAL_MULTIPLIER;
|
|
237
238
|
var init_cache = __esm({
|
|
238
239
|
"src/core/utils/constants/cache.ts"() {
|
|
240
|
+
"use strict";
|
|
239
241
|
SECONDS_PER_MINUTE = 60;
|
|
240
242
|
MINUTES_PER_HOUR = 60;
|
|
241
243
|
HOURS_PER_DAY = 24;
|
|
@@ -277,14 +279,14 @@ var init_deno = __esm({
|
|
|
277
279
|
"deno.json"() {
|
|
278
280
|
deno_default = {
|
|
279
281
|
name: "veryfront",
|
|
280
|
-
version: "0.0.
|
|
282
|
+
version: "0.0.64",
|
|
283
|
+
nodeModulesDir: "auto",
|
|
281
284
|
exclude: [
|
|
282
285
|
"npm/",
|
|
283
286
|
"dist/",
|
|
284
287
|
"coverage/",
|
|
285
288
|
"scripts/",
|
|
286
289
|
"examples/",
|
|
287
|
-
"tests/",
|
|
288
290
|
"src/cli/templates/files/",
|
|
289
291
|
"src/cli/templates/integrations/"
|
|
290
292
|
],
|
|
@@ -368,34 +370,36 @@ var init_deno = __esm({
|
|
|
368
370
|
"react-dom/client": "https://esm.sh/react-dom@18.3.1/client",
|
|
369
371
|
"react/jsx-runtime": "https://esm.sh/react@18.3.1/jsx-runtime",
|
|
370
372
|
"react/jsx-dev-runtime": "https://esm.sh/react@18.3.1/jsx-dev-runtime",
|
|
371
|
-
"@mdx-js/mdx": "
|
|
372
|
-
"@mdx-js/react": "
|
|
373
|
-
"unist-util-visit": "
|
|
374
|
-
"mdast-util-to-string": "
|
|
375
|
-
"github-slugger": "
|
|
376
|
-
"remark-gfm": "
|
|
377
|
-
"remark-frontmatter": "
|
|
378
|
-
"rehype-highlight": "
|
|
379
|
-
"rehype-slug": "
|
|
373
|
+
"@mdx-js/mdx": "npm:@mdx-js/mdx@3.0.0",
|
|
374
|
+
"@mdx-js/react": "npm:@mdx-js/react@3.0.0",
|
|
375
|
+
"unist-util-visit": "npm:unist-util-visit@5.0.0",
|
|
376
|
+
"mdast-util-to-string": "npm:mdast-util-to-string@4.0.0",
|
|
377
|
+
"github-slugger": "npm:github-slugger@2.0.0",
|
|
378
|
+
"remark-gfm": "npm:remark-gfm@4.0.1",
|
|
379
|
+
"remark-frontmatter": "npm:remark-frontmatter@5.0.0",
|
|
380
|
+
"rehype-highlight": "npm:rehype-highlight@7.0.2",
|
|
381
|
+
"rehype-slug": "npm:rehype-slug@6.0.0",
|
|
380
382
|
esbuild: "https://deno.land/x/esbuild@v0.20.1/wasm.js",
|
|
381
383
|
"esbuild/mod.js": "https://deno.land/x/esbuild@v0.20.1/mod.js",
|
|
382
|
-
"es-module-lexer": "
|
|
383
|
-
zod: "
|
|
384
|
-
"mime-types": "
|
|
385
|
-
mdast: "
|
|
386
|
-
hast: "
|
|
387
|
-
unist: "
|
|
388
|
-
unified: "
|
|
389
|
-
ai: "https://esm.sh/ai@5.0.
|
|
390
|
-
"ai/react": "https://esm.sh/@ai-sdk/react@2.0.
|
|
391
|
-
"@ai-sdk/react": "https://esm.sh/@ai-sdk/react@2.0.
|
|
392
|
-
"@ai-sdk/openai": "https://esm.sh/@ai-sdk/openai@2.0.
|
|
393
|
-
"@ai-sdk/anthropic": "https://esm.sh/@ai-sdk/anthropic@2.0.
|
|
384
|
+
"es-module-lexer": "npm:es-module-lexer@1.5.0",
|
|
385
|
+
zod: "npm:zod@3.23.8",
|
|
386
|
+
"mime-types": "npm:mime-types@2.1.35",
|
|
387
|
+
mdast: "npm:@types/mdast@4.0.3",
|
|
388
|
+
hast: "npm:@types/hast@3.0.3",
|
|
389
|
+
unist: "npm:@types/unist@3.0.2",
|
|
390
|
+
unified: "npm:unified@11.0.5",
|
|
391
|
+
ai: "https://esm.sh/ai@5.0.108?deps=react@18.3.1,react-dom@18.3.1",
|
|
392
|
+
"ai/react": "https://esm.sh/@ai-sdk/react@2.0.109?deps=react@18.3.1,react-dom@18.3.1",
|
|
393
|
+
"@ai-sdk/react": "https://esm.sh/@ai-sdk/react@2.0.109?deps=react@18.3.1,react-dom@18.3.1",
|
|
394
|
+
"@ai-sdk/openai": "https://esm.sh/@ai-sdk/openai@2.0.80",
|
|
395
|
+
"@ai-sdk/anthropic": "https://esm.sh/@ai-sdk/anthropic@2.0.54",
|
|
394
396
|
unocss: "https://esm.sh/unocss@0.59.0",
|
|
395
397
|
"@unocss/core": "https://esm.sh/@unocss/core@0.59.0",
|
|
396
398
|
"@unocss/preset-wind": "https://esm.sh/@unocss/preset-wind@0.59.0",
|
|
397
399
|
redis: "npm:redis",
|
|
398
|
-
pg: "npm:pg"
|
|
400
|
+
pg: "npm:pg",
|
|
401
|
+
"@opentelemetry/api": "npm:@opentelemetry/api@1",
|
|
402
|
+
"@opentelemetry/core": "npm:@opentelemetry/core@1"
|
|
399
403
|
},
|
|
400
404
|
compilerOptions: {
|
|
401
405
|
jsx: "react-jsx",
|
|
@@ -602,6 +606,7 @@ function getUnoCSSTailwindResetUrl() {
|
|
|
602
606
|
var ESM_CDN_BASE, JSDELIVR_CDN_BASE, DENO_STD_BASE, REACT_VERSION_17, REACT_VERSION_18_2, REACT_VERSION_18_3, REACT_VERSION_19_RC, REACT_VERSION_19, REACT_DEFAULT_VERSION, DEFAULT_ALLOWED_CDN_HOSTS, DENO_STD_VERSION, UNOCSS_VERSION;
|
|
603
607
|
var init_cdn = __esm({
|
|
604
608
|
"src/core/utils/constants/cdn.ts"() {
|
|
609
|
+
"use strict";
|
|
605
610
|
init_version();
|
|
606
611
|
ESM_CDN_BASE = "https://esm.sh";
|
|
607
612
|
JSDELIVR_CDN_BASE = "https://cdn.jsdelivr.net";
|
|
@@ -866,6 +871,7 @@ function normalizeChunkPath(filename, basePath = INTERNAL_PATH_PREFIXES.CHUNKS)
|
|
|
866
871
|
var DEFAULT_DASHBOARD_PORT, INTERNAL_PREFIX, INTERNAL_PATH_PREFIXES, INTERNAL_ENDPOINTS, BUILD_DIRS, PROJECT_DIRS, DEFAULT_CACHE_DIR, DEV_SERVER_ENDPOINTS;
|
|
867
872
|
var init_server = __esm({
|
|
868
873
|
"src/core/utils/constants/server.ts"() {
|
|
874
|
+
"use strict";
|
|
869
875
|
init_defaults();
|
|
870
876
|
DEFAULT_DASHBOARD_PORT = 3002;
|
|
871
877
|
INTERNAL_PREFIX = "/_veryfront";
|
|
@@ -1151,7 +1157,6 @@ function fromBase64Url(encoded) {
|
|
|
1151
1157
|
}
|
|
1152
1158
|
var init_path_utils = __esm({
|
|
1153
1159
|
"src/core/utils/path-utils.ts"() {
|
|
1154
|
-
"use strict";
|
|
1155
1160
|
init_logger();
|
|
1156
1161
|
}
|
|
1157
1162
|
});
|
|
@@ -2483,119 +2488,19 @@ var init_environment_adapter = __esm({
|
|
|
2483
2488
|
}
|
|
2484
2489
|
});
|
|
2485
2490
|
|
|
2486
|
-
//
|
|
2487
|
-
var require_stream = __commonJS({
|
|
2488
|
-
"../../../../node_modules/ws/lib/stream.js"(exports, module) {
|
|
2489
|
-
"use strict";
|
|
2490
|
-
var { Duplex } = __require2("stream");
|
|
2491
|
-
function emitClose(stream2) {
|
|
2492
|
-
stream2.emit("close");
|
|
2493
|
-
}
|
|
2494
|
-
function duplexOnEnd() {
|
|
2495
|
-
if (!this.destroyed && this._writableState.finished) {
|
|
2496
|
-
this.destroy();
|
|
2497
|
-
}
|
|
2498
|
-
}
|
|
2499
|
-
function duplexOnError(err) {
|
|
2500
|
-
this.removeListener("error", duplexOnError);
|
|
2501
|
-
this.destroy();
|
|
2502
|
-
if (this.listenerCount("error") === 0) {
|
|
2503
|
-
this.emit("error", err);
|
|
2504
|
-
}
|
|
2505
|
-
}
|
|
2506
|
-
function createWebSocketStream2(ws, options) {
|
|
2507
|
-
let terminateOnDestroy = true;
|
|
2508
|
-
const duplex = new Duplex({
|
|
2509
|
-
...options,
|
|
2510
|
-
autoDestroy: false,
|
|
2511
|
-
emitClose: false,
|
|
2512
|
-
objectMode: false,
|
|
2513
|
-
writableObjectMode: false
|
|
2514
|
-
});
|
|
2515
|
-
ws.on("message", function message(msg, isBinary) {
|
|
2516
|
-
const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
|
|
2517
|
-
if (!duplex.push(data))
|
|
2518
|
-
ws.pause();
|
|
2519
|
-
});
|
|
2520
|
-
ws.once("error", function error2(err) {
|
|
2521
|
-
if (duplex.destroyed)
|
|
2522
|
-
return;
|
|
2523
|
-
terminateOnDestroy = false;
|
|
2524
|
-
duplex.destroy(err);
|
|
2525
|
-
});
|
|
2526
|
-
ws.once("close", function close() {
|
|
2527
|
-
if (duplex.destroyed)
|
|
2528
|
-
return;
|
|
2529
|
-
duplex.push(null);
|
|
2530
|
-
});
|
|
2531
|
-
duplex._destroy = function(err, callback) {
|
|
2532
|
-
if (ws.readyState === ws.CLOSED) {
|
|
2533
|
-
callback(err);
|
|
2534
|
-
process.nextTick(emitClose, duplex);
|
|
2535
|
-
return;
|
|
2536
|
-
}
|
|
2537
|
-
let called = false;
|
|
2538
|
-
ws.once("error", function error2(err2) {
|
|
2539
|
-
called = true;
|
|
2540
|
-
callback(err2);
|
|
2541
|
-
});
|
|
2542
|
-
ws.once("close", function close() {
|
|
2543
|
-
if (!called)
|
|
2544
|
-
callback(err);
|
|
2545
|
-
process.nextTick(emitClose, duplex);
|
|
2546
|
-
});
|
|
2547
|
-
if (terminateOnDestroy)
|
|
2548
|
-
ws.terminate();
|
|
2549
|
-
};
|
|
2550
|
-
duplex._final = function(callback) {
|
|
2551
|
-
if (ws.readyState === ws.CONNECTING) {
|
|
2552
|
-
ws.once("open", function open() {
|
|
2553
|
-
duplex._final(callback);
|
|
2554
|
-
});
|
|
2555
|
-
return;
|
|
2556
|
-
}
|
|
2557
|
-
if (ws._socket === null)
|
|
2558
|
-
return;
|
|
2559
|
-
if (ws._socket._writableState.finished) {
|
|
2560
|
-
callback();
|
|
2561
|
-
if (duplex._readableState.endEmitted)
|
|
2562
|
-
duplex.destroy();
|
|
2563
|
-
} else {
|
|
2564
|
-
ws._socket.once("finish", function finish() {
|
|
2565
|
-
callback();
|
|
2566
|
-
});
|
|
2567
|
-
ws.close();
|
|
2568
|
-
}
|
|
2569
|
-
};
|
|
2570
|
-
duplex._read = function() {
|
|
2571
|
-
if (ws.isPaused)
|
|
2572
|
-
ws.resume();
|
|
2573
|
-
};
|
|
2574
|
-
duplex._write = function(chunk, encoding, callback) {
|
|
2575
|
-
if (ws.readyState === ws.CONNECTING) {
|
|
2576
|
-
ws.once("open", function open() {
|
|
2577
|
-
duplex._write(chunk, encoding, callback);
|
|
2578
|
-
});
|
|
2579
|
-
return;
|
|
2580
|
-
}
|
|
2581
|
-
ws.send(chunk, callback);
|
|
2582
|
-
};
|
|
2583
|
-
duplex.on("end", duplexOnEnd);
|
|
2584
|
-
duplex.on("error", duplexOnError);
|
|
2585
|
-
return duplex;
|
|
2586
|
-
}
|
|
2587
|
-
module.exports = createWebSocketStream2;
|
|
2588
|
-
}
|
|
2589
|
-
});
|
|
2590
|
-
|
|
2591
|
-
// ../../../../node_modules/ws/lib/constants.js
|
|
2491
|
+
// ../node_modules/ws/lib/constants.js
|
|
2592
2492
|
var require_constants = __commonJS({
|
|
2593
|
-
"
|
|
2493
|
+
"../node_modules/ws/lib/constants.js"(exports, module) {
|
|
2594
2494
|
"use strict";
|
|
2495
|
+
var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
|
|
2496
|
+
var hasBlob = typeof Blob !== "undefined";
|
|
2497
|
+
if (hasBlob)
|
|
2498
|
+
BINARY_TYPES.push("blob");
|
|
2595
2499
|
module.exports = {
|
|
2596
|
-
BINARY_TYPES
|
|
2500
|
+
BINARY_TYPES,
|
|
2597
2501
|
EMPTY_BUFFER: Buffer.alloc(0),
|
|
2598
2502
|
GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
|
|
2503
|
+
hasBlob,
|
|
2599
2504
|
kForOnEventAttribute: Symbol("kIsForOnEventAttribute"),
|
|
2600
2505
|
kListener: Symbol("kListener"),
|
|
2601
2506
|
kStatusCode: Symbol("status-code"),
|
|
@@ -2606,9 +2511,9 @@ var require_constants = __commonJS({
|
|
|
2606
2511
|
}
|
|
2607
2512
|
});
|
|
2608
2513
|
|
|
2609
|
-
//
|
|
2514
|
+
// ../node_modules/ws/lib/buffer-util.js
|
|
2610
2515
|
var require_buffer_util = __commonJS({
|
|
2611
|
-
"
|
|
2516
|
+
"../node_modules/ws/lib/buffer-util.js"(exports, module) {
|
|
2612
2517
|
"use strict";
|
|
2613
2518
|
var { EMPTY_BUFFER } = require_constants();
|
|
2614
2519
|
var FastBuffer = Buffer[Symbol.species];
|
|
@@ -2688,9 +2593,9 @@ var require_buffer_util = __commonJS({
|
|
|
2688
2593
|
}
|
|
2689
2594
|
});
|
|
2690
2595
|
|
|
2691
|
-
//
|
|
2596
|
+
// ../node_modules/ws/lib/limiter.js
|
|
2692
2597
|
var require_limiter = __commonJS({
|
|
2693
|
-
"
|
|
2598
|
+
"../node_modules/ws/lib/limiter.js"(exports, module) {
|
|
2694
2599
|
"use strict";
|
|
2695
2600
|
var kDone = Symbol("kDone");
|
|
2696
2601
|
var kRun = Symbol("kRun");
|
|
@@ -2739,9 +2644,9 @@ var require_limiter = __commonJS({
|
|
|
2739
2644
|
}
|
|
2740
2645
|
});
|
|
2741
2646
|
|
|
2742
|
-
//
|
|
2647
|
+
// ../node_modules/ws/lib/permessage-deflate.js
|
|
2743
2648
|
var require_permessage_deflate = __commonJS({
|
|
2744
|
-
"
|
|
2649
|
+
"../node_modules/ws/lib/permessage-deflate.js"(exports, module) {
|
|
2745
2650
|
"use strict";
|
|
2746
2651
|
var zlib = __require2("zlib");
|
|
2747
2652
|
var bufferUtil = require_buffer_util();
|
|
@@ -3113,17 +3018,22 @@ var require_permessage_deflate = __commonJS({
|
|
|
3113
3018
|
}
|
|
3114
3019
|
function inflateOnError(err) {
|
|
3115
3020
|
this[kPerMessageDeflate]._inflate = null;
|
|
3021
|
+
if (this[kError]) {
|
|
3022
|
+
this[kCallback](this[kError]);
|
|
3023
|
+
return;
|
|
3024
|
+
}
|
|
3116
3025
|
err[kStatusCode] = 1007;
|
|
3117
3026
|
this[kCallback](err);
|
|
3118
3027
|
}
|
|
3119
3028
|
}
|
|
3120
3029
|
});
|
|
3121
3030
|
|
|
3122
|
-
//
|
|
3031
|
+
// ../node_modules/ws/lib/validation.js
|
|
3123
3032
|
var require_validation = __commonJS({
|
|
3124
|
-
"
|
|
3033
|
+
"../node_modules/ws/lib/validation.js"(exports, module) {
|
|
3125
3034
|
"use strict";
|
|
3126
3035
|
var { isUtf8 } = __require2("buffer");
|
|
3036
|
+
var { hasBlob } = require_constants();
|
|
3127
3037
|
var tokenChars = [
|
|
3128
3038
|
0,
|
|
3129
3039
|
0,
|
|
@@ -3294,7 +3204,11 @@ var require_validation = __commonJS({
|
|
|
3294
3204
|
}
|
|
3295
3205
|
return true;
|
|
3296
3206
|
}
|
|
3207
|
+
function isBlob(value) {
|
|
3208
|
+
return hasBlob && typeof value === "object" && typeof value.arrayBuffer === "function" && typeof value.type === "string" && typeof value.stream === "function" && (value[Symbol.toStringTag] === "Blob" || value[Symbol.toStringTag] === "File");
|
|
3209
|
+
}
|
|
3297
3210
|
module.exports = {
|
|
3211
|
+
isBlob,
|
|
3298
3212
|
isValidStatusCode,
|
|
3299
3213
|
isValidUTF8: _isValidUTF8,
|
|
3300
3214
|
tokenChars
|
|
@@ -3315,9 +3229,9 @@ var require_validation = __commonJS({
|
|
|
3315
3229
|
}
|
|
3316
3230
|
});
|
|
3317
3231
|
|
|
3318
|
-
//
|
|
3232
|
+
// ../node_modules/ws/lib/receiver.js
|
|
3319
3233
|
var require_receiver = __commonJS({
|
|
3320
|
-
"
|
|
3234
|
+
"../node_modules/ws/lib/receiver.js"(exports, module) {
|
|
3321
3235
|
"use strict";
|
|
3322
3236
|
var { Writable } = __require2("stream");
|
|
3323
3237
|
var PerMessageDeflate = require_permessage_deflate();
|
|
@@ -3787,6 +3701,8 @@ var require_receiver = __commonJS({
|
|
|
3787
3701
|
data = concat(fragments, messageLength);
|
|
3788
3702
|
} else if (this._binaryType === "arraybuffer") {
|
|
3789
3703
|
data = toArrayBuffer(concat(fragments, messageLength));
|
|
3704
|
+
} else if (this._binaryType === "blob") {
|
|
3705
|
+
data = new Blob(fragments);
|
|
3790
3706
|
} else {
|
|
3791
3707
|
data = fragments;
|
|
3792
3708
|
}
|
|
@@ -3916,18 +3832,24 @@ var require_receiver = __commonJS({
|
|
|
3916
3832
|
}
|
|
3917
3833
|
});
|
|
3918
3834
|
|
|
3919
|
-
//
|
|
3835
|
+
// ../node_modules/ws/lib/sender.js
|
|
3920
3836
|
var require_sender = __commonJS({
|
|
3921
|
-
"
|
|
3837
|
+
"../node_modules/ws/lib/sender.js"(exports, module) {
|
|
3922
3838
|
"use strict";
|
|
3923
3839
|
var { Duplex } = __require2("stream");
|
|
3924
3840
|
var { randomFillSync } = __require2("crypto");
|
|
3925
3841
|
var PerMessageDeflate = require_permessage_deflate();
|
|
3926
|
-
var { EMPTY_BUFFER } = require_constants();
|
|
3927
|
-
var { isValidStatusCode } = require_validation();
|
|
3842
|
+
var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants();
|
|
3843
|
+
var { isBlob, isValidStatusCode } = require_validation();
|
|
3928
3844
|
var { mask: applyMask, toBuffer } = require_buffer_util();
|
|
3929
3845
|
var kByteLength = Symbol("kByteLength");
|
|
3930
3846
|
var maskBuffer = Buffer.alloc(4);
|
|
3847
|
+
var RANDOM_POOL_SIZE = 8 * 1024;
|
|
3848
|
+
var randomPool;
|
|
3849
|
+
var randomPoolPointer = RANDOM_POOL_SIZE;
|
|
3850
|
+
var DEFAULT = 0;
|
|
3851
|
+
var DEFLATING = 1;
|
|
3852
|
+
var GET_BLOB_DATA = 2;
|
|
3931
3853
|
var Sender2 = class _Sender {
|
|
3932
3854
|
/**
|
|
3933
3855
|
* Creates a Sender instance.
|
|
@@ -3947,8 +3869,10 @@ var require_sender = __commonJS({
|
|
|
3947
3869
|
this._firstFragment = true;
|
|
3948
3870
|
this._compress = false;
|
|
3949
3871
|
this._bufferedBytes = 0;
|
|
3950
|
-
this._deflating = false;
|
|
3951
3872
|
this._queue = [];
|
|
3873
|
+
this._state = DEFAULT;
|
|
3874
|
+
this.onerror = NOOP;
|
|
3875
|
+
this[kWebSocket] = void 0;
|
|
3952
3876
|
}
|
|
3953
3877
|
/**
|
|
3954
3878
|
* Frames a piece of data according to the HyBi WebSocket protocol.
|
|
@@ -3981,7 +3905,17 @@ var require_sender = __commonJS({
|
|
|
3981
3905
|
if (options.generateMask) {
|
|
3982
3906
|
options.generateMask(mask);
|
|
3983
3907
|
} else {
|
|
3984
|
-
|
|
3908
|
+
if (randomPoolPointer === RANDOM_POOL_SIZE) {
|
|
3909
|
+
if (randomPool === void 0) {
|
|
3910
|
+
randomPool = Buffer.alloc(RANDOM_POOL_SIZE);
|
|
3911
|
+
}
|
|
3912
|
+
randomFillSync(randomPool, 0, RANDOM_POOL_SIZE);
|
|
3913
|
+
randomPoolPointer = 0;
|
|
3914
|
+
}
|
|
3915
|
+
mask[0] = randomPool[randomPoolPointer++];
|
|
3916
|
+
mask[1] = randomPool[randomPoolPointer++];
|
|
3917
|
+
mask[2] = randomPool[randomPoolPointer++];
|
|
3918
|
+
mask[3] = randomPool[randomPoolPointer++];
|
|
3985
3919
|
}
|
|
3986
3920
|
skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;
|
|
3987
3921
|
offset = 6;
|
|
@@ -4074,7 +4008,7 @@ var require_sender = __commonJS({
|
|
|
4074
4008
|
readOnly: false,
|
|
4075
4009
|
rsv1: false
|
|
4076
4010
|
};
|
|
4077
|
-
if (this.
|
|
4011
|
+
if (this._state !== DEFAULT) {
|
|
4078
4012
|
this.enqueue([this.dispatch, buf, false, options, cb]);
|
|
4079
4013
|
} else {
|
|
4080
4014
|
this.sendFrame(_Sender.frame(buf, options), cb);
|
|
@@ -4094,6 +4028,9 @@ var require_sender = __commonJS({
|
|
|
4094
4028
|
if (typeof data === "string") {
|
|
4095
4029
|
byteLength = Buffer.byteLength(data);
|
|
4096
4030
|
readOnly = false;
|
|
4031
|
+
} else if (isBlob(data)) {
|
|
4032
|
+
byteLength = data.size;
|
|
4033
|
+
readOnly = false;
|
|
4097
4034
|
} else {
|
|
4098
4035
|
data = toBuffer(data);
|
|
4099
4036
|
byteLength = data.length;
|
|
@@ -4112,7 +4049,13 @@ var require_sender = __commonJS({
|
|
|
4112
4049
|
readOnly,
|
|
4113
4050
|
rsv1: false
|
|
4114
4051
|
};
|
|
4115
|
-
if (
|
|
4052
|
+
if (isBlob(data)) {
|
|
4053
|
+
if (this._state !== DEFAULT) {
|
|
4054
|
+
this.enqueue([this.getBlobData, data, false, options, cb]);
|
|
4055
|
+
} else {
|
|
4056
|
+
this.getBlobData(data, false, options, cb);
|
|
4057
|
+
}
|
|
4058
|
+
} else if (this._state !== DEFAULT) {
|
|
4116
4059
|
this.enqueue([this.dispatch, data, false, options, cb]);
|
|
4117
4060
|
} else {
|
|
4118
4061
|
this.sendFrame(_Sender.frame(data, options), cb);
|
|
@@ -4132,6 +4075,9 @@ var require_sender = __commonJS({
|
|
|
4132
4075
|
if (typeof data === "string") {
|
|
4133
4076
|
byteLength = Buffer.byteLength(data);
|
|
4134
4077
|
readOnly = false;
|
|
4078
|
+
} else if (isBlob(data)) {
|
|
4079
|
+
byteLength = data.size;
|
|
4080
|
+
readOnly = false;
|
|
4135
4081
|
} else {
|
|
4136
4082
|
data = toBuffer(data);
|
|
4137
4083
|
byteLength = data.length;
|
|
@@ -4150,7 +4096,13 @@ var require_sender = __commonJS({
|
|
|
4150
4096
|
readOnly,
|
|
4151
4097
|
rsv1: false
|
|
4152
4098
|
};
|
|
4153
|
-
if (
|
|
4099
|
+
if (isBlob(data)) {
|
|
4100
|
+
if (this._state !== DEFAULT) {
|
|
4101
|
+
this.enqueue([this.getBlobData, data, false, options, cb]);
|
|
4102
|
+
} else {
|
|
4103
|
+
this.getBlobData(data, false, options, cb);
|
|
4104
|
+
}
|
|
4105
|
+
} else if (this._state !== DEFAULT) {
|
|
4154
4106
|
this.enqueue([this.dispatch, data, false, options, cb]);
|
|
4155
4107
|
} else {
|
|
4156
4108
|
this.sendFrame(_Sender.frame(data, options), cb);
|
|
@@ -4181,6 +4133,9 @@ var require_sender = __commonJS({
|
|
|
4181
4133
|
if (typeof data === "string") {
|
|
4182
4134
|
byteLength = Buffer.byteLength(data);
|
|
4183
4135
|
readOnly = false;
|
|
4136
|
+
} else if (isBlob(data)) {
|
|
4137
|
+
byteLength = data.size;
|
|
4138
|
+
readOnly = false;
|
|
4184
4139
|
} else {
|
|
4185
4140
|
data = toBuffer(data);
|
|
4186
4141
|
byteLength = data.length;
|
|
@@ -4198,38 +4153,75 @@ var require_sender = __commonJS({
|
|
|
4198
4153
|
}
|
|
4199
4154
|
if (options.fin)
|
|
4200
4155
|
this._firstFragment = true;
|
|
4201
|
-
|
|
4202
|
-
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
if (this.
|
|
4213
|
-
this.enqueue([this.
|
|
4156
|
+
const opts = {
|
|
4157
|
+
[kByteLength]: byteLength,
|
|
4158
|
+
fin: options.fin,
|
|
4159
|
+
generateMask: this._generateMask,
|
|
4160
|
+
mask: options.mask,
|
|
4161
|
+
maskBuffer: this._maskBuffer,
|
|
4162
|
+
opcode,
|
|
4163
|
+
readOnly,
|
|
4164
|
+
rsv1
|
|
4165
|
+
};
|
|
4166
|
+
if (isBlob(data)) {
|
|
4167
|
+
if (this._state !== DEFAULT) {
|
|
4168
|
+
this.enqueue([this.getBlobData, data, this._compress, opts, cb]);
|
|
4214
4169
|
} else {
|
|
4215
|
-
this.
|
|
4170
|
+
this.getBlobData(data, this._compress, opts, cb);
|
|
4216
4171
|
}
|
|
4172
|
+
} else if (this._state !== DEFAULT) {
|
|
4173
|
+
this.enqueue([this.dispatch, data, this._compress, opts, cb]);
|
|
4217
4174
|
} else {
|
|
4218
|
-
this.
|
|
4219
|
-
_Sender.frame(data, {
|
|
4220
|
-
[kByteLength]: byteLength,
|
|
4221
|
-
fin: options.fin,
|
|
4222
|
-
generateMask: this._generateMask,
|
|
4223
|
-
mask: options.mask,
|
|
4224
|
-
maskBuffer: this._maskBuffer,
|
|
4225
|
-
opcode,
|
|
4226
|
-
readOnly,
|
|
4227
|
-
rsv1: false
|
|
4228
|
-
}),
|
|
4229
|
-
cb
|
|
4230
|
-
);
|
|
4175
|
+
this.dispatch(data, this._compress, opts, cb);
|
|
4231
4176
|
}
|
|
4232
4177
|
}
|
|
4178
|
+
/**
|
|
4179
|
+
* Gets the contents of a blob as binary data.
|
|
4180
|
+
*
|
|
4181
|
+
* @param {Blob} blob The blob
|
|
4182
|
+
* @param {Boolean} [compress=false] Specifies whether or not to compress
|
|
4183
|
+
* the data
|
|
4184
|
+
* @param {Object} options Options object
|
|
4185
|
+
* @param {Boolean} [options.fin=false] Specifies whether or not to set the
|
|
4186
|
+
* FIN bit
|
|
4187
|
+
* @param {Function} [options.generateMask] The function used to generate the
|
|
4188
|
+
* masking key
|
|
4189
|
+
* @param {Boolean} [options.mask=false] Specifies whether or not to mask
|
|
4190
|
+
* `data`
|
|
4191
|
+
* @param {Buffer} [options.maskBuffer] The buffer used to store the masking
|
|
4192
|
+
* key
|
|
4193
|
+
* @param {Number} options.opcode The opcode
|
|
4194
|
+
* @param {Boolean} [options.readOnly=false] Specifies whether `data` can be
|
|
4195
|
+
* modified
|
|
4196
|
+
* @param {Boolean} [options.rsv1=false] Specifies whether or not to set the
|
|
4197
|
+
* RSV1 bit
|
|
4198
|
+
* @param {Function} [cb] Callback
|
|
4199
|
+
* @private
|
|
4200
|
+
*/
|
|
4201
|
+
getBlobData(blob, compress, options, cb) {
|
|
4202
|
+
this._bufferedBytes += options[kByteLength];
|
|
4203
|
+
this._state = GET_BLOB_DATA;
|
|
4204
|
+
blob.arrayBuffer().then((arrayBuffer) => {
|
|
4205
|
+
if (this._socket.destroyed) {
|
|
4206
|
+
const err = new Error(
|
|
4207
|
+
"The socket was closed while the blob was being read"
|
|
4208
|
+
);
|
|
4209
|
+
process.nextTick(callCallbacks, this, err, cb);
|
|
4210
|
+
return;
|
|
4211
|
+
}
|
|
4212
|
+
this._bufferedBytes -= options[kByteLength];
|
|
4213
|
+
const data = toBuffer(arrayBuffer);
|
|
4214
|
+
if (!compress) {
|
|
4215
|
+
this._state = DEFAULT;
|
|
4216
|
+
this.sendFrame(_Sender.frame(data, options), cb);
|
|
4217
|
+
this.dequeue();
|
|
4218
|
+
} else {
|
|
4219
|
+
this.dispatch(data, compress, options, cb);
|
|
4220
|
+
}
|
|
4221
|
+
}).catch((err) => {
|
|
4222
|
+
process.nextTick(onError, this, err, cb);
|
|
4223
|
+
});
|
|
4224
|
+
}
|
|
4233
4225
|
/**
|
|
4234
4226
|
* Dispatches a message.
|
|
4235
4227
|
*
|
|
@@ -4260,24 +4252,17 @@ var require_sender = __commonJS({
|
|
|
4260
4252
|
}
|
|
4261
4253
|
const perMessageDeflate = this._extensions[PerMessageDeflate.extensionName];
|
|
4262
4254
|
this._bufferedBytes += options[kByteLength];
|
|
4263
|
-
this.
|
|
4255
|
+
this._state = DEFLATING;
|
|
4264
4256
|
perMessageDeflate.compress(data, options.fin, (_, buf) => {
|
|
4265
4257
|
if (this._socket.destroyed) {
|
|
4266
4258
|
const err = new Error(
|
|
4267
4259
|
"The socket was closed while data was being compressed"
|
|
4268
4260
|
);
|
|
4269
|
-
|
|
4270
|
-
cb(err);
|
|
4271
|
-
for (let i = 0; i < this._queue.length; i++) {
|
|
4272
|
-
const params = this._queue[i];
|
|
4273
|
-
const callback = params[params.length - 1];
|
|
4274
|
-
if (typeof callback === "function")
|
|
4275
|
-
callback(err);
|
|
4276
|
-
}
|
|
4261
|
+
callCallbacks(this, err, cb);
|
|
4277
4262
|
return;
|
|
4278
4263
|
}
|
|
4279
4264
|
this._bufferedBytes -= options[kByteLength];
|
|
4280
|
-
this.
|
|
4265
|
+
this._state = DEFAULT;
|
|
4281
4266
|
options.readOnly = false;
|
|
4282
4267
|
this.sendFrame(_Sender.frame(buf, options), cb);
|
|
4283
4268
|
this.dequeue();
|
|
@@ -4289,7 +4274,7 @@ var require_sender = __commonJS({
|
|
|
4289
4274
|
* @private
|
|
4290
4275
|
*/
|
|
4291
4276
|
dequeue() {
|
|
4292
|
-
while (
|
|
4277
|
+
while (this._state === DEFAULT && this._queue.length) {
|
|
4293
4278
|
const params = this._queue.shift();
|
|
4294
4279
|
this._bufferedBytes -= params[3][kByteLength];
|
|
4295
4280
|
Reflect.apply(params[0], this, params.slice(1));
|
|
@@ -4308,7 +4293,7 @@ var require_sender = __commonJS({
|
|
|
4308
4293
|
/**
|
|
4309
4294
|
* Sends a frame.
|
|
4310
4295
|
*
|
|
4311
|
-
* @param {Buffer[]} list The frame to send
|
|
4296
|
+
* @param {(Buffer | String)[]} list The frame to send
|
|
4312
4297
|
* @param {Function} [cb] Callback
|
|
4313
4298
|
* @private
|
|
4314
4299
|
*/
|
|
@@ -4324,12 +4309,26 @@ var require_sender = __commonJS({
|
|
|
4324
4309
|
}
|
|
4325
4310
|
};
|
|
4326
4311
|
module.exports = Sender2;
|
|
4312
|
+
function callCallbacks(sender, err, cb) {
|
|
4313
|
+
if (typeof cb === "function")
|
|
4314
|
+
cb(err);
|
|
4315
|
+
for (let i = 0; i < sender._queue.length; i++) {
|
|
4316
|
+
const params = sender._queue[i];
|
|
4317
|
+
const callback = params[params.length - 1];
|
|
4318
|
+
if (typeof callback === "function")
|
|
4319
|
+
callback(err);
|
|
4320
|
+
}
|
|
4321
|
+
}
|
|
4322
|
+
function onError(sender, err, cb) {
|
|
4323
|
+
callCallbacks(sender, err, cb);
|
|
4324
|
+
sender.onerror(err);
|
|
4325
|
+
}
|
|
4327
4326
|
}
|
|
4328
4327
|
});
|
|
4329
4328
|
|
|
4330
|
-
//
|
|
4329
|
+
// ../node_modules/ws/lib/event-target.js
|
|
4331
4330
|
var require_event_target = __commonJS({
|
|
4332
|
-
"
|
|
4331
|
+
"../node_modules/ws/lib/event-target.js"(exports, module) {
|
|
4333
4332
|
"use strict";
|
|
4334
4333
|
var { kForOnEventAttribute, kListener } = require_constants();
|
|
4335
4334
|
var kCode = Symbol("kCode");
|
|
@@ -4556,9 +4555,9 @@ var require_event_target = __commonJS({
|
|
|
4556
4555
|
}
|
|
4557
4556
|
});
|
|
4558
4557
|
|
|
4559
|
-
//
|
|
4558
|
+
// ../node_modules/ws/lib/extension.js
|
|
4560
4559
|
var require_extension = __commonJS({
|
|
4561
|
-
"
|
|
4560
|
+
"../node_modules/ws/lib/extension.js"(exports, module) {
|
|
4562
4561
|
"use strict";
|
|
4563
4562
|
var { tokenChars } = require_validation();
|
|
4564
4563
|
function push(dest, name, elem) {
|
|
@@ -4726,9 +4725,9 @@ var require_extension = __commonJS({
|
|
|
4726
4725
|
}
|
|
4727
4726
|
});
|
|
4728
4727
|
|
|
4729
|
-
//
|
|
4728
|
+
// ../node_modules/ws/lib/websocket.js
|
|
4730
4729
|
var require_websocket = __commonJS({
|
|
4731
|
-
"
|
|
4730
|
+
"../node_modules/ws/lib/websocket.js"(exports, module) {
|
|
4732
4731
|
"use strict";
|
|
4733
4732
|
var EventEmitter = __require2("events");
|
|
4734
4733
|
var https = __require2("https");
|
|
@@ -4741,6 +4740,7 @@ var require_websocket = __commonJS({
|
|
|
4741
4740
|
var PerMessageDeflate = require_permessage_deflate();
|
|
4742
4741
|
var Receiver2 = require_receiver();
|
|
4743
4742
|
var Sender2 = require_sender();
|
|
4743
|
+
var { isBlob } = require_validation();
|
|
4744
4744
|
var {
|
|
4745
4745
|
BINARY_TYPES,
|
|
4746
4746
|
EMPTY_BUFFER,
|
|
@@ -4777,6 +4777,7 @@ var require_websocket = __commonJS({
|
|
|
4777
4777
|
this._closeFrameSent = false;
|
|
4778
4778
|
this._closeMessage = EMPTY_BUFFER;
|
|
4779
4779
|
this._closeTimer = null;
|
|
4780
|
+
this._errorEmitted = false;
|
|
4780
4781
|
this._extensions = {};
|
|
4781
4782
|
this._paused = false;
|
|
4782
4783
|
this._protocol = "";
|
|
@@ -4805,9 +4806,8 @@ var require_websocket = __commonJS({
|
|
|
4805
4806
|
}
|
|
4806
4807
|
}
|
|
4807
4808
|
/**
|
|
4808
|
-
*
|
|
4809
|
-
*
|
|
4810
|
-
* type).
|
|
4809
|
+
* For historical reasons, the custom "nodebuffer" type is used by the default
|
|
4810
|
+
* instead of "blob".
|
|
4811
4811
|
*
|
|
4812
4812
|
* @type {String}
|
|
4813
4813
|
*/
|
|
@@ -4912,10 +4912,12 @@ var require_websocket = __commonJS({
|
|
|
4912
4912
|
maxPayload: options.maxPayload,
|
|
4913
4913
|
skipUTF8Validation: options.skipUTF8Validation
|
|
4914
4914
|
});
|
|
4915
|
-
|
|
4915
|
+
const sender = new Sender2(socket, this._extensions, options.generateMask);
|
|
4916
4916
|
this._receiver = receiver;
|
|
4917
|
+
this._sender = sender;
|
|
4917
4918
|
this._socket = socket;
|
|
4918
4919
|
receiver[kWebSocket] = this;
|
|
4920
|
+
sender[kWebSocket] = this;
|
|
4919
4921
|
socket[kWebSocket] = this;
|
|
4920
4922
|
receiver.on("conclude", receiverOnConclude);
|
|
4921
4923
|
receiver.on("drain", receiverOnDrain);
|
|
@@ -4923,6 +4925,7 @@ var require_websocket = __commonJS({
|
|
|
4923
4925
|
receiver.on("message", receiverOnMessage);
|
|
4924
4926
|
receiver.on("ping", receiverOnPing);
|
|
4925
4927
|
receiver.on("pong", receiverOnPong);
|
|
4928
|
+
sender.onerror = senderOnError;
|
|
4926
4929
|
if (socket.setTimeout)
|
|
4927
4930
|
socket.setTimeout(0);
|
|
4928
4931
|
if (socket.setNoDelay)
|
|
@@ -4997,10 +5000,7 @@ var require_websocket = __commonJS({
|
|
|
4997
5000
|
this._socket.end();
|
|
4998
5001
|
}
|
|
4999
5002
|
});
|
|
5000
|
-
this
|
|
5001
|
-
this._socket.destroy.bind(this._socket),
|
|
5002
|
-
closeTimeout
|
|
5003
|
-
);
|
|
5003
|
+
setCloseTimer(this);
|
|
5004
5004
|
}
|
|
5005
5005
|
/**
|
|
5006
5006
|
* Pause the socket.
|
|
@@ -5262,7 +5262,7 @@ var require_websocket = __commonJS({
|
|
|
5262
5262
|
const isIpcUrl = parsedUrl.protocol === "ws+unix:";
|
|
5263
5263
|
let invalidUrlMessage;
|
|
5264
5264
|
if (parsedUrl.protocol !== "ws:" && !isSecure && !isIpcUrl) {
|
|
5265
|
-
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:", "http:", "https", or "ws+unix:"`;
|
|
5265
|
+
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`;
|
|
5266
5266
|
} else if (isIpcUrl && !parsedUrl.pathname) {
|
|
5267
5267
|
invalidUrlMessage = "The URL's pathname is empty";
|
|
5268
5268
|
} else if (parsedUrl.hash) {
|
|
@@ -5406,7 +5406,8 @@ var require_websocket = __commonJS({
|
|
|
5406
5406
|
if (websocket.readyState !== WebSocket2.CONNECTING)
|
|
5407
5407
|
return;
|
|
5408
5408
|
req = websocket._req = null;
|
|
5409
|
-
|
|
5409
|
+
const upgrade = res.headers.upgrade;
|
|
5410
|
+
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
5410
5411
|
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
5411
5412
|
return;
|
|
5412
5413
|
}
|
|
@@ -5477,6 +5478,7 @@ var require_websocket = __commonJS({
|
|
|
5477
5478
|
}
|
|
5478
5479
|
function emitErrorAndClose(websocket, err) {
|
|
5479
5480
|
websocket._readyState = WebSocket2.CLOSING;
|
|
5481
|
+
websocket._errorEmitted = true;
|
|
5480
5482
|
websocket.emit("error", err);
|
|
5481
5483
|
websocket.emitClose();
|
|
5482
5484
|
}
|
|
@@ -5510,7 +5512,7 @@ var require_websocket = __commonJS({
|
|
|
5510
5512
|
}
|
|
5511
5513
|
function sendAfterClose(websocket, data, cb) {
|
|
5512
5514
|
if (data) {
|
|
5513
|
-
const length = toBuffer(data).length;
|
|
5515
|
+
const length = isBlob(data) ? data.size : toBuffer(data).length;
|
|
5514
5516
|
if (websocket._socket)
|
|
5515
5517
|
websocket._sender._bufferedBytes += length;
|
|
5516
5518
|
else
|
|
@@ -5549,7 +5551,10 @@ var require_websocket = __commonJS({
|
|
|
5549
5551
|
process.nextTick(resume, websocket._socket);
|
|
5550
5552
|
websocket.close(err[kStatusCode]);
|
|
5551
5553
|
}
|
|
5552
|
-
websocket.
|
|
5554
|
+
if (!websocket._errorEmitted) {
|
|
5555
|
+
websocket._errorEmitted = true;
|
|
5556
|
+
websocket.emit("error", err);
|
|
5557
|
+
}
|
|
5553
5558
|
}
|
|
5554
5559
|
function receiverOnFinish() {
|
|
5555
5560
|
this[kWebSocket].emitClose();
|
|
@@ -5569,6 +5574,26 @@ var require_websocket = __commonJS({
|
|
|
5569
5574
|
function resume(stream2) {
|
|
5570
5575
|
stream2.resume();
|
|
5571
5576
|
}
|
|
5577
|
+
function senderOnError(err) {
|
|
5578
|
+
const websocket = this[kWebSocket];
|
|
5579
|
+
if (websocket.readyState === WebSocket2.CLOSED)
|
|
5580
|
+
return;
|
|
5581
|
+
if (websocket.readyState === WebSocket2.OPEN) {
|
|
5582
|
+
websocket._readyState = WebSocket2.CLOSING;
|
|
5583
|
+
setCloseTimer(websocket);
|
|
5584
|
+
}
|
|
5585
|
+
this._socket.end();
|
|
5586
|
+
if (!websocket._errorEmitted) {
|
|
5587
|
+
websocket._errorEmitted = true;
|
|
5588
|
+
websocket.emit("error", err);
|
|
5589
|
+
}
|
|
5590
|
+
}
|
|
5591
|
+
function setCloseTimer(websocket) {
|
|
5592
|
+
websocket._closeTimer = setTimeout(
|
|
5593
|
+
websocket._socket.destroy.bind(websocket._socket),
|
|
5594
|
+
closeTimeout
|
|
5595
|
+
);
|
|
5596
|
+
}
|
|
5572
5597
|
function socketOnClose() {
|
|
5573
5598
|
const websocket = this[kWebSocket];
|
|
5574
5599
|
this.removeListener("close", socketOnClose);
|
|
@@ -5612,9 +5637,115 @@ var require_websocket = __commonJS({
|
|
|
5612
5637
|
}
|
|
5613
5638
|
});
|
|
5614
5639
|
|
|
5615
|
-
//
|
|
5640
|
+
// ../node_modules/ws/lib/stream.js
|
|
5641
|
+
var require_stream = __commonJS({
|
|
5642
|
+
"../node_modules/ws/lib/stream.js"(exports, module) {
|
|
5643
|
+
"use strict";
|
|
5644
|
+
var WebSocket2 = require_websocket();
|
|
5645
|
+
var { Duplex } = __require2("stream");
|
|
5646
|
+
function emitClose(stream2) {
|
|
5647
|
+
stream2.emit("close");
|
|
5648
|
+
}
|
|
5649
|
+
function duplexOnEnd() {
|
|
5650
|
+
if (!this.destroyed && this._writableState.finished) {
|
|
5651
|
+
this.destroy();
|
|
5652
|
+
}
|
|
5653
|
+
}
|
|
5654
|
+
function duplexOnError(err) {
|
|
5655
|
+
this.removeListener("error", duplexOnError);
|
|
5656
|
+
this.destroy();
|
|
5657
|
+
if (this.listenerCount("error") === 0) {
|
|
5658
|
+
this.emit("error", err);
|
|
5659
|
+
}
|
|
5660
|
+
}
|
|
5661
|
+
function createWebSocketStream2(ws, options) {
|
|
5662
|
+
let terminateOnDestroy = true;
|
|
5663
|
+
const duplex = new Duplex({
|
|
5664
|
+
...options,
|
|
5665
|
+
autoDestroy: false,
|
|
5666
|
+
emitClose: false,
|
|
5667
|
+
objectMode: false,
|
|
5668
|
+
writableObjectMode: false
|
|
5669
|
+
});
|
|
5670
|
+
ws.on("message", function message(msg, isBinary) {
|
|
5671
|
+
const data = !isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
|
|
5672
|
+
if (!duplex.push(data))
|
|
5673
|
+
ws.pause();
|
|
5674
|
+
});
|
|
5675
|
+
ws.once("error", function error2(err) {
|
|
5676
|
+
if (duplex.destroyed)
|
|
5677
|
+
return;
|
|
5678
|
+
terminateOnDestroy = false;
|
|
5679
|
+
duplex.destroy(err);
|
|
5680
|
+
});
|
|
5681
|
+
ws.once("close", function close() {
|
|
5682
|
+
if (duplex.destroyed)
|
|
5683
|
+
return;
|
|
5684
|
+
duplex.push(null);
|
|
5685
|
+
});
|
|
5686
|
+
duplex._destroy = function(err, callback) {
|
|
5687
|
+
if (ws.readyState === ws.CLOSED) {
|
|
5688
|
+
callback(err);
|
|
5689
|
+
process.nextTick(emitClose, duplex);
|
|
5690
|
+
return;
|
|
5691
|
+
}
|
|
5692
|
+
let called = false;
|
|
5693
|
+
ws.once("error", function error2(err2) {
|
|
5694
|
+
called = true;
|
|
5695
|
+
callback(err2);
|
|
5696
|
+
});
|
|
5697
|
+
ws.once("close", function close() {
|
|
5698
|
+
if (!called)
|
|
5699
|
+
callback(err);
|
|
5700
|
+
process.nextTick(emitClose, duplex);
|
|
5701
|
+
});
|
|
5702
|
+
if (terminateOnDestroy)
|
|
5703
|
+
ws.terminate();
|
|
5704
|
+
};
|
|
5705
|
+
duplex._final = function(callback) {
|
|
5706
|
+
if (ws.readyState === ws.CONNECTING) {
|
|
5707
|
+
ws.once("open", function open() {
|
|
5708
|
+
duplex._final(callback);
|
|
5709
|
+
});
|
|
5710
|
+
return;
|
|
5711
|
+
}
|
|
5712
|
+
if (ws._socket === null)
|
|
5713
|
+
return;
|
|
5714
|
+
if (ws._socket._writableState.finished) {
|
|
5715
|
+
callback();
|
|
5716
|
+
if (duplex._readableState.endEmitted)
|
|
5717
|
+
duplex.destroy();
|
|
5718
|
+
} else {
|
|
5719
|
+
ws._socket.once("finish", function finish() {
|
|
5720
|
+
callback();
|
|
5721
|
+
});
|
|
5722
|
+
ws.close();
|
|
5723
|
+
}
|
|
5724
|
+
};
|
|
5725
|
+
duplex._read = function() {
|
|
5726
|
+
if (ws.isPaused)
|
|
5727
|
+
ws.resume();
|
|
5728
|
+
};
|
|
5729
|
+
duplex._write = function(chunk, encoding, callback) {
|
|
5730
|
+
if (ws.readyState === ws.CONNECTING) {
|
|
5731
|
+
ws.once("open", function open() {
|
|
5732
|
+
duplex._write(chunk, encoding, callback);
|
|
5733
|
+
});
|
|
5734
|
+
return;
|
|
5735
|
+
}
|
|
5736
|
+
ws.send(chunk, callback);
|
|
5737
|
+
};
|
|
5738
|
+
duplex.on("end", duplexOnEnd);
|
|
5739
|
+
duplex.on("error", duplexOnError);
|
|
5740
|
+
return duplex;
|
|
5741
|
+
}
|
|
5742
|
+
module.exports = createWebSocketStream2;
|
|
5743
|
+
}
|
|
5744
|
+
});
|
|
5745
|
+
|
|
5746
|
+
// ../node_modules/ws/lib/subprotocol.js
|
|
5616
5747
|
var require_subprotocol = __commonJS({
|
|
5617
|
-
"
|
|
5748
|
+
"../node_modules/ws/lib/subprotocol.js"(exports, module) {
|
|
5618
5749
|
"use strict";
|
|
5619
5750
|
var { tokenChars } = require_validation();
|
|
5620
5751
|
function parse(header) {
|
|
@@ -5660,9 +5791,9 @@ var require_subprotocol = __commonJS({
|
|
|
5660
5791
|
}
|
|
5661
5792
|
});
|
|
5662
5793
|
|
|
5663
|
-
//
|
|
5794
|
+
// ../node_modules/ws/lib/websocket-server.js
|
|
5664
5795
|
var require_websocket_server = __commonJS({
|
|
5665
|
-
"
|
|
5796
|
+
"../node_modules/ws/lib/websocket-server.js"(exports, module) {
|
|
5666
5797
|
"use strict";
|
|
5667
5798
|
var EventEmitter = __require2("events");
|
|
5668
5799
|
var http = __require2("http");
|
|
@@ -5862,25 +5993,28 @@ var require_websocket_server = __commonJS({
|
|
|
5862
5993
|
handleUpgrade(req, socket, head, cb) {
|
|
5863
5994
|
socket.on("error", socketOnError);
|
|
5864
5995
|
const key = req.headers["sec-websocket-key"];
|
|
5996
|
+
const upgrade = req.headers.upgrade;
|
|
5865
5997
|
const version = +req.headers["sec-websocket-version"];
|
|
5866
5998
|
if (req.method !== "GET") {
|
|
5867
5999
|
const message = "Invalid HTTP method";
|
|
5868
6000
|
abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
|
|
5869
6001
|
return;
|
|
5870
6002
|
}
|
|
5871
|
-
if (
|
|
6003
|
+
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
5872
6004
|
const message = "Invalid Upgrade header";
|
|
5873
6005
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
5874
6006
|
return;
|
|
5875
6007
|
}
|
|
5876
|
-
if (
|
|
6008
|
+
if (key === void 0 || !keyRegex.test(key)) {
|
|
5877
6009
|
const message = "Missing or invalid Sec-WebSocket-Key header";
|
|
5878
6010
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
5879
6011
|
return;
|
|
5880
6012
|
}
|
|
5881
|
-
if (version !==
|
|
6013
|
+
if (version !== 13 && version !== 8) {
|
|
5882
6014
|
const message = "Missing or invalid Sec-WebSocket-Version header";
|
|
5883
|
-
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message
|
|
6015
|
+
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message, {
|
|
6016
|
+
"Sec-WebSocket-Version": "13, 8"
|
|
6017
|
+
});
|
|
5884
6018
|
return;
|
|
5885
6019
|
}
|
|
5886
6020
|
if (!this.shouldHandle(req)) {
|
|
@@ -6043,19 +6177,19 @@ var require_websocket_server = __commonJS({
|
|
|
6043
6177
|
` + Object.keys(headers).map((h) => `${h}: ${headers[h]}`).join("\r\n") + "\r\n\r\n" + message
|
|
6044
6178
|
);
|
|
6045
6179
|
}
|
|
6046
|
-
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
|
|
6180
|
+
function abortHandshakeOrEmitwsClientError(server, req, socket, code, message, headers) {
|
|
6047
6181
|
if (server.listenerCount("wsClientError")) {
|
|
6048
6182
|
const err = new Error(message);
|
|
6049
6183
|
Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
|
|
6050
6184
|
server.emit("wsClientError", err, socket, req);
|
|
6051
6185
|
} else {
|
|
6052
|
-
abortHandshake(socket, code, message);
|
|
6186
|
+
abortHandshake(socket, code, message, headers);
|
|
6053
6187
|
}
|
|
6054
6188
|
}
|
|
6055
6189
|
}
|
|
6056
6190
|
});
|
|
6057
6191
|
|
|
6058
|
-
//
|
|
6192
|
+
// ../node_modules/ws/wrapper.mjs
|
|
6059
6193
|
var wrapper_exports = {};
|
|
6060
6194
|
__export(wrapper_exports, {
|
|
6061
6195
|
Receiver: () => import_receiver.default,
|
|
@@ -6067,7 +6201,7 @@ __export(wrapper_exports, {
|
|
|
6067
6201
|
});
|
|
6068
6202
|
var import_stream, import_receiver, import_sender, import_websocket, import_websocket_server, wrapper_default;
|
|
6069
6203
|
var init_wrapper = __esm({
|
|
6070
|
-
"
|
|
6204
|
+
"../node_modules/ws/wrapper.mjs"() {
|
|
6071
6205
|
import_stream = __toESM(require_stream(), 1);
|
|
6072
6206
|
import_receiver = __toESM(require_receiver(), 1);
|
|
6073
6207
|
import_sender = __toESM(require_sender(), 1);
|
|
@@ -8923,6 +9057,7 @@ function transformImportsWithMap(code, importMap, scope, options) {
|
|
|
8923
9057
|
init_runtime();
|
|
8924
9058
|
init_process();
|
|
8925
9059
|
import { join as join4 } from "node:path";
|
|
9060
|
+
var IS_TRUE_NODE = isNode && !isDeno;
|
|
8926
9061
|
var LOG_PREFIX_MDX_LOADER = "[mdx-loader]";
|
|
8927
9062
|
var LOG_PREFIX_MDX_RENDERER = "[mdx-renderer]";
|
|
8928
9063
|
var JSX_IMPORT_PATTERN = /import\s+([^'"]+)\s+from\s+['"]file:\/\/([^'"]+\.(jsx|tsx))['"];?/g;
|
|
@@ -8931,6 +9066,57 @@ var HTTP_IMPORT_PATTERN = /['"]https?:\/\/[^'"]+['"]/;
|
|
|
8931
9066
|
var ESBUILD_JSX_FACTORY = "React.createElement";
|
|
8932
9067
|
var ESBUILD_JSX_FRAGMENT = "React.Fragment";
|
|
8933
9068
|
var HTTP_MODULE_FETCH_TIMEOUT_MS2 = 3e4;
|
|
9069
|
+
var _resolvedPaths = {};
|
|
9070
|
+
async function resolveNodePackage(packageSpec) {
|
|
9071
|
+
if (!IS_TRUE_NODE)
|
|
9072
|
+
return null;
|
|
9073
|
+
if (packageSpec in _resolvedPaths)
|
|
9074
|
+
return _resolvedPaths[packageSpec];
|
|
9075
|
+
try {
|
|
9076
|
+
const { createRequire } = await import("node:module");
|
|
9077
|
+
const require2 = createRequire(import.meta.url);
|
|
9078
|
+
const resolved = require2.resolve(packageSpec);
|
|
9079
|
+
_resolvedPaths[packageSpec] = resolved;
|
|
9080
|
+
return resolved;
|
|
9081
|
+
} catch {
|
|
9082
|
+
_resolvedPaths[packageSpec] = null;
|
|
9083
|
+
return null;
|
|
9084
|
+
}
|
|
9085
|
+
}
|
|
9086
|
+
async function transformReactImportsToAbsolute(code) {
|
|
9087
|
+
if (!IS_TRUE_NODE)
|
|
9088
|
+
return code;
|
|
9089
|
+
const reactPath = await resolveNodePackage("react");
|
|
9090
|
+
const reactJsxPath = await resolveNodePackage("react/jsx-runtime");
|
|
9091
|
+
const reactJsxDevPath = await resolveNodePackage("react/jsx-dev-runtime");
|
|
9092
|
+
const reactDomPath = await resolveNodePackage("react-dom");
|
|
9093
|
+
let result = code;
|
|
9094
|
+
if (reactJsxPath) {
|
|
9095
|
+
result = result.replace(
|
|
9096
|
+
/from\s+['"]react\/jsx-runtime['"]/g,
|
|
9097
|
+
`from "file://${reactJsxPath}"`
|
|
9098
|
+
);
|
|
9099
|
+
}
|
|
9100
|
+
if (reactJsxDevPath) {
|
|
9101
|
+
result = result.replace(
|
|
9102
|
+
/from\s+['"]react\/jsx-dev-runtime['"]/g,
|
|
9103
|
+
`from "file://${reactJsxDevPath}"`
|
|
9104
|
+
);
|
|
9105
|
+
}
|
|
9106
|
+
if (reactDomPath) {
|
|
9107
|
+
result = result.replace(
|
|
9108
|
+
/from\s+['"]react-dom['"]/g,
|
|
9109
|
+
`from "file://${reactDomPath}"`
|
|
9110
|
+
);
|
|
9111
|
+
}
|
|
9112
|
+
if (reactPath) {
|
|
9113
|
+
result = result.replace(
|
|
9114
|
+
/from\s+['"]react['"]/g,
|
|
9115
|
+
`from "file://${reactPath}"`
|
|
9116
|
+
);
|
|
9117
|
+
}
|
|
9118
|
+
return result;
|
|
9119
|
+
}
|
|
8934
9120
|
function hashString(input) {
|
|
8935
9121
|
const HASH_SEED_FNV1A2 = 2166136261;
|
|
8936
9122
|
let hash = HASH_SEED_FNV1A2 >>> 0;
|
|
@@ -9005,7 +9191,7 @@ async function loadModuleESM(compiledProgramCode, context) {
|
|
|
9005
9191
|
const { getAdapter: getAdapter2 } = await Promise.resolve().then(() => (init_detect(), detect_exports));
|
|
9006
9192
|
const adapter = await getAdapter2();
|
|
9007
9193
|
if (!context.esmCacheDir) {
|
|
9008
|
-
if (
|
|
9194
|
+
if (IS_TRUE_NODE) {
|
|
9009
9195
|
const projectCacheDir = join4(
|
|
9010
9196
|
cwd(),
|
|
9011
9197
|
"node_modules",
|
|
@@ -9019,8 +9205,8 @@ async function loadModuleESM(compiledProgramCode, context) {
|
|
|
9019
9205
|
}
|
|
9020
9206
|
}
|
|
9021
9207
|
let rewritten;
|
|
9022
|
-
if (
|
|
9023
|
-
rewritten = compiledProgramCode;
|
|
9208
|
+
if (IS_TRUE_NODE) {
|
|
9209
|
+
rewritten = await transformReactImportsToAbsolute(compiledProgramCode);
|
|
9024
9210
|
} else {
|
|
9025
9211
|
rewritten = transformImportsWithMap(
|
|
9026
9212
|
compiledProgramCode,
|
|
@@ -9074,7 +9260,7 @@ ${transformed}`;
|
|
|
9074
9260
|
if (/\bconst\s+MDXLayout\b/.test(rewritten) && !/export\s+\{[^}]*MDXLayout/.test(rewritten)) {
|
|
9075
9261
|
rewritten += "\nexport { MDXLayout as __vfLayout };\n";
|
|
9076
9262
|
}
|
|
9077
|
-
if (
|
|
9263
|
+
if (IS_TRUE_NODE && HTTP_IMPORT_PATTERN.test(rewritten)) {
|
|
9078
9264
|
rendererLogger.info(`${LOG_PREFIX_MDX_LOADER} Bundling HTTP imports via esbuild for Node.js`);
|
|
9079
9265
|
const { build: build2 } = await import("esbuild/mod.js");
|
|
9080
9266
|
const tempSourcePath = join4(context.esmCacheDir, `temp-${hashString(rewritten)}.mjs`);
|
|
@@ -10048,12 +10234,10 @@ var TracingManager = class {
|
|
|
10048
10234
|
}
|
|
10049
10235
|
}
|
|
10050
10236
|
async initializeTracer(config) {
|
|
10051
|
-
const
|
|
10052
|
-
const api = await import(otelApiModule);
|
|
10237
|
+
const api = await import("@opentelemetry/api");
|
|
10053
10238
|
this.state.api = api;
|
|
10054
10239
|
this.state.tracer = api.trace.getTracer(config.serviceName || "veryfront", "0.1.0");
|
|
10055
|
-
const
|
|
10056
|
-
const { W3CTraceContextPropagator } = await import(otelCoreModule);
|
|
10240
|
+
const { W3CTraceContextPropagator } = await import("@opentelemetry/core");
|
|
10057
10241
|
const propagator = new W3CTraceContextPropagator();
|
|
10058
10242
|
this.state.propagator = propagator;
|
|
10059
10243
|
api.propagation.setGlobalPropagator(propagator);
|