dev3000 0.0.153 → 0.0.155

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.
Files changed (166) hide show
  1. package/README.md +121 -103
  2. package/dist/cdp-monitor.d.ts.map +1 -1
  3. package/dist/cdp-monitor.js +2 -3
  4. package/dist/cdp-monitor.js.map +1 -1
  5. package/dist/cli.js +301 -75
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/cloud-check-pr.d.ts +1 -0
  8. package/dist/commands/cloud-check-pr.d.ts.map +1 -1
  9. package/dist/commands/cloud-check-pr.js +18 -6
  10. package/dist/commands/cloud-check-pr.js.map +1 -1
  11. package/dist/commands/crawl.d.ts +12 -0
  12. package/dist/commands/crawl.d.ts.map +1 -0
  13. package/dist/commands/crawl.js +140 -0
  14. package/dist/commands/crawl.js.map +1 -0
  15. package/dist/commands/errors.d.ts +14 -0
  16. package/dist/commands/errors.d.ts.map +1 -0
  17. package/dist/commands/errors.js +295 -0
  18. package/dist/commands/errors.js.map +1 -0
  19. package/dist/commands/find-component.d.ts +8 -0
  20. package/dist/commands/find-component.d.ts.map +1 -0
  21. package/dist/commands/find-component.js +182 -0
  22. package/dist/commands/find-component.js.map +1 -0
  23. package/dist/commands/fix.d.ts +13 -0
  24. package/dist/commands/fix.d.ts.map +1 -0
  25. package/dist/commands/fix.js +288 -0
  26. package/dist/commands/fix.js.map +1 -0
  27. package/dist/commands/logs.d.ts +13 -0
  28. package/dist/commands/logs.d.ts.map +1 -0
  29. package/dist/commands/logs.js +195 -0
  30. package/dist/commands/logs.js.map +1 -0
  31. package/dist/commands/restart.d.ts +8 -0
  32. package/dist/commands/restart.d.ts.map +1 -0
  33. package/dist/commands/restart.js +92 -0
  34. package/dist/commands/restart.js.map +1 -0
  35. package/dist/components/PackageSelector.d.ts +12 -0
  36. package/dist/components/PackageSelector.d.ts.map +1 -0
  37. package/dist/components/PackageSelector.js +74 -0
  38. package/dist/components/PackageSelector.js.map +1 -0
  39. package/dist/dev-environment.d.ts +0 -7
  40. package/dist/dev-environment.d.ts.map +1 -1
  41. package/dist/dev-environment.js +108 -674
  42. package/dist/dev-environment.js.map +1 -1
  43. package/dist/screencast-manager.d.ts.map +1 -1
  44. package/dist/screencast-manager.js +7 -8
  45. package/dist/screencast-manager.js.map +1 -1
  46. package/dist/skills/d3k/SKILL.md +38 -27
  47. package/dist/skills/index.d.ts +10 -14
  48. package/dist/skills/index.d.ts.map +1 -1
  49. package/dist/skills/index.js +56 -75
  50. package/dist/skills/index.js.map +1 -1
  51. package/dist/skills/index.test.ts +13 -55
  52. package/dist/skills/index.ts +59 -80
  53. package/dist/src/tui-interface-impl.tsx +6 -15
  54. package/dist/tui-interface-impl.d.ts.map +1 -1
  55. package/dist/tui-interface-impl.js +4 -4
  56. package/dist/tui-interface-impl.js.map +1 -1
  57. package/dist/tui-interface-opentui.d.ts.map +1 -1
  58. package/dist/tui-interface-opentui.js +211 -80
  59. package/dist/tui-interface-opentui.js.map +1 -1
  60. package/dist/utils/agent-browser.d.ts +2 -0
  61. package/dist/utils/agent-browser.d.ts.map +1 -1
  62. package/dist/utils/agent-browser.js +46 -8
  63. package/dist/utils/agent-browser.js.map +1 -1
  64. package/dist/utils/agent-selection.d.ts.map +1 -1
  65. package/dist/utils/agent-selection.js +9 -2
  66. package/dist/utils/agent-selection.js.map +1 -1
  67. package/dist/utils/skill-installer.d.ts +55 -29
  68. package/dist/utils/skill-installer.d.ts.map +1 -1
  69. package/dist/utils/skill-installer.js +118 -229
  70. package/dist/utils/skill-installer.js.map +1 -1
  71. package/dist/utils/tmux-helpers.d.ts +1 -2
  72. package/dist/utils/tmux-helpers.d.ts.map +1 -1
  73. package/dist/utils/tmux-helpers.js +17 -18
  74. package/dist/utils/tmux-helpers.js.map +1 -1
  75. package/dist/utils/version-check.d.ts +2 -1
  76. package/dist/utils/version-check.d.ts.map +1 -1
  77. package/dist/utils/version-check.js +9 -0
  78. package/dist/utils/version-check.js.map +1 -1
  79. package/mcp-server/.next/BUILD_ID +1 -1
  80. package/mcp-server/.next/build-manifest.json +2 -2
  81. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  82. package/mcp-server/.next/prerender-manifest.json +3 -3
  83. package/mcp-server/.next/server/app/_global-error/page.js +1 -1
  84. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  85. package/mcp-server/.next/server/app/_global-error.html +2 -2
  86. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  87. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  88. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  89. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  90. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  91. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/mcp-server/.next/server/app/_not-found/page.js +1 -1
  93. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  94. package/mcp-server/.next/server/app/_not-found.html +1 -1
  95. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  96. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  97. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  98. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  99. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  100. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  101. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  102. package/mcp-server/.next/server/app/api/screenshots/capture/route.js +2 -2
  103. package/mcp-server/.next/server/app/api/screenshots/capture/route.js.nft.json +1 -1
  104. package/mcp-server/.next/server/app/index.html +1 -1
  105. package/mcp-server/.next/server/app/index.rsc +2 -2
  106. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  107. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +2 -2
  108. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +1 -1
  109. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +1 -1
  110. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  111. package/mcp-server/.next/server/app/logs/page.js +1 -1
  112. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  113. package/mcp-server/.next/server/app/mcp/route.js +4 -4
  114. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  115. package/mcp-server/.next/server/app/page.js +1 -1
  116. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  117. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  118. package/mcp-server/.next/server/app/video/[session]/page.js +1 -1
  119. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
  120. package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js +3 -3
  121. package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js.map +1 -1
  122. package/mcp-server/.next/server/chunks/[root-of-the-server]__69e6dfb7._.js +3 -0
  123. package/mcp-server/.next/server/chunks/{[root-of-the-server]__444592aa._.js.map → [root-of-the-server]__69e6dfb7._.js.map} +1 -1
  124. package/mcp-server/.next/server/chunks/[root-of-the-server]__6baff21e._.js +4 -0
  125. package/mcp-server/.next/server/chunks/{[root-of-the-server]__130a5f58._.js.map → [root-of-the-server]__6baff21e._.js.map} +1 -1
  126. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f790e1f._.js +1 -1
  127. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f790e1f._.js.map +1 -1
  128. package/mcp-server/.next/server/chunks/[root-of-the-server]__c8cf5b23._.js +3 -0
  129. package/mcp-server/.next/server/chunks/[root-of-the-server]__e6a83e60._.js +4 -0
  130. package/mcp-server/.next/server/chunks/{[root-of-the-server]__b71c83ed._.js.map → [root-of-the-server]__e6a83e60._.js.map} +1 -1
  131. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js +32 -66
  132. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js.map +1 -1
  133. package/mcp-server/.next/server/chunks/src_utils_agent-browser_ts_cc00e0d8._.js +1 -1
  134. package/mcp-server/.next/server/chunks/src_utils_agent-browser_ts_cc00e0d8._.js.map +1 -1
  135. package/mcp-server/.next/server/chunks/src_utils_project-name_ts_1fab1dd5._.js +3 -0
  136. package/mcp-server/.next/server/chunks/src_utils_project-name_ts_1fab1dd5._.js.map +1 -0
  137. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__f66148e5._.js → [root-of-the-server]__b17d4048._.js} +2 -2
  138. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__50eb2eba._.js → [root-of-the-server]__dcf84f77._.js} +2 -2
  139. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +1 -1
  140. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js.map +1 -1
  141. package/mcp-server/.next/server/pages/404.html +1 -1
  142. package/mcp-server/.next/server/pages/500.html +2 -2
  143. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  144. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  145. package/mcp-server/.next/static/chunks/{2422ea9ed874427b.js → 3f3f8e7d16ba3bf4.js} +1 -1
  146. package/mcp-server/app/api/tools/route.ts +5 -4
  147. package/mcp-server/app/mcp/route.ts +8 -63
  148. package/mcp-server/app/mcp/tools.ts +71 -445
  149. package/mcp-server/app/page.tsx +1 -1
  150. package/mcp-server/package.json +1 -0
  151. package/package.json +6 -6
  152. package/src/tui-interface-impl.tsx +6 -15
  153. package/dist/components/SkillSelector.d.ts +0 -10
  154. package/dist/components/SkillSelector.d.ts.map +0 -1
  155. package/dist/components/SkillSelector.js +0 -87
  156. package/dist/components/SkillSelector.js.map +0 -1
  157. package/mcp-server/.next/server/chunks/[root-of-the-server]__130a5f58._.js +0 -4
  158. package/mcp-server/.next/server/chunks/[root-of-the-server]__444592aa._.js +0 -3
  159. package/mcp-server/.next/server/chunks/[root-of-the-server]__8f84b4cc._.js +0 -3
  160. package/mcp-server/.next/server/chunks/[root-of-the-server]__b71c83ed._.js +0 -4
  161. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__8f84b4cc._.js.map → [root-of-the-server]__c8cf5b23._.js.map} +0 -0
  162. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__f66148e5._.js.map → [root-of-the-server]__b17d4048._.js.map} +0 -0
  163. /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__50eb2eba._.js.map → [root-of-the-server]__dcf84f77._.js.map} +0 -0
  164. /package/mcp-server/.next/static/{Mseg7iY2pocGklcPCObqM → uxzBYIUkyXehXbe9VuXKp}/_buildManifest.js +0 -0
  165. /package/mcp-server/.next/static/{Mseg7iY2pocGklcPCObqM → uxzBYIUkyXehXbe9VuXKp}/_clientMiddlewareManifest.json +0 -0
  166. /package/mcp-server/.next/static/{Mseg7iY2pocGklcPCObqM → uxzBYIUkyXehXbe9VuXKp}/_ssgManifest.js +0 -0
