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/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.63",
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": "https://esm.sh/@mdx-js/mdx@3.0.0?deps=react@18.3.1,react-dom@18.3.1",
372
- "@mdx-js/react": "https://esm.sh/@mdx-js/react@3.0.0?deps=react@18.3.1,react-dom@18.3.1",
373
- "unist-util-visit": "https://esm.sh/unist-util-visit@5.0.0",
374
- "mdast-util-to-string": "https://esm.sh/mdast-util-to-string@4.0.0",
375
- "github-slugger": "https://esm.sh/github-slugger@2.0.0",
376
- "remark-gfm": "https://esm.sh/remark-gfm@4.0.1",
377
- "remark-frontmatter": "https://esm.sh/remark-frontmatter@5.0.0",
378
- "rehype-highlight": "https://esm.sh/rehype-highlight@7.0.2",
379
- "rehype-slug": "https://esm.sh/rehype-slug@6.0.0",
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": "https://esm.sh/es-module-lexer@1.5.0",
383
- zod: "https://esm.sh/zod@3.22.0",
384
- "mime-types": "https://esm.sh/mime-types@2.1.35",
385
- mdast: "https://esm.sh/@types/mdast@4.0.3",
386
- hast: "https://esm.sh/@types/hast@3.0.3",
387
- unist: "https://esm.sh/@types/unist@3.0.2",
388
- unified: "https://esm.sh/unified@11.0.5?dts",
389
- ai: "https://esm.sh/ai@5.0.76?deps=react@18.3.1,react-dom@18.3.1",
390
- "ai/react": "https://esm.sh/@ai-sdk/react@2.0.59?deps=react@18.3.1,react-dom@18.3.1",
391
- "@ai-sdk/react": "https://esm.sh/@ai-sdk/react@2.0.59?deps=react@18.3.1,react-dom@18.3.1",
392
- "@ai-sdk/openai": "https://esm.sh/@ai-sdk/openai@2.0.1",
393
- "@ai-sdk/anthropic": "https://esm.sh/@ai-sdk/anthropic@2.0.4",
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
- // ../../../../node_modules/ws/lib/stream.js
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
- "../../../../node_modules/ws/lib/constants.js"(exports, module) {
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: ["nodebuffer", "arraybuffer", "fragments"],
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
- // ../../../../node_modules/ws/lib/buffer-util.js
2514
+ // ../node_modules/ws/lib/buffer-util.js
2610
2515
  var require_buffer_util = __commonJS({
2611
- "../../../../node_modules/ws/lib/buffer-util.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/limiter.js
2596
+ // ../node_modules/ws/lib/limiter.js
2692
2597
  var require_limiter = __commonJS({
2693
- "../../../../node_modules/ws/lib/limiter.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/permessage-deflate.js
2647
+ // ../node_modules/ws/lib/permessage-deflate.js
2743
2648
  var require_permessage_deflate = __commonJS({
2744
- "../../../../node_modules/ws/lib/permessage-deflate.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/validation.js
3031
+ // ../node_modules/ws/lib/validation.js
3123
3032
  var require_validation = __commonJS({
3124
- "../../../../node_modules/ws/lib/validation.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/receiver.js
3232
+ // ../node_modules/ws/lib/receiver.js
3319
3233
  var require_receiver = __commonJS({
3320
- "../../../../node_modules/ws/lib/receiver.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/sender.js
3835
+ // ../node_modules/ws/lib/sender.js
3920
3836
  var require_sender = __commonJS({
3921
- "../../../../node_modules/ws/lib/sender.js"(exports, module) {
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
- randomFillSync(mask, 0, 4);
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._deflating) {
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 (this._deflating) {
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 (this._deflating) {
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
- if (perMessageDeflate) {
4202
- const opts = {
4203
- [kByteLength]: byteLength,
4204
- fin: options.fin,
4205
- generateMask: this._generateMask,
4206
- mask: options.mask,
4207
- maskBuffer: this._maskBuffer,
4208
- opcode,
4209
- readOnly,
4210
- rsv1
4211
- };
4212
- if (this._deflating) {
4213
- this.enqueue([this.dispatch, data, this._compress, opts, cb]);
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.dispatch(data, this._compress, opts, cb);
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.sendFrame(
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._deflating = true;
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
- if (typeof cb === "function")
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._deflating = false;
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 (!this._deflating && this._queue.length) {
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
- // ../../../../node_modules/ws/lib/event-target.js
4329
+ // ../node_modules/ws/lib/event-target.js
4331
4330
  var require_event_target = __commonJS({
4332
- "../../../../node_modules/ws/lib/event-target.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/extension.js
4558
+ // ../node_modules/ws/lib/extension.js
4560
4559
  var require_extension = __commonJS({
4561
- "../../../../node_modules/ws/lib/extension.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/websocket.js
4728
+ // ../node_modules/ws/lib/websocket.js
4730
4729
  var require_websocket = __commonJS({
4731
- "../../../../node_modules/ws/lib/websocket.js"(exports, module) {
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
- * This deviates from the WHATWG interface since ws doesn't support the
4809
- * required default "blob" type (instead we define a custom "nodebuffer"
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
- this._sender = new Sender2(socket, this._extensions, options.generateMask);
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._closeTimer = setTimeout(
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
- if (res.headers.upgrade.toLowerCase() !== "websocket") {
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.emit("error", err);
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
- // ../../../../node_modules/ws/lib/subprotocol.js
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
- "../../../../node_modules/ws/lib/subprotocol.js"(exports, module) {
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
- // ../../../../node_modules/ws/lib/websocket-server.js
5794
+ // ../node_modules/ws/lib/websocket-server.js
5664
5795
  var require_websocket_server = __commonJS({
5665
- "../../../../node_modules/ws/lib/websocket-server.js"(exports, module) {
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 (req.headers.upgrade.toLowerCase() !== "websocket") {
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 (!key || !keyRegex.test(key)) {
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 !== 8 && version !== 13) {
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
- // ../../../../node_modules/ws/wrapper.mjs
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
- "../../../../node_modules/ws/wrapper.mjs"() {
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 (isNode) {
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 (isNode) {
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 (isNode && HTTP_IMPORT_PATTERN.test(rewritten)) {
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 otelApiModule = ["npm:@opentelemetry/", "api@1"].join("");
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 otelCoreModule = ["npm:@opentelemetry/", "core@1"].join("");
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);