diff --git a/.changeset/warm-candles-explain.md b/.changeset/warm-candles-explain.md new file mode 100644 index 0000000000000000000000000000000000000000..f51df59c40551cdb6d4680d66ee7aa28dc7e329e --- /dev/null +++ b/.changeset/warm-candles-explain.md @@ -0,0 +1,5 @@ +--- +"@llamaindex/core": patch +--- + +chore: add warning on legacy workflow API diff --git a/.changeset/weak-ducks-visit.md b/.changeset/weak-ducks-visit.md new file mode 100644 index 0000000000000000000000000000000000000000..da1374008a2cf50e035e3e654e277cf99a3abc5c --- /dev/null +++ b/.changeset/weak-ducks-visit.md @@ -0,0 +1,5 @@ +--- +"@llamaindex/workflow": patch +--- + +fix: infinite loop issue caused by multiple inputs in edge cases diff --git a/examples/workflow/app-creator.ts b/examples/workflow/app-creator.ts index 6cfc5b95ebd444f8b4924499f45d6e196beb9279..8a6448cb1c061855376ddf645855900dc3eb9e42 100644 --- a/examples/workflow/app-creator.ts +++ b/examples/workflow/app-creator.ts @@ -1,14 +1,19 @@ import { - Context, + HandlerContext, StartEvent, StopEvent, Workflow, WorkflowEvent, -} from "@llamaindex/core/workflow"; +} from "@llamaindex/workflow"; import { OpenAI } from "llamaindex"; const MAX_REVIEWS = 3; +type Context = { + specification: string; + numberReviews: number; +}; + // Using the o1-preview model (see https://platform.openai.com/docs/guides/reasoning?reasoning-prompt-examples=coding-planning) const llm = new OpenAI({ model: "o1-preview", temperature: 1 }); @@ -20,7 +25,9 @@ stores the question/answer pair in the database.`; // Create custom event types export class MessageEvent extends WorkflowEvent<{ msg: string }> {} + export class CodeEvent extends WorkflowEvent<{ code: string }> {} + export class ReviewEvent extends WorkflowEvent<{ review: string; code: string; @@ -34,12 +41,13 @@ const truncate = (str: string) => { }; // the architect is responsible for writing the structure and the initial code based on the specification -const architect = async (context: Context, ev: StartEvent) => { - // get the specification from the start event and save it to context - context.set("specification", ev.data.input); - const spec = context.get("specification"); +const architect = async ( + context: HandlerContext<Context>, + _: StartEvent<string>, +) => { + const spec = context.data.specification; // write a message to send an update to the user - context.writeEventToStream( + context.sendEvent( new MessageEvent({ msg: `Writing app using this specification: ${truncate(spec)}`, }), @@ -50,13 +58,13 @@ const architect = async (context: Context, ev: StartEvent) => { }; // the coder is responsible for updating the code based on the review -const coder = async (context: Context, ev: ReviewEvent) => { +const coder = async (context: HandlerContext<Context>, ev: ReviewEvent) => { // get the specification from the context - const spec = context.get("specification"); + const spec = context.data.specification; // get the latest review and code const { review, code } = ev.data; // write a message to send an update to the user - context.writeEventToStream( + context.sendEvent( new MessageEvent({ msg: `Update code based on review: ${truncate(review)}`, }), @@ -67,32 +75,35 @@ const coder = async (context: Context, ev: ReviewEvent) => { }; // the reviewer is responsible for reviewing the code and providing feedback -const reviewer = async (context: Context, ev: CodeEvent) => { +const reviewer = async (context: HandlerContext<Context>, ev: CodeEvent) => { // get the specification from the context - const spec = context.get("specification"); + const spec = context.data.specification; // get latest code from the event const { code } = ev.data; // update and check the number of reviews - const numberReviews = context.get("numberReviews", 0) + 1; - context.set("numberReviews", numberReviews); - if (numberReviews > MAX_REVIEWS) { + context.data.numberReviews++; + if (context.data.numberReviews > MAX_REVIEWS) { // the we've done this too many times - return the code - context.writeEventToStream( + context.sendEvent( new MessageEvent({ - msg: `Already reviewed ${numberReviews - 1} times, stopping!`, + msg: `Already reviewed ${ + context.data.numberReviews - 1 + } times, stopping!`, }), ); return new StopEvent({ result: code }); } // write a message to send an update to the user - context.writeEventToStream( - new MessageEvent({ msg: `Review #${numberReviews}: ${truncate(code)}` }), + context.sendEvent( + new MessageEvent({ + msg: `Review #${context.data.numberReviews}: ${truncate(code)}`, + }), ); const prompt = `Review this code: <code>${code}</code>. Check if the code quality and whether it correctly implements this specification: <spec>${spec}</spec>. If you're satisfied, just return 'Looks great', nothing else. If not, return a review with a list of changes you'd like to see.`; const review = (await llm.complete({ prompt })).text; if (review.includes("Looks great")) { // the reviewer is satisfied with the code, let's return the review - context.writeEventToStream( + context.sendEvent( new MessageEvent({ msg: `Reviewer says: ${review}`, }), @@ -103,20 +114,44 @@ const reviewer = async (context: Context, ev: CodeEvent) => { return new ReviewEvent({ review, code }); }; -const codeAgent = new Workflow({ validate: true }); -codeAgent.addStep(StartEvent, architect, { outputs: CodeEvent }); -codeAgent.addStep(ReviewEvent, coder, { outputs: CodeEvent }); -codeAgent.addStep(CodeEvent, reviewer, { outputs: ReviewEvent }); +const codeAgent = new Workflow<Context, string, string>(); +codeAgent.addStep( + { + inputs: [StartEvent<string>], + outputs: [CodeEvent], + }, + architect, +); +codeAgent.addStep( + { + inputs: [ReviewEvent], + outputs: [CodeEvent], + }, + coder, +); +codeAgent.addStep( + { + inputs: [CodeEvent], + outputs: [ReviewEvent, StopEvent], + }, + reviewer, +); // Usage async function main() { - const run = codeAgent.run(specification); - for await (const event of codeAgent.streamEvents()) { - const msg = (event as MessageEvent).data.msg; - console.log(`${msg}\n`); + const run = codeAgent.run(specification).with({ + specification, + numberReviews: 0, + }); + for await (const event of run) { + if (event instanceof MessageEvent) { + const msg = (event as MessageEvent).data.msg; + console.log(`${msg}\n`); + } else if (event instanceof StopEvent) { + const result = (event as StopEvent<string>).data; + console.log("Final code:\n", result); + } } - const result = await run; - console.log("Final code:\n", result.data.result); } main().catch(console.error); diff --git a/examples/workflow/collect-events.ts b/examples/workflow/conditional.ts similarity index 50% rename from examples/workflow/collect-events.ts rename to examples/workflow/conditional.ts index 4c68317a4a854e2db663e2471870e5d3f910805b..c8b6cf04013cedb55115dbe9b5d22ec2a31d6d9e 100644 --- a/examples/workflow/collect-events.ts +++ b/examples/workflow/conditional.ts @@ -1,10 +1,10 @@ import { - Context, + HandlerContext, StartEvent, StopEvent, Workflow, WorkflowEvent, -} from "@llamaindex/core/workflow"; +} from "@llamaindex/workflow"; import { OpenAI } from "llamaindex"; // Create LLM instance @@ -12,59 +12,77 @@ const llm = new OpenAI(); // Create custom event types export class JokeEvent extends WorkflowEvent<{ joke: string }> {} + export class CritiqueEvent extends WorkflowEvent<{ critique: string }> {} + export class AnalysisEvent extends WorkflowEvent<{ analysis: string }> {} -const generateJoke = async (_context: Context, ev: StartEvent) => { - const prompt = `Write your best joke about ${ev.data.input}.`; +const generateJoke = async (_: unknown, ev: StartEvent<string>) => { + const prompt = `Write your best joke about ${ev.data}.`; const response = await llm.complete({ prompt }); return new JokeEvent({ joke: response.text }); }; -const critiqueJoke = async (_context: Context, ev: JokeEvent) => { +const critiqueJoke = async (_: unknown, ev: JokeEvent) => { const prompt = `Give a thorough critique of the following joke: ${ev.data.joke}`; const response = await llm.complete({ prompt }); return new CritiqueEvent({ critique: response.text }); }; -const analyzeJoke = async (_context: Context, ev: JokeEvent) => { +const analyzeJoke = async (_: unknown, ev: JokeEvent) => { const prompt = `Give a thorough analysis of the following joke: ${ev.data.joke}`; const response = await llm.complete({ prompt }); return new AnalysisEvent({ analysis: response.text }); }; const reportJoke = async ( - context: Context, - ev: AnalysisEvent | CritiqueEvent, + context: HandlerContext, + ev1: AnalysisEvent, + ev2: CritiqueEvent, ) => { - const events = context.collectEvents(ev, [AnalysisEvent, CritiqueEvent]); - if (!events) { - return; - } - const subPrompts = events.map((event) => { - if (event instanceof AnalysisEvent) { - return `Analysis: ${event.data.analysis}`; - } else if (event instanceof CritiqueEvent) { - return `Critique: ${event.data.critique}`; - } - return ""; - }); + const subPrompts = [ev1.data.analysis, ev2.data.critique]; - const prompt = `Based on the following information about a joke:\n${subPrompts.join("\n")}\nProvide a comprehensive report on the joke's quality and impact.`; + const prompt = `Based on the following information about a joke:\n${subPrompts.join( + "\n", + )}\nProvide a comprehensive report on the joke's quality and impact.`; const response = await llm.complete({ prompt }); - return new StopEvent({ result: response.text }); + return new StopEvent(response.text); }; -const jokeFlow = new Workflow(); -jokeFlow.addStep(StartEvent, generateJoke); -jokeFlow.addStep(JokeEvent, critiqueJoke); -jokeFlow.addStep(JokeEvent, analyzeJoke); -jokeFlow.addStep([AnalysisEvent, CritiqueEvent], reportJoke); +const jokeFlow = new Workflow<unknown, string, string>(); +jokeFlow.addStep( + { + inputs: [StartEvent<string>], + outputs: [JokeEvent], + }, + generateJoke, +); +jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [CritiqueEvent], + }, + critiqueJoke, +); +jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [AnalysisEvent], + }, + analyzeJoke, +); +jokeFlow.addStep( + { + inputs: [AnalysisEvent, CritiqueEvent], + outputs: [StopEvent<string>], + }, + reportJoke, +); // Usage async function main() { const result = await jokeFlow.run("pirates"); - console.log(result.data.result); + console.log(result.data); } main().catch(console.error); diff --git a/examples/workflow/joke.ts b/examples/workflow/joke.ts index ca83f3cae4891fb8bed4b801c9b16d00bac0ae00..310761d77a4b5a33b632ac94342d18eb17872ecf 100644 --- a/examples/workflow/joke.ts +++ b/examples/workflow/joke.ts @@ -1,10 +1,9 @@ import { - Context, StartEvent, StopEvent, Workflow, WorkflowEvent, -} from "@llamaindex/core/workflow"; +} from "@llamaindex/workflow"; import { OpenAI } from "llamaindex"; // Create LLM instance @@ -13,26 +12,38 @@ const llm = new OpenAI(); // Create a custom event type export class JokeEvent extends WorkflowEvent<{ joke: string }> {} -const generateJoke = async (_context: Context, ev: StartEvent) => { - const prompt = `Write your best joke about ${ev.data.input}.`; +const generateJoke = async (_: unknown, ev: StartEvent<string>) => { + const prompt = `Write your best joke about ${ev.data}.`; const response = await llm.complete({ prompt }); return new JokeEvent({ joke: response.text }); }; -const critiqueJoke = async (_context: Context, ev: JokeEvent) => { +const critiqueJoke = async (_: unknown, ev: JokeEvent) => { const prompt = `Give a thorough critique of the following joke: ${ev.data.joke}`; const response = await llm.complete({ prompt }); - return new StopEvent({ result: response.text }); + return new StopEvent(response.text); }; -const jokeFlow = new Workflow({ verbose: true }); -jokeFlow.addStep(StartEvent, generateJoke); -jokeFlow.addStep(JokeEvent, critiqueJoke); +const jokeFlow = new Workflow<unknown, string, string>(); +jokeFlow.addStep( + { + inputs: [StartEvent<string>], + outputs: [JokeEvent], + }, + generateJoke, +); +jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [StopEvent<string>], + }, + critiqueJoke, +); // Usage async function main() { const result = await jokeFlow.run("pirates"); - console.log(result.data.result); + console.log(result.data); } main().catch(console.error); diff --git a/examples/workflow/stream-events.ts b/examples/workflow/stream-events.ts index 28d584c8e2ede13700d6a495ed26eb55c3b5622c..2fc1f107df4316343f14e2932196f3d02917fa4e 100644 --- a/examples/workflow/stream-events.ts +++ b/examples/workflow/stream-events.ts @@ -1,10 +1,10 @@ import { - Context, + HandlerContext, StartEvent, StopEvent, Workflow, WorkflowEvent, -} from "@llamaindex/core/workflow"; +} from "@llamaindex/workflow"; import { OpenAI } from "llamaindex"; // Create LLM instance @@ -12,38 +12,55 @@ const llm = new OpenAI(); // Create custom event types export class JokeEvent extends WorkflowEvent<{ joke: string }> {} + export class MessageEvent extends WorkflowEvent<{ msg: string }> {} -const generateJoke = async (context: Context, ev: StartEvent) => { - context.writeEventToStream( - new MessageEvent({ msg: `Generating a joke about: ${ev.data.input}` }), +const generateJoke = async (context: HandlerContext, ev: StartEvent) => { + context.sendEvent( + new MessageEvent({ msg: `Generating a joke about: ${ev.data}` }), ); - const prompt = `Write your best joke about ${ev.data.input}.`; + const prompt = `Write your best joke about ${ev.data}.`; const response = await llm.complete({ prompt }); return new JokeEvent({ joke: response.text }); }; -const critiqueJoke = async (context: Context, ev: JokeEvent) => { - context.writeEventToStream( +const critiqueJoke = async (context: HandlerContext, ev: JokeEvent) => { + context.sendEvent( new MessageEvent({ msg: `Write a critique of this joke: ${ev.data.joke}` }), ); const prompt = `Give a thorough critique of the following joke: ${ev.data.joke}`; const response = await llm.complete({ prompt }); - return new StopEvent({ result: response.text }); + return new StopEvent(response.text); }; const jokeFlow = new Workflow(); -jokeFlow.addStep(StartEvent, generateJoke); -jokeFlow.addStep(JokeEvent, critiqueJoke); +jokeFlow.addStep( + { + inputs: [StartEvent<string>], + outputs: [JokeEvent], + }, + generateJoke, +); +jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [StopEvent<string>], + }, + critiqueJoke, +); // Usage async function main() { const run = jokeFlow.run("pirates"); - for await (const event of jokeFlow.streamEvents()) { - console.log((event as MessageEvent).data.msg); + for await (const event of run) { + if (event instanceof MessageEvent) { + console.log("Message:"); + console.log((event as MessageEvent).data.msg); + } else if (event instanceof StopEvent) { + console.log("Result:"); + console.log((event as StopEvent<string>).data); + } } - const result = await run; - console.log(result.data.result); } main().catch(console.error); diff --git a/examples/workflow/timeout.ts b/examples/workflow/timeout.ts index c10fd595c9813875b9ce42d661790fbc9794c6af..261fb39808901dd5c33e47cf0f4abe85d3b16b2f 100644 --- a/examples/workflow/timeout.ts +++ b/examples/workflow/timeout.ts @@ -1,19 +1,21 @@ -import { - Context, - StartEvent, - StopEvent, - Workflow, -} from "@llamaindex/core/workflow"; +import { StartEvent, StopEvent, Workflow } from "@llamaindex/workflow"; -const longRunning = async (_context: Context, ev: StartEvent) => { +const longRunning = async (_: unknown, ev: StartEvent<string>) => { await new Promise((resolve) => setTimeout(resolve, 2000)); // Wait for 2 seconds - return new StopEvent({ result: "We waited 2 seconds" }); + return new StopEvent("We waited 2 seconds"); }; async function timeout() { - const workflow = new Workflow({ verbose: true, timeout: 1 }); - workflow.addStep(StartEvent, longRunning); - // This will timeout + const workflow = new Workflow<unknown, string, string>({ + timeout: 1, + }); + workflow.addStep( + { + inputs: [StartEvent<string>], + outputs: [StopEvent<string>], + }, + longRunning, + ); try { await workflow.run("Let's start"); } catch (error) { @@ -23,14 +25,23 @@ async function timeout() { async function notimeout() { // Increase timeout to 3 seconds - no timeout - const workflow = new Workflow({ verbose: true, timeout: 3 }); - workflow.addStep(StartEvent, longRunning); + const workflow = new Workflow<unknown, string, string>({ + timeout: 3, + }); + workflow.addStep( + { + inputs: [StartEvent<string>], + outputs: [StopEvent<string>], + }, + longRunning, + ); const result = await workflow.run("Let's start"); - console.log(result.data.result); + console.log(result.data); } async function main() { await timeout(); + console.log("---"); await notimeout(); } diff --git a/examples/workflow/validation.ts b/examples/workflow/validation.ts index f344af9edc95591306aeb058fcd1f9f37e6d57fa..7be348cfcd79bec1f793991308b4849ebfa60226 100644 --- a/examples/workflow/validation.ts +++ b/examples/workflow/validation.ts @@ -1,10 +1,9 @@ import { - Context, StartEvent, StopEvent, Workflow, WorkflowEvent, -} from "@llamaindex/core/workflow"; +} from "@llamaindex/workflow"; import { OpenAI } from "llamaindex"; // Create LLM instance @@ -13,40 +12,66 @@ const llm = new OpenAI(); // Create a custom event type export class JokeEvent extends WorkflowEvent<{ joke: string }> {} -const generateJoke = async (_context: Context, ev: StartEvent) => { - const prompt = `Write your best joke about ${ev.data.input}.`; +const generateJoke = async (_: unknown, ev: StartEvent<string>) => { + const prompt = `Write your best joke about ${ev.data}.`; const response = await llm.complete({ prompt }); return new JokeEvent({ joke: response.text }); }; -const critiqueJoke = async (_context: Context, ev: JokeEvent) => { +const critiqueJoke = async (_: unknown, ev: JokeEvent) => { const prompt = `Give a thorough critique of the following joke: ${ev.data.joke}`; const response = await llm.complete({ prompt }); - return new StopEvent({ result: response.text }); + return new StopEvent(response.text); }; async function validateFails() { try { - const jokeFlow = new Workflow({ verbose: true, validate: true }); - jokeFlow.addStep(StartEvent, generateJoke, { outputs: StopEvent }); - jokeFlow.addStep(JokeEvent, critiqueJoke, { outputs: StopEvent }); - await jokeFlow.run("pirates"); + const jokeFlow = new Workflow(); + jokeFlow.addStep( + { + inputs: [StartEvent<string>], + outputs: [StopEvent<string>], + }, + // @ts-expect-error outputs should be JokeEvent + generateJoke, + ); + jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [StopEvent], + }, + critiqueJoke, + ); + await jokeFlow.run("pirates").strict(); } catch (e) { console.error("Validation failed:", e); } } async function validate() { - const jokeFlow = new Workflow({ verbose: true, validate: true }); - jokeFlow.addStep(StartEvent, generateJoke, { outputs: JokeEvent }); - jokeFlow.addStep(JokeEvent, critiqueJoke, { outputs: StopEvent }); - const result = await jokeFlow.run("pirates"); - console.log(result.data.result); + const jokeFlow = new Workflow(); + jokeFlow.addStep( + { + inputs: [StartEvent<string>], + outputs: [JokeEvent], + }, + generateJoke, + ); + jokeFlow.addStep( + { + inputs: [JokeEvent], + outputs: [StopEvent<string>], + }, + critiqueJoke, + ); + const result = await jokeFlow.run("pirates").strict(); + console.log(result.data); } // Usage async function main() { await validateFails(); + console.log("---"); await validate(); } diff --git a/packages/core/src/workflow/workflow.ts b/packages/core/src/workflow/workflow.ts index de623a8b0a02cfaa03630778687d740effb59b97..f44cf6897cb23653876c81d7a64d75ed62773d49 100644 --- a/packages/core/src/workflow/workflow.ts +++ b/packages/core/src/workflow/workflow.ts @@ -13,6 +13,8 @@ export type StepFunction<T extends WorkflowEvent = WorkflowEvent> = ( type EventTypeParam = EventTypes | EventTypes[]; +let once = false; + export class Workflow { #steps: Map< // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -29,8 +31,20 @@ export class Workflow { verbose?: boolean; timeout?: number; validate?: boolean; + ignoreDeprecatedWarning?: boolean; } = {}, ) { + if (!once && !params.ignoreDeprecatedWarning) { + console.warn( + "@llamaindex/core/workflow is going to use the new workflow API in the next major version.", + "Please update your imports to @llamaindex/workflow", + ); + console.warn( + "See https://ts.llamaindex.ai/docs/llamaindex/guide/workflow for more information", + ); + once = true; + } + this.#verbose = params.verbose ?? false; this.#timeout = params.timeout ?? null; this.#validate = params.validate ?? false; diff --git a/packages/workflow/src/workflow-context.ts b/packages/workflow/src/workflow-context.ts index 2de8b95a97659e5ae650b444ef4a9e15a98d3090..a977a065fa0e6eae53639e3df2082a1701c1f70b 100644 --- a/packages/workflow/src/workflow-context.ts +++ b/packages/workflow/src/workflow-context.ts @@ -289,6 +289,15 @@ export class WorkflowContext<Start = string, Stop = string, Data = unknown> (event) => event instanceof requestEvent, ); if (acceptableInput) { + // remove the event from the queue, in case of infinite loop + const protocolIdx = this.#queue.findIndex( + (protocol) => + protocol.type === "event" && + protocol.event === acceptableInput, + ); + if (protocolIdx !== -1) { + this.#queue.splice(protocolIdx, 1); + } this.#pendingInputQueue.splice( this.#pendingInputQueue.indexOf(acceptableInput), 1, @@ -329,6 +338,17 @@ export class WorkflowContext<Start = string, Stop = string, Data = unknown> inputs, [event, ...acceptableInputs], ); + // remove the event from the queue, in case of infinite loop + events.forEach((event) => { + const protocolIdx = this.#queue.findIndex( + (protocol) => + protocol.type === "event" && + protocol.event === event, + ); + if (protocolIdx !== -1) { + this.#queue.splice(protocolIdx, 1); + } + }); if (events.length !== inputs.length) { if (this.#verbose) { console.log( diff --git a/packages/workflow/src/workflow.ts b/packages/workflow/src/workflow.ts index f6091381b61c8108df8fd391297aa97a93590ae3..1e2abab2d39bddb23c94d2021c20e909cad6cf00 100644 --- a/packages/workflow/src/workflow.ts +++ b/packages/workflow/src/workflow.ts @@ -79,6 +79,10 @@ export class Workflow<ContextData, Start, Stop> { return this; } + hasStep(stepFn: StepHandler): boolean { + return this.#steps.has(stepFn); + } + removeStep(stepFn: StepHandler): this { this.#steps.delete(stepFn); return this; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 481ddeb75065f92f36a6f5a722bb0a83654b8a6b..3d650bd2c1feb5a75de7927e5f118b709fa8c343 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,7 +58,7 @@ importers: dependencies: '@docusaurus/core': specifier: 3.6.0 - version: 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + version: 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/remark-plugin-npm2yarn': specifier: 3.6.0 version: 3.6.0 @@ -92,16 +92,16 @@ importers: devDependencies: '@docusaurus/module-type-aliases': specifier: 3.6.0 - version: 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@docusaurus/preset-classic': specifier: 3.6.0 - version: 3.6.0(@algolia/client-search@5.12.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3) + version: 3.6.0(@algolia/client-search@5.12.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3) '@docusaurus/theme-classic': specifier: 3.6.0 - version: 3.6.0(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + version: 3.6.0(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/types': specifier: 3.6.0 - version: 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/docusaurus': specifier: 2.0.3 version: 2.0.3 @@ -15149,7 +15149,7 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/babel@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': + '@docusaurus/babel@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.2 @@ -15162,7 +15162,7 @@ snapshots: '@babel/runtime-corejs3': 7.26.0 '@babel/traverse': 7.25.9 '@docusaurus/logger': 3.6.0 - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) babel-plugin-dynamic-import-node: 2.3.3 fs-extra: 11.2.0 tslib: 2.8.1 @@ -15175,14 +15175,14 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.6.0(acorn@8.14.0)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/bundler@3.6.0(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: '@babel/core': 7.26.0 - '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@docusaurus/cssnano-preset': 3.6.0 '@docusaurus/logger': 3.6.0 - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) autoprefixer: 10.4.20(postcss@8.4.47) babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1) clean-css: 5.3.3 @@ -15220,15 +15220,15 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/core@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/bundler': 3.6.0(acorn@8.14.0)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/bundler': 3.6.0(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) boxen: 6.2.1 chalk: 4.1.2 @@ -15301,11 +15301,11 @@ snapshots: chalk: 4.1.2 tslib: 2.8.1 - '@docusaurus/mdx-loader@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/mdx-loader@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.0 - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@mdx-js/mdx': 3.1.0(acorn@8.14.0) '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 @@ -15339,9 +15339,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/module-type-aliases@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -15358,17 +15358,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-blog@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -15402,17 +15402,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -15444,13 +15444,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-content-pages@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -15477,11 +15477,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-debug@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -15508,11 +15508,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-analytics@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 @@ -15537,11 +15537,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-gtag@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@types/gtag.js': 0.0.12 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -15567,11 +15567,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-google-tag-manager@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) tslib: 2.8.1 @@ -15596,14 +15596,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/plugin-sitemap@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -15630,21 +15630,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.0(@algolia/client-search@5.12.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)': - dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-blog': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-debug': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-analytics': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-gtag': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-google-tag-manager': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-sitemap': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-classic': 3.6.0(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.0(@algolia/client-search@5.12.0)(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3) - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/preset-classic@3.6.0(@algolia/client-search@5.12.0)(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)': + dependencies: + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-blog': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-debug': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-analytics': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-gtag': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-google-tag-manager': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-sitemap': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-classic': 3.6.0(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-search-algolia': 3.6.0(@algolia/client-search@5.12.0)(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -15686,21 +15686,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@docusaurus/theme-classic@3.6.0(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/theme-classic@3.6.0(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-blog': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/plugin-content-pages': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-blog': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-pages': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.0 - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) clsx: 2.1.1 copy-text-to-clipboard: 3.2.0 @@ -15737,13 +15737,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': + '@docusaurus/theme-common@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)': dependencies: - '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -15764,16 +15764,16 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.6.0(@algolia/client-search@5.12.0)(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)': + '@docusaurus/theme-search-algolia@3.6.0(@algolia/client-search@5.12.0)(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2)(typescript@5.6.3)': dependencies: '@docsearch/react': 3.7.0(@algolia/client-search@5.12.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.2) - '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/logger': 3.6.0 - '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))(bufferutil@4.0.8)(eslint@9.14.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3))(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.0 - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) algoliasearch: 4.24.0 algoliasearch-helper: 3.22.5(algoliasearch@4.24.0) clsx: 2.1.1 @@ -15814,7 +15814,7 @@ snapshots: fs-extra: 11.2.0 tslib: 2.8.1 - '@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.14.0) '@types/history': 4.7.11 @@ -15835,17 +15835,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-common@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@docusaurus/utils-common@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: tslib: 2.8.1 optionalDependencies: - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@docusaurus/utils-validation@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': + '@docusaurus/utils-validation@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.0 - '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) fs-extra: 11.2.0 joi: 17.13.3 js-yaml: 4.1.0 @@ -15860,10 +15860,10 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': + '@docusaurus/utils@3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.0 - '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@svgr/webpack': 8.1.0(typescript@5.6.3) escape-string-regexp: 4.0.0 file-loader: 6.2.0(webpack@5.96.1) @@ -15883,7 +15883,7 @@ snapshots: utility-types: 3.11.0 webpack: 5.96.1 optionalDependencies: - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docusaurus/types': 3.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) transitivePeerDependencies: - '@swc/core' - esbuild