@@ -150,9 +150,9 @@ const LogLine = memo(
150
150
 
151
151
  const TUIApp = ({
152
152
  appPort: initialAppPort,
153
- mcpPort,
153
+ mcpPort: _mcpPort,
154
154
  logFile,
155
- commandName,
155
+ commandName: _commandName,
156
156
  serversOnly,
157
157
  version,
158
158
  projectName,
@@ -235,7 +235,7 @@ const TUIApp = ({
235
235
  setInitStatus(status)
236
236
  }
237
237
  })
238
- }, [onStatusUpdate, ctrlCMessageDefault])
238
+ }, [onStatusUpdate])
239
239
 
240
240
  // Provide app port update function to parent
241
241
  useEffect(() => {
@@ -461,13 +461,8 @@ const TUIApp = ({
461
461
  </Box>
462
462
  {!isVeryCompact && (
463
463
  <Box flexDirection="column">
464
- <Text dimColor>
465
- App: localhost:{appPort} | MCP: localhost:{mcpPort}
466
- </Text>
467
- <Text dimColor>
468
- 📸 http://localhost:{mcpPort}/logs
469
- {projectName ? `?project=${encodeURIComponent(projectName)}` : ""}
470
- </Text>
464
+ <Text dimColor>App: localhost:{appPort}</Text>
465
+ <Text dimColor>📋 Logs: {logFile}</Text>
471
466
  </Box>
472
467
  )}
473
468
  </Box>
@@ -513,11 +508,7 @@ const TUIApp = ({
513
508
  </Text>
514
509
  {!portConfirmed && <Spinner type="dots" />}
515
510
  </Box>
516
- <Text color="cyan">🤖 MCP: http://localhost:{mcpPort}</Text>
517
- <Text color="cyan">
518
- 📸 Logs: http://localhost:{mcpPort}/logs
519
- {projectName ? `?project=${encodeURIComponent(projectName)}` : ""}
520
- </Text>
511
+ <Text color="cyan">📋 Logs: {logFile}</Text>
521
512
  {serversOnly && (
522
513
  <Text color="cyan">🖥️ Servers-only mode - use Chrome extension for browser monitoring</Text>
523
514
  )}
@@ -1,10 +0,0 @@
1
- import type { AvailableSkill, InstallLocation } from "../utils/skill-installer.js";
2
- interface SkillSelectorProps {
3
- skills: AvailableSkill[];
4
- onComplete: (selectedSkills: AvailableSkill[], location: InstallLocation) => void;
5
- onSkip: () => void;
6
- initiallySelected?: string[];
7
- }
8
- export declare function SkillSelector({ skills, onComplete, onSkip, initiallySelected }: SkillSelectorProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
10
- //# sourceMappingURL=SkillSelector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkillSelector.d.ts","sourceRoot":"","sources":["../../src/components/SkillSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAElF,UAAU,kBAAkB;IAC1B,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,UAAU,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAA;IACjF,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,2CA6IlG"}
@@ -1,87 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { Box, Text, useInput } from "ink";
3
- import { useState } from "react";
4
- export function SkillSelector({ skills, onComplete, onSkip, initiallySelected }) {
5
- // Start with specified skills selected, or all if not specified
6
- const [selectedSkills, setSelectedSkills] = useState(() => {
7
- if (initiallySelected) {
8
- return new Set(initiallySelected.filter((name) => skills.some((s) => s.name === name)));
9
- }
10
- return new Set(skills.map((s) => s.name));
11
- });
12
- const [highlightedIndex, setHighlightedIndex] = useState(0);
13
- const [installLocation, setInstallLocation] = useState("project");
14
- // Items: 0 = "All Skills", 1..n = skills, n+1 = "Install to: project/global"
15
- const locationOptionIndex = skills.length + 1;
16
- const totalItems = skills.length + 2; // +1 for "All Skills", +1 for location option
17
- const allSelected = selectedSkills.size === skills.length;
18
- useInput((input, key) => {
19
- if (key.escape) {
20
- onSkip();
21
- return;
22
- }
23
- if (key.return) {
24
- const selected = skills.filter((s) => selectedSkills.has(s.name));
25
- onComplete(selected, installLocation);
26
- return;
27
- }
28
- if (key.upArrow) {
29
- setHighlightedIndex((prev) => (prev > 0 ? prev - 1 : totalItems - 1));
30
- return;
31
- }
32
- if (key.downArrow) {
33
- setHighlightedIndex((prev) => (prev < totalItems - 1 ? prev + 1 : 0));
34
- return;
35
- }
36
- if (input === " ") {
37
- if (highlightedIndex === 0) {
38
- // Toggle all
39
- if (allSelected) {
40
- setSelectedSkills(new Set());
41
- }
42
- else {
43
- setSelectedSkills(new Set(skills.map((s) => s.name)));
44
- }
45
- }
46
- else if (highlightedIndex === locationOptionIndex) {
47
- // Toggle install location
48
- setInstallLocation((prev) => (prev === "project" ? "global" : "project"));
49
- }
50
- else {
51
- // Toggle individual skill
52
- const skill = skills[highlightedIndex - 1];
53
- const newSelected = new Set(selectedSkills);
54
- if (newSelected.has(skill.name)) {
55
- newSelected.delete(skill.name);
56
- }
57
- else {
58
- newSelected.add(skill.name);
59
- }
60
- setSelectedSkills(newSelected);
61
- }
62
- }
63
- });
64
- const renderCheckbox = (checked, highlighted) => {
65
- const box = checked ? "[x]" : "[ ]";
66
- return (_jsxs(Text, { color: highlighted ? "#A18CE5" : undefined, children: [highlighted ? ">" : " ", " ", box] }));
67
- };
68
- // Allow longer descriptions with word wrapping
69
- const formatDescription = (desc, maxLen = 80) => {
70
- if (desc.length <= maxLen)
71
- return desc;
72
- // Find a good break point (space) near maxLen
73
- const breakPoint = desc.lastIndexOf(" ", maxLen);
74
- if (breakPoint > maxLen * 0.6) {
75
- return `${desc.substring(0, breakPoint)}...`;
76
- }
77
- return `${desc.substring(0, maxLen - 3)}...`;
78
- };
79
- return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "#A18CE5", bold: true, children: "d3k Skill Installer" }) }), _jsx(Text, { dimColor: true, children: "Skills available from Vercel:" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Box, { children: [renderCheckbox(allSelected, highlightedIndex === 0), _jsxs(Text, { color: highlightedIndex === 0 ? "#A18CE5" : undefined, bold: true, children: [" ", "All Skills"] })] }), skills.map((skill, index) => {
80
- const itemIndex = index + 1;
81
- const isHighlighted = highlightedIndex === itemIndex;
82
- const isSelected = selectedSkills.has(skill.name);
83
- const label = skill.isNew ? "(new)" : "(update)";
84
- return (_jsxs(Box, { children: [renderCheckbox(isSelected, isHighlighted), _jsxs(Text, { color: isHighlighted ? "#A18CE5" : undefined, children: [" ", skill.name, " ", _jsx(Text, { color: skill.isNew ? "green" : "yellow", children: label }), _jsxs(Text, { dimColor: true, children: [" - ", formatDescription(skill.description)] })] })] }, skill.name));
85
- }), _jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: highlightedIndex === locationOptionIndex ? "#A18CE5" : undefined, children: [highlightedIndex === locationOptionIndex ? ">" : " ", " Install to:", " "] }), _jsx(Text, { color: installLocation === "project" ? "cyan" : "gray", bold: installLocation === "project", children: "[project]" }), _jsx(Text, { children: " " }), _jsx(Text, { color: installLocation === "global" ? "cyan" : "gray", bold: installLocation === "global", children: "[global]" }), _jsx(Text, { dimColor: true, children: installLocation === "project" ? " (.claude/skills/)" : " (~/.claude/skills/)" })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Space to toggle, Enter to install, Esc to skip" }) })] }));
86
- }
87
- //# sourceMappingURL=SkillSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SkillSelector.js","sourceRoot":"","sources":["../../src/components/SkillSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAUhC,MAAM,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAsB;IACjG,gEAAgE;IAChE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE;QACrE,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;QACzF,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAkB,SAAS,CAAC,CAAA;IAElF,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,8CAA8C;IAEnF,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAA;IAEzD,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,CAAA;YACR,OAAM;QACR,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAA;YACrE,OAAM;QACR,CAAC;QAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACrE,OAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAClB,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;gBAC3B,aAAa;gBACb,IAAI,WAAW,EAAE,CAAC;oBAChB,iBAAiB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;gBACpD,0BAA0B;gBAC1B,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;YAC3E,CAAC;iBAAM,CAAC;gBACN,0BAA0B;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAA;gBAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC3C,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC7B,CAAC;gBACD,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,WAAoB,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACnC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAC7C,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAG,GAAG,IACzB,CACR,CAAA;IACH,CAAC,CAAA;IAED,+CAA+C;IAC/C,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAE,EAAU,EAAE;QACtE,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,IAAI,CAAA;QACtC,8CAA8C;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAChD,IAAI,UAAU,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAA;QAC9C,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,CAAA;IAC9C,CAAC,CAAA;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aACrC,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAClB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,0CAEnB,GACH,EACN,KAAC,IAAI,IAAC,QAAQ,oDAAqC,EACnD,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAEvC,MAAC,GAAG,eACD,cAAc,CAAC,WAAW,EAAE,gBAAgB,KAAK,CAAC,CAAC,EACpD,MAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,mBAC9D,GAAG,kBAEC,IACH,EAGL,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBAC3B,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAA;wBAC3B,MAAM,aAAa,GAAG,gBAAgB,KAAK,SAAS,CAAA;wBACpD,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAA;wBAEhD,OAAO,CACL,MAAC,GAAG,eACD,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,EAC1C,MAAC,IAAI,IAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAC/C,GAAG,EACH,KAAK,CAAC,IAAI,OAAE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EAC1E,MAAC,IAAI,IAAC,QAAQ,0BAAK,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAQ,IAC1D,KANC,KAAK,CAAC,IAAI,CAOd,CACP,CAAA;oBACH,CAAC,CAAC,EAGF,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACf,MAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,KAAK,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,aAC1E,gBAAgB,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,kBAAc,GAAG,IACjE,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,SAAS,0BAE1F,EACP,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,QAAQ,yBAExF,EACP,KAAC,IAAI,IAAC,QAAQ,kBAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,GAAQ,IACjG,IACF,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,IAAI,IAAC,QAAQ,qEAAsD,GAChE,IACF,CACP,CAAA;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- module.exports=[21517,(e,t,s)=>{t.exports=e.x("http",()=>require("http"))},27699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},4446,(e,t,s)=>{t.exports=e.x("net",()=>require("net"))},55004,(e,t,s)=>{t.exports=e.x("tls",()=>require("tls"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},24836,(e,t,s)=>{t.exports=e.x("https",()=>require("https"))},61277,(e,t,s)=>{"use strict";let r=["nodebuffer","arraybuffer","fragments"],i="undefined"!=typeof Blob;i&&r.push("blob"),t.exports={BINARY_TYPES:r,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},18489,(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=e.r(61277),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}function a(e){let t;return(a.readOnly=!0,Buffer.isBuffer(e))?e:(e instanceof ArrayBuffer?t=new i(e):ArrayBuffer.isView(e)?t=new i(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),a.readOnly=!1),t)}if(t.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:a,unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{let e=Error("Cannot find module 'bufferutil'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.mask=function(t,s,r,i,n){n<48?o(t,s,r,i,n):e.mask(t,s,r,i,n)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}},15263,(e,t,s)=>{"use strict";let r=Symbol("kDone"),i=Symbol("kRun");t.exports=class{constructor(e){this[r]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[r])}}}},9084,(e,t,s)=>{"use strict";let r,i=e.r(6461),o=e.r(18489),n=e.r(15263),{kStatusCode:a}=e.r(61277),h=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),f=Symbol("callback"),_=Symbol("buffers"),u=Symbol("error");function p(e){this[_].push(e),this[d]+=e.length}function m(e){(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload)?this[_].push(e):(this[u]=RangeError("Max payload size exceeded"),this[u].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[u][a]=1009,this.removeListener("data",m),this.reset())}function y(e){(this[c]._inflate=null,this[u])?this[f](this[u]):(e[a]=1007,this[f](e))}t.exports=class{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[_]=[],this._inflate.on("error",y),this._inflate.on("data",m)}this._inflate[f]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[u];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[_],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[_]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[_]=[],this._deflate.on("data",p)}this._deflate[f]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[_],this._deflate[d]);t&&(e=new h(e.buffer,e.byteOffset,e.length-4)),this._deflate[f]=null,this._deflate[d]=0,this._deflate[_]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}},30271,(e,t,s)=>{"use strict";let{isUtf8:r}=e.r(874),{hasBlob:i}=e.r(61277);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)t.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{let e=Error("Cannot find module 'utf-8-validate'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.isValidUTF8=function(t){return t.length<32?o(t):e(t)}}catch(e){}},10010,(e,t,s)=>{"use strict";let{Writable:r}=e.r(88947),i=e.r(9084),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:h}=e.r(61277),{concat:l,toArrayBuffer:c,unmask:d}=e.r(18489),{isValidStatusCode:f,isValidUTF8:_}=e.r(30271),u=Buffer[Symbol.species];t.exports=class extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[h]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new u(t.buffer,t.byteOffset+e,t.length-e),new u(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new u(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0)return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop)this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0)return void e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName])return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=s}else{if(!(this._opcode>7)||!(this._opcode<11))return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked)return void e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);s>2097151?e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=0x100000000*s+t.readUInt32BE(4),this.haveLength(e))}haveLength(e){this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)?e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH")):this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7)return void this.controlMessage(t,e);if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?c(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=l(s,t);if(!this._skipUTF8Validation&&!_(r))return void e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!f(s))return void t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let r=new u(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!_(r))return void t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}},87903,(e,t,s)=>{"use strict";let r,{Duplex:i}=e.r(88947),{randomFillSync:o}=e.r(54799),n=e.r(9084),{EMPTY_BUFFER:a,kWebSocket:h,NOOP:l}=e.r(61277),{isBlob:c,isValidStatusCode:d}=e.r(30271),{mask:f,toBuffer:_}=e.r(18489),u=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=l,this[h]=void 0}static frame(e,t){let s,i,n=!1,a=2,h=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),h=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||h)&&void 0!==t[u]?t[u]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!h);let l=i;i>=65536?(a+=8,l=127):i>125&&(a+=2,l=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=l,126===l?c.writeUInt16BE(i,2):127===l&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],h)?[c,e]:n?(f(e,s,c,a,i),[c]):(f(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e))if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0);else throw TypeError("First argument must be a valid error code number");let o={[u]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[u]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[u]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i,o=this._extensions[n.extensionName],a=t.binary?2:1,h=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),this._firstFragment?(this._firstFragment=!1,h&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(h=r>=o._threshold),this._compress=h):(h=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[u]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:h};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[u],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[u];let i=_(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(b,this,e,r)})}dispatch(e,t,s,r){if(!t)return void this.sendFrame(y.frame(e,s),r);let i=this._extensions[n.extensionName];this._bufferedBytes+=s[u],this._state=1,i.compress(e,s.fin,(e,t)=>{this._socket.destroyed?g(this,Error("The socket was closed while data was being compressed"),r):(this._bufferedBytes-=s[u],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue())})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][u],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][u],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function b(e,t,s){g(e,t,s),e.onerror(t)}t.exports=y},17617,(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=e.r(61277),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),h=Symbol("kMessage"),l=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),f=Symbol("kWasClean");class _{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(_.prototype,"target",{enumerable:!0}),Object.defineProperty(_.prototype,"type",{enumerable:!0});class u extends _{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[f]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[l]}get wasClean(){return this[f]}}Object.defineProperty(u.prototype,"code",{enumerable:!0}),Object.defineProperty(u.prototype,"reason",{enumerable:!0}),Object.defineProperty(u.prototype,"wasClean",{enumerable:!0});class p extends _{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[h]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[h]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends _{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:u,ErrorEvent:p,Event:_,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new u("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new _("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},20165,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(30271);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s,o=Object.create(null),n=Object.create(null),a=!1,h=!1,l=!1,c=-1,d=-1,f=-1,_=0;for(;_<e.length;_++)if(d=e.charCodeAt(_),void 0===t)if(-1===f&&1===r[d])-1===c&&(c=_);else if(0!==_&&(32===d||9===d))-1===f&&-1!==c&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_);let s=e.slice(c,f);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=f=-1}else throw SyntaxError(`Unexpected character at index ${_}`);else if(void 0===s)if(-1===f&&1===r[d])-1===c&&(c=_);else if(32===d||9===d)-1===f&&-1!==c&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_),i(n,e.slice(c,f),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=f=-1}else if(61===d&&-1!==c&&-1===f)s=e.slice(c,_),c=f=-1;else throw SyntaxError(`Unexpected character at index ${_}`);else if(h){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${_}`);-1===c?c=_:a||(a=!0),h=!1}else if(l)if(1===r[d])-1===c&&(c=_);else if(34===d&&-1!==c)l=!1,f=_;else if(92===d)h=!0;else throw SyntaxError(`Unexpected character at index ${_}`);else if(34===d&&61===e.charCodeAt(_-1))l=!0;else if(-1===f&&1===r[d])-1===c&&(c=_);else if(-1!==c&&(32===d||9===d))-1===f&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_);let r=e.slice(c,f);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=f=-1}else throw SyntaxError(`Unexpected character at index ${_}`);if(-1===c||l||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===f&&(f=_);let u=e.slice(c,f);return void 0===t?i(o,u,n):(void 0===s?i(n,u,!0):a?i(n,s,u.replace(/\\/g,"")):i(n,s,u),i(o,t,n)),o}}},14173,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(24836),o=e.r(21517),n=e.r(4446),a=e.r(55004),{randomBytes:h,createHash:l}=e.r(54799),{Duplex:c,Readable:d}=e.r(88947),{URL:f}=e.r(92509),_=e.r(9084),u=e.r(10010),p=e.r(87903),{isBlob:m}=e.r(30271),{BINARY_TYPES:y,CLOSE_TIMEOUT:g,EMPTY_BUFFER:b,GUID:v,kForOnEventAttribute:S,kListener:E,kStatusCode:x,kWebSocket:k,NOOP:w}=e.r(61277),{EventTarget:{addEventListener:O,removeEventListener:T}}=e.r(17617),{format:C,parse:N}=e.r(20165),{toBuffer:L}=e.r(18489),P=Symbol("kAborted"),B=[8,13],U=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class I extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=b,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=I.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,u,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:g,protocolVersion:B[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,t._closeTimeout=p.closeTimeout,!B.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${B.join(", ")})`);if(s instanceof f)a=s;else try{a=new f(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0!==t._redirects)return void D(t,e);throw e}let b=m?443:80,S=h(16).toString("base64"),E=m?i.request:o.request,x=new Set;if(p.createConnection=p.createConnection||(m?W:M),p.defaultPort=p.defaultPort||b,p.port=a.port||b,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new _(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=C({[_.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!R.test(e)||x.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");x.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),u=t._req=E(p),t._redirects&&t.emit("redirect",t.url,u)}else u=t._req=E(p);p.timeout&&u.on("timeout",()=>{A(t,u,"Opening handshake has timed out")}),u.on("error",e=>{null===u||u[P]||(u=t._req=null,D(t,e))}),u.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects)return void A(t,u,"Maximum redirects exceeded");u.abort();try{i=new f(o,s)}catch(e){D(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",u,i)||A(t,u,`Unexpected server response: ${i.statusCode}`)}),u.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==I.CONNECTING)return;u=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase())return void A(t,s,"Invalid Upgrade header");let n=l("sha1").update(S+v).digest("base64");if(e.headers["sec-websocket-accept"]!==n)return void A(t,s,"Invalid Sec-WebSocket-Accept header");let a=e.headers["sec-websocket-protocol"];if(void 0!==a?x.size?x.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":x.size&&(i="Server sent no subprotocol"),i)return void A(t,s,i);a&&(t._protocol=a);let h=e.headers["sec-websocket-extensions"];if(void 0!==h){let e;if(!d)return void A(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{e=N(h)}catch(e){A(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==_.extensionName)return void A(t,s,"Server indicated an extension that was not requested");try{d.accept(e[_.extensionName])}catch(e){A(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[_.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(u,t):u.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new u({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",$),r.on("drain",j),r.on("error",G),r.on("message",q),r.on("ping",z),r.on("pong",H),i.onerror=K,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Y),e.on("data",J),e.on("end",Q),e.on("error",ee),this._readyState=I.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[_.extensionName]&&this._extensions[_.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING)return void A(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===I.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=I.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Z(this)}}pause(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)?F(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.ping(e||b,t,s))}pong(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)?F(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.pong(e||b,t,s))}resume(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)return void F(this,e,s);let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[_.extensionName]||(r.compress=!1),this._sender.send(e||b,r,s)}terminate(){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING)return void A(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=I.CLOSING,this._socket.destroy())}}}function D(e,t){e._readyState=I.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function M(e){return e.path=e.socketPath,n.connect(e)}function W(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function A(e,t,s){e._readyState=I.CLOSING;let r=Error(s);Error.captureStackTrace(r,A),t.setHeader?(t[P]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(D,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function F(e,t,s){if(t){let s=m(t)?t.size:L(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${U[e.readyState]})`);process.nextTick(s,t)}}function $(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",J),process.nextTick(X,s._socket),1005===e?s.close():s.close(e,t))}function j(){let e=this[k];e.isPaused||e._socket.resume()}function G(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",J),process.nextTick(X,t._socket),t.close(e[x])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function V(){this[k].emitClose()}function q(e,t){this[k].emit("message",e,t)}function z(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,w),t.emit("ping",e)}function H(e){this[k].emit("pong",e)}function X(e){e.resume()}function K(e){let t=this[k];t.readyState!==I.CLOSED&&(t.readyState===I.OPEN&&(t._readyState=I.CLOSING,Z(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function Z(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function Y(){let e=this[k];if(this.removeListener("close",Y),this.removeListener("data",J),this.removeListener("end",Q),e._readyState=I.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[k]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",V),e._receiver.on("finish",V))}function J(e){this[k]._receiver.write(e)||this.pause()}function Q(){let e=this[k];e._readyState=I.CLOSING,e._receiver.end(),this.end()}function ee(){let e=this[k];this.removeListener("error",ee),this.on("error",w),e&&(e._readyState=I.CLOSING,this.destroy())}Object.defineProperty(I,"CONNECTING",{enumerable:!0,value:U.indexOf("CONNECTING")}),Object.defineProperty(I.prototype,"CONNECTING",{enumerable:!0,value:U.indexOf("CONNECTING")}),Object.defineProperty(I,"OPEN",{enumerable:!0,value:U.indexOf("OPEN")}),Object.defineProperty(I.prototype,"OPEN",{enumerable:!0,value:U.indexOf("OPEN")}),Object.defineProperty(I,"CLOSING",{enumerable:!0,value:U.indexOf("CLOSING")}),Object.defineProperty(I.prototype,"CLOSING",{enumerable:!0,value:U.indexOf("CLOSING")}),Object.defineProperty(I,"CLOSED",{enumerable:!0,value:U.indexOf("CLOSED")}),Object.defineProperty(I.prototype,"CLOSED",{enumerable:!0,value:U.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(I.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(I.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[S])return t[E];return null},set(t){for(let t of this.listeners(e))if(t[S]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[S]:!0})}})}),I.prototype.addEventListener=O,I.prototype.removeEventListener=T,t.exports=I},69651,(e,t,s)=>{"use strict";e.r(14173);let{Duplex:r}=e.r(88947);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){e.readyState===e.CONNECTING?e.once("open",function(){a._final(t)}):null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){e.readyState===e.CONNECTING?e.once("open",function(){a._write(t,s,r)}):e.send(t,r)},a.on("end",o),a.on("error",n),a}},91607,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(30271);t.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},12716,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(21517),{Duplex:o}=e.r(88947),{createHash:n}=e.r(54799),a=e.r(20165),h=e.r(9084),l=e.r(91607),c=e.r(14173),{CLOSE_TIMEOUT:d,GUID:f,kWebSocket:_}=e.r(61277),u=/^[+/0-9A-Za-z]{22}==$/;function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
2
- `+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}t.exports=class extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:d,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method)return void g(this,e,t,405,"Invalid HTTP method");if(void 0===o||"websocket"!==o.toLowerCase())return void g(this,e,t,400,"Invalid Upgrade header");if(void 0===i||!u.test(i))return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==n&&8!==n)return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(e))return void y(t,400);let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=l.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let f=e.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&void 0!==f){let s=new h(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(f);e[h.extensionName]&&(s.accept(e[h.extensionName]),_[h.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(o,(o,n,a,h)=>{if(!o)return y(t,n||401,a,h);this.completeUpgrade(_,i,d,e,t,s,r)});if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(_,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,l){if(!i.readable||!i.writable)return i.destroy();if(i[_])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+f).digest("base64"),d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],u=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),u._protocol=e)}if(e[h.extensionName]){let t=e[h.extensionName].params,s=a.format({[h.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),u._extensions=e}this.emit("headers",d,r),i.write(d.concat("\r\n").join("\r\n")),i.removeListener("error",m),u.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),l(u,r)}}},47998,e=>{"use strict";e.i(69651),e.i(10010),e.i(87903);var t=e.i(14173);e.i(12716);let s=t.default;e.s(["default",0,s])}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__130a5f58._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},88947,(e,t,r)=>{t.exports=e.x("stream",()=>require("stream"))},6461,(e,t,r)=>{t.exports=e.x("zlib",()=>require("zlib"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},79321,e=>{"use strict";var t=e.i(66941),r=e.i(78356),a=e.i(79385),n=e.i(55129),s=e.i(28852),o=e.i(4054),i=e.i(63537),l=e.i(4560),u=e.i(29444),c=e.i(96121),d=e.i(30088),p=e.i(11847),h=e.i(16828),x=e.i(68109),f=e.i(81743),g=e.i(93695);e.i(31301);var m=e.i(14909),R=e.i(22734),v=e.i(34642),w=e.i(46786),y=e.i(14747),E=e.i(47998);async function b(t){try{let r=(await t.json().catch(()=>({}))).label||"page-loaded",a=(0,y.join)((0,w.tmpdir)(),"dev3000-sessions");if(!(0,R.existsSync)(a))return v.NextResponse.json({success:!1,error:"No d3k sessions directory found"},{status:404});let n=(await e.A(23970)).readdirSync(a).filter(e=>e.endsWith(".json")),s=null;for(let e of n)try{let t=JSON.parse((0,R.readFileSync)((0,y.join)(a,e),"utf-8"));if(t.cdpUrl){s=t.cdpUrl;break}}catch{}if(!s)try{let e=await fetch("http://localhost:9222/json"),t=(await e.json()).find(e=>"page"===e.type&&!e.url.startsWith("chrome://"));t&&(s=t.webSocketDebuggerUrl)}catch{}if(!s)return v.NextResponse.json({success:!1,error:"No CDP connection available. Make sure d3k is running with browser monitoring."},{status:404});let o=await new Promise((e,t)=>{let a=new E.default(s),n=setTimeout(()=>{a.close(),t(Error("CDP connection timeout"))},3e4);a.on("error",e=>{clearTimeout(n),t(e)}),a.on("open",()=>{a.send(JSON.stringify({id:1,method:"Page.captureScreenshot",params:{format:"png",quality:80}}))}),a.on("message",s=>{try{let o=JSON.parse(s.toString());if(1===o.id){if(clearTimeout(n),a.close(),o.error)return void t(Error(o.error.message||"Screenshot failed"));let s=process.env.SCREENSHOT_DIR||(0,y.join)((0,w.tmpdir)(),"dev3000-mcp-deps","public","screenshots");(0,R.existsSync)(s)||(0,R.mkdirSync)(s,{recursive:!0});let i=new Date().toISOString().replace(/[:.]/g,"-"),l=`${i}-${r}.png`,u=(0,y.join)(s,l),c=Buffer.from(o.result.data,"base64");(0,R.writeFileSync)(u,c),console.log(`[Screenshots] Captured ${l}`),e({filename:l,path:u})}}catch(e){clearTimeout(n),a.close(),t(e)}})});return v.NextResponse.json({success:!0,filename:o.filename,path:o.path})}catch(e){return console.error("Error capturing screenshot:",e),v.NextResponse.json({success:!1,error:e instanceof Error?e.message:String(e)},{status:500})}}e.s(["POST",()=>b],80159);var C=e.i(80159);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/screenshots/capture/route",pathname:"/api/screenshots/capture",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/mcp-server/app/api/screenshots/capture/route.ts",nextConfigOutput:"",userland:C}),{workAsyncStorage:N,workUnitAsyncStorage:A,serverHooks:T}=S;function j(){return(0,a.patchFetch)({workAsyncStorage:N,workUnitAsyncStorage:A})}async function P(e,t,a){S.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/screenshots/capture/route";R=R.replace(/\/index$/,"")||"/";let v=await S.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:b,isDraftMode:C,prerenderManifest:N,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,resolvedPathname:P,clientReferenceManifest:k,serverActionsManifest:q}=v,O=(0,i.normalizeAppPath)(R),_=!!(N.dynamicRoutes[O]||N.routes[P]),U=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(_&&!C){let e=!!N.routes[P],t=N.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await U();throw new g.NoFallbackError}}let D=null;!_||S.isDev||C||(D="/index"===(D=P)?"/":D);let H=!0===S.isDev||!_,I=_&&!H;q&&k&&(0,o.setManifestsSingleton)({page:R,clientReferenceManifest:k,serverActionsManifest:q});let M=e.method||"GET",$=(0,s.getTracer)(),F=$.getActiveScopeSpan(),K={params:y,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>S.onRequestError(e,t,a,n,A)},sharedContext:{buildId:w}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let o=async e=>S.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=$.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${M} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${R}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&T&&j&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(n);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&a.waitUntil&&(a.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(B,L,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[f.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=f.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,a=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=f.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:T})},!1,A),t}},c=await S.handleResponse({req:e,nextConfig:E,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:j,responseGenerator:u,waitUntil:a.waitUntil,isMinimalMode:i});if(!_)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&_||g.delete(f.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,x.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,L,new Response(c.value.body,{headers:g,status:c.value.status||200})),null};F?await l(F):await $.withPropagatedContext(e.headers,()=>$.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${R}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:T})},!1,A),_)throw t;return await (0,p.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>j,"routeModule",()=>S,"serverHooks",()=>T,"workAsyncStorage",()=>N,"workUnitAsyncStorage",()=>A],79321)},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__444592aa._.js.map
@@ -1,3 +0,0 @@
1
- module.exports=[24361,(e,r,s)=>{r.exports=e.x("util",()=>require("util"))},18622,(e,r,s)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,s)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,s)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},14747,(e,r,s)=>{r.exports=e.x("path",()=>require("path"))},93695,(e,r,s)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,r,s)=>{r.exports=e.x("fs",()=>require("fs"))},46786,(e,r,s)=>{r.exports=e.x("os",()=>require("os"))},33405,(e,r,s)=>{r.exports=e.x("child_process",()=>require("child_process"))},92509,(e,r,s)=>{r.exports=e.x("url",()=>require("url"))},874,(e,r,s)=>{r.exports=e.x("buffer",()=>require("buffer"))},88947,(e,r,s)=>{r.exports=e.x("stream",()=>require("stream"))},6461,(e,r,s)=>{r.exports=e.x("zlib",()=>require("zlib"))},66680,(e,r,s)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},2157,(e,r,s)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,r,s)=>{r.exports=e.x("node:os",()=>require("node:os"))},50227,(e,r,s)=>{r.exports=e.x("node:path",()=>require("node:path"))},70729,e=>{e.v(e=>Promise.resolve().then(()=>e(66680)))},20654,e=>{e.v(e=>Promise.resolve().then(()=>e(20539)))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},95496,e=>{e.v(r=>Promise.all(["server/chunks/src_utils_agent-browser_ts_cc00e0d8._.js"].map(r=>e.l(r))).then(()=>r(23889)))},2603,e=>{e.v(e=>Promise.resolve().then(()=>e(56891)))}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__8f84b4cc._.js.map
@@ -1,4 +0,0 @@
1
- module.exports=[27699,(e,t,s)=>{t.exports=e.x("events",()=>require("events"))},24836,(e,t,s)=>{t.exports=e.x("https",()=>require("https"))},21517,(e,t,s)=>{t.exports=e.x("http",()=>require("http"))},4446,(e,t,s)=>{t.exports=e.x("net",()=>require("net"))},55004,(e,t,s)=>{t.exports=e.x("tls",()=>require("tls"))},54799,(e,t,s)=>{t.exports=e.x("crypto",()=>require("crypto"))},61277,(e,t,s)=>{"use strict";let r=["nodebuffer","arraybuffer","fragments"],i="undefined"!=typeof Blob;i&&r.push("blob"),t.exports={BINARY_TYPES:r,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:i,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},18489,(e,t,s)=>{"use strict";let{EMPTY_BUFFER:r}=e.r(61277),i=Buffer[Symbol.species];function o(e,t,s,r,i){for(let o=0;o<i;o++)s[r+o]=e[o]^t[3&o]}function n(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}function a(e){let t;return(a.readOnly=!0,Buffer.isBuffer(e))?e:(e instanceof ArrayBuffer?t=new i(e):ArrayBuffer.isView(e)?t=new i(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),a.readOnly=!1),t)}if(t.exports={concat:function(e,t){if(0===e.length)return r;if(1===e.length)return e[0];let s=Buffer.allocUnsafe(t),o=0;for(let t=0;t<e.length;t++){let r=e[t];s.set(r,o),o+=r.length}return o<t?new i(s.buffer,s.byteOffset,o):s},mask:o,toArrayBuffer:function(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)},toBuffer:a,unmask:n},!process.env.WS_NO_BUFFER_UTIL)try{let e=(()=>{let e=Error("Cannot find module 'bufferutil'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.mask=function(t,s,r,i,n){n<48?o(t,s,r,i,n):e.mask(t,s,r,i,n)},t.exports.unmask=function(t,s){t.length<32?n(t,s):e.unmask(t,s)}}catch(e){}},15263,(e,t,s)=>{"use strict";let r=Symbol("kDone"),i=Symbol("kRun");t.exports=class{constructor(e){this[r]=()=>{this.pending--,this[i]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[i]()}[i](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[r])}}}},9084,(e,t,s)=>{"use strict";let r,i=e.r(6461),o=e.r(18489),n=e.r(15263),{kStatusCode:a}=e.r(61277),h=Buffer[Symbol.species],l=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),d=Symbol("total-length"),f=Symbol("callback"),_=Symbol("buffers"),u=Symbol("error");function p(e){this[_].push(e),this[d]+=e.length}function m(e){(this[d]+=e.length,this[c]._maxPayload<1||this[d]<=this[c]._maxPayload)?this[_].push(e):(this[u]=RangeError("Max payload size exceeded"),this[u].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[u][a]=1009,this.removeListener("data",m),this.reset())}function y(e){(this[c]._inflate=null,this[u])?this[f](this[u]):(e[a]=1007,this[f](e))}t.exports=class{constructor(e,t,s){this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,r||(r=new n(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[f];this._deflate.close(),this._deflate=null,e&&e(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(e=>(!1!==t.serverNoContextTakeover||!e.server_no_context_takeover)&&(!e.server_max_window_bits||!1!==t.serverMaxWindowBits&&("number"!=typeof t.serverMaxWindowBits||!(t.serverMaxWindowBits>e.server_max_window_bits)))&&("number"!=typeof t.clientMaxWindowBits||!!e.client_max_window_bits));if(!s)throw Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:(!0===s.client_max_window_bits||!1===t.clientMaxWindowBits)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach(e=>{Object.keys(e).forEach(t=>{let s=e[t];if(s.length>1)throw Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){let e=+s;if(!Number.isInteger(e)||e<8||e>15)throw TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if("client_no_context_takeover"===t||"server_no_context_takeover"===t){if(!0!==s)throw TypeError(`Invalid value for parameter "${t}": ${s}`)}else throw Error(`Unknown parameter "${t}"`);e[t]=s})}),e}decompress(e,t,s){r.add(r=>{this._decompress(e,t,(e,t)=>{r(),s(e,t)})})}compress(e,t,s){r.add(r=>{this._compress(e,t,(e,t)=>{r(),s(e,t)})})}_decompress(e,t,s){let r=this._isServer?"client":"server";if(!this._inflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[d]=0,this._inflate[_]=[],this._inflate.on("error",y),this._inflate.on("data",m)}this._inflate[f]=s,this._inflate.write(e),t&&this._inflate.write(l),this._inflate.flush(()=>{let e=this._inflate[u];if(e){this._inflate.close(),this._inflate=null,s(e);return}let i=o.concat(this._inflate[_],this._inflate[d]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[d]=0,this._inflate[_]=[],t&&this.params[`${r}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,t,s){let r=this._isServer?"server":"client";if(!this._deflate){let e=`${r}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[d]=0,this._deflate[_]=[],this._deflate.on("data",p)}this._deflate[f]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let e=o.concat(this._deflate[_],this._deflate[d]);t&&(e=new h(e.buffer,e.byteOffset,e.length-4)),this._deflate[f]=null,this._deflate[d]=0,this._deflate[_]=[],t&&this.params[`${r}_no_context_takeover`]&&this._deflate.reset(),s(null,e)})}}},30271,(e,t,s)=>{"use strict";let{isUtf8:r}=e.r(874),{hasBlob:i}=e.r(61277);function o(e){let t=e.length,s=0;for(;s<t;)if((128&e[s])==0)s++;else if((224&e[s])==192){if(s+1===t||(192&e[s+1])!=128||(254&e[s])==192)return!1;s+=2}else if((240&e[s])==224){if(s+2>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||224===e[s]&&(224&e[s+1])==128||237===e[s]&&(224&e[s+1])==160)return!1;s+=3}else{if((248&e[s])!=240||s+3>=t||(192&e[s+1])!=128||(192&e[s+2])!=128||(192&e[s+3])!=128||240===e[s]&&(240&e[s+1])==128||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(t.exports={isBlob:function(e){return i&&"object"==typeof e&&"function"==typeof e.arrayBuffer&&"string"==typeof e.type&&"function"==typeof e.stream&&("Blob"===e[Symbol.toStringTag]||"File"===e[Symbol.toStringTag])},isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:o,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},r)t.exports.isValidUTF8=function(e){return e.length<24?o(e):r(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=(()=>{let e=Error("Cannot find module 'utf-8-validate'");throw e.code="MODULE_NOT_FOUND",e})();t.exports.isValidUTF8=function(t){return t.length<32?o(t):e(t)}}catch(e){}},10010,(e,t,s)=>{"use strict";let{Writable:r}=e.r(88947),i=e.r(9084),{BINARY_TYPES:o,EMPTY_BUFFER:n,kStatusCode:a,kWebSocket:h}=e.r(61277),{concat:l,toArrayBuffer:c,unmask:d}=e.r(18489),{isValidStatusCode:f,isValidUTF8:_}=e.r(30271),u=Buffer[Symbol.species];t.exports=class extends r{constructor(e={}){super(),this._allowSynchronousEvents=void 0===e.allowSynchronousEvents||e.allowSynchronousEvents,this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[h]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let t=this._buffers[0];return this._buffers[0]=new u(t.buffer,t.byteOffset+e,t.length-e),new u(t.buffer,t.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],r=t.length-e;e>=s.length?t.set(this._buffers.shift(),r):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),r),this._buffers[0]=new u(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0)return t}startLoop(e){this._loop=!0;do switch(this._state){case 0:this.getInfo(e);break;case 1:this.getPayloadLength16(e);break;case 2:this.getPayloadLength64(e);break;case 3:this.getMask();break;case 4:this.getData(e);break;case 5:case 6:this._loop=!1;return}while(this._loop)this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((48&t[0])!=0)return void e(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let s=(64&t[0])==64;if(s&&!this._extensions[i.extensionName])return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&t[0])==128,this._opcode=15&t[0],this._payloadLength=127&t[1],0===this._opcode){if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void e(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=s}else{if(!(this._opcode>7)||!(this._opcode<11))return void e(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void e(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(s)return void e(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void e(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&t[1])==128,this._isServer){if(!this._masked)return void e(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void e(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),s=t.readUInt32BE(0);s>2097151?e(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=0x100000000*s+t.readUInt32BE(4),this.haveLength(e))}haveLength(e){this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)?e(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH")):this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(e){let t=n;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&d(t,this._mask)}if(this._opcode>7)return void this.controlMessage(t,e);if(this._compressed){this._state=5,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[i.extensionName].decompress(e,this._fin,(e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void t(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}this.dataMessage(t),0===this._state&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=0;return}let t=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let r;r="nodebuffer"===this._binaryType?l(s,t):"arraybuffer"===this._binaryType?c(l(s,t)):"blob"===this._binaryType?new Blob(s):s,this._allowSynchronousEvents?(this.emit("message",r,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!0),this._state=0,this.startLoop(e)}))}else{let r=l(s,t);if(!this._skipUTF8Validation&&!_(r))return void e(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",r,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",r,!1),this._state=0,this.startLoop(e)}))}}controlMessage(e,t){if(8===this._opcode){if(0===e.length)this._loop=!1,this.emit("conclude",1005,n),this.end();else{let s=e.readUInt16BE(0);if(!f(s))return void t(this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let r=new u(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!_(r))return void t(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",s,r),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",e),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",e),this._state=0,this.startLoop(t)}))}createError(e,t,s,r,i){this._loop=!1,this._errored=!0;let o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=i,o[a]=r,o}}},87903,(e,t,s)=>{"use strict";let r,{Duplex:i}=e.r(88947),{randomFillSync:o}=e.r(54799),n=e.r(9084),{EMPTY_BUFFER:a,kWebSocket:h,NOOP:l}=e.r(61277),{isBlob:c,isValidStatusCode:d}=e.r(30271),{mask:f,toBuffer:_}=e.r(18489),u=Symbol("kByteLength"),p=Buffer.alloc(4),m=8192;class y{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=l,this[h]=void 0}static frame(e,t){let s,i,n=!1,a=2,h=!1;t.mask&&(s=t.maskBuffer||p,t.generateMask?t.generateMask(s):(8192===m&&(void 0===r&&(r=Buffer.alloc(8192)),o(r,0,8192),m=0),s[0]=r[m++],s[1]=r[m++],s[2]=r[m++],s[3]=r[m++]),h=(s[0]|s[1]|s[2]|s[3])==0,a=6),"string"==typeof e?i=(!t.mask||h)&&void 0!==t[u]?t[u]:(e=Buffer.from(e)).length:(i=e.length,n=t.mask&&t.readOnly&&!h);let l=i;i>=65536?(a+=8,l=127):i>125&&(a+=2,l=126);let c=Buffer.allocUnsafe(n?i+a:a);return(c[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(c[0]|=64),c[1]=l,126===l?c.writeUInt16BE(i,2):127===l&&(c[2]=c[3]=0,c.writeUIntBE(i,4,6)),t.mask)?(c[1]|=128,c[a-4]=s[0],c[a-3]=s[1],c[a-2]=s[2],c[a-1]=s[3],h)?[c,e]:n?(f(e,s,c,a,i),[c]):(f(e,s,e,0,i),[c,e]):[c,e]}close(e,t,s,r){let i;if(void 0===e)i=a;else if("number"==typeof e&&d(e))if(void 0!==t&&t.length){let s=Buffer.byteLength(t);if(s>123)throw RangeError("The message must not be greater than 123 bytes");(i=Buffer.allocUnsafe(2+s)).writeUInt16BE(e,0),"string"==typeof t?i.write(t,2):i.set(t,2)}else(i=Buffer.allocUnsafe(2)).writeUInt16BE(e,0);else throw TypeError("First argument must be a valid error code number");let o={[u]:i.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,i,!1,o,r]):this.sendFrame(y.frame(i,o),r)}ping(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[u]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}pong(e,t,s){let r,i;if("string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),r>125)throw RangeError("The data size must not be greater than 125 bytes");let o={[u]:r,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,!1,o,s]):this.getBlobData(e,!1,o,s):0!==this._state?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(y.frame(e,o),s)}send(e,t,s){let r,i,o=this._extensions[n.extensionName],a=t.binary?2:1,h=t.compress;"string"==typeof e?(r=Buffer.byteLength(e),i=!1):c(e)?(r=e.size,i=!1):(r=(e=_(e)).length,i=_.readOnly),this._firstFragment?(this._firstFragment=!1,h&&o&&o.params[o._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(h=r>=o._threshold),this._compress=h):(h=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[u]:r,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:i,rsv1:h};c(e)?0!==this._state?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):0!==this._state?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,t,s,r){this._bufferedBytes+=s[u],this._state=2,e.arrayBuffer().then(e=>{if(this._socket.destroyed){let e=Error("The socket was closed while the blob was being read");process.nextTick(g,this,e,r);return}this._bufferedBytes-=s[u];let i=_(e);t?this.dispatch(i,t,s,r):(this._state=0,this.sendFrame(y.frame(i,s),r),this.dequeue())}).catch(e=>{process.nextTick(b,this,e,r)})}dispatch(e,t,s,r){if(!t)return void this.sendFrame(y.frame(e,s),r);let i=this._extensions[n.extensionName];this._bufferedBytes+=s[u],this._state=1,i.compress(e,s.fin,(e,t)=>{this._socket.destroyed?g(this,Error("The socket was closed while data was being compressed"),r):(this._bufferedBytes-=s[u],this._state=0,s.readOnly=!1,this.sendFrame(y.frame(t,s),r),this.dequeue())})}dequeue(){for(;0===this._state&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][u],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][u],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}function g(e,t,s){"function"==typeof s&&s(t);for(let s=0;s<e._queue.length;s++){let r=e._queue[s],i=r[r.length-1];"function"==typeof i&&i(t)}}function b(e,t,s){g(e,t,s),e.onerror(t)}t.exports=y},17617,(e,t,s)=>{"use strict";let{kForOnEventAttribute:r,kListener:i}=e.r(61277),o=Symbol("kCode"),n=Symbol("kData"),a=Symbol("kError"),h=Symbol("kMessage"),l=Symbol("kReason"),c=Symbol("kTarget"),d=Symbol("kType"),f=Symbol("kWasClean");class _{constructor(e){this[c]=null,this[d]=e}get target(){return this[c]}get type(){return this[d]}}Object.defineProperty(_.prototype,"target",{enumerable:!0}),Object.defineProperty(_.prototype,"type",{enumerable:!0});class u extends _{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[l]=void 0===t.reason?"":t.reason,this[f]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[l]}get wasClean(){return this[f]}}Object.defineProperty(u.prototype,"code",{enumerable:!0}),Object.defineProperty(u.prototype,"reason",{enumerable:!0}),Object.defineProperty(u.prototype,"wasClean",{enumerable:!0});class p extends _{constructor(e,t={}){super(e),this[a]=void 0===t.error?null:t.error,this[h]=void 0===t.message?"":t.message}get error(){return this[a]}get message(){return this[h]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class m extends _{constructor(e,t={}){super(e),this[n]=void 0===t.data?null:t.data}get data(){return this[n]}}function y(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}Object.defineProperty(m.prototype,"data",{enumerable:!0}),t.exports={CloseEvent:u,ErrorEvent:p,Event:_,EventTarget:{addEventListener(e,t,s={}){let o;for(let o of this.listeners(e))if(!s[r]&&o[i]===t&&!o[r])return;if("message"===e)o=function(e,s){let r=new m("message",{data:s?e:e.toString()});r[c]=this,y(t,this,r)};else if("close"===e)o=function(e,s){let r=new u("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});r[c]=this,y(t,this,r)};else if("error"===e)o=function(e){let s=new p("error",{error:e,message:e.message});s[c]=this,y(t,this,s)};else{if("open"!==e)return;o=function(){let e=new _("open");e[c]=this,y(t,this,e)}}o[r]=!!s[r],o[i]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(let s of this.listeners(e))if(s[i]===t&&!s[r]){this.removeListener(e,s);break}}},MessageEvent:m}},20165,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(30271);function i(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}t.exports={format:function(e){return Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>[t].concat(Object.keys(e).map(t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map(e=>!0===e?t:`${t}=${e}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(e){let t,s,o=Object.create(null),n=Object.create(null),a=!1,h=!1,l=!1,c=-1,d=-1,f=-1,_=0;for(;_<e.length;_++)if(d=e.charCodeAt(_),void 0===t)if(-1===f&&1===r[d])-1===c&&(c=_);else if(0!==_&&(32===d||9===d))-1===f&&-1!==c&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_);let s=e.slice(c,f);44===d?(i(o,s,n),n=Object.create(null)):t=s,c=f=-1}else throw SyntaxError(`Unexpected character at index ${_}`);else if(void 0===s)if(-1===f&&1===r[d])-1===c&&(c=_);else if(32===d||9===d)-1===f&&-1!==c&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_),i(n,e.slice(c,f),!0),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),c=f=-1}else if(61===d&&-1!==c&&-1===f)s=e.slice(c,_),c=f=-1;else throw SyntaxError(`Unexpected character at index ${_}`);else if(h){if(1!==r[d])throw SyntaxError(`Unexpected character at index ${_}`);-1===c?c=_:a||(a=!0),h=!1}else if(l)if(1===r[d])-1===c&&(c=_);else if(34===d&&-1!==c)l=!1,f=_;else if(92===d)h=!0;else throw SyntaxError(`Unexpected character at index ${_}`);else if(34===d&&61===e.charCodeAt(_-1))l=!0;else if(-1===f&&1===r[d])-1===c&&(c=_);else if(-1!==c&&(32===d||9===d))-1===f&&(f=_);else if(59===d||44===d){if(-1===c)throw SyntaxError(`Unexpected character at index ${_}`);-1===f&&(f=_);let r=e.slice(c,f);a&&(r=r.replace(/\\/g,""),a=!1),i(n,s,r),44===d&&(i(o,t,n),n=Object.create(null),t=void 0),s=void 0,c=f=-1}else throw SyntaxError(`Unexpected character at index ${_}`);if(-1===c||l||32===d||9===d)throw SyntaxError("Unexpected end of input");-1===f&&(f=_);let u=e.slice(c,f);return void 0===t?i(o,u,n):(void 0===s?i(n,u,!0):a?i(n,s,u.replace(/\\/g,"")):i(n,s,u),i(o,t,n)),o}}},14173,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(24836),o=e.r(21517),n=e.r(4446),a=e.r(55004),{randomBytes:h,createHash:l}=e.r(54799),{Duplex:c,Readable:d}=e.r(88947),{URL:f}=e.r(92509),_=e.r(9084),u=e.r(10010),p=e.r(87903),{isBlob:m}=e.r(30271),{BINARY_TYPES:y,CLOSE_TIMEOUT:g,EMPTY_BUFFER:b,GUID:v,kForOnEventAttribute:S,kListener:E,kStatusCode:x,kWebSocket:k,NOOP:w}=e.r(61277),{EventTarget:{addEventListener:O,removeEventListener:T}}=e.r(17617),{format:C,parse:N}=e.r(20165),{toBuffer:L}=e.r(18489),P=Symbol("kAborted"),B=[8,13],U=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class I extends r{constructor(e,t,s){super(),this._binaryType=y[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=b,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=I.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),function e(t,s,r,n){let a,c,d,u,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:g,protocolVersion:B[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=p.autoPong,t._closeTimeout=p.closeTimeout,!B.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${B.join(", ")})`);if(s instanceof f)a=s;else try{a=new f(s)}catch(e){throw SyntaxError(`Invalid URL: ${s}`)}"http:"===a.protocol?a.protocol="ws:":"https:"===a.protocol&&(a.protocol="wss:"),t._url=a.href;let m="wss:"===a.protocol,y="ws+unix:"===a.protocol;if("ws:"===a.protocol||m||y?y&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"):c='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',c){let e=SyntaxError(c);if(0!==t._redirects)return void D(t,e);throw e}let b=m?443:80,S=h(16).toString("base64"),E=m?i.request:o.request,x=new Set;if(p.createConnection=p.createConnection||(m?W:M),p.defaultPort=p.defaultPort||b,p.port=a.port||b,p.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":S,Connection:"Upgrade",Upgrade:"websocket"},p.path=a.pathname+a.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(d=new _(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=C({[_.extensionName]:d.offer()})),r.length){for(let e of r){if("string"!=typeof e||!R.test(e)||x.has(e))throw SyntaxError("An invalid or duplicated subprotocol was specified");x.add(e)}p.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(a.username||a.password)&&(p.auth=`${a.username}:${a.password}`),y){let e=p.path.split(":");p.socketPath=e[0],p.path=e[1]}if(p.followRedirects){if(0===t._redirects){t._originalIpc=y,t._originalSecure=m,t._originalHostOrSocketPath=y?p.socketPath:a.host;let e=n&&n.headers;if(n={...n,headers:{}},e)for(let[t,s]of Object.entries(e))n.headers[t.toLowerCase()]=s}else if(0===t.listenerCount("redirect")){let e=y?!!t._originalIpc&&p.socketPath===t._originalHostOrSocketPath:!t._originalIpc&&a.host===t._originalHostOrSocketPath;e&&(!t._originalSecure||m)||(delete p.headers.authorization,delete p.headers.cookie,e||delete p.headers.host,p.auth=void 0)}p.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),u=t._req=E(p),t._redirects&&t.emit("redirect",t.url,u)}else u=t._req=E(p);p.timeout&&u.on("timeout",()=>{A(t,u,"Opening handshake has timed out")}),u.on("error",e=>{null===u||u[P]||(u=t._req=null,D(t,e))}),u.on("response",i=>{let o=i.headers.location,a=i.statusCode;if(o&&p.followRedirects&&a>=300&&a<400){let i;if(++t._redirects>p.maxRedirects)return void A(t,u,"Maximum redirects exceeded");u.abort();try{i=new f(o,s)}catch(e){D(t,SyntaxError(`Invalid URL: ${o}`));return}e(t,i,r,n)}else t.emit("unexpected-response",u,i)||A(t,u,`Unexpected server response: ${i.statusCode}`)}),u.on("upgrade",(e,s,r)=>{let i;if(t.emit("upgrade",e),t.readyState!==I.CONNECTING)return;u=t._req=null;let o=e.headers.upgrade;if(void 0===o||"websocket"!==o.toLowerCase())return void A(t,s,"Invalid Upgrade header");let n=l("sha1").update(S+v).digest("base64");if(e.headers["sec-websocket-accept"]!==n)return void A(t,s,"Invalid Sec-WebSocket-Accept header");let a=e.headers["sec-websocket-protocol"];if(void 0!==a?x.size?x.has(a)||(i="Server sent an invalid subprotocol"):i="Server sent a subprotocol but none was requested":x.size&&(i="Server sent no subprotocol"),i)return void A(t,s,i);a&&(t._protocol=a);let h=e.headers["sec-websocket-extensions"];if(void 0!==h){let e;if(!d)return void A(t,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{e=N(h)}catch(e){A(t,s,"Invalid Sec-WebSocket-Extensions header");return}let r=Object.keys(e);if(1!==r.length||r[0]!==_.extensionName)return void A(t,s,"Server indicated an extension that was not requested");try{d.accept(e[_.extensionName])}catch(e){A(t,s,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[_.extensionName]=d}t.setSocket(s,r,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(u,t):u.end()}(this,e,t,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){y.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let r=new u({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),i=new p(e,this._extensions,s.generateMask);this._receiver=r,this._sender=i,this._socket=e,r[k]=this,i[k]=this,e[k]=this,r.on("conclude",$),r.on("drain",j),r.on("error",G),r.on("message",q),r.on("ping",z),r.on("pong",H),i.onerror=K,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Y),e.on("data",J),e.on("end",Q),e.on("error",ee),this._readyState=I.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[_.extensionName]&&this._extensions[_.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=I.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING)return void A(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===I.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=I.CLOSING,this._sender.close(e,t,!this._isServer,e=>{!e&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Z(this)}}pause(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)?F(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.ping(e||b,t,s))}pong(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");("function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)?F(this,e,s):(void 0===t&&(t=!this._isServer),this._sender.pong(e||b,t,s))}resume(){this.readyState!==I.CONNECTING&&this.readyState!==I.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===I.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==I.OPEN)return void F(this,e,s);let r={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[_.extensionName]||(r.compress=!1),this._sender.send(e||b,r,s)}terminate(){if(this.readyState!==I.CLOSED){if(this.readyState===I.CONNECTING)return void A(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=I.CLOSING,this._socket.destroy())}}}function D(e,t){e._readyState=I.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function M(e){return e.path=e.socketPath,n.connect(e)}function W(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=n.isIP(e.host)?"":e.host),a.connect(e)}function A(e,t,s){e._readyState=I.CLOSING;let r=Error(s);Error.captureStackTrace(r,A),t.setHeader?(t[P]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(D,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function F(e,t,s){if(t){let s=m(t)?t.size:L(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){let t=Error(`WebSocket is not open: readyState ${e.readyState} (${U[e.readyState]})`);process.nextTick(s,t)}}function $(e,t){let s=this[k];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[k]&&(s._socket.removeListener("data",J),process.nextTick(X,s._socket),1005===e?s.close():s.close(e,t))}function j(){let e=this[k];e.isPaused||e._socket.resume()}function G(e){let t=this[k];void 0!==t._socket[k]&&(t._socket.removeListener("data",J),process.nextTick(X,t._socket),t.close(e[x])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function V(){this[k].emitClose()}function q(e,t){this[k].emit("message",e,t)}function z(e){let t=this[k];t._autoPong&&t.pong(e,!this._isServer,w),t.emit("ping",e)}function H(e){this[k].emit("pong",e)}function X(e){e.resume()}function K(e){let t=this[k];t.readyState!==I.CLOSED&&(t.readyState===I.OPEN&&(t._readyState=I.CLOSING,Z(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function Z(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),e._closeTimeout)}function Y(){let e=this[k];if(this.removeListener("close",Y),this.removeListener("data",J),this.removeListener("end",Q),e._readyState=I.CLOSING,!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&0!==this._readableState.length){let t=this.read(this._readableState.length);e._receiver.write(t)}e._receiver.end(),this[k]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",V),e._receiver.on("finish",V))}function J(e){this[k]._receiver.write(e)||this.pause()}function Q(){let e=this[k];e._readyState=I.CLOSING,e._receiver.end(),this.end()}function ee(){let e=this[k];this.removeListener("error",ee),this.on("error",w),e&&(e._readyState=I.CLOSING,this.destroy())}Object.defineProperty(I,"CONNECTING",{enumerable:!0,value:U.indexOf("CONNECTING")}),Object.defineProperty(I.prototype,"CONNECTING",{enumerable:!0,value:U.indexOf("CONNECTING")}),Object.defineProperty(I,"OPEN",{enumerable:!0,value:U.indexOf("OPEN")}),Object.defineProperty(I.prototype,"OPEN",{enumerable:!0,value:U.indexOf("OPEN")}),Object.defineProperty(I,"CLOSING",{enumerable:!0,value:U.indexOf("CLOSING")}),Object.defineProperty(I.prototype,"CLOSING",{enumerable:!0,value:U.indexOf("CLOSING")}),Object.defineProperty(I,"CLOSED",{enumerable:!0,value:U.indexOf("CLOSED")}),Object.defineProperty(I.prototype,"CLOSED",{enumerable:!0,value:U.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(I.prototype,e,{enumerable:!0})}),["open","error","close","message"].forEach(e=>{Object.defineProperty(I.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[S])return t[E];return null},set(t){for(let t of this.listeners(e))if(t[S]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[S]:!0})}})}),I.prototype.addEventListener=O,I.prototype.removeEventListener=T,t.exports=I},69651,(e,t,s)=>{"use strict";e.r(14173);let{Duplex:r}=e.r(88947);function i(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function n(e){this.removeListener("error",n),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}t.exports=function(e,t){let s=!0,a=new r({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(t,s){let r=!s&&a._readableState.objectMode?t.toString():t;a.push(r)||e.pause()}),e.once("error",function(e){a.destroyed||(s=!1,a.destroy(e))}),e.once("close",function(){a.destroyed||a.push(null)}),a._destroy=function(t,r){if(e.readyState===e.CLOSED){r(t),process.nextTick(i,a);return}let o=!1;e.once("error",function(e){o=!0,r(e)}),e.once("close",function(){o||r(t),process.nextTick(i,a)}),s&&e.terminate()},a._final=function(t){e.readyState===e.CONNECTING?e.once("open",function(){a._final(t)}):null!==e._socket&&(e._socket._writableState.finished?(t(),a._readableState.endEmitted&&a.destroy()):(e._socket.once("finish",function(){t()}),e.close()))},a._read=function(){e.isPaused&&e.resume()},a._write=function(t,s,r){e.readyState===e.CONNECTING?e.once("open",function(){a._write(t,s,r)}):e.send(t,r)},a.on("end",o),a.on("error",n),a}},91607,(e,t,s)=>{"use strict";let{tokenChars:r}=e.r(30271);t.exports={parse:function(e){let t=new Set,s=-1,i=-1,o=0;for(;o<e.length;o++){let n=e.charCodeAt(o);if(-1===i&&1===r[n])-1===s&&(s=o);else if(0!==o&&(32===n||9===n))-1===i&&-1!==s&&(i=o);else if(44===n){if(-1===s)throw SyntaxError(`Unexpected character at index ${o}`);-1===i&&(i=o);let r=e.slice(s,i);if(t.has(r))throw SyntaxError(`The "${r}" subprotocol is duplicated`);t.add(r),s=i=-1}else throw SyntaxError(`Unexpected character at index ${o}`)}if(-1===s||-1!==i)throw SyntaxError("Unexpected end of input");let n=e.slice(s,o);if(t.has(n))throw SyntaxError(`The "${n}" subprotocol is duplicated`);return t.add(n),t}}},12716,(e,t,s)=>{"use strict";let r=e.r(27699),i=e.r(21517),{Duplex:o}=e.r(88947),{createHash:n}=e.r(54799),a=e.r(20165),h=e.r(9084),l=e.r(91607),c=e.r(14173),{CLOSE_TIMEOUT:d,GUID:f,kWebSocket:_}=e.r(61277),u=/^[+/0-9A-Za-z]{22}==$/;function p(e){e._state=2,e.emit("close")}function m(){this.destroy()}function y(e,t,s,r){s=s||i.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${i.STATUS_CODES[t]}\r
2
- `+Object.keys(r).map(e=>`${e}: ${r[e]}`).join("\r\n")+"\r\n\r\n"+s)}function g(e,t,s,r,i,o){if(e.listenerCount("wsClientError")){let r=Error(i);Error.captureStackTrace(r,g),e.emit("wsClientError",r,s,t)}else y(s,r,i,o)}t.exports=class extends r{constructor(e,t){if(super(),null==(e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:d,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:c,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=i.createServer((e,t)=>{let s=i.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(let s of Object.keys(t))e.on(s,t[s]);return function(){for(let s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,r)=>{this.handleUpgrade(t,s,r,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state){e&&this.once("close",()=>{e(Error("The server is not running"))}),process.nextTick(p,this);return}if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(p,this);else{let e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close(()=>{p(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,r){t.on("error",m);let i=e.headers["sec-websocket-key"],o=e.headers.upgrade,n=+e.headers["sec-websocket-version"];if("GET"!==e.method)return void g(this,e,t,405,"Invalid HTTP method");if(void 0===o||"websocket"!==o.toLowerCase())return void g(this,e,t,400,"Invalid Upgrade header");if(void 0===i||!u.test(i))return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==n&&8!==n)return void g(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(e))return void y(t,400);let c=e.headers["sec-websocket-protocol"],d=new Set;if(void 0!==c)try{d=l.parse(c)}catch(s){g(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let f=e.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&void 0!==f){let s=new h(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let e=a.parse(f);e[h.extensionName]&&(s.accept(e[h.extensionName]),_[h.extensionName]=s)}catch(s){g(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let o={origin:e.headers[`${8===n?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(o,(o,n,a,h)=>{if(!o)return y(t,n||401,a,h);this.completeUpgrade(_,i,d,e,t,s,r)});if(!this.options.verifyClient(o))return y(t,401)}this.completeUpgrade(_,i,d,e,t,s,r)}completeUpgrade(e,t,s,r,i,o,l){if(!i.readable||!i.writable)return i.destroy();if(i[_])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return y(i,503);let c=n("sha1").update(t+f).digest("base64"),d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${c}`],u=new this.options.WebSocket(null,void 0,this.options);if(s.size){let e=this.options.handleProtocols?this.options.handleProtocols(s,r):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),u._protocol=e)}if(e[h.extensionName]){let t=e[h.extensionName].params,s=a.format({[h.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),u._extensions=e}this.emit("headers",d,r),i.write(d.concat("\r\n").join("\r\n")),i.removeListener("error",m),u.setSocket(i,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(p,this)})),l(u,r)}}},47998,e=>{"use strict";e.i(69651),e.i(10010),e.i(87903);var t=e.i(14173);e.i(12716);let s=t.default;e.s(["default",0,s])}];
3
-
4
- //# sourceMappingURL=%5Broot-of-the-server%5D__b71c83ed._.js.map