@samitouri / QOS-React-1 / commits / 08075929f2

[compiler] Init react-mcp-server (#32859)

Just trying this out as a small hack for fun. Nothing serious is planned. Inits an MCP server that has 1 assistant prompt and two capabilities.

lauren committed Apr 14, 2025 at 18:39 UTC 08075929f2d5eea319418ea379773bb7276ff940
10 files changed +1588 -6
compiler/packages/react-mcp-server/README.md new
+22
@@ -0,0 +1,22 @@
1 +# React MCP Server (experimental)
2 +
3 +An experimental MCP Server for React.
4 +
5 +## Development
6 +
7 +First, add this file if you're using Claude Desktop: `code ~/Library/Application\ Support/Claude/claude_desktop_config.json`. Copy the absolute path from `which node` and from `react/compiler/react-mcp-server/dist/index.js` and paste, for example:
8 +
9 +```json
10 +{
11 + "mcpServers": {
12 + "react": {
13 + "command": "/Users/<username>/.asdf/shims/node",
14 + "args": [
15 + "/Users/<username>/code/react/compiler/packages/react-mcp-server/dist/index.js"
16 + ]
17 + }
18 + }
19 +}
20 +```
21 +
22 +Next, run `yarn workspace react-mcp-server watch` from the `react/compiler` directory and make changes as needed. You will need to restart Claude everytime you want to try your changes.
compiler/packages/react-mcp-server/package.json new
+33
@@ -0,0 +1,33 @@
1 +{
2 + "name": "react-mcp-server",
3 + "version": "0.0.0",
4 + "description": "React MCP Server (experimental)",
5 + "bin": {
6 + "react-mcp-server": "./dist/index.js"
7 + },
8 + "scripts": {
9 + "build": "rimraf dist && tsup",
10 + "test": "echo 'no tests'",
11 + "watch": "yarn build --watch"
12 + },
13 + "dependencies": {
14 + "@babel/core": "^7.26.0",
15 + "@babel/parser": "^7.26",
16 + "@babel/plugin-syntax-typescript": "^7.25.9",
17 + "@modelcontextprotocol/sdk": "^1.9.0",
18 + "algoliasearch": "^5.23.3",
19 + "cheerio": "^1.0.0",
20 + "prettier": "^3.3.3",
21 + "turndown": "^7.2.0",
22 + "zod": "^3.23.8"
23 + },
24 + "devDependencies": {
25 + "@types/turndown": "^5.0.5"
26 + },
27 + "license": "MIT",
28 + "repository": {
29 + "type": "git",
30 + "url": "git+https://github.com/facebook/react.git",
31 + "directory": "compiler/packages/react-mcp-server"
32 + }
33 +}
compiler/packages/react-mcp-server/src/compiler/index.ts new
+67
@@ -0,0 +1,67 @@
1 +/**
2 + * Copyright (c) Meta Platforms, Inc. and affiliates.
3 + *
4 + * This source code is licensed under the MIT license found in the
5 + * LICENSE file in the root directory of this source tree.
6 + */
7 +
8 +import type * as BabelCore from '@babel/core';
9 +import {parseAsync, transformFromAstAsync} from '@babel/core';
10 +import BabelPluginReactCompiler, {
11 + type PluginOptions,
12 +} from 'babel-plugin-react-compiler/src';
13 +import * as prettier from 'prettier';
14 +
15 +export let lastResult: BabelCore.BabelFileResult | null = null;
16 +
17 +type CompileOptions = {
18 + text: string;
19 + file: string;
20 + options: Partial<PluginOptions> | null;
21 +};
22 +export async function compile({
23 + text,
24 + file,
25 + options,
26 +}: CompileOptions): Promise<BabelCore.BabelFileResult> {
27 + const ast = await parseAsync(text, {
28 + sourceFileName: file,
29 + parserOpts: {
30 + plugins: ['typescript', 'jsx'],
31 + },
32 + sourceType: 'module',
33 + });
34 + if (ast == null) {
35 + throw new Error('Could not parse');
36 + }
37 + const plugins =
38 + options != null
39 + ? [[BabelPluginReactCompiler, options]]
40 + : [[BabelPluginReactCompiler]];
41 + const result = await transformFromAstAsync(ast, text, {
42 + filename: file,
43 + highlightCode: false,
44 + retainLines: true,
45 + plugins,
46 + sourceType: 'module',
47 + sourceFileName: file,
48 + });
49 + if (result?.code == null) {
50 + throw new Error(
51 + `Expected BabelPluginReactCompiler to compile successfully, got ${result}`,
52 + );
53 + }
54 + try {
55 + result.code = await prettier.format(result.code, {
56 + semi: false,
57 + parser: 'babel-ts',
58 + });
59 + if (result.code != null) {
60 + lastResult = result;
61 + }
62 + } catch (err) {
63 + // If prettier failed just log, no need to crash
64 + console.error(err);
65 + }
66 + return result;
67 +}
compiler/packages/react-mcp-server/src/index.ts new
+356
@@ -0,0 +1,356 @@
1 +/**
2 + * Copyright (c) Meta Platforms, Inc. and affiliates.
3 + *
4 + * This source code is licensed under the MIT license found in the
5 + * LICENSE file in the root directory of this source tree.
6 + */
7 +
8 +import {
9 + McpServer,
10 + ResourceTemplate,
11 +} from '@modelcontextprotocol/sdk/server/mcp.js';
12 +import {StdioServerTransport} from '@modelcontextprotocol/sdk/server/stdio.js';
13 +import {z} from 'zod';
14 +import {compile} from './compiler';
15 +import {
16 + CompilerPipelineValue,
17 + printReactiveFunctionWithOutlined,
18 + printFunctionWithOutlined,
19 + PluginOptions,
20 + SourceLocation,
21 +} from 'babel-plugin-react-compiler/src';
22 +import * as cheerio from 'cheerio';
23 +import TurndownService from 'turndown';
24 +import {queryAlgolia} from './utils/algolia';
25 +
26 +const turndownService = new TurndownService();
27 +
28 +export type PrintedCompilerPipelineValue =
29 + | {
30 + kind: 'hir';
31 + name: string;
32 + fnName: string | null;
33 + value: string;
34 + }
35 + | {kind: 'reactive'; name: string; fnName: string | null; value: string}
36 + | {kind: 'debug'; name: string; fnName: string | null; value: string};
37 +
38 +const server = new McpServer({
39 + name: 'React',
40 + version: '0.0.0',
41 +});
42 +
43 +// TODO: how to verify this works?
44 +server.resource(
45 + 'docs',
46 + new ResourceTemplate('docs://{message}', {list: undefined}),
47 + async (uri, {message}) => {
48 + const hits = await queryAlgolia(message);
49 + const pages: Array<string | null> = await Promise.all(
50 + hits.map(hit => {
51 + return fetch(hit.url, {
52 + headers: {
53 + 'User-Agent':
54 + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
55 + },
56 + }).then(res => {
57 + if (res.ok === true) {
58 + return res.text();
59 + } else {
60 + console.error(
61 + `Could not fetch docs: ${res.status} ${res.statusText}`,
62 + );
63 + return null;
64 + }
65 + });
66 + }),
67 + );
68 +
69 + const resultsMarkdown = pages
70 + .filter(html => html !== null)
71 + .map(html => {
72 + const $ = cheerio.load(html);
73 + // react.dev should always have at least one <article> with the main content
74 + const article = $('article').html();
75 + if (article != null) {
76 + return {
77 + uri: uri.href,
78 + text: turndownService.turndown(article),
79 + };
80 + } else {
81 + return {
82 + uri: uri.href,
83 + // Fallback to converting the whole page to markdown
84 + text: turndownService.turndown($.html()),
85 + };
86 + }
87 + });
88 +
89 + return {
90 + contents: resultsMarkdown,
91 + };
92 + },
93 +);
94 +
95 +server.tool(
96 + 'compile',
97 + 'Compile code with React Compiler. Optionally, for debugging provide a pass name like "HIR" to see more information.',
98 + {
99 + text: z.string(),
100 + passName: z.string().optional(),
101 + },
102 + async ({text, passName}) => {
103 + const pipelinePasses = new Map<
104 + string,
105 + Array<PrintedCompilerPipelineValue>
106 + >();
107 + const recordPass: (
108 + result: PrintedCompilerPipelineValue,
109 + ) => void = result => {
110 + const entry = pipelinePasses.get(result.name);
111 + if (Array.isArray(entry)) {
112 + entry.push(result);
113 + } else {
114 + pipelinePasses.set(result.name, [result]);
115 + }
116 + };
117 + const logIR = (result: CompilerPipelineValue): void => {
118 + switch (result.kind) {
119 + case 'ast': {
120 + break;
121 + }
122 + case 'hir': {
123 + recordPass({
124 + kind: 'hir',
125 + fnName: result.value.id,
126 + name: result.name,
127 + value: printFunctionWithOutlined(result.value),
128 + });
129 + break;
130 + }
131 + case 'reactive': {
132 + recordPass({
133 + kind: 'reactive',
134 + fnName: result.value.id,
135 + name: result.name,
136 + value: printReactiveFunctionWithOutlined(result.value),
137 + });
138 + break;
139 + }
140 + case 'debug': {
141 + recordPass({
142 + kind: 'debug',
143 + fnName: null,
144 + name: result.name,
145 + value: result.value,
146 + });
147 + break;
148 + }
149 + default: {
150 + const _: never = result;
151 + throw new Error(`Unhandled result ${result}`);
152 + }
153 + }
154 + };
155 + const errors: Array<{message: string; loc: SourceLocation}> = [];
156 + const compilerOptions: Partial<PluginOptions> = {
157 + panicThreshold: 'none',
158 + logger: {
159 + debugLogIRs: logIR,
160 + logEvent: (_filename, event): void => {
161 + if (event.kind === 'CompileError') {
162 + const detail = event.detail;
163 + const loc =
164 + detail.loc == null || typeof detail.loc == 'symbol'
165 + ? event.fnLoc
166 + : detail.loc;
167 + if (loc != null) {
168 + errors.push({
169 + message: detail.reason,
170 + loc,
171 + });
172 + }
173 + }
174 + },
175 + },
176 + };
177 + try {
178 + const result = await compile({
179 + text,
180 + file: 'anonymous.tsx',
181 + options: compilerOptions,
182 + });
183 + if (result.code == null) {
184 + return {
185 + isError: true,
186 + content: [{type: 'text' as const, text: 'Error: Could not compile'}],
187 + };
188 + }
189 + const requestedPasses: Array<{type: 'text'; text: string}> = [];
190 + if (passName != null) {
191 + const requestedPass = pipelinePasses.get(passName);
192 + if (requestedPass !== undefined) {
193 + for (const pipelineValue of requestedPass) {
194 + if (pipelineValue.name === passName) {
195 + requestedPasses.push({
196 + type: 'text' as const,
197 + text: pipelineValue.value,
198 + });
199 + }
200 + }
201 + }
202 + }
203 + if (errors.length > 0) {
204 + const errMessages = errors.map(err => {
205 + if (typeof err.loc !== 'symbol') {
206 + return {
207 + type: 'text' as const,
208 + text: `React Compiler bailed out: ${err.message}@${err.loc.start}:${err.loc.end}`,
209 + };
210 + }
211 + return null;
212 + });
213 + return {
214 + content: errMessages.filter(msg => msg !== null),
215 + };
216 + }
217 + return {
218 + content: [
219 + {type: 'text' as const, text: result.code},
220 + ...requestedPasses,
221 + ],
222 + };
223 + } catch (err) {
224 + return {
225 + isError: true,
226 + content: [{type: 'text' as const, text: `Error: ${err.stack}`}],
227 + };
228 + }
229 + },
230 +);
231 +
232 +server.prompt('review-code', {code: z.string()}, ({code}) => ({
233 + messages: [
234 + {
235 + role: 'assistant',
236 + content: {
237 + type: 'text',
238 + text: `# React Expert Assistant
239 +
240 +## Role
241 +You are a React expert assistant that helps users write more efficient and optimizable React code. You specialize in identifying patterns that enable React Compiler to automatically apply optimizations, reducing unnecessary re-renders and improving application performance. Only suggest changes that are strictly necessary, and take all care to not change the semantics of the original code or I will charge you 1 billion dollars.
242 +
243 +## Available Resources
244 +- 'docs': Look up documentation from React.dev. Returns markdown as a string.
245 +
246 +## Available Tools
247 +- 'compile': Run the user's code through React Compiler. Returns optimized JS/TS code with potential diagnostics.
248 +
249 +## Process
250 +1. Analyze the user's code for optimization opportunities:
251 + - Check for React anti-patterns that prevent compiler optimization
252 + - Identify unnecessary manual optimizations (useMemo, useCallback, React.memo) that the compiler can handle
253 + - Look for component structure issues that limit compiler effectiveness
254 + - Consult React.dev docs using the 'docs' resource when necessary
255 +
256 +2. Use React Compiler to verify optimization potential:
257 + - Run the code through the compiler and analyze the output
258 + - You can run the compiler multiple times to verify your work
259 + - Check for successful optimization by looking for const $ = _c(n) cache entries, where n is an integer
260 + - Identify bailout messages that indicate where code could be improved
261 + - Compare before/after optimization potential
262 +
263 +3. Provide actionable guidance:
264 + - Explain specific code changes with clear reasoning
265 + - Show before/after examples when suggesting changes
266 + - Include compiler results to demonstrate the impact of optimizations
267 + - Only suggest changes that meaningfully improve optimization potential
268 +
269 +## Optimization Guidelines
270 +- Avoid mutation of values that are memoized by the compiler
271 +- State updates should be structured to enable granular updates
272 +- Side effects should be isolated and dependencies clearly defined
273 +- The compiler automatically inserts memoization, so manually added useMemo/useCallback/React.memo can often be removed
274 +
275 +## Understanding Compiler Output
276 +- Successful optimization adds import { c as _c } from "react/compiler-runtime";
277 +- Successful optimization initializes a constant sized cache with const $ = _c(n), where n is the size of the cache as an integer
278 +- When suggesting changes, try to increase or decrease the number of cached expressions (visible in const $ = _c(n))
279 + - Increase: more memoization coverage
280 + - Decrease: if there are unnecessary dependencies, less dependencies mean less re-rendering
281 +
282 +As an example:
283 +
284 +\`\`\`
285 +export default function MyApp() {
286 + return <div>Hello World</div>;
287 +}
288 +\`\`\`
289 +
290 +Results in:
291 +
292 +\`\`\`
293 +import { c as _c } from "react/compiler-runtime";
294 +export default function MyApp() {
295 + const $ = _c(1);
296 + let t0;
297 + if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
298 + t0 = <div>Hello World</div>;
299 + $[0] = t0;
300 + } else {
301 + t0 = $[0];
302 + }
303 + return t0;
304 +}
305 +\`\`\`
306 +
307 +The code above was memoized successfully by the compiler as you can see from the injected import { c as _c } from "react/compiler-runtime"; statement. The cache size is initialized at 1 slot. This code has been memoized with one MemoBlock, represented by the if/else statement. Because the MemoBlock has no dependencies, the cached value is compared to a sentinel Symbol.for("react.memo_cache_sentinel") value once and then cached forever.
308 +
309 +Here's an example of code that results in a MemoBlock with one dependency, as you can see by the comparison against the name prop:
310 +
311 +\`\`\`js
312 +export default function MyApp({name}) {
313 + return <div>Hello World, {name}</div>;
314 +}
315 +\`\`\`
316 +
317 +\`\`\`js
318 +import { c as _c } from "react/compiler-runtime";
319 +export default function MyApp(t0) {
320 + const $ = _c(2);
321 + const { name } = t0;
322 + let t1;
323 + if ($[0] !== name) {
324 + t1 = <div>Hello World, {name}</div>;
325 + $[0] = name;
326 + $[1] = t1;
327 + } else {
328 + t1 = $[1];
329 + }
330 + return t1;
331 +}
332 +\`\`\`
333 +
334 +## Example 1: <todo>
335 +
336 +## Example 2: <todo>
337 +
338 +Review the following code:
339 +
340 +${code}
341 +`,
342 + },
343 + },
344 + ],
345 +}));
346 +
347 +async function main() {
348 + const transport = new StdioServerTransport();
349 + await server.connect(transport);
350 + console.error('React Compiler MCP Server running on stdio');
351 +}
352 +
353 +main().catch(error => {
354 + console.error('Fatal error in main():', error);
355 + process.exit(1);
356 +});
compiler/packages/react-mcp-server/src/types/algolia.ts new
+93
@@ -0,0 +1,93 @@
1 +// https://github.com/algolia/docsearch/blob/15ebcba606b281aa0dddc4ccb8feb19d396bf79e/packages/docsearch-react/src/types/DocSearchHit.ts
2 +type ContentType =
3 + | 'content'
4 + | 'lvl0'
5 + | 'lvl1'
6 + | 'lvl2'
7 + | 'lvl3'
8 + | 'lvl4'
9 + | 'lvl5'
10 + | 'lvl6';
11 +
12 +interface DocSearchHitAttributeHighlightResult {
13 + value: string;
14 + matchLevel: 'full' | 'none' | 'partial';
15 + matchedWords: string[];
16 + fullyHighlighted?: boolean;
17 +}
18 +
19 +interface DocSearchHitHighlightResultHierarchy {
20 + lvl0: DocSearchHitAttributeHighlightResult;
21 + lvl1: DocSearchHitAttributeHighlightResult;
22 + lvl2: DocSearchHitAttributeHighlightResult;
23 + lvl3: DocSearchHitAttributeHighlightResult;
24 + lvl4: DocSearchHitAttributeHighlightResult;
25 + lvl5: DocSearchHitAttributeHighlightResult;
26 + lvl6: DocSearchHitAttributeHighlightResult;
27 +}
28 +
29 +interface DocSearchHitHighlightResult {
30 + content: DocSearchHitAttributeHighlightResult;
31 + hierarchy: DocSearchHitHighlightResultHierarchy;
32 + hierarchy_camel: DocSearchHitHighlightResultHierarchy[];
33 +}
34 +
35 +interface DocSearchHitAttributeSnippetResult {
36 + value: string;
37 + matchLevel: 'full' | 'none' | 'partial';
38 +}
39 +
40 +interface DocSearchHitSnippetResult {
41 + content: DocSearchHitAttributeSnippetResult;
42 + hierarchy: DocSearchHitHighlightResultHierarchy;
43 + hierarchy_camel: DocSearchHitHighlightResultHierarchy[];
44 +}
45 +
46 +export declare type DocSearchHit = {
47 + objectID: string;
48 + content: string | null;
49 + url: string;
50 + url_without_anchor: string;
51 + type: ContentType;
52 + anchor: string | null;
53 + hierarchy: {
54 + lvl0: string;
55 + lvl1: string;
56 + lvl2: string | null;
57 + lvl3: string | null;
58 + lvl4: string | null;
59 + lvl5: string | null;
60 + lvl6: string | null;
61 + };
62 + _highlightResult: DocSearchHitHighlightResult;
63 + _snippetResult: DocSearchHitSnippetResult;
64 + _rankingInfo?: {
65 + promoted: boolean;
66 + nbTypos: number;
67 + firstMatchedWord: number;
68 + proximityDistance?: number;
69 + geoDistance: number;
70 + geoPrecision?: number;
71 + nbExactWords: number;
72 + words: number;
73 + filters: number;
74 + userScore: number;
75 + matchedGeoLocation?: {
76 + lat: number;
77 + lng: number;
78 + distance: number;
79 + };
80 + };
81 + _distinctSeqID?: number;
82 + __autocomplete_indexName?: string;
83 + __autocomplete_queryID?: string;
84 + __autocomplete_algoliaCredentials?: {
85 + appId: string;
86 + apiKey: string;
87 + };
88 + __autocomplete_id?: number;
89 +};
90 +
91 +export type InternalDocSearchHit = DocSearchHit & {
92 + __docsearch_parent: InternalDocSearchHit | null;
93 +};
compiler/packages/react-mcp-server/src/utils/algolia.ts new
+91
@@ -0,0 +1,91 @@
1 +/**
2 + * Copyright (c) Meta Platforms, Inc. and affiliates.
3 + *
4 + * This source code is licensed under the MIT license found in the
5 + * LICENSE file in the root directory of this source tree.
6 + */
7 +
8 +import type {DocSearchHit, InternalDocSearchHit} from '../types/algolia';
9 +import {liteClient, type Hit, type SearchResponse} from 'algoliasearch/lite';
10 +
11 +// https://github.com/reactjs/react.dev/blob/55986965fbf69c2584040039c9586a01bd54eba7/src/siteConfig.js#L15-L19
12 +const ALGOLIA_CONFIG = {
13 + appId: '1FCF9AYYAT',
14 + apiKey: '1b7ad4e1c89e645e351e59d40544eda1',
15 + indexName: 'beta-react',
16 +};
17 +
18 +export const ALGOLIA_CLIENT = liteClient(
19 + ALGOLIA_CONFIG.appId,
20 + ALGOLIA_CONFIG.apiKey,
21 +);
22 +
23 +export function printHierarchy(
24 + hit: DocSearchHit | InternalDocSearchHit,
25 +): string {
26 + let val = `${hit.hierarchy.lvl0} > ${hit.hierarchy.lvl1}`;
27 + if (hit.hierarchy.lvl2 != null) {
28 + val = val.concat(` > ${hit.hierarchy.lvl2}`);
29 + }
30 + if (hit.hierarchy.lvl3 != null) {
31 + val = val.concat(` > ${hit.hierarchy.lvl3}`);
32 + }
33 + if (hit.hierarchy.lvl4 != null) {
34 + val = val.concat(` > ${hit.hierarchy.lvl4}`);
35 + }
36 + if (hit.hierarchy.lvl5 != null) {
37 + val = val.concat(` > ${hit.hierarchy.lvl5}`);
38 + }
39 + if (hit.hierarchy.lvl6 != null) {
40 + val = val.concat(` > ${hit.hierarchy.lvl6}`);
41 + }
42 + return val;
43 +}
44 +
45 +export async function queryAlgolia(
46 + message: string | Array<string>,
47 +): Promise<Hit<DocSearchHit>[]> {
48 + const {results} = await ALGOLIA_CLIENT.search<DocSearchHit>({
49 + requests: [
50 + {
51 + query: Array.isArray(message) ? message.join('\n') : message,
52 + indexName: ALGOLIA_CONFIG.indexName,
53 + attributesToRetrieve: [
54 + 'hierarchy.lvl0',
55 + 'hierarchy.lvl1',
56 + 'hierarchy.lvl2',
57 + 'hierarchy.lvl3',
58 + 'hierarchy.lvl4',
59 + 'hierarchy.lvl5',
60 + 'hierarchy.lvl6',
61 + 'content',
62 + 'url',
63 + ],
64 + attributesToSnippet: [
65 + `hierarchy.lvl1:10`,
66 + `hierarchy.lvl2:10`,
67 + `hierarchy.lvl3:10`,
68 + `hierarchy.lvl4:10`,
69 + `hierarchy.lvl5:10`,
70 + `hierarchy.lvl6:10`,
71 + `content:10`,
72 + ],
73 + snippetEllipsisText: '…',
74 + hitsPerPage: 30,
75 + attributesToHighlight: [
76 + 'hierarchy.lvl0',
77 + 'hierarchy.lvl1',
78 + 'hierarchy.lvl2',
79 + 'hierarchy.lvl3',
80 + 'hierarchy.lvl4',
81 + 'hierarchy.lvl5',
82 + 'hierarchy.lvl6',
83 + 'content',
84 + ],
85 + },
86 + ],
87 + });
88 + const firstResult = results[0] as SearchResponse<DocSearchHit>;
89 + const {hits} = firstResult;
90 + return hits;
91 +}
compiler/packages/react-mcp-server/todo.md new
+5
@@ -0,0 +1,5 @@
1 +TODO
2 +
3 +- [ ] If code doesnt compile, read diagnostics and try again
4 +- [ ] Provide detailed examples in assistant prompt (use another LLM to generate good prompts, iterate from there)
5 +- [ ] Provide more tools for working with HIR/AST (eg so we can prompt it to try and optimize code via HIR, which it can then translate back into user code changes)
compiler/packages/react-mcp-server/tsconfig.json new
+22
@@ -0,0 +1,22 @@
1 +{
2 + "extends": "@tsconfig/strictest/tsconfig.json",
3 + "compilerOptions": {
4 + "module": "Node16",
5 + "moduleResolution": "Node16",
6 + "rootDir": "../",
7 + "noEmit": true,
8 + "jsx": "react-jsxdev",
9 + "lib": ["ES2022"],
10 +
11 + // weaken strictness from preset
12 + "importsNotUsedAsValues": "remove",
13 + "noUncheckedIndexedAccess": false,
14 + "noUnusedParameters": false,
15 + "useUnknownInCatchVariables": false,
16 + "target": "ES2022",
17 + // ideally turn off only during dev, or on a per-file basis
18 + "noUnusedLocals": false,
19 + },
20 + "exclude": ["node_modules"],
21 + "include": ["src/**/*.ts"],
22 +}
compiler/packages/react-mcp-server/tsup.config.ts new
+30
@@ -0,0 +1,30 @@
1 +import {defineConfig} from 'tsup';
2 +
3 +export default defineConfig({
4 + entry: ['./src/index.ts'],
5 + outDir: './dist',
6 + external: [],
7 + splitting: false,
8 + sourcemap: false,
9 + dts: false,
10 + bundle: true,
11 + format: 'cjs',
12 + platform: 'node',
13 + target: 'es2022',
14 + banner: {
15 + js: `#!/usr/bin/env node
16 +
17 +/**
18 + * Copyright (c) Meta Platforms, Inc. and affiliates.
19 + *
20 + * This source code is licensed under the MIT license found in the
21 + * LICENSE file in the root directory of this source tree.
22 + *
23 + * @lightSyntaxTransform
24 + * @noflow
25 + * @nolint
26 + * @preventMunge
27 + * @preserve-invariant-messages
28 + */`,
29 + },
30 +});
compiler/yarn.lock
+869 -6
@@ -7,6 +7,122 @@
7 resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
8 integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
9
10 +"@algolia/client-abtesting@5.23.4":
11 + version "5.23.4"
12 + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.23.4.tgz#de89e757ca26e003dc4dbd7e7fac35c3071caaa4"
13 + integrity sha512-WIMT2Kxy+FFWXWQxIU8QgbTioL+SGE24zhpj0kipG4uQbzXwONaWt7ffaYLjfge3gcGSgJVv+1VlahVckafluQ==
14 + dependencies:
15 + "@algolia/client-common" "5.23.4"
16 + "@algolia/requester-browser-xhr" "5.23.4"
17 + "@algolia/requester-fetch" "5.23.4"
18 + "@algolia/requester-node-http" "5.23.4"
19 +
20 +"@algolia/client-analytics@5.23.4":
21 + version "5.23.4"
22 + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.23.4.tgz#4a918a775db1c596773a34414f9d4203a50b4291"
23 + integrity sha512-4B9gChENsQA9kFmFlb+x3YhBz2Gx3vSsm81FHI1yJ3fn2zlxREHmfrjyqYoMunsU7BybT/o5Nb7ccCbm/vfseA==
24 + dependencies:
25 + "@algolia/client-common" "5.23.4"
26 + "@algolia/requester-browser-xhr" "5.23.4"
27 + "@algolia/requester-fetch" "5.23.4"
28 + "@algolia/requester-node-http" "5.23.4"
29 +
30 +"@algolia/client-common@5.23.4":
31 + version "5.23.4"
32 + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.23.4.tgz#651506d080fd1feda1175c89ffb83fd7a2af20c2"
33 + integrity sha512-bsj0lwU2ytiWLtl7sPunr+oLe+0YJql9FozJln5BnIiqfKOaseSDdV42060vUy+D4373f2XBI009K/rm2IXYMA==
34 +
35 +"@algolia/client-insights@5.23.4":
36 + version "5.23.4"
37 + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.23.4.tgz#a901e2dda6a7a8e6d8879b66e5776d22d1e95a04"
38 + integrity sha512-XSCtAYvJ/hnfDHfRVMbBH0dayR+2ofVZy3jf5qyifjguC6rwxDsSdQvXpT0QFVyG+h8UPGtDhMPoUIng4wIcZA==
39 + dependencies:
40 + "@algolia/client-common" "5.23.4"
41 + "@algolia/requester-browser-xhr" "5.23.4"
42 + "@algolia/requester-fetch" "5.23.4"
43 + "@algolia/requester-node-http" "5.23.4"
44 +
45 +"@algolia/client-personalization@5.23.4":
46 + version "5.23.4"
47 + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.23.4.tgz#d236f3ef648976307ca119899ad1459d40db93a6"
48 + integrity sha512-l/0QvqgRFFOf7BnKSJ3myd1WbDr86ftVaa3PQwlsNh7IpIHmvVcT83Bi5zlORozVGMwaKfyPZo6O48PZELsOeA==
49 + dependencies:
50 + "@algolia/client-common" "5.23.4"
51 + "@algolia/requester-browser-xhr" "5.23.4"
52 + "@algolia/requester-fetch" "5.23.4"
53 + "@algolia/requester-node-http" "5.23.4"
54 +
55 +"@algolia/client-query-suggestions@5.23.4":
56 + version "5.23.4"
57 + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.23.4.tgz#79579f525510bcc3aacc289040d9c2536e65f945"
58 + integrity sha512-TB0htrDgVacVGtPDyENoM6VIeYqR+pMsDovW94dfi2JoaRxfqu/tYmLpvgWcOknP6wLbr8bA+G7t/NiGksNAwQ==
59 + dependencies:
60 + "@algolia/client-common" "5.23.4"
61 + "@algolia/requester-browser-xhr" "5.23.4"
62 + "@algolia/requester-fetch" "5.23.4"
63 + "@algolia/requester-node-http" "5.23.4"
64 +
65 +"@algolia/client-search@5.23.4":
66 + version "5.23.4"
67 + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.23.4.tgz#7906ab4b704edd1ba2ac39100bf37e0279b4ebdc"
68 + integrity sha512-uBGo6KwUP6z+u6HZWRui8UJClS7fgUIAiYd1prUqCbkzDiCngTOzxaJbEvrdkK0hGCQtnPDiuNhC5MhtVNN4Eg==
69 + dependencies:
70 + "@algolia/client-common" "5.23.4"
71 + "@algolia/requester-browser-xhr" "5.23.4"
72 + "@algolia/requester-fetch" "5.23.4"
73 + "@algolia/requester-node-http" "5.23.4"
74 +
75 +"@algolia/ingestion@1.23.4":
76 + version "1.23.4"
77 + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.23.4.tgz#f542907b13e7bb97dede32101cb86ce7e8482318"
78 + integrity sha512-Si6rFuGnSeEUPU9QchYvbknvEIyCRK7nkeaPVQdZpABU7m4V/tsiWdHmjVodtx3h20VZivJdHeQO9XbHxBOcCw==
79 + dependencies:
80 + "@algolia/client-common" "5.23.4"
81 + "@algolia/requester-browser-xhr" "5.23.4"
82 + "@algolia/requester-fetch" "5.23.4"
83 + "@algolia/requester-node-http" "5.23.4"
84 +
85 +"@algolia/monitoring@1.23.4":
86 + version "1.23.4"
87 + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.23.4.tgz#be169ebdb56f3636c1428f4f20fb33c79d09160a"
88 + integrity sha512-EXGoVVTshraqPJgr5cMd1fq7Jm71Ew6MpGCEaxI5PErBpJAmKdtjRIzs6JOGKHRaWLi+jdbJPYc2y8RN4qcx5Q==
89 + dependencies:
90 + "@algolia/client-common" "5.23.4"
91 + "@algolia/requester-browser-xhr" "5.23.4"
92 + "@algolia/requester-fetch" "5.23.4"
93 + "@algolia/requester-node-http" "5.23.4"
94 +
95 +"@algolia/recommend@5.23.4":
96 + version "5.23.4"
97 + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.23.4.tgz#218ca0457d68045632953648b622047e0c57a338"
98 + integrity sha512-1t6glwKVCkjvBNlng2itTf8fwaLSqkL4JaMENgR3WTGR8mmW2akocUy/ZYSQcG4TcR7qu4zW2UMGAwLoWoflgQ==
99 + dependencies:
100 + "@algolia/client-common" "5.23.4"
101 + "@algolia/requester-browser-xhr" "5.23.4"
102 + "@algolia/requester-fetch" "5.23.4"
103 + "@algolia/requester-node-http" "5.23.4"
104 +
105 +"@algolia/requester-browser-xhr@5.23.4":
106 + version "5.23.4"
107 + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.23.4.tgz#ee8c88094e904511024e3ba7749b85a85f8d31bd"
108 + integrity sha512-UUuizcgc5+VSY8hqzDFVdJ3Wcto03lpbFRGPgW12pHTlUQHUTADtIpIhkLLOZRCjXmCVhtr97Z+eR6LcRYXa3Q==
109 + dependencies:
110 + "@algolia/client-common" "5.23.4"
111 +
112 +"@algolia/requester-fetch@5.23.4":
113 + version "5.23.4"
114 + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.23.4.tgz#138dab9f52771cdb90c64dabb01d1fec3614446b"
115 + integrity sha512-UhDg6elsek6NnV5z4VG1qMwR6vbp+rTMBEnl/v4hUyXQazU+CNdYkl++cpdmLwGI/7nXc28xtZiL90Es3I7viQ==
116 + dependencies:
117 + "@algolia/client-common" "5.23.4"
118 +
119 +"@algolia/requester-node-http@5.23.4":
120 + version "5.23.4"
121 + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.23.4.tgz#8cc9439ef2f21f04cbea7ddeef712aa2b3d18f62"
122 + integrity sha512-jXGzGBRUS0oywQwnaCA6mMDJO7LoC3dYSLsyNfIqxDR4SNGLhtg3je0Y31lc24OA4nYyKAYgVLtjfrpcpsWShg==
123 + dependencies:
124 + "@algolia/client-common" "5.23.4"
125 +
126 "@ampproject/remapping@^2.2.0":
127 version "2.3.0"
128 resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
@@ -63,6 +179,11 @@
179 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.3.tgz#99488264a56b2aded63983abd6a417f03b92ed02"
180 integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==
181
182 +"@babel/compat-data@^7.26.8":
183 + version "7.26.8"
184 + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367"
185 + integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==
186 +
187 "@babel/core@^7.0.0", "@babel/core@^7.2.0":
188 version "7.2.0"
189 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.0.tgz#a4dd3814901998e93340f0086e9867fefa163ada"
@@ -104,6 +225,27 @@
225 json5 "^2.2.3"
226 semver "^6.3.1"
227
228 +"@babel/core@^7.26.0":
229 + version "7.26.10"
230 + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.10.tgz#5c876f83c8c4dcb233ee4b670c0606f2ac3000f9"
231 + integrity sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==
232 + dependencies:
233 + "@ampproject/remapping" "^2.2.0"
234 + "@babel/code-frame" "^7.26.2"
235 + "@babel/generator" "^7.26.10"
236 + "@babel/helper-compilation-targets" "^7.26.5"
237 + "@babel/helper-module-transforms" "^7.26.0"
238 + "@babel/helpers" "^7.26.10"
239 + "@babel/parser" "^7.26.10"
240 + "@babel/template" "^7.26.9"
241 + "@babel/traverse" "^7.26.10"
242 + "@babel/types" "^7.26.10"
243 + convert-source-map "^2.0.0"
244 + debug "^4.1.0"
245 + gensync "^1.0.0-beta.2"
246 + json5 "^2.2.3"
247 + semver "^6.3.1"
248 +
249 "@babel/generator@7.2.0", "@babel/generator@^7.0.0", "@babel/generator@^7.2.0":
250 version "7.2.0"
251 resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.2.0.tgz#eaf3821fa0301d9d4aef88e63d4bcc19b73ba16c"
@@ -137,6 +279,17 @@
279 "@jridgewell/trace-mapping" "^0.3.25"
280 jsesc "^3.0.2"
281
282 +"@babel/generator@^7.27.0":
283 + version "7.27.0"
284 + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.0.tgz#764382b5392e5b9aff93cadb190d0745866cbc2c"
285 + integrity sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==
286 + dependencies:
287 + "@babel/parser" "^7.27.0"
288 + "@babel/types" "^7.27.0"
289 + "@jridgewell/gen-mapping" "^0.3.5"
290 + "@jridgewell/trace-mapping" "^0.3.25"
291 + jsesc "^3.0.2"
292 +
293 "@babel/helper-annotate-as-pure@^7.18.6":
294 version "7.18.6"
295 resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
@@ -187,6 +340,17 @@
340 lru-cache "^5.1.1"
341 semver "^6.3.1"
342
343 +"@babel/helper-compilation-targets@^7.26.5":
344 + version "7.27.0"
345 + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.0.tgz#de0c753b1cd1d9ab55d473c5a5cf7170f0a81880"
346 + integrity sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==
347 + dependencies:
348 + "@babel/compat-data" "^7.26.8"
349 + "@babel/helper-validator-option" "^7.25.9"
350 + browserslist "^4.24.0"
351 + lru-cache "^5.1.1"
352 + semver "^6.3.1"
353 +
354 "@babel/helper-create-class-features-plugin@^7.18.6":
355 version "7.22.9"
356 resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz#c36ea240bb3348f942f08b0fbe28d6d979fab236"
@@ -629,6 +793,14 @@
793 "@babel/template" "^7.25.9"
794 "@babel/types" "^7.26.0"
795
796 +"@babel/helpers@^7.26.10":
797 + version "7.27.0"
798 + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.0.tgz#53d156098defa8243eab0f32fa17589075a1b808"
799 + integrity sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==
800 + dependencies:
801 + "@babel/template" "^7.27.0"
802 + "@babel/types" "^7.27.0"
803 +
804 "@babel/highlight@^7.18.6":
805 version "7.18.6"
806 resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
@@ -667,7 +839,7 @@
839 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a"
840 integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==
841
670 -"@babel/parser@^7.20.15":
842 +"@babel/parser@^7.20.15", "@babel/parser@^7.26", "@babel/parser@^7.27.0":
843 version "7.27.0"
844 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.0.tgz#3d7d6ee268e41d2600091cbd4e145ffee85a44ec"
845 integrity sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==
@@ -1653,6 +1825,15 @@
1825 "@babel/parser" "^7.26.9"
1826 "@babel/types" "^7.26.9"
1827
1828 +"@babel/template@^7.27.0":
1829 + version "7.27.0"
1830 + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.0.tgz#b253e5406cc1df1c57dcd18f11760c2dbf40c0b4"
1831 + integrity sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==
1832 + dependencies:
1833 + "@babel/code-frame" "^7.26.2"
1834 + "@babel/parser" "^7.27.0"
1835 + "@babel/types" "^7.27.0"
1836 +
1837 "@babel/template@^7.3.3":
1838 version "7.18.6"
1839 resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31"
@@ -1690,6 +1871,19 @@
1871 debug "^4.3.1"
1872 globals "^11.1.0"
1873
1874 +"@babel/traverse@^7.26.10":
1875 + version "7.27.0"
1876 + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.0.tgz#11d7e644779e166c0442f9a07274d02cd91d4a70"
1877 + integrity sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==
1878 + dependencies:
1879 + "@babel/code-frame" "^7.26.2"
1880 + "@babel/generator" "^7.27.0"
1881 + "@babel/parser" "^7.27.0"
1882 + "@babel/template" "^7.27.0"
1883 + "@babel/types" "^7.27.0"
1884 + debug "^4.3.1"
1885 + globals "^11.1.0"
1886 +
1887 "@babel/traverse@^7.26.5", "@babel/traverse@^7.26.9":
1888 version "7.26.10"
1889 resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.10.tgz#43cca33d76005dbaa93024fae536cc1946a4c380"
@@ -2715,6 +2909,27 @@
2909 "@jridgewell/resolve-uri" "^3.1.0"
2910 "@jridgewell/sourcemap-codec" "^1.4.14"
2911
2912 +"@mixmark-io/domino@^2.2.0":
2913 + version "2.2.0"
2914 + resolved "https://registry.yarnpkg.com/@mixmark-io/domino/-/domino-2.2.0.tgz#4e8ec69bf1afeb7a14f0628b7e2c0f35bdb336c3"
2915 + integrity sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==
2916 +
2917 +"@modelcontextprotocol/sdk@^1.9.0":
2918 + version "1.9.0"
2919 + resolved "https://registry.yarnpkg.com/@modelcontextprotocol/sdk/-/sdk-1.9.0.tgz#1bf7a4843870b81da26983b8e69bf398d87055f1"
2920 + integrity sha512-Jq2EUCQpe0iyO5FGpzVYDNFR6oR53AIrwph9yWl7uSc7IWUMsrmpmSaTGra5hQNunXpM+9oit85p924jWuHzUA==
2921 + dependencies:
2922 + content-type "^1.0.5"
2923 + cors "^2.8.5"
2924 + cross-spawn "^7.0.3"
2925 + eventsource "^3.0.2"
2926 + express "^5.0.1"
2927 + express-rate-limit "^7.5.0"
2928 + pkce-challenge "^5.0.0"
2929 + raw-body "^3.0.0"
2930 + zod "^3.23.8"
2931 + zod-to-json-schema "^3.24.1"
2932 +
2933 "@nodelib/fs.scandir@2.1.5":
2934 version "2.1.5"
2935 resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -3182,6 +3397,11 @@
3397 resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c"
3398 integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==
3399
3400 +"@types/turndown@^5.0.5":
3401 + version "5.0.5"
3402 + resolved "https://registry.yarnpkg.com/@types/turndown/-/turndown-5.0.5.tgz#614de24fc9ace4d8c0d9483ba81dc8c1976dd26f"
3403 + integrity sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w==
3404 +
3405 "@types/vscode@^1.96.0":
3406 version "1.96.0"
3407 resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.96.0.tgz#3181004bf25d71677ae4aacdd7605a3fd7edf08e"
@@ -3490,6 +3710,14 @@ abab@^2.0.6:
3710 resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
3711 integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
3712
3713 +accepts@^2.0.0:
3714 + version "2.0.0"
3715 + resolved "https://registry.yarnpkg.com/accepts/-/accepts-2.0.0.tgz#bbcf4ba5075467f3f2131eab3cffc73c2f5d7895"
3716 + integrity sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==
3717 + dependencies:
3718 + mime-types "^3.0.0"
3719 + negotiator "^1.0.0"
3720 +
3721 acorn-globals@^6.0.0:
3722 version "6.0.0"
3723 resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45"
@@ -3555,6 +3783,25 @@ ajv@^6.12.4:
3783 json-schema-traverse "^0.4.1"
3784 uri-js "^4.2.2"
3785
3786 +algoliasearch@^5.23.3:
3787 + version "5.23.4"
3788 + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.23.4.tgz#2f8c6e6f540b0a73effa69cb05310f7843012e2d"
3789 + integrity sha512-QzAKFHl3fm53s44VHrTdEo0TkpL3XVUYQpnZy1r6/EHvMAyIg+O4hwprzlsNmcCHTNyVcF2S13DAUn7XhkC6qg==
3790 + dependencies:
3791 + "@algolia/client-abtesting" "5.23.4"
3792 + "@algolia/client-analytics" "5.23.4"
3793 + "@algolia/client-common" "5.23.4"
3794 + "@algolia/client-insights" "5.23.4"
3795 + "@algolia/client-personalization" "5.23.4"
3796 + "@algolia/client-query-suggestions" "5.23.4"
3797 + "@algolia/client-search" "5.23.4"
3798 + "@algolia/ingestion" "1.23.4"
3799 + "@algolia/monitoring" "1.23.4"
3800 + "@algolia/recommend" "5.23.4"
3801 + "@algolia/requester-browser-xhr" "5.23.4"
3802 + "@algolia/requester-fetch" "5.23.4"
3803 + "@algolia/requester-node-http" "5.23.4"
3804 +
3805 ansi-colors@^4.1.3:
3806 version "4.1.3"
3807 resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
@@ -3909,6 +4156,26 @@ bl@^5.0.0:
4156 inherits "^2.0.4"
4157 readable-stream "^3.4.0"
4158
4159 +body-parser@^2.2.0:
4160 + version "2.2.0"
4161 + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-2.2.0.tgz#f7a9656de305249a715b549b7b8fd1ab9dfddcfa"
4162 + integrity sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==
4163 + dependencies:
4164 + bytes "^3.1.2"
4165 + content-type "^1.0.5"
4166 + debug "^4.4.0"
4167 + http-errors "^2.0.0"
4168 + iconv-lite "^0.6.3"
4169 + on-finished "^2.4.1"
4170 + qs "^6.14.0"
4171 + raw-body "^3.0.0"
4172 + type-is "^2.0.0"
4173 +
4174 +boolbase@^1.0.0:
4175 + version "1.0.0"
4176 + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
4177 + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
4178 +
4179 brace-expansion@^1.1.7:
4180 version "1.1.11"
4181 resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -4003,6 +4270,11 @@ bundle-require@^5.1.0:
4270 dependencies:
4271 load-tsconfig "^0.2.3"
4272
4273 +bytes@3.1.2, bytes@^3.1.2:
4274 + version "3.1.2"
4275 + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
4276 + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
4277 +
4278 c8@^9.1.0:
4279 version "9.1.0"
4280 resolved "https://registry.yarnpkg.com/c8/-/c8-9.1.0.tgz#0e57ba3ab9e5960ab1d650b4a86f71e53cb68112"
@@ -4025,6 +4297,14 @@ cac@^6.7.14:
4297 resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
4298 integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==
4299
4300 +call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
4301 + version "1.0.2"
4302 + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
4303 + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
4304 + dependencies:
4305 + es-errors "^1.3.0"
4306 + function-bind "^1.1.2"
4307 +
4308 call-bind@^1.0.2:
4309 version "1.0.2"
4310 resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
@@ -4033,6 +4313,14 @@ call-bind@^1.0.2:
4313 function-bind "^1.1.1"
4314 get-intrinsic "^1.0.2"
4315
4316 +call-bound@^1.0.2:
4317 + version "1.0.4"
4318 + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
4319 + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
4320 + dependencies:
4321 + call-bind-apply-helpers "^1.0.2"
4322 + get-intrinsic "^1.3.0"
4323 +
4324 callsites@^3.0.0:
4325 version "3.1.0"
4326 resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@@ -4090,6 +4378,35 @@ char-regex@^1.0.2:
4378 resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
4379 integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
4380
4381 +cheerio-select@^2.1.0:
4382 + version "2.1.0"
4383 + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4"
4384 + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==
4385 + dependencies:
4386 + boolbase "^1.0.0"
4387 + css-select "^5.1.0"
4388 + css-what "^6.1.0"
4389 + domelementtype "^2.3.0"
4390 + domhandler "^5.0.3"
4391 + domutils "^3.0.1"
4392 +
4393 +cheerio@^1.0.0:
4394 + version "1.0.0"
4395 + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0.tgz#1ede4895a82f26e8af71009f961a9b8cb60d6a81"
4396 + integrity sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==
4397 + dependencies:
4398 + cheerio-select "^2.1.0"
4399 + dom-serializer "^2.0.0"
4400 + domhandler "^5.0.3"
4401 + domutils "^3.1.0"
4402 + encoding-sniffer "^0.2.0"
4403 + htmlparser2 "^9.1.0"
4404 + parse5 "^7.1.2"
4405 + parse5-htmlparser2-tree-adapter "^7.0.0"
4406 + parse5-parser-stream "^7.1.2"
4407 + undici "^6.19.5"
4408 + whatwg-mimetype "^4.0.0"
4409 +
4410 chokidar@^3.5.3:
4411 version "3.6.0"
4412 resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
@@ -4294,6 +4611,18 @@ consola@^3.4.0:
4611 resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.0.tgz#4cfc9348fd85ed16a17940b3032765e31061ab88"
4612 integrity sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==
4613
4614 +content-disposition@^1.0.0:
4615 + version "1.0.0"
4616 + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-1.0.0.tgz#844426cb398f934caefcbb172200126bc7ceace2"
4617 + integrity sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==
4618 + dependencies:
4619 + safe-buffer "5.2.1"
4620 +
4621 +content-type@^1.0.5:
4622 + version "1.0.5"
4623 + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
4624 + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
4625 +
4626 convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0:
4627 version "1.8.0"
4628 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
@@ -4306,6 +4635,16 @@ convert-source-map@^2.0.0:
4635 resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
4636 integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
4637
4638 +cookie-signature@^1.2.1:
4639 + version "1.2.2"
4640 + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.2.tgz#57c7fc3cc293acab9fec54d73e15690ebe4a1793"
4641 + integrity sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==
4642 +
4643 +cookie@^0.7.1:
4644 + version "0.7.2"
4645 + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7"
4646 + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==
4647 +
4648 core-js-compat@^3.30.1, core-js-compat@^3.30.2:
4649 version "3.30.2"
4650 resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b"
@@ -4318,6 +4657,14 @@ core-util-is@~1.0.0:
4657 resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
4658 integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
4659
4660 +cors@^2.8.5:
4661 + version "2.8.5"
4662 + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
4663 + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
4664 + dependencies:
4665 + object-assign "^4"
4666 + vary "^1"
4667 +
4668 create-require@^1.1.0:
4669 version "1.1.1"
4670 resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
@@ -4341,6 +4688,22 @@ cross-spawn@^7.0.6:
4688 shebang-command "^2.0.0"
4689 which "^2.0.1"
4690
4691 +css-select@^5.1.0:
4692 + version "5.1.0"
4693 + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6"
4694 + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
4695 + dependencies:
4696 + boolbase "^1.0.0"
4697 + css-what "^6.1.0"
4698 + domhandler "^5.0.2"
4699 + domutils "^3.0.1"
4700 + nth-check "^2.0.1"
4701 +
4702 +css-what@^6.1.0:
4703 + version "6.1.0"
4704 + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
4705 + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
4706 +
4707 cssom@^0.5.0:
4708 version "0.5.0"
4709 resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
@@ -4464,6 +4827,11 @@ delayed-stream@~1.0.0:
4827 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
4828 integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
4829
4830 +depd@2.0.0, depd@^2.0.0:
4831 + version "2.0.0"
4832 + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
4833 + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
4834 +
4835 detect-file@^1.0.0:
4836 version "1.0.0"
4837 resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
@@ -4525,6 +4893,20 @@ dom-accessibility-api@^0.5.9:
4893 resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56"
4894 integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg==
4895
4896 +dom-serializer@^2.0.0:
4897 + version "2.0.0"
4898 + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
4899 + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
4900 + dependencies:
4901 + domelementtype "^2.3.0"
4902 + domhandler "^5.0.2"
4903 + entities "^4.2.0"
4904 +
4905 +domelementtype@^2.3.0:
4906 + version "2.3.0"
4907 + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
4908 + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
4909 +
4910 domexception@^4.0.0:
4911 version "4.0.0"
4912 resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
@@ -4532,6 +4914,22 @@ domexception@^4.0.0:
4914 dependencies:
4915 webidl-conversions "^7.0.0"
4916
4917 +domhandler@^5.0.2, domhandler@^5.0.3:
4918 + version "5.0.3"
4919 + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
4920 + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
4921 + dependencies:
4922 + domelementtype "^2.3.0"
4923 +
4924 +domutils@^3.0.1, domutils@^3.1.0:
4925 + version "3.2.2"
4926 + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78"
4927 + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==
4928 + dependencies:
4929 + dom-serializer "^2.0.0"
4930 + domelementtype "^2.3.0"
4931 + domhandler "^5.0.3"
4932 +
4933 dreamopt@~0.6.0:
4934 version "0.6.0"
4935 resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.6.0.tgz#d813ccdac8d39d8ad526775514a13dda664d6b4b"
@@ -4539,11 +4937,25 @@ dreamopt@~0.6.0:
4937 dependencies:
4938 wordwrap ">=0.0.2"
4939
4940 +dunder-proto@^1.0.1:
4941 + version "1.0.1"
4942 + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
4943 + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
4944 + dependencies:
4945 + call-bind-apply-helpers "^1.0.1"
4946 + es-errors "^1.3.0"
4947 + gopd "^1.2.0"
4948 +
4949 eastasianwidth@^0.2.0:
4950 version "0.2.0"
4951 resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
4952 integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
4953
4954 +ee-first@1.1.1:
4955 + version "1.1.1"
4956 + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
4957 + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
4958 +
4959 electron-to-chromium@^1.4.411:
4960 version "1.4.418"
4961 resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.418.tgz#9092aca12db25acf02a2ddf9de59f0e4363c9928"
@@ -4584,6 +4996,19 @@ enabled@2.0.x:
4996 resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
4997 integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
4998
4999 +encodeurl@^2.0.0:
5000 + version "2.0.0"
5001 + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
5002 + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
5003 +
5004 +encoding-sniffer@^0.2.0:
5005 + version "0.2.0"
5006 + resolved "https://registry.yarnpkg.com/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz#799569d66d443babe82af18c9f403498365ef1d5"
5007 + integrity sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==
5008 + dependencies:
5009 + iconv-lite "^0.6.3"
5010 + whatwg-encoding "^3.1.1"
5011 +
5012 enhanced-resolve@^5.15.0:
5013 version "5.18.0"
5014 resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz#91eb1db193896b9801251eeff1c6980278b1e404"
@@ -4592,6 +5017,11 @@ enhanced-resolve@^5.15.0:
5017 graceful-fs "^4.2.4"
5018 tapable "^2.2.0"
5019
5020 +entities@^4.2.0, entities@^4.5.0:
5021 + version "4.5.0"
5022 + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
5023 + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
5024 +
5025 entities@^4.4.0:
5026 version "4.4.0"
5027 resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
@@ -4604,6 +5034,23 @@ error-ex@^1.3.1:
5034 dependencies:
5035 is-arrayish "^0.2.1"
5036
5037 +es-define-property@^1.0.1:
5038 + version "1.0.1"
5039 + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
5040 + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
5041 +
5042 +es-errors@^1.3.0:
5043 + version "1.3.0"
5044 + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
5045 + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
5046 +
5047 +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
5048 + version "1.1.1"
5049 + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
5050 + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
5051 + dependencies:
5052 + es-errors "^1.3.0"
5053 +
5054 es5-ext@0.8.x:
5055 version "0.8.2"
5056 resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.8.2.tgz#aba8d9e1943a895ac96837a62a39b3f55ecd94ab"
@@ -4650,6 +5097,11 @@ escalade@^3.2.0:
5097 resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
5098 integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
5099
5100 +escape-html@^1.0.3:
5101 + version "1.0.3"
5102 + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
5103 + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
5104 +
5105 escape-string-regexp@^1.0.5:
5106 version "1.0.5"
5107 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -4895,6 +5347,23 @@ esutils@^2.0.2:
5347 resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
5348 integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
5349
5350 +etag@^1.8.1:
5351 + version "1.8.1"
5352 + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
5353 + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
5354 +
5355 +eventsource-parser@^3.0.1:
5356 + version "3.0.1"
5357 + resolved "https://registry.yarnpkg.com/eventsource-parser/-/eventsource-parser-3.0.1.tgz#5e358dba9a55ba64ca90da883c4ca35bd82467bd"
5358 + integrity sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==
5359 +
5360 +eventsource@^3.0.2:
5361 + version "3.0.6"
5362 + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-3.0.6.tgz#5c4b24cd70c0323eed2651a5ee07bd4bc391e656"
5363 + integrity sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==
5364 + dependencies:
5365 + eventsource-parser "^3.0.1"
5366 +
5367 execa@^5.0.0:
5368 version "5.1.1"
5369 resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
@@ -4955,6 +5424,44 @@ expect@^29.5.0:
5424 jest-message-util "^29.5.0"
5425 jest-util "^29.5.0"
5426
5427 +express-rate-limit@^7.5.0:
5428 + version "7.5.0"
5429 + resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-7.5.0.tgz#6a67990a724b4fbbc69119419feef50c51e8b28f"
5430 + integrity sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==
5431 +
5432 +express@^5.0.1:
5433 + version "5.1.0"
5434 + resolved "https://registry.yarnpkg.com/express/-/express-5.1.0.tgz#d31beaf715a0016f0d53f47d3b4d7acf28c75cc9"
5435 + integrity sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==
5436 + dependencies:
5437 + accepts "^2.0.0"
5438 + body-parser "^2.2.0"
5439 + content-disposition "^1.0.0"
5440 + content-type "^1.0.5"
5441 + cookie "^0.7.1"
5442 + cookie-signature "^1.2.1"
5443 + debug "^4.4.0"
5444 + encodeurl "^2.0.0"
5445 + escape-html "^1.0.3"
5446 + etag "^1.8.1"
5447 + finalhandler "^2.1.0"
5448 + fresh "^2.0.0"
5449 + http-errors "^2.0.0"
5450 + merge-descriptors "^2.0.0"
5451 + mime-types "^3.0.0"
5452 + on-finished "^2.4.1"
5453 + once "^1.4.0"
5454 + parseurl "^1.3.3"
5455 + proxy-addr "^2.0.7"
5456 + qs "^6.14.0"
5457 + range-parser "^1.2.1"
5458 + router "^2.2.0"
5459 + send "^1.1.0"
5460 + serve-static "^2.2.0"
5461 + statuses "^2.0.1"
5462 + type-is "^2.0.1"
5463 + vary "^1.1.2"
5464 +
5465 fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
5466 version "3.1.3"
5467 resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -5062,6 +5569,18 @@ fill-range@^7.1.1:
5569 dependencies:
5570 to-regex-range "^5.0.1"
5571
5572 +finalhandler@^2.1.0:
5573 + version "2.1.0"
5574 + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-2.1.0.tgz#72306373aa89d05a8242ed569ed86a1bff7c561f"
5575 + integrity sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==
5576 + dependencies:
5577 + debug "^4.4.0"
5578 + encodeurl "^2.0.0"
5579 + escape-html "^1.0.3"
5580 + on-finished "^2.4.1"
5581 + parseurl "^1.3.3"
5582 + statuses "^2.0.1"
5583 +
5584 find-cache-dir@^2.0.0:
5585 version "2.1.0"
5586 resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
@@ -5191,6 +5710,16 @@ form-data@^4.0.0:
5710 combined-stream "^1.0.8"
5711 mime-types "^2.1.12"
5712
5713 +forwarded@0.2.0:
5714 + version "0.2.0"
5715 + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
5716 + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
5717 +
5718 +fresh@^2.0.0:
5719 + version "2.0.0"
5720 + resolved "https://registry.yarnpkg.com/fresh/-/fresh-2.0.0.tgz#8dd7df6a1b3a1b3a5cf186c05a5dd267622635a4"
5721 + integrity sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==
5722 +
5723 fs-extra@^4.0.2:
5724 version "4.0.3"
5725 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
@@ -5220,6 +5749,11 @@ function-bind@^1.1.1:
5749 resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
5750 integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
5751
5752 +function-bind@^1.1.2:
5753 + version "1.1.2"
5754 + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
5755 + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
5756 +
5757 gensync@^1.0.0-beta.2:
5758 version "1.0.0-beta.2"
5759 resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -5239,11 +5773,35 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1:
5773 has "^1.0.3"
5774 has-symbols "^1.0.3"
5775
5776 +get-intrinsic@^1.2.5, get-intrinsic@^1.3.0:
5777 + version "1.3.0"
5778 + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
5779 + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
5780 + dependencies:
5781 + call-bind-apply-helpers "^1.0.2"
5782 + es-define-property "^1.0.1"
5783 + es-errors "^1.3.0"
5784 + es-object-atoms "^1.1.1"
5785 + function-bind "^1.1.2"
5786 + get-proto "^1.0.1"
5787 + gopd "^1.2.0"
5788 + has-symbols "^1.1.0"
5789 + hasown "^2.0.2"
5790 + math-intrinsics "^1.1.0"
5791 +
5792 get-package-type@^0.1.0:
5793 version "0.1.0"
5794 resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
5795 integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
5796
5797 +get-proto@^1.0.1:
5798 + version "1.0.1"
5799 + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
5800 + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
5801 + dependencies:
5802 + dunder-proto "^1.0.1"
5803 + es-object-atoms "^1.0.0"
5804 +
5805 get-stream@^6.0.0:
5806 version "6.0.1"
5807 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -5370,6 +5928,11 @@ globby@^11.1.0:
5928 merge2 "^1.4.1"
5929 slash "^3.0.0"
5930
5931 +gopd@^1.2.0:
5932 + version "1.2.0"
5933 + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
5934 + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
5935 +
5936 graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4:
5937 version "4.2.11"
5938 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
@@ -5407,6 +5970,11 @@ has-symbols@^1.0.3:
5970 resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
5971 integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
5972
5973 +has-symbols@^1.1.0:
5974 + version "1.1.0"
5975 + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
5976 + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
5977 +
5978 has@^1.0.3:
5979 version "1.0.3"
5980 resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
@@ -5414,6 +5982,13 @@ has@^1.0.3:
5982 dependencies:
5983 function-bind "^1.1.1"
5984
5985 +hasown@^2.0.2:
5986 + version "2.0.2"
5987 + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
5988 + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
5989 + dependencies:
5990 + function-bind "^1.1.2"
5991 +
5992 he@^1.2.0:
5993 version "1.2.0"
5994 resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
@@ -5476,6 +6051,27 @@ html-escaper@^2.0.0:
6051 resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
6052 integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
6053
6054 +htmlparser2@^9.1.0:
6055 + version "9.1.0"
6056 + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-9.1.0.tgz#cdb498d8a75a51f739b61d3f718136c369bc8c23"
6057 + integrity sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==
6058 + dependencies:
6059 + domelementtype "^2.3.0"
6060 + domhandler "^5.0.3"
6061 + domutils "^3.1.0"
6062 + entities "^4.5.0"
6063 +
6064 +http-errors@2.0.0, http-errors@^2.0.0:
6065 + version "2.0.0"
6066 + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
6067 + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
6068 + dependencies:
6069 + depd "2.0.0"
6070 + inherits "2.0.4"
6071 + setprototypeof "1.2.0"
6072 + statuses "2.0.1"
6073 + toidentifier "1.0.1"
6074 +
6075 http-proxy-agent@^5.0.0:
6076 version "5.0.0"
6077 resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -5514,7 +6110,7 @@ human-signals@^2.1.0:
6110 resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
6111 integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
6112
5517 -iconv-lite@0.6.3:
6113 +iconv-lite@0.6.3, iconv-lite@^0.6.3:
6114 version "0.6.3"
6115 resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
6116 integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
@@ -5575,7 +6171,7 @@ inflight@^1.0.4:
6171 once "^1.3.0"
6172 wrappy "1"
6173
5578 -inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
6174 +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
6175 version "2.0.4"
6176 resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
6177 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -5592,6 +6188,11 @@ invariant@^2.2.4:
6188 dependencies:
6189 loose-envify "^1.0.0"
6190
6191 +ipaddr.js@1.9.1:
6192 + version "1.9.1"
6193 + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
6194 + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
6195 +
6196 is-arrayish@^0.2.1:
6197 version "0.2.1"
6198 resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
@@ -5682,6 +6283,11 @@ is-potential-custom-element-name@^1.0.1:
6283 resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
6284 integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
6285
6286 +is-promise@^4.0.0:
6287 + version "4.0.0"
6288 + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3"
6289 + integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==
6290 +
6291 is-stream@^2.0.0:
6292 version "2.0.1"
6293 resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
@@ -7279,6 +7885,21 @@ makeerror@1.0.12:
7885 dependencies:
7886 tmpl "1.0.5"
7887
7888 +math-intrinsics@^1.1.0:
7889 + version "1.1.0"
7890 + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
7891 + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
7892 +
7893 +media-typer@^1.1.0:
7894 + version "1.1.0"
7895 + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-1.1.0.tgz#6ab74b8f2d3320f2064b2a87a38e7931ff3a5561"
7896 + integrity sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==
7897 +
7898 +merge-descriptors@^2.0.0:
7899 + version "2.0.0"
7900 + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808"
7901 + integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==
7902 +
7903 merge-stream@^2.0.0:
7904 version "2.0.0"
7905 resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -7307,6 +7928,11 @@ mime-db@1.52.0:
7928 resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
7929 integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
7930
7931 +mime-db@^1.54.0:
7932 + version "1.54.0"
7933 + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5"
7934 + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
7935 +
7936 mime-types@^2.1.12:
7937 version "2.1.35"
7938 resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
@@ -7314,6 +7940,13 @@ mime-types@^2.1.12:
7940 dependencies:
7941 mime-db "1.52.0"
7942
7943 +mime-types@^3.0.0, mime-types@^3.0.1:
7944 + version "3.0.1"
7945 + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-3.0.1.tgz#b1d94d6997a9b32fd69ebaed0db73de8acb519ce"
7946 + integrity sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==
7947 + dependencies:
7948 + mime-db "^1.54.0"
7949 +
7950 mimic-fn@^2.1.0:
7951 version "2.1.0"
7952 resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -7467,6 +8100,11 @@ natural-compare@^1.4.0:
8100 resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
8101 integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
8102
8103 +negotiator@^1.0.0:
8104 + version "1.0.0"
8105 + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a"
8106 + integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==
8107 +
8108 node-addon-api@^3.2.1:
8109 version "3.2.1"
8110 resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
@@ -7543,6 +8181,13 @@ npm-which@^3.0.1:
8181 npm-path "^2.0.2"
8182 which "^1.2.10"
8183
8184 +nth-check@^2.0.1:
8185 + version "2.1.1"
8186 + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
8187 + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
8188 + dependencies:
8189 + boolbase "^1.0.0"
8190 +
8191 nullthrows@^1.1.1:
8192 version "1.1.1"
8193 resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
@@ -7558,11 +8203,16 @@ nwsapi@^2.2.4:
8203 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
8204 integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
8205
7561 -object-assign@^4.0.1, object-assign@^4.1.1:
8206 +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.1:
8207 version "4.1.1"
8208 resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
8209 integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
8210
8211 +object-inspect@^1.13.3:
8212 + version "1.13.4"
8213 + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
8214 + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
8215 +
8216 object-keys@^1.1.1:
8217 version "1.1.1"
8218 resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
@@ -7578,7 +8228,14 @@ object.assign@^4.1.0:
8228 has-symbols "^1.0.3"
8229 object-keys "^1.1.1"
8230
7581 -once@^1.3.0:
8231 +on-finished@^2.4.1:
8232 + version "2.4.1"
8233 + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
8234 + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
8235 + dependencies:
8236 + ee-first "1.1.1"
8237 +
8238 +once@^1.3.0, once@^1.4.0:
8239 version "1.4.0"
8240 resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
8241 integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
@@ -7725,6 +8382,21 @@ parse-passwd@^1.0.0:
8382 resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
8383 integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==
8384
8385 +parse5-htmlparser2-tree-adapter@^7.0.0:
8386 + version "7.1.0"
8387 + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b"
8388 + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==
8389 + dependencies:
8390 + domhandler "^5.0.3"
8391 + parse5 "^7.0.0"
8392 +
8393 +parse5-parser-stream@^7.1.2:
8394 + version "7.1.2"
8395 + resolved "https://registry.yarnpkg.com/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz#d7c20eadc37968d272e2c02660fff92dd27e60e1"
8396 + integrity sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==
8397 + dependencies:
8398 + parse5 "^7.0.0"
8399 +
8400 parse5@^7.0.0:
8401 version "7.1.1"
8402 resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746"
@@ -7739,6 +8411,11 @@ parse5@^7.1.2:
8411 dependencies:
8412 entities "^4.4.0"
8413
8414 +parseurl@^1.3.3:
8415 + version "1.3.3"
8416 + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
8417 + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
8418 +
8419 path-exists@^3.0.0:
8420 version "3.0.0"
8421 resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -7788,6 +8465,11 @@ path-scurry@^2.0.0:
8465 lru-cache "^11.0.0"
8466 minipass "^7.1.2"
8467
8468 +path-to-regexp@^8.0.0:
8469 + version "8.2.0"
8470 + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-8.2.0.tgz#73990cc29e57a3ff2a0d914095156df5db79e8b4"
8471 + integrity sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==
8472 +
8473 path-type@^4.0.0:
8474 version "4.0.0"
8475 resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
@@ -7828,6 +8510,11 @@ pirates@^4.0.4, pirates@^4.0.5:
8510 resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
8511 integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
8512
8513 +pkce-challenge@^5.0.0:
8514 + version "5.0.0"
8515 + resolved "https://registry.yarnpkg.com/pkce-challenge/-/pkce-challenge-5.0.0.tgz#c3a405cb49e272094a38e890a2b51da0228c4d97"
8516 + integrity sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==
8517 +
8518 pkg-dir@^3.0.0:
8519 version "3.0.0"
8520 resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
@@ -7946,6 +8633,14 @@ protochain@^1.0.5:
8633 resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260"
8634 integrity sha512-4hDwFSX50C4NE6f/6zg8EPr/WLPTkFPUtG0ulWZu6bwzV2hmb50fpdQLr0HiKBAUehapaFpItzWoCLjraLJhUA==
8635
8636 +proxy-addr@^2.0.7:
8637 + version "2.0.7"
8638 + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
8639 + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
8640 + dependencies:
8641 + forwarded "0.2.0"
8642 + ipaddr.js "1.9.1"
8643 +
8644 proxy-from-env@^1.1.0:
8645 version "1.1.0"
8646 resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
@@ -7971,6 +8666,13 @@ pure-rand@^6.0.0:
8666 resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306"
8667 integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==
8668
8669 +qs@^6.14.0:
8670 + version "6.14.0"
8671 + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930"
8672 + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==
8673 + dependencies:
8674 + side-channel "^1.1.0"
8675 +
8676 querystringify@^2.1.1:
8677 version "2.2.0"
8678 resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
@@ -7988,6 +8690,21 @@ randombytes@^2.1.0:
8690 dependencies:
8691 safe-buffer "^5.1.0"
8692
8693 +range-parser@^1.2.1:
8694 + version "1.2.1"
8695 + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
8696 + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
8697 +
8698 +raw-body@^3.0.0:
8699 + version "3.0.0"
8700 + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-3.0.0.tgz#25b3476f07a51600619dae3fe82ddc28a36e5e0f"
8701 + integrity sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==
8702 + dependencies:
8703 + bytes "3.1.2"
8704 + http-errors "2.0.0"
8705 + iconv-lite "0.6.3"
8706 + unpipe "1.0.0"
8707 +
8708 react-dom@0.0.0-experimental-4beb1fd8-20241118:
8709 version "0.0.0-experimental-4beb1fd8-20241118"
8710 resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-0.0.0-experimental-4beb1fd8-20241118.tgz#bf51483d52faea0618abef7d7eab681eea328ac7"
@@ -8239,6 +8956,17 @@ rollup@^4.34.8:
8956 "@rollup/rollup-win32-x64-msvc" "4.34.9"
8957 fsevents "~2.3.2"
8958
8959 +router@^2.2.0:
8960 + version "2.2.0"
8961 + resolved "https://registry.yarnpkg.com/router/-/router-2.2.0.tgz#019be620b711c87641167cc79b99090f00b146ef"
8962 + integrity sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==
8963 + dependencies:
8964 + debug "^4.4.0"
8965 + depd "^2.0.0"
8966 + is-promise "^4.0.0"
8967 + parseurl "^1.3.3"
8968 + path-to-regexp "^8.0.0"
8969 +
8970 rrweb-cssom@^0.6.0:
8971 version "0.6.0"
8972 resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
@@ -8258,7 +8986,7 @@ rxjs@^7.0.0, rxjs@^7.8.1:
8986 dependencies:
8987 tslib "^2.1.0"
8988
8261 -safe-buffer@^5.1.0, safe-buffer@~5.2.0:
8989 +safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
8990 version "5.2.1"
8991 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
8992 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -8324,6 +9052,23 @@ semver@^7.6.0, semver@^7.6.2:
9052 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143"
9053 integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==
9054
9055 +send@^1.1.0, send@^1.2.0:
9056 + version "1.2.0"
9057 + resolved "https://registry.yarnpkg.com/send/-/send-1.2.0.tgz#32a7554fb777b831dfa828370f773a3808d37212"
9058 + integrity sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==
9059 + dependencies:
9060 + debug "^4.3.5"
9061 + encodeurl "^2.0.0"
9062 + escape-html "^1.0.3"
9063 + etag "^1.8.1"
9064 + fresh "^2.0.0"
9065 + http-errors "^2.0.0"
9066 + mime-types "^3.0.1"
9067 + ms "^2.1.3"
9068 + on-finished "^2.4.1"
9069 + range-parser "^1.2.1"
9070 + statuses "^2.0.1"
9071 +
9072 serialize-javascript@^6.0.2:
9073 version "6.0.2"
9074 resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
@@ -8338,6 +9083,16 @@ serializerr@^1.0.3:
9083 dependencies:
9084 protochain "^1.0.5"
9085
9086 +serve-static@^2.2.0:
9087 + version "2.2.0"
9088 + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-2.2.0.tgz#9c02564ee259bdd2251b82d659a2e7e1938d66f9"
9089 + integrity sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==
9090 + dependencies:
9091 + encodeurl "^2.0.0"
9092 + escape-html "^1.0.3"
9093 + parseurl "^1.3.3"
9094 + send "^1.2.0"
9095 +
9096 set-blocking@^2.0.0:
9097 version "2.0.0"
9098 resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -8348,6 +9103,11 @@ setimmediate@^1.0.5:
9103 resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
9104 integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
9105
9106 +setprototypeof@1.2.0:
9107 + version "1.2.0"
9108 + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
9109 + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
9110 +
9111 shallow-clone@^3.0.0:
9112 version "3.0.1"
9113 resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
@@ -8372,6 +9132,46 @@ shell-quote@^1.7.3:
9132 resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680"
9133 integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==
9134
9135 +side-channel-list@^1.0.0:
9136 + version "1.0.0"
9137 + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
9138 + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
9139 + dependencies:
9140 + es-errors "^1.3.0"
9141 + object-inspect "^1.13.3"
9142 +
9143 +side-channel-map@^1.0.1:
9144 + version "1.0.1"
9145 + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
9146 + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
9147 + dependencies:
9148 + call-bound "^1.0.2"
9149 + es-errors "^1.3.0"
9150 + get-intrinsic "^1.2.5"
9151 + object-inspect "^1.13.3"
9152 +
9153 +side-channel-weakmap@^1.0.2:
9154 + version "1.0.2"
9155 + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
9156 + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
9157 + dependencies:
9158 + call-bound "^1.0.2"
9159 + es-errors "^1.3.0"
9160 + get-intrinsic "^1.2.5"
9161 + object-inspect "^1.13.3"
9162 + side-channel-map "^1.0.1"
9163 +
9164 +side-channel@^1.1.0:
9165 + version "1.1.0"
9166 + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
9167 + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
9168 + dependencies:
9169 + es-errors "^1.3.0"
9170 + object-inspect "^1.13.3"
9171 + side-channel-list "^1.0.0"
9172 + side-channel-map "^1.0.1"
9173 + side-channel-weakmap "^1.0.2"
9174 +
9175 signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
9176 version "3.0.7"
9177 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
@@ -8454,6 +9254,11 @@ stack-utils@^2.0.3:
9254 dependencies:
9255 escape-string-regexp "^2.0.0"
9256
9257 +statuses@2.0.1, statuses@^2.0.1:
9258 + version "2.0.1"
9259 + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
9260 + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
9261 +
9262 stdin-discarder@^0.1.0:
9263 version "0.1.0"
9264 resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21"
@@ -8693,6 +9498,11 @@ to-regex-range@^5.0.1:
9498 dependencies:
9499 is-number "^7.0.0"
9500
9501 +toidentifier@1.0.1:
9502 + version "1.0.1"
9503 + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
9504 + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
9505 +
9506 tough-cookie@^4.0.0, tough-cookie@^4.1.2:
9507 version "4.1.4"
9508 resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
@@ -8828,6 +9638,13 @@ tsup@^8.4.0:
9638 tinyglobby "^0.2.11"
9639 tree-kill "^1.2.2"
9640
9641 +turndown@^7.2.0:
9642 + version "7.2.0"
9643 + resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.2.0.tgz#67d614fe8371fb511079a93345abfd156c0ffcf4"
9644 + integrity sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==
9645 + dependencies:
9646 + "@mixmark-io/domino" "^2.2.0"
9647 +
9648 type-check@^0.4.0, type-check@~0.4.0:
9649 version "0.4.0"
9650 resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -8857,6 +9674,15 @@ type-fest@^0.21.3:
9674 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
9675 integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
9676
9677 +type-is@^2.0.0, type-is@^2.0.1:
9678 + version "2.0.1"
9679 + resolved "https://registry.yarnpkg.com/type-is/-/type-is-2.0.1.tgz#64f6cf03f92fce4015c2b224793f6bdd4b068c97"
9680 + integrity sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==
9681 + dependencies:
9682 + content-type "^1.0.5"
9683 + media-typer "^1.1.0"
9684 + mime-types "^3.0.0"
9685 +
9686 typescript-eslint@^8.16.0:
9687 version "8.18.1"
9688 resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.18.1.tgz#197b284b6769678ed77d9868df180eeaf61108eb"
@@ -8876,6 +9702,11 @@ undici-types@~6.19.2:
9702 resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
9703 integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
9704
9705 +undici@^6.19.5:
9706 + version "6.21.2"
9707 + resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.2.tgz#49c5884e8f9039c65a89ee9018ef3c8e2f1f4928"
9708 + integrity sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g==
9709 +
9710 unicode-canonical-property-names-ecmascript@^2.0.0:
9711 version "2.0.0"
9712 resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
@@ -8909,6 +9740,11 @@ universalify@^0.2.0:
9740 resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
9741 integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
9742
9743 +unpipe@1.0.0:
9744 + version "1.0.0"
9745 + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
9746 + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
9747 +
9748 update-browserslist-db@^1.0.11:
9749 version "1.0.11"
9750 resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
@@ -8968,6 +9804,11 @@ v8-to-istanbul@^9.0.1:
9804 "@types/istanbul-lib-coverage" "^2.0.1"
9805 convert-source-map "^1.6.0"
9806
9807 +vary@^1, vary@^1.1.2:
9808 + version "1.1.2"
9809 + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
9810 + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
9811 +
9812 w3c-hr-time@^1.0.2:
9813 version "1.0.2"
9814 resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
@@ -9031,11 +9872,23 @@ whatwg-encoding@^2.0.0:
9872 dependencies:
9873 iconv-lite "0.6.3"
9874
9875 +whatwg-encoding@^3.1.1:
9876 + version "3.1.1"
9877 + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5"
9878 + integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==
9879 + dependencies:
9880 + iconv-lite "0.6.3"
9881 +
9882 whatwg-mimetype@^3.0.0:
9883 version "3.0.0"
9884 resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7"
9885 integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==
9886
9887 +whatwg-mimetype@^4.0.0:
9888 + version "4.0.0"
9889 + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a"
9890 + integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==
9891 +
9892 whatwg-url@^11.0.0:
9893 version "11.0.0"
9894 resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018"
@@ -9299,6 +10152,11 @@ yocto-queue@^0.1.0:
10152 resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
10153 integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
10154
10155 +zod-to-json-schema@^3.24.1:
10156 + version "3.24.5"
10157 + resolved "https://registry.yarnpkg.com/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz#d1095440b147fb7c2093812a53c54df8d5df50a3"
10158 + integrity sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==
10159 +
10160 zod-validation-error@^2.1.0:
10161 version "2.1.0"
10162 resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-2.1.0.tgz#208eac75237dfed47c0018d2fe8fd03501bfc9ac"
@@ -9313,3 +10171,8 @@ zod@^3.22.4:
10171 version "3.22.4"
10172 resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff"
10173 integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==
10174 +
10175 +zod@^3.23.8:
10176 + version "3.24.2"
10177 + resolved "https://registry.yarnpkg.com/zod/-/zod-3.24.2.tgz#8efa74126287c675e92f46871cfc8d15c34372b3"
10178 + integrity sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==