From 2ad2f46e6a9f43842d59978b942f047747d47de3 Mon Sep 17 00:00:00 2001 From: Kanhaiya Pandey Date: Mon, 16 Feb 2026 16:55:47 +0530 Subject: [PATCH 01/23] feat(common): URL encode/decode context menu actions (#5782) Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com> --- packages/hoppscotch-common/locales/en.json | 4 +- .../services/context-menu/menu/url.menu.ts | 97 +++++++++++++++++-- 2 files changed, 91 insertions(+), 10 deletions(-) diff --git a/packages/hoppscotch-common/locales/en.json b/packages/hoppscotch-common/locales/en.json index 6c2e91f3d3b..ec24f16b42f 100644 --- a/packages/hoppscotch-common/locales/en.json +++ b/packages/hoppscotch-common/locales/en.json @@ -379,7 +379,9 @@ "context_menu": { "add_parameters": "Add to parameters", "open_request_in_new_tab": "Open request in new tab", - "set_environment_variable": "Set as variable" + "set_environment_variable": "Set as variable", + "encode_uri_component": "Encode URL component", + "decode_uri_component": "Decode URL component" }, "cookies": { "modal": { diff --git a/packages/hoppscotch-common/src/services/context-menu/menu/url.menu.ts b/packages/hoppscotch-common/src/services/context-menu/menu/url.menu.ts index dde4d61e032..9d6c5f28d3c 100644 --- a/packages/hoppscotch-common/src/services/context-menu/menu/url.menu.ts +++ b/packages/hoppscotch-common/src/services/context-menu/menu/url.menu.ts @@ -4,6 +4,8 @@ import { getDefaultRESTRequest } from "~/helpers/rest/default" import { getI18n } from "~/modules/i18n" import { RESTTabService } from "~/services/tab/rest" import IconCopyPlus from "~icons/lucide/copy-plus" +import IconLock from "~icons/lucide/lock" +import IconUnlock from "~icons/lucide/unlock" import { ContextMenu, ContextMenuResult, @@ -11,22 +13,43 @@ import { ContextMenuState, } from ".." +/** + * Checks if a string matches a URL via the URL constructor or a regex fallback. + * The URL constructor rejects endpoints like "localhost:3000" (no protocol), + * so the regex covers common patterns without a scheme. + */ +function checkURL(url: string): boolean { + try { + new URL(url) + return true + } catch { + return /^(https?:\/\/)?([\w.-]+)(\.[\w.-]+)+([/?].*)?$/.test(url) + } +} + /** * Used to check if a string is a valid URL * @param url The string to check * @returns Whether the string is a valid URL */ function isValidURL(url: string) { - try { - // Try to create a URL object - // this will fail for endpoints like "localhost:3000", ie without a protocol - new URL(url) - return true - } catch (_error) { - // Fallback to regular expression check - const pattern = /^(https?:\/\/)?([\w.-]+)(\.[\w.-]+)+([/?].*)?$/ - return pattern.test(url) + if (checkURL(url)) return true + + // Iteratively decode percent-encoded strings so that encode/decode + // round-trips work across multiple levels of encoding. + let current = url + for (let i = 0; i < 10 && current.includes("%"); i++) { + try { + const decoded = decodeURIComponent(current) + if (decoded === current) break + if (checkURL(decoded)) return true + current = decoded + } catch { + break + } } + + return false } export class URLMenuService extends Service implements ContextMenu { @@ -61,6 +84,31 @@ export class URLMenuService extends Service implements ContextMenu { }) } + /** + * Replaces the selected text in the current endpoint with encoded/decoded version + * @param selectedText The selected text to replace + * @param replacement The replacement text (encoded or decoded) + */ + private replaceSelectedText(selectedText: string, replacement: string) { + const currentTab = this.restTab.currentActiveTab.value + + if (!currentTab || currentTab.document.type !== "request") { + return + } + + const endpoint = currentTab.document.request.endpoint + + // Find and replace the selected text in the endpoint + const index = endpoint.indexOf(selectedText) + if (index === -1) return + + const newEndpoint = + endpoint.slice(0, index) + + replacement + + endpoint.slice(index + selectedText.length) + currentTab.document.request.endpoint = newEndpoint + } + getMenuFor(text: Readonly): ContextMenuState { const results = ref([]) @@ -77,6 +125,37 @@ export class URLMenuService extends Service implements ContextMenu { this.openNewTab(text) }, }, + { + id: "encode-url", + text: { + type: "text", + text: this.t("context_menu.encode_uri_component"), + }, + icon: markRaw(IconLock), + action: () => { + const encoded = encodeURIComponent(text) + this.replaceSelectedText(text, encoded) + }, + }, + { + id: "decode-url", + text: { + type: "text", + text: this.t("context_menu.decode_uri_component"), + }, + icon: markRaw(IconUnlock), + action: () => { + try { + const decoded = decodeURIComponent(text) + this.replaceSelectedText(text, decoded) + } catch (error) { + console.warn( + "[URLMenuService] Failed to decode URI component:", + error + ) + } + }, + }, ] } From 98aa0368fb3f241a460d682e6698026133e1aa9b Mon Sep 17 00:00:00 2001 From: Eve <162624394+aviu16@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:51:11 -0500 Subject: [PATCH 02/23] fix(common): correctly resolve secret environment variables in basic auth header (#5879) Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com> --- .../src/components/http/Codegen.vue | 7 ++-- .../auth/types/__tests__/basic.spec.ts | 20 +++++++++++ .../src/helpers/auth/types/basic.ts | 34 +++++++++++-------- 3 files changed, 45 insertions(+), 16 deletions(-) diff --git a/packages/hoppscotch-common/src/components/http/Codegen.vue b/packages/hoppscotch-common/src/components/http/Codegen.vue index f340aebdd26..42e31e14abf 100644 --- a/packages/hoppscotch-common/src/components/http/Codegen.vue +++ b/packages/hoppscotch-common/src/components/http/Codegen.vue @@ -131,7 +131,10 @@ import { getEffectiveRESTRequest, resolvesEnvsInBody, } from "~/helpers/utils/EffectiveURL" -import { AggregateEnvironment, getAggregateEnvs } from "~/newstore/environments" +import { + AggregateEnvironment, + getAggregateEnvsWithCurrentValue, +} from "~/newstore/environments" import { useService } from "dioc/vue" import cloneDeep from "lodash-es/cloneDeep" @@ -237,7 +240,7 @@ const getFinalURL = (input: string): string => { * Combines all environment variables into a single environment object */ const buildFinalEnvironment = (): Environment => { - const aggregateEnvs = getAggregateEnvs() + const aggregateEnvs = getAggregateEnvsWithCurrentValue() const inheritedVariables = currentActiveTabDocument.value.inheritedProperties?.variables || [] diff --git a/packages/hoppscotch-common/src/helpers/auth/types/__tests__/basic.spec.ts b/packages/hoppscotch-common/src/helpers/auth/types/__tests__/basic.spec.ts index b3e7ad1d488..0b54786a316 100644 --- a/packages/hoppscotch-common/src/helpers/auth/types/__tests__/basic.spec.ts +++ b/packages/hoppscotch-common/src/helpers/auth/types/__tests__/basic.spec.ts @@ -49,5 +49,25 @@ describe("Basic Auth", () => { expect(headers[0].value).toBe(`Basic ${btoa(":")}`) }) + + test("resolves secret environment variables before base64 encoding even when `showKeyIfSecret` is `true`", async () => { + const auth: HoppRESTAuth & { authType: "basic" } = { + authActive: true, + authType: "basic", + username: "<>", + password: "<>", + } + + // `showKeyIfSecret = true` should NOT affect base64 encoding + // Previously, this would encode "testuser:<>" instead of "testuser:testpass" + // See: https://github.com/hoppscotch/hoppscotch/issues/5863 + const headers = await generateBasicAuthHeaders( + auth, + mockEnvVars, + true // showKeyIfSecret + ) + + expect(headers[0].value).toBe(`Basic ${btoa("testuser:testpass")}`) + }) }) }) diff --git a/packages/hoppscotch-common/src/helpers/auth/types/basic.ts b/packages/hoppscotch-common/src/helpers/auth/types/basic.ts index dce9d00741c..f38a7892e5e 100644 --- a/packages/hoppscotch-common/src/helpers/auth/types/basic.ts +++ b/packages/hoppscotch-common/src/helpers/auth/types/basic.ts @@ -5,29 +5,35 @@ import { HoppRESTHeader, } from "@hoppscotch/data" +/** + * UTF-8 safe base64 encoding. Standard btoa() throws on non-ASCII chars, + * so we encode through TextEncoder first. + */ +function utf8Btoa(str: string): string { + const bytes = new TextEncoder().encode(str) + let binary = "" + for (const byte of bytes) { + binary += String.fromCharCode(byte) + } + return btoa(binary) +} + export async function generateBasicAuthHeaders( auth: HoppRESTAuth & { authType: "basic" }, envVars: Environment["variables"], - showKeyIfSecret = false + // `showKeyIfSecret` is intentionally not forwarded to `parseTemplateString()` here. + // The base64 encoding must always use actual values, otherwise the + // Authorization header is unusable (see #5863). + _showKeyIfSecret = false ): Promise { - const username = parseTemplateString( - auth.username, - envVars, - false, - showKeyIfSecret - ) - const password = parseTemplateString( - auth.password, - envVars, - false, - showKeyIfSecret - ) + const username = parseTemplateString(auth.username, envVars, false, false) + const password = parseTemplateString(auth.password, envVars, false, false) return [ { active: true, key: "Authorization", - value: `Basic ${btoa(`${username}:${password}`)}`, + value: `Basic ${utf8Btoa(`${username}:${password}`)}`, description: "", }, ] From a22389cda0fe27ab104fd65bee973e230f4bd636 Mon Sep 17 00:00:00 2001 From: James George <25279263+jamesgeorge007@users.noreply.github.com> Date: Wed, 18 Feb 2026 10:25:47 +0530 Subject: [PATCH 03/23] fix: auto-recover from corrupted sandbox state (#5874) --- .../src/helpers/RequestRunner.ts | 40 ++- .../combined/script-error-recovery.spec.ts | 206 ++++++++++++++ .../__tests__/hopp-namespace/request.spec.ts | 8 +- .../src/__tests__/utils/cage.spec.ts | 50 ++++ .../src/cage-modules/scripting-modules.ts | 18 +- .../src/node/pre-request/experimental.ts | 171 ++++++++---- .../src/node/test-runner/experimental.ts | 252 +++++++++++------- .../hoppscotch-js-sandbox/src/types/index.ts | 4 +- .../hoppscotch-js-sandbox/src/utils/cage.ts | 63 ++++- .../src/web/pre-request/index.ts | 161 +++++++---- .../src/web/pre-request/worker.ts | 6 +- .../src/web/test-runner/index.ts | 190 ++++++++----- .../src/web/test-runner/worker.ts | 11 +- 13 files changed, 878 insertions(+), 302 deletions(-) create mode 100644 packages/hoppscotch-js-sandbox/src/__tests__/combined/script-error-recovery.spec.ts create mode 100644 packages/hoppscotch-js-sandbox/src/__tests__/utils/cage.spec.ts diff --git a/packages/hoppscotch-common/src/helpers/RequestRunner.ts b/packages/hoppscotch-common/src/helpers/RequestRunner.ts index df9339278bb..52e223c9909 100644 --- a/packages/hoppscotch-common/src/helpers/RequestRunner.ts +++ b/packages/hoppscotch-common/src/helpers/RequestRunner.ts @@ -369,6 +369,17 @@ const delegatePreRequestScriptRunner = ( const { preRequestScript } = request const cleanScript = stripModulePrefix(preRequestScript) + + // Short-circuit empty scripts to avoid unnecessary WASM initialization + if (cleanScript.trim().length === 0) { + return Promise.resolve( + E.right({ + updatedEnvs: envs, + updatedCookies: cookies, + }) + ) + } + if (!EXPERIMENTAL_SCRIPTING_SANDBOX.value) { // Strip `export {};\n` before executing in legacy sandbox to prevent syntax errors @@ -399,6 +410,19 @@ const runPostRequestScript = ( const { testScript } = request const cleanScript = stripModulePrefix(testScript) + + // Short-circuit empty scripts to avoid unnecessary WASM initialization + if (cleanScript.trim().length === 0) { + return Promise.resolve( + E.right({ + tests: { descriptor: "root", expectResults: [], children: [] }, + envs, + consoleEntries: [], + updatedCookies: cookies, + } satisfies SandboxTestResult) + ) + } + if (!EXPERIMENTAL_SCRIPTING_SANDBOX.value) { // Strip `export {};\n` before executing in legacy sandbox to prevent syntax errors @@ -481,7 +505,7 @@ export function runRESTRequest$( if (cancelCalled) return E.left("cancellation" as const) if (E.isLeft(preRequestScriptResult)) { - console.error(preRequestScriptResult.left) + console.error("[Pre-Request Script Error]", preRequestScriptResult.left) return E.left("script_fail" as const) } @@ -613,6 +637,11 @@ export function runRESTRequest$( cookieJarService.cookieJar.value = newCookieMap } } else { + console.error( + "[Post-Request Script Error]", + postRequestScriptResult.left + ) + tab.value.document.testResults = { description: "", expectResults: [], @@ -798,7 +827,7 @@ export async function runTestRunnerRequest( cookieJarEntries ).then(async (preRequestScriptResult) => { if (E.isLeft(preRequestScriptResult)) { - console.error(preRequestScriptResult.left) + console.error("[Pre-Request Script Error]", preRequestScriptResult.left) return E.left("script_fail" as const) } @@ -904,6 +933,13 @@ export async function runTestRunnerRequest( updatedRequest: finalRequest, }) } + + // Post-request script failed + console.error( + "[Post-Request Script Error]", + postRequestScriptResult.left + ) + const sandboxTestResult = { description: "", expectResults: [], diff --git a/packages/hoppscotch-js-sandbox/src/__tests__/combined/script-error-recovery.spec.ts b/packages/hoppscotch-js-sandbox/src/__tests__/combined/script-error-recovery.spec.ts new file mode 100644 index 00000000000..404aa4581db --- /dev/null +++ b/packages/hoppscotch-js-sandbox/src/__tests__/combined/script-error-recovery.spec.ts @@ -0,0 +1,206 @@ +import { afterEach, describe, expect, test } from "vitest" +import { FaradayCage } from "faraday-cage" +import * as E from "fp-ts/Either" +import { runTest, fakeResponse, defaultRequest } from "~/utils/test-helpers" +import { runTestScript } from "~/web" +import { _setCagePromiseForTesting } from "~/utils/cage" + +/** + * Verifies that the test runner properly recovers from script errors without + * stale state persisting across subsequent executions. + */ +describe("script error recovery", () => { + test("runtime error followed by valid script should not show stale error", async () => { + const errorScript = ` +a(); // ReferenceError: a is not defined +hopp.test("Should not run", () => { + hopp.expect(hopp.response.statusCode).toBe(200); +}); +` + + const errorResult = await runTest(errorScript, { + global: [], + selected: [], + })() + + expect(errorResult).toBeLeft() + + const validScript = ` +// a(); - commented out +hopp.test("Status code is 200", () => { + hopp.expect(hopp.response.statusCode).toBe(200); +}); +` + + const validResult = await runTest(validScript, { + global: [], + selected: [], + })() + + expect(validResult).toEqualRight([ + expect.objectContaining({ + descriptor: "root", + children: [ + expect.objectContaining({ + descriptor: "Status code is 200", + expectResults: [ + expect.objectContaining({ + status: "pass", + message: expect.stringContaining("Expected '200' to be '200'"), + }), + ], + }), + ], + }), + ]) + }) + + test("multiple consecutive runtime errors should each be fresh", async () => { + const error1 = await runTest(`a();`, { global: [], selected: [] })() + expect(error1).toBeLeft() + + const error2 = await runTest(`b();`, { global: [], selected: [] })() + expect(error2).toBeLeft() + + const valid = await runTest( + `hopp.test("Works", () => { hopp.expect(true).toBe(true); });`, + { global: [], selected: [] } + )() + + expect(valid).toEqualRight([ + expect.objectContaining({ + descriptor: "root", + children: [ + expect.objectContaining({ + descriptor: "Works", + expectResults: [ + expect.objectContaining({ + status: "pass", + message: expect.stringContaining( + "Expected 'true' to be 'true'" + ), + }), + ], + }), + ], + }), + ]) + }) + + test("syntax error followed by valid script should work", async () => { + const syntaxError = await runTest(`const x = ;`, { + global: [], + selected: [], + })() + expect(syntaxError).toBeLeft() + + const valid = await runTest( + `hopp.test("Works", () => { hopp.expect(true).toBe(true); });`, + { global: [], selected: [] } + )() + + expect(valid).toEqualRight([ + expect.objectContaining({ + descriptor: "root", + children: [ + expect.objectContaining({ + descriptor: "Works", + expectResults: [ + expect.objectContaining({ + status: "pass", + message: expect.stringContaining( + "Expected 'true' to be 'true'" + ), + }), + ], + }), + ], + }), + ]) + }) +}) + +/** + * Exercises the production singleton path where a corrupted cage persists + * across calls. The retry-on-bootstrap-error logic should transparently + * recover so the user never sees the stale failure. + */ +describe("singleton cage retry on bootstrap error", () => { + afterEach(() => { + _setCagePromiseForTesting(null) + }) + + test("bootstrap error triggers retry on fresh cage", async () => { + const corruptedCage = await FaradayCage.create() + const originalRunCode = corruptedCage.runCode.bind(corruptedCage) + + let callCount = 0 + corruptedCage.runCode = ((...args: Parameters) => { + callCount++ + if (callCount === 1) { + // Simulate an infrastructure error on the first call + return Promise.resolve({ + type: "error" as const, + err: new Error("cannot convert to object"), + }) + } + return originalRunCode(...args) + }) as typeof originalRunCode + + _setCagePromiseForTesting(Promise.resolve(corruptedCage)) + + const result = await runTestScript( + `hopp.test("Should work after retry", () => { hopp.expect(true).toBe(true); });`, + { + envs: { global: [], selected: [] }, + request: defaultRequest, + response: fakeResponse, + cookies: null, + experimentalScriptingSandbox: true, + } + ) + + // The first call failed with an infra error, retry succeeded on a fresh cage + expect(callCount).toBe(1) + expect(E.isRight(result)).toBe(true) + + if (E.isRight(result)) { + expect(result.right.tests).toEqual( + expect.objectContaining({ + descriptor: "root", + children: [ + expect.objectContaining({ + descriptor: "Should work after retry", + expectResults: [expect.objectContaining({ status: "pass" })], + }), + ], + }) + ) + } + }) + + test("user script errors do not trigger retry", async () => { + const cage = await FaradayCage.create() + const originalRunCode = cage.runCode.bind(cage) + + let callCount = 0 + cage.runCode = ((...args: Parameters) => { + callCount++ + return originalRunCode(...args) + }) as typeof originalRunCode + + _setCagePromiseForTesting(Promise.resolve(cage)) + + const result = await runTestScript(`a();`, { + envs: { global: [], selected: [] }, + request: defaultRequest, + response: fakeResponse, + cookies: null, + experimentalScriptingSandbox: true, + }) + + // User script error should NOT trigger retry — only one call to runCode + expect(E.isLeft(result)).toBe(true) + expect(callCount).toBe(1) + }) +}) diff --git a/packages/hoppscotch-js-sandbox/src/__tests__/hopp-namespace/request.spec.ts b/packages/hoppscotch-js-sandbox/src/__tests__/hopp-namespace/request.spec.ts index 72cfd579b83..0f8005312bc 100644 --- a/packages/hoppscotch-js-sandbox/src/__tests__/hopp-namespace/request.spec.ts +++ b/packages/hoppscotch-js-sandbox/src/__tests__/hopp-namespace/request.spec.ts @@ -105,7 +105,7 @@ describe("hopp.request", () => { }) ).resolves.toEqualLeft( expect.stringContaining( - `Script execution failed: hopp.request.${property} is read-only` + `Script execution failed: TypeError: hopp.request.${property} is read-only` ) ) ) @@ -124,7 +124,7 @@ describe("hopp.request", () => { }) ).resolves.toEqualLeft( expect.stringContaining( - `Script execution failed: hopp.request.${property} is read-only` + `Script execution failed: TypeError: hopp.request.${property} is read-only` ) ) ) @@ -531,7 +531,9 @@ describe("hopp.request", () => { } ) ).resolves.toEqualLeft( - expect.stringContaining(`Script execution failed: not a function`) + expect.stringContaining( + `Script execution failed: TypeError: not a function` + ) ) }) diff --git a/packages/hoppscotch-js-sandbox/src/__tests__/utils/cage.spec.ts b/packages/hoppscotch-js-sandbox/src/__tests__/utils/cage.spec.ts new file mode 100644 index 00000000000..6657a86b994 --- /dev/null +++ b/packages/hoppscotch-js-sandbox/src/__tests__/utils/cage.spec.ts @@ -0,0 +1,50 @@ +import { describe, expect, test } from "vitest" +import { isInfraError } from "~/utils/cage" + +describe("isInfraError", () => { + test("identifies Error instances as infrastructure errors", () => { + expect(isInfraError(new Error("test error"))).toBe(true) + }) + + test("identifies Error subclasses as infrastructure errors", () => { + class QuickJSUnwrapError extends Error { + constructor(message: string) { + super(message) + this.name = "QuickJSUnwrapError" + } + } + + expect( + isInfraError(new QuickJSUnwrapError("cannot convert to object")) + ).toBe(true) + }) + + test("identifies WASM initialization errors", () => { + expect(isInfraError(new Error("wasm init failed"))).toBe(true) + }) + + test("does not classify plain objects from QuickJS dump() as infrastructure", () => { + // QuickJS dump() produces plain objects for user script errors — NOT Error instances + expect( + isInfraError({ + name: "ReferenceError", + message: "a is not defined", + stack: " at (eval.js:1)\n", + }) + ).toBe(false) + + expect( + isInfraError({ + name: "TypeError", + message: "cannot convert to object", + stack: " at keys (native)\n at (eval.js:1)\n", + }) + ).toBe(false) + }) + + test("handles non-object and null errors gracefully", () => { + expect(isInfraError("string error")).toBe(false) + expect(isInfraError(null)).toBe(false) + expect(isInfraError(undefined)).toBe(false) + }) +}) diff --git a/packages/hoppscotch-js-sandbox/src/cage-modules/scripting-modules.ts b/packages/hoppscotch-js-sandbox/src/cage-modules/scripting-modules.ts index caf4a7baac9..fe818528c16 100644 --- a/packages/hoppscotch-js-sandbox/src/cage-modules/scripting-modules.ts +++ b/packages/hoppscotch-js-sandbox/src/cage-modules/scripting-modules.ts @@ -386,7 +386,7 @@ const createScriptingModule = ( type: ModuleType, bootstrapCode: string, config: ModuleConfig, - captureHook?: { capture?: () => void } + captureHook?: { capture?: () => void; bootstrapError?: unknown } ) => { return defineCageModule((ctx) => { // Track test promises for keepAlive (only for post-request scripts) @@ -479,13 +479,15 @@ const createScriptingModule = ( sandboxInputsObj ) - // Extract the test execution chain promise from the bootstrap function's return value + // Track bootstrap state for error detection let testExecutionChainPromise: any = null if (bootstrapResult.error) { - console.error( - "[SCRIPTING] Bootstrap function error:", - ctx.vm.dump(bootstrapResult.error) - ) + const bootstrapError = ctx.vm.dump(bootstrapResult.error) + + if (captureHook) { + captureHook.bootstrapError = bootstrapError + } + bootstrapResult.error.dispose() } else if (bootstrapResult.value) { testExecutionChainPromise = bootstrapResult.value @@ -539,11 +541,11 @@ const createScriptingModule = ( export const preRequestModule = ( config: PreRequestModuleConfig, - captureHook?: { capture?: () => void } + captureHook?: { capture?: () => void; bootstrapError?: unknown } ) => createScriptingModule("pre", preRequestBootstrapCode, config, captureHook) export const postRequestModule = ( config: PostRequestModuleConfig, - captureHook?: { capture?: () => void } + captureHook?: { capture?: () => void; bootstrapError?: unknown } ) => createScriptingModule("post", postRequestBootstrapCode, config, captureHook) diff --git a/packages/hoppscotch-js-sandbox/src/node/pre-request/experimental.ts b/packages/hoppscotch-js-sandbox/src/node/pre-request/experimental.ts index 082db152a36..6068a2ab468 100644 --- a/packages/hoppscotch-js-sandbox/src/node/pre-request/experimental.ts +++ b/packages/hoppscotch-js-sandbox/src/node/pre-request/experimental.ts @@ -1,11 +1,87 @@ import { Cookie, HoppRESTRequest } from "@hoppscotch/data" -import { pipe } from "fp-ts/function" +import * as E from "fp-ts/Either" import * as TE from "fp-ts/lib/TaskEither" import { cloneDeep } from "lodash" import { defaultModules, preRequestModule } from "~/cage-modules" import { HoppFetchHook, SandboxPreRequestResult, TestResult } from "~/types" -import { acquireCage } from "~/utils/cage" +import { acquireCage, resetCage, isInfraError } from "~/utils/cage" + +/** + * Runs a pre-request script on the given cage instance. + * Returns the result or "retry" if a bootstrap error triggered a cage reset. + */ +const executePreRequestOnCage = async ( + cage: Awaited>, + preRequestScript: string, + envs: TestResult["envs"], + request: HoppRESTRequest, + cookies: Cookie[] | null, + hoppFetchHook?: HoppFetchHook +): Promise | "retry"> => { + let finalEnvs = envs + let finalRequest = request + let finalCookies = cookies + + const captureHook: { capture?: () => void; bootstrapError?: unknown } = {} + + const result = await cage.runCode(preRequestScript, [ + ...defaultModules({ + hoppFetchHook, + }), + + preRequestModule( + { + envs: cloneDeep(envs), + request: cloneDeep(request), + cookies: cookies ? cloneDeep(cookies) : null, + handleSandboxResults: ({ envs, request, cookies }) => { + finalEnvs = envs + finalRequest = request + finalCookies = cookies + }, + }, + captureHook + ), + ]) + + if (result.type === "error") { + const bootstrapFailed = captureHook.bootstrapError !== undefined + const errorToAnalyze = bootstrapFailed + ? captureHook.bootstrapError + : result.err + + if (bootstrapFailed || isInfraError(errorToAnalyze)) { + resetCage() + return "retry" + } + + if ( + result.err !== null && + typeof result.err === "object" && + "message" in result.err + ) { + const name = + "name" in result.err && typeof result.err.name === "string" + ? result.err.name + : "" + const prefix = name ? `${name}: ` : "" + return E.left(`Script execution failed: ${prefix}${result.err.message}`) + } + + return E.left(`Script execution failed: ${String(result.err)}`) + } + + if (captureHook.capture) { + captureHook.capture() + } + + return E.right({ + updatedEnvs: finalEnvs, + updatedRequest: finalRequest, + updatedCookies: finalCookies, + }) +} export const runPreRequestScriptWithFaradayCage = ( preRequestScript: string, @@ -14,64 +90,47 @@ export const runPreRequestScriptWithFaradayCage = ( cookies: Cookie[] | null, hoppFetchHook?: HoppFetchHook ): TE.TaskEither => { - return pipe( - TE.tryCatch( - async (): Promise => { - let finalEnvs = envs - let finalRequest = request - let finalCookies = cookies - + return () => + (async () => { + try { const cage = await acquireCage() - try { - const captureHook: { capture?: () => void } = {} - - const result = await cage.runCode(preRequestScript, [ - ...defaultModules({ - hoppFetchHook, - }), - - preRequestModule( - { - envs: cloneDeep(envs), - request: cloneDeep(request), - cookies: cookies ? cloneDeep(cookies) : null, - handleSandboxResults: ({ envs, request, cookies }) => { - finalEnvs = envs - finalRequest = request - finalCookies = cookies - }, - }, - captureHook - ), - ]) - - if (captureHook.capture) { - captureHook.capture() - } - - if (result.type === "error") { - throw result.err - } - - return { - updatedEnvs: finalEnvs, - updatedRequest: finalRequest, - updatedCookies: finalCookies, - } - } finally { - // Don't dispose cage here - returned objects may still be accessed. - // Rely on garbage collection for cleanup. + const firstAttempt = await executePreRequestOnCage( + cage, + preRequestScript, + envs, + request, + cookies, + hoppFetchHook + ) + + if (firstAttempt !== "retry") { + return firstAttempt } - }, - (error) => { - if (error !== null && typeof error === "object" && "message" in error) { - const reason = `${"name" in error ? error.name : ""}: ${error.message}` - return `Script execution failed: ${reason}` + + // Bootstrap error detected and cage was reset — retry once on a fresh cage + const freshCage = await acquireCage() + const retryResult = await executePreRequestOnCage( + freshCage, + preRequestScript, + envs, + request, + cookies, + hoppFetchHook + ) + + if (retryResult === "retry") { + return E.left( + "Script execution failed: sandbox initialization error (persistent)" + ) } - return `Script execution failed: ${String(error)}` + return retryResult + } catch (error) { + const name = + error instanceof Error && error.name ? `${error.name}: ` : "" + const message = error instanceof Error ? error.message : String(error) + return E.left(`Script execution failed: ${name}${message}`) } - ) - ) + })() } diff --git a/packages/hoppscotch-js-sandbox/src/node/test-runner/experimental.ts b/packages/hoppscotch-js-sandbox/src/node/test-runner/experimental.ts index bdcda990486..d06bf920f3a 100644 --- a/packages/hoppscotch-js-sandbox/src/node/test-runner/experimental.ts +++ b/packages/hoppscotch-js-sandbox/src/node/test-runner/experimental.ts @@ -1,6 +1,6 @@ import { HoppRESTRequest } from "@hoppscotch/data" +import * as E from "fp-ts/Either" import * as TE from "fp-ts/TaskEither" -import { pipe } from "fp-ts/function" import { cloneDeep } from "lodash" import { defaultModules, postRequestModule } from "~/cage-modules" @@ -10,120 +10,166 @@ import { TestResponse, TestResult, } from "~/types" -import { acquireCage } from "~/utils/cage" +import { acquireCage, resetCage, isInfraError } from "~/utils/cage" -export const runPostRequestScriptWithFaradayCage = ( +/** + * Runs a post-request/test script on the given cage instance. + * Returns the result or "retry" if a bootstrap error triggered a cage reset. + */ +const executeTestOnCage = async ( + cage: Awaited>, testScript: string, envs: TestResult["envs"], request: HoppRESTRequest, response: TestResponse, hoppFetchHook?: HoppFetchHook -): TE.TaskEither => { - return pipe( - TE.tryCatch( - async (): Promise => { - const testRunStack: TestDescriptor[] = [ - { descriptor: "root", expectResults: [], children: [] }, - ] +): Promise | "retry"> => { + const testRunStack: TestDescriptor[] = [ + { descriptor: "root", expectResults: [], children: [] }, + ] + + let finalEnvs = envs + let finalTestResults = testRunStack + const testPromises: Promise[] = [] + + const captureHook: { capture?: () => void; bootstrapError?: unknown } = {} + + const result = await cage.runCode(testScript, [ + ...defaultModules({ + hoppFetchHook, + }), + postRequestModule( + { + envs: cloneDeep(envs), + testRunStack: cloneDeep(testRunStack), + request: cloneDeep(request), + response: cloneDeep(response), + // TODO: Post type update, accommodate for cookies although platform support is limited + cookies: null, + handleSandboxResults: ({ envs, testRunStack }) => { + finalEnvs = envs + finalTestResults = testRunStack + }, + onTestPromise: (promise) => { + testPromises.push(promise) + }, + }, + captureHook + ), + ]) + + if (result.type === "error") { + const bootstrapFailed = captureHook.bootstrapError !== undefined + const errorToAnalyze = bootstrapFailed + ? captureHook.bootstrapError + : result.err + + if (bootstrapFailed || isInfraError(errorToAnalyze)) { + resetCage() + return "retry" + } + + if ( + result.err !== null && + typeof result.err === "object" && + "message" in result.err + ) { + const name = + "name" in result.err && typeof result.err.name === "string" + ? result.err.name + : "" + const prefix = name ? `${name}: ` : "" + return E.left(`Script execution failed: ${prefix}${result.err.message}`) + } + + return E.left(`Script execution failed: ${String(result.err)}`) + } + + // Execute tests sequentially to support dependent tests that share variables. + if (testPromises.length > 0) { + for (let i = 0; i < testPromises.length; i++) { + await testPromises[i] + } + } + + if (captureHook.capture) { + captureHook.capture() + } + + // Check for uncaught runtime errors (ReferenceError, TypeError, etc.) in test callbacks. + // These should fail the entire test run, NOT be reported as testcases. + const runtimeErrors = finalTestResults + .flatMap((t) => t.children) + .flatMap((child) => child.expectResults || []) + .filter( + (r) => + r.status === "error" && + /^(ReferenceError|TypeError|SyntaxError|RangeError|URIError|EvalError|AggregateError|InternalError|Error):/.test( + r.message + ) + ) + + if (runtimeErrors.length > 0) { + return E.left(`Script execution failed: ${runtimeErrors[0].message}`) + } - let finalEnvs = envs - let finalTestResults = testRunStack - const testPromises: Promise[] = [] + const safeTestResults = cloneDeep(finalTestResults) + const safeEnvs = cloneDeep(finalEnvs) + return E.right({ + tests: safeTestResults, + envs: safeEnvs, + }) +} + +export const runPostRequestScriptWithFaradayCage = ( + testScript: string, + envs: TestResult["envs"], + request: HoppRESTRequest, + response: TestResponse, + hoppFetchHook?: HoppFetchHook +): TE.TaskEither => { + return () => + (async () => { + try { const cage = await acquireCage() - // Wrap entire execution in try-catch to handle QuickJS GC errors that can occur at any point - try { - const captureHook: { capture?: () => void } = {} - - const result = await cage.runCode(testScript, [ - ...defaultModules({ - hoppFetchHook, - }), - postRequestModule( - { - envs: cloneDeep(envs), - testRunStack: cloneDeep(testRunStack), - request: cloneDeep(request), - response: cloneDeep(response), - // TODO: Post type update, accommodate for cookies although platform support is limited - cookies: null, - handleSandboxResults: ({ envs, testRunStack }) => { - finalEnvs = envs - finalTestResults = testRunStack - }, - onTestPromise: (promise) => { - testPromises.push(promise) - }, - }, - captureHook - ), - ]) - - // Check for script execution errors first - if (result.type === "error") { - // Just throw the error - it will be wrapped by the TaskEither error handler - throw result.err - } - - // Execute tests sequentially to support dependent tests that share variables. - // Concurrent execution would cause race conditions when tests rely on values - // from earlier tests (e.g., authToken set in one test, used in another). - if (testPromises.length > 0) { - // Execute each test promise one at a time, waiting for completion - for (let i = 0; i < testPromises.length; i++) { - await testPromises[i] - } - } - - // Capture results AFTER all async tests complete - // This prevents showing intermediate/failed state - if (captureHook.capture) { - captureHook.capture() - } - - // Check for uncaught runtime errors (ReferenceError, TypeError, etc.) in test callbacks - // These should fail the entire test run, NOT be reported as testcases - // Validation errors (invalid assertion arguments) don't have "Error:" prefix - they're descriptive - // Examples: "Expected toHaveLength to be called for an array or string" - const runtimeErrors = finalTestResults - .flatMap((t) => t.children) - .flatMap((child) => child.expectResults || []) - .filter( - (r) => - r.status === "error" && - /^(ReferenceError|TypeError|SyntaxError|RangeError|URIError|EvalError|AggregateError|InternalError|Error):/.test( - r.message - ) - ) - - if (runtimeErrors.length > 0) { - // Throw the runtime error directly (message already contains error type) - throw runtimeErrors[0].message - } - - // Deep clone results to break connection to QuickJS runtime objects, - // preventing GC errors when runtime is freed. - const safeTestResults = cloneDeep(finalTestResults) - const safeEnvs = cloneDeep(finalEnvs) - - return { - tests: safeTestResults, - envs: safeEnvs, - } - } finally { - // Don't dispose cage here - returned objects may still be accessed. - // Rely on garbage collection for cleanup. + const firstAttempt = await executeTestOnCage( + cage, + testScript, + envs, + request, + response, + hoppFetchHook + ) + + if (firstAttempt !== "retry") { + return firstAttempt } - }, - (error) => { - if (error !== null && typeof error === "object" && "message" in error) { - const reason = `${"name" in error ? error.name : ""}: ${error.message}` - return `Script execution failed: ${reason}` + + // Bootstrap error detected and cage was reset — retry once on a fresh cage + const freshCage = await acquireCage() + const retryResult = await executeTestOnCage( + freshCage, + testScript, + envs, + request, + response, + hoppFetchHook + ) + + if (retryResult === "retry") { + return E.left( + "Script execution failed: sandbox initialization error (persistent)" + ) } - return `Script execution failed: ${String(error)}` + return retryResult + } catch (error) { + const name = + error instanceof Error && error.name ? `${error.name}: ` : "" + const message = error instanceof Error ? error.message : String(error) + return E.left(`Script execution failed: ${name}${message}`) } - ) - ) + })() } diff --git a/packages/hoppscotch-js-sandbox/src/types/index.ts b/packages/hoppscotch-js-sandbox/src/types/index.ts index b4757372cab..c0e927d7c38 100644 --- a/packages/hoppscotch-js-sandbox/src/types/index.ts +++ b/packages/hoppscotch-js-sandbox/src/types/index.ts @@ -162,7 +162,9 @@ export type TestResult = { export type GlobalEnvItem = TestResult["envs"]["global"][number] export type SelectedEnvItem = TestResult["envs"]["selected"][number] -export type SandboxTestResult = TestResult & { tests: TestDescriptor } & { +export type SandboxTestResult = { + tests: TestDescriptor + envs: TestResult["envs"] consoleEntries?: ConsoleEntry[] updatedCookies: Cookie[] | null } diff --git a/packages/hoppscotch-js-sandbox/src/utils/cage.ts b/packages/hoppscotch-js-sandbox/src/utils/cage.ts index 04605964f13..049a3bf5663 100644 --- a/packages/hoppscotch-js-sandbox/src/utils/cage.ts +++ b/packages/hoppscotch-js-sandbox/src/utils/cage.ts @@ -1,26 +1,69 @@ import { FaradayCage } from "faraday-cage" -// Cached cage instance to avoid repeated WASM module allocations. -let cachedCage: FaradayCage | null = null +let cagePromise: Promise | null = null -// Detect if running in a test environment const isTestEnvironment = typeof process !== "undefined" && process.env.VITEST === "true" /** - * Returns a FaradayCage instance, creating and caching it on first access. - * In test environments, always creates a fresh cage to avoid QuickJS GC corruption. + * Determines if an error indicates an infrastructure failure (not a user script error). + * + * FaradayCage/QuickJS errors arrive in two shapes: + * + * 1. **User script errors** — `cage.runCode()` returns `{ type: "error" }` where + * `result.err` is a plain object from QuickJS `dump()` (NOT `instanceof Error`). + * + * 2. **Infrastructure errors** — Thrown by host-side module setup (e.g. + * `QuickJSUnwrapError`, marshal failures, WASM init). These are real + * `Error` instances. + * + * `instanceof Error` reliably discriminates between the two. + */ +export const isInfraError = (err: unknown): boolean => err instanceof Error + +export const resetCage = (): void => { + cagePromise = null +} + +/** + * Returns a cached FaradayCage singleton (production) or a fresh instance (tests). + * + * In test environments, a fresh cage is created by default. Tests that need to + * exercise the singleton/retry path can override this via `_setCagePromiseForTesting()`. */ export const acquireCage = async (): Promise => { - // In test environments, create a fresh cage to avoid GC corruption if (isTestEnvironment) { + if (cagePromise) { + return cagePromise.catch((err) => { + cagePromise = null + throw err + }) + } + return FaradayCage.create() } - // In production, cache the cage for performance - if (!cachedCage) { - cachedCage = await FaradayCage.create() + if (!cagePromise) { + cagePromise = FaradayCage.create().catch((err) => { + cagePromise = null + throw err + }) } - return cachedCage + return cagePromise +} + +/** + * Injects a cage promise into the singleton slot. Test-only — allows tests to + * exercise the singleton/retry path that is normally skipped in test environments. + */ +export const _setCagePromiseForTesting = ( + promise: Promise | null +): void => { + if (!isTestEnvironment) { + throw new Error( + "_setCagePromiseForTesting is test-only and cannot be used in non-test environments" + ) + } + cagePromise = promise } diff --git a/packages/hoppscotch-js-sandbox/src/web/pre-request/index.ts b/packages/hoppscotch-js-sandbox/src/web/pre-request/index.ts index 903e505df2f..c80815b3c53 100644 --- a/packages/hoppscotch-js-sandbox/src/web/pre-request/index.ts +++ b/packages/hoppscotch-js-sandbox/src/web/pre-request/index.ts @@ -9,7 +9,7 @@ import { } from "~/types" import { defaultModules, preRequestModule } from "~/cage-modules" -import { acquireCage } from "~/utils/cage" +import { acquireCage, resetCage, isInfraError } from "~/utils/cage" import { Cookie, HoppRESTRequest } from "@hoppscotch/data" import Worker from "./worker?worker&inline" @@ -35,71 +35,132 @@ const runPreRequestScriptWithWebWorker = ( }) } -const runPreRequestScriptWithFaradayCage = async ( +/** + * Runs a pre-request script on the given cage instance. + * Returns the result (`Either`) or the string literal "retry" + * if a bootstrap error triggered a cage reset (caller should retry). + */ +const executePreRequestOnCage = async ( + cage: Awaited>, preRequestScript: string, envs: TestResult["envs"], request: HoppRESTRequest, cookies: Cookie[] | null, hoppFetchHook?: HoppFetchHook -): Promise> => { +): Promise | "retry"> => { const consoleEntries: ConsoleEntry[] = [] let finalEnvs = envs let finalRequest = request let finalCookies = cookies - const cage = await acquireCage() + const captureHook: { capture?: () => void; bootstrapError?: unknown } = {} + + const result = await cage.runCode(preRequestScript, [ + ...defaultModules({ + handleConsoleEntry: (consoleEntry) => consoleEntries.push(consoleEntry), + hoppFetchHook, + }), + + preRequestModule( + { + envs: cloneDeep(envs), + request: cloneDeep(request), + cookies: cookies ? cloneDeep(cookies) : null, + handleSandboxResults: ({ envs, request, cookies }) => { + finalEnvs = envs + finalRequest = request + finalCookies = cookies + }, + }, + captureHook + ), + ]) + + if (result.type === "error") { + const bootstrapFailed = captureHook.bootstrapError !== undefined + const errorToAnalyze = bootstrapFailed + ? captureHook.bootstrapError + : result.err + + if (bootstrapFailed || isInfraError(errorToAnalyze)) { + resetCage() + return "retry" + } + + if ( + result.err !== null && + typeof result.err === "object" && + "message" in result.err + ) { + const name = + "name" in result.err && typeof result.err.name === "string" + ? result.err.name + : "" + const prefix = name ? `${name}: ` : "" + return E.left(`Script execution failed: ${prefix}${result.err.message}`) + } + + return E.left(`Script execution failed: ${String(result.err)}`) + } + + if (captureHook.capture) { + captureHook.capture() + } + + return E.right({ + updatedEnvs: finalEnvs, + consoleEntries, + updatedRequest: finalRequest, + updatedCookies: finalCookies, + } satisfies SandboxPreRequestResult) +} +const runPreRequestScriptWithFaradayCage = async ( + preRequestScript: string, + envs: TestResult["envs"], + request: HoppRESTRequest, + cookies: Cookie[] | null, + hoppFetchHook?: HoppFetchHook +): Promise> => { try { - // Create a hook object to receive the capture function from the module - const captureHook: { capture?: () => void } = {} - - const result = await cage.runCode(preRequestScript, [ - ...defaultModules({ - handleConsoleEntry: (consoleEntry) => consoleEntries.push(consoleEntry), - hoppFetchHook, - }), - - preRequestModule( - { - envs: cloneDeep(envs), - request: cloneDeep(request), - cookies: cookies ? cloneDeep(cookies) : null, - handleSandboxResults: ({ envs, request, cookies }) => { - finalEnvs = envs - finalRequest = request - finalCookies = cookies - }, - }, - captureHook - ), - ]) - - if (result.type === "error") { - if ( - result.err !== null && - typeof result.err === "object" && - "message" in result.err - ) { - return E.left(`Script execution failed: ${result.err.message}`) - } - - return E.left(`Script execution failed: ${String(result.err)}`) + const cage = await acquireCage() + + const firstAttempt = await executePreRequestOnCage( + cage, + preRequestScript, + envs, + request, + cookies, + hoppFetchHook + ) + + if (firstAttempt !== "retry") { + return firstAttempt } - // Capture results only on successful execution - if (captureHook.capture) { - captureHook.capture() + // Bootstrap error detected and cage was reset — retry once on a fresh cage + const freshCage = await acquireCage() + const retryResult = await executePreRequestOnCage( + freshCage, + preRequestScript, + envs, + request, + cookies, + hoppFetchHook + ) + + if (retryResult === "retry") { + // Two consecutive bootstrap failures — don't loop, report the error + return E.left( + "Script execution failed: sandbox initialization error (persistent)" + ) } - return E.right({ - updatedEnvs: finalEnvs, - consoleEntries, - updatedRequest: finalRequest, - updatedCookies: finalCookies, - } satisfies SandboxPreRequestResult) - } finally { - // Don't dispose cage here - returned objects may still be accessed. - // Rely on garbage collection for cleanup. + return retryResult + } catch (error) { + const name = error instanceof Error && error.name ? `${error.name}: ` : "" + const message = error instanceof Error ? error.message : String(error) + return E.left(`Script execution failed: ${name}${message}`) } } diff --git a/packages/hoppscotch-js-sandbox/src/web/pre-request/worker.ts b/packages/hoppscotch-js-sandbox/src/web/pre-request/worker.ts index e48c622eb0b..511bc51a2cb 100644 --- a/packages/hoppscotch-js-sandbox/src/web/pre-request/worker.ts +++ b/packages/hoppscotch-js-sandbox/src/web/pre-request/worker.ts @@ -21,7 +21,11 @@ const executeScriptInContext = ( updatedCookies: null, }) } catch (error) { - return TE.left(`Script execution failed: ${(error as Error).message}`) + return TE.left( + `Script execution failed: ${ + error instanceof Error ? error.message : String(error) + }` + ) } } diff --git a/packages/hoppscotch-js-sandbox/src/web/test-runner/index.ts b/packages/hoppscotch-js-sandbox/src/web/test-runner/index.ts index 63ef6194215..d9ee9854e1b 100644 --- a/packages/hoppscotch-js-sandbox/src/web/test-runner/index.ts +++ b/packages/hoppscotch-js-sandbox/src/web/test-runner/index.ts @@ -11,7 +11,7 @@ import { TestResponse, TestResult, } from "~/types" -import { acquireCage } from "~/utils/cage" +import { acquireCage, resetCage, isInfraError } from "~/utils/cage" import { preventCyclicObjects } from "~/utils/shared" import { Cookie, HoppRESTRequest } from "@hoppscotch/data" @@ -39,14 +39,19 @@ const runPostRequestScriptWithWebWorker = ( }) } -const runPostRequestScriptWithFaradayCage = async ( +/** + * Runs a post-request/test script on the given cage instance. + * Returns the result or "retry" if a bootstrap error triggered a cage reset. + */ +const executeTestOnCage = async ( + cage: Awaited>, testScript: string, envs: TestResult["envs"], request: HoppRESTRequest, response: TestResponse, cookies: Cookie[] | null, hoppFetchHook?: HoppFetchHook -): Promise> => { +): Promise | "retry"> => { const testRunStack: TestDescriptor[] = [ { descriptor: "root", expectResults: [], children: [] }, ] @@ -57,77 +62,132 @@ const runPostRequestScriptWithFaradayCage = async ( let finalCookies = cookies const testPromises: Promise[] = [] - const cage = await acquireCage() - - try { - // Create a hook object to receive the capture function from the module - const captureHook: { capture?: () => void } = {} - - const result = await cage.runCode(testScript, [ - ...defaultModules({ - handleConsoleEntry: (consoleEntry) => consoleEntries.push(consoleEntry), - hoppFetchHook, - }), - - postRequestModule( - { - envs: cloneDeep(envs), - testRunStack: cloneDeep(testRunStack), - request: cloneDeep(request), - response: cloneDeep(response), - cookies: cookies ? cloneDeep(cookies) : null, - handleSandboxResults: ({ envs, testRunStack, cookies }) => { - finalEnvs = envs - finalTestResults = testRunStack - finalCookies = cookies - }, - onTestPromise: (promise) => { - testPromises.push(promise) - }, + const captureHook: { capture?: () => void; bootstrapError?: unknown } = {} + + const result = await cage.runCode(testScript, [ + ...defaultModules({ + handleConsoleEntry: (consoleEntry) => consoleEntries.push(consoleEntry), + hoppFetchHook, + }), + + postRequestModule( + { + envs: cloneDeep(envs), + testRunStack: cloneDeep(testRunStack), + request: cloneDeep(request), + response: cloneDeep(response), + cookies: cookies ? cloneDeep(cookies) : null, + handleSandboxResults: ({ envs, testRunStack, cookies }) => { + finalEnvs = envs + finalTestResults = testRunStack + finalCookies = cookies + }, + onTestPromise: (promise) => { + testPromises.push(promise) }, - captureHook - ), - ]) - - // Check for script execution errors first - if (result.type === "error") { - if ( - result.err !== null && - typeof result.err === "object" && - "message" in result.err - ) { - return E.left(`Script execution failed: ${result.err.message}`) - } - - return E.left(`Script execution failed: ${String(result.err)}`) + }, + captureHook + ), + ]) + + if (result.type === "error") { + const bootstrapFailed = captureHook.bootstrapError !== undefined + const errorToAnalyze = bootstrapFailed + ? captureHook.bootstrapError + : result.err + + if (bootstrapFailed || isInfraError(errorToAnalyze)) { + resetCage() + return "retry" } - // Wait for async test functions before capturing results. - if (testPromises.length > 0) { - await Promise.all(testPromises) + if ( + result.err !== null && + typeof result.err === "object" && + "message" in result.err + ) { + const name = + "name" in result.err && typeof result.err.name === "string" + ? result.err.name + : "" + const prefix = name ? `${name}: ` : "" + return E.left(`Script execution failed: ${prefix}${result.err.message}`) } - // Capture results AFTER all async tests complete - // This prevents showing intermediate/failed state in UI - if (captureHook.capture) { - captureHook.capture() + return E.left(`Script execution failed: ${String(result.err)}`) + } + + // Wait for async test functions before capturing results. + if (testPromises.length > 0) { + await Promise.all(testPromises) + } + + if (captureHook.capture) { + captureHook.capture() + } + + const safeTestResults = cloneDeep(finalTestResults[0]) + + const safeEnvs = cloneDeep(finalEnvs) + const safeConsoleEntries = cloneDeep(consoleEntries) + const safeCookies = finalCookies ? cloneDeep(finalCookies) : null + + return E.right({ + tests: safeTestResults, + envs: safeEnvs, + consoleEntries: safeConsoleEntries, + updatedCookies: safeCookies, + } satisfies SandboxTestResult) +} + +const runPostRequestScriptWithFaradayCage = async ( + testScript: string, + envs: TestResult["envs"], + request: HoppRESTRequest, + response: TestResponse, + cookies: Cookie[] | null, + hoppFetchHook?: HoppFetchHook +): Promise> => { + try { + const cage = await acquireCage() + + const firstAttempt = await executeTestOnCage( + cage, + testScript, + envs, + request, + response, + cookies, + hoppFetchHook + ) + + if (firstAttempt !== "retry") { + return firstAttempt } - // Deep clone results to prevent mutable references causing UI flickering. - const safeTestResults = cloneDeep(finalTestResults[0]) + // Bootstrap error detected and cage was reset — retry once on a fresh cage + const freshCage = await acquireCage() + const retryResult = await executeTestOnCage( + freshCage, + testScript, + envs, + request, + response, + cookies, + hoppFetchHook + ) - const safeEnvs = cloneDeep(finalEnvs) - const safeConsoleEntries = cloneDeep(consoleEntries) - const safeCookies = finalCookies ? cloneDeep(finalCookies) : null + if (retryResult === "retry") { + return E.left( + "Script execution failed: sandbox initialization error (persistent)" + ) + } - return E.right({ - tests: safeTestResults, - envs: safeEnvs, - consoleEntries: safeConsoleEntries, - updatedCookies: safeCookies, - }) - } finally { - // FaradayCage relies on garbage collection for cleanup. + return retryResult + } catch (error) { + const name = error instanceof Error && error.name ? `${error.name}: ` : "" + const message = error instanceof Error ? error.message : String(error) + return E.left(`Script execution failed: ${name}${message}`) } } diff --git a/packages/hoppscotch-js-sandbox/src/web/test-runner/worker.ts b/packages/hoppscotch-js-sandbox/src/web/test-runner/worker.ts index 8bd1f76e651..9b656a5942c 100644 --- a/packages/hoppscotch-js-sandbox/src/web/test-runner/worker.ts +++ b/packages/hoppscotch-js-sandbox/src/web/test-runner/worker.ts @@ -26,12 +26,17 @@ const executeScriptInContext = ( // Execute the script executeScript({ ...pw, response: responseObjHandle.right }) - return TE.right({ + return TE.right({ tests: testRunStack[0], envs: updatedEnvs, - }) + updatedCookies: null, + } satisfies SandboxTestResult) } catch (error) { - return TE.left(`Script execution failed: ${(error as Error).message}`) + return TE.left( + `Script execution failed: ${ + error instanceof Error ? error.message : String(error) + }` + ) } } From 680439a1b00ce2bb0e71ac84a81f3400df891ae1 Mon Sep 17 00:00:00 2001 From: Chandraprakash Pandey Date: Wed, 18 Feb 2026 14:28:43 +0530 Subject: [PATCH 04/23] fix(common): improve responsive layout and overflow in realtime pages (#5843) Co-authored-by: nivedin Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com> --- .../src/components/realtime/Communication.vue | 207 +++++++++--------- .../src/pages/realtime/mqtt.vue | 42 ++-- .../src/pages/realtime/socketio.vue | 63 +++--- .../src/pages/realtime/sse.vue | 41 ++-- 4 files changed, 182 insertions(+), 171 deletions(-) diff --git a/packages/hoppscotch-common/src/components/realtime/Communication.vue b/packages/hoppscotch-common/src/components/realtime/Communication.vue index 1b73104b52d..7b9ac0fa686 100644 --- a/packages/hoppscotch-common/src/components/realtime/Communication.vue +++ b/packages/hoppscotch-common/src/components/realtime/Communication.vue @@ -17,114 +17,117 @@ />
- - - - - - - - - -
- - - {{ t("mqtt.clear_input") }} - - - - - -
diff --git a/packages/hoppscotch-common/src/pages/realtime/mqtt.vue b/packages/hoppscotch-common/src/pages/realtime/mqtt.vue index 001d968ea26..899bf51db41 100644 --- a/packages/hoppscotch-common/src/pages/realtime/mqtt.vue +++ b/packages/hoppscotch-common/src/pages/realtime/mqtt.vue @@ -4,8 +4,8 @@
-
-
+
+
- - +
+ + +
-
-
+
+
-
-
+
+
- - +
+ + +
ws": "7.5.10", - "vue": "3.5.27", + "vue": "3.5.28", "ws": "8.17.1" }, "onlyBuiltDependencies": [ diff --git a/packages/hoppscotch-agent/package.json b/packages/hoppscotch-agent/package.json index fe240b3b0e4..a7f47df9ecd 100644 --- a/packages/hoppscotch-agent/package.json +++ b/packages/hoppscotch-agent/package.json @@ -20,26 +20,26 @@ "@hoppscotch/ui": "0.2.5", "@tauri-apps/api": "2.1.1", "@tauri-apps/plugin-shell": "2.3.3", - "@vueuse/core": "14.1.0", - "axios": "1.13.2", + "@vueuse/core": "14.2.1", + "axios": "1.13.5", "fp-ts": "2.16.11", - "lodash-es": "4.17.22", - "vue": "3.5.27" + "lodash-es": "4.17.23", + "vue": "3.5.28" }, "devDependencies": { - "@iconify-json/lucide": "1.2.86", + "@iconify-json/lucide": "1.2.91", "@tauri-apps/cli": "2.9.3", "@types/lodash-es": "4.17.12", "@types/node": "24.10.1", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", - "@vitejs/plugin-vue": "6.0.3", - "@vue/eslint-config-typescript": "14.6.0", - "autoprefixer": "10.4.23", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", + "@vitejs/plugin-vue": "6.0.4", + "@vue/eslint-config-typescript": "14.7.0", + "autoprefixer": "10.4.24", "cross-env": "10.1.0", "eslint": "9.39.2", "eslint-plugin-prettier": "5.5.5", - "eslint-plugin-vue": "10.6.2", + "eslint-plugin-vue": "10.8.0", "globals": "16.5.0", "postcss": "8.5.6", "tailwindcss": "3.4.16", diff --git a/packages/hoppscotch-backend/package.json b/packages/hoppscotch-backend/package.json index 30447f6079b..efcfd1d55ff 100644 --- a/packages/hoppscotch-backend/package.json +++ b/packages/hoppscotch-backend/package.json @@ -31,32 +31,32 @@ "do-test": "pnpm run test" }, "dependencies": { - "@apollo/server": "5.2.0", + "@apollo/server": "5.4.0", "@as-integrations/express5": "1.1.2", "@nestjs-modules/mailer": "2.0.2", - "@nestjs/apollo": "13.2.3", - "@nestjs/common": "11.1.12", - "@nestjs/config": "4.0.2", - "@nestjs/core": "11.1.12", - "@nestjs/graphql": "13.2.3", + "@nestjs/apollo": "13.2.4", + "@nestjs/common": "11.1.13", + "@nestjs/config": "4.0.3", + "@nestjs/core": "11.1.13", + "@nestjs/graphql": "13.2.4", "@nestjs/jwt": "11.0.2", "@nestjs/passport": "11.0.0", - "@nestjs/platform-express": "11.1.12", - "@nestjs/schedule": "6.1.0", - "@nestjs/swagger": "11.2.5", + "@nestjs/platform-express": "11.1.13", + "@nestjs/schedule": "6.1.1", + "@nestjs/swagger": "11.2.6", "@nestjs/terminus": "11.0.0", "@nestjs/throttler": "6.5.0", - "@prisma/adapter-pg": "7.2.0", - "@prisma/client": "7.2.0", + "@prisma/adapter-pg": "7.4.0", + "@prisma/client": "7.4.0", "argon2": "0.44.0", "bcrypt": "6.0.0", "class-transformer": "0.5.1", "class-validator": "0.14.3", "cookie": "1.1.1", "cookie-parser": "1.4.7", - "dotenv": "17.2.3", + "dotenv": "17.3.1", "express": "5.2.1", - "express-session": "1.18.2", + "express-session": "1.19.0", "fp-ts": "2.16.11", "graphql": "16.12.0", "graphql-query-complexity": "1.1.0", @@ -65,49 +65,49 @@ "handlebars": "4.7.8", "io-ts": "2.2.22", "morgan": "1.10.1", - "nodemailer": "8.0.0", + "nodemailer": "8.0.1", "passport": "0.7.0", "passport-github2": "0.1.12", "passport-google-oauth20": "2.0.0", "passport-jwt": "4.0.1", "passport-local": "1.0.0", "passport-microsoft": "2.1.0", - "pg": "8.17.1", - "posthog-node": "5.23.0", - "prisma": "7.2.0", + "pg": "8.18.0", + "posthog-node": "5.24.15", + "prisma": "7.4.0", "reflect-metadata": "0.2.2", - "rimraf": "6.1.2", + "rimraf": "6.1.3", "rxjs": "7.8.2" }, "devDependencies": { "@eslint/eslintrc": "3.3.3", - "@eslint/js": "9.39.2", + "@eslint/js": "10.0.1", "@nestjs/cli": "11.0.16", "@nestjs/schematics": "11.0.9", - "@nestjs/testing": "11.1.12", + "@nestjs/testing": "11.1.13", "@relmify/jest-fp-ts": "2.1.1", "@types/bcrypt": "6.0.0", "@types/cookie-parser": "1.4.10", "@types/express": "5.0.6", "@types/jest": "30.0.0", - "@types/node": "25.0.9", - "@types/nodemailer": "7.0.5", + "@types/node": "25.2.3", + "@types/nodemailer": "7.0.10", "@types/passport-github2": "1.2.9", "@types/passport-google-oauth20": "2.0.17", "@types/passport-jwt": "4.0.1", "@types/passport-microsoft": "2.1.1", "@types/pg": "8.16.0", "@types/supertest": "6.0.3", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", "cross-env": "10.1.0", - "eslint": "9.39.2", + "eslint": "10.0.0", "eslint-config-prettier": "10.1.8", "eslint-plugin-prettier": "5.5.5", - "globals": "17.0.0", + "globals": "17.3.0", "jest": "30.2.0", "jest-mock-extended": "4.0.0", - "prettier": "3.8.0", + "prettier": "3.8.1", "source-map-support": "0.5.21", "supertest": "7.2.2", "ts-jest": "29.4.6", diff --git a/packages/hoppscotch-cli/package.json b/packages/hoppscotch-cli/package.json index 849e73fa068..4ad336c2372 100644 --- a/packages/hoppscotch-cli/package.json +++ b/packages/hoppscotch-cli/package.json @@ -42,16 +42,16 @@ "private": false, "dependencies": { "aws4fetch": "1.0.20", - "axios": "1.13.2", + "axios": "1.13.5", "axios-cookiejar-support": "6.0.5", "chalk": "5.6.2", - "commander": "14.0.2", + "commander": "14.0.3", "isolated-vm": "6.0.2", "js-md5": "0.8.3", "jsonc-parser": "3.3.1", - "lodash-es": "4.17.22", + "lodash-es": "4.17.23", "papaparse": "5.5.3", - "qs": "6.14.1", + "qs": "6.15.0", "tough-cookie": "6.0.0", "verzod": "0.4.0", "xmlbuilder2": "4.0.3", @@ -65,11 +65,11 @@ "@types/papaparse": "5.5.2", "@types/qs": "6.14.0", "fp-ts": "2.16.11", - "prettier": "3.8.0", + "prettier": "3.8.1", "qs": "6.11.2", - "semver": "7.7.3", + "semver": "7.7.4", "tsup": "8.5.1", "typescript": "5.9.3", - "vitest": "4.0.17" + "vitest": "4.0.18" } } diff --git a/packages/hoppscotch-common/package.json b/packages/hoppscotch-common/package.json index 463dc3d7976..5c41a05bad3 100644 --- a/packages/hoppscotch-common/package.json +++ b/packages/hoppscotch-common/package.json @@ -52,14 +52,14 @@ "@types/hawk": "9.0.7", "@types/markdown-it": "14.1.2", "@types/node": "24.10.1", - "@unhead/vue": "2.1.2", + "@unhead/vue": "2.1.4", "@urql/core": "6.0.1", "@urql/devtools": "2.0.3", "@urql/exchange-auth": "3.0.0", - "@vueuse/core": "14.1.0", + "@vueuse/core": "14.2.1", "acorn-walk": "8.3.4", "aws4fetch": "1.0.20", - "axios": "1.13.2", + "axios": "1.13.5", "buffer": "6.0.3", "cookie-es": "2.0.0", "dioc": "3.0.2", @@ -80,17 +80,17 @@ "js-md5": "0.8.3", "js-yaml": "4.1.1", "jsonc-parser": "3.3.1", - "lodash-es": "4.17.22", + "lodash-es": "4.17.23", "lossless-json": "4.3.0", - "markdown-it": "14.1.0", + "markdown-it": "14.1.1", "minisearch": "7.2.0", "monaco-editor": "0.55.1", "nprogress": "0.2.0", "paho-mqtt": "1.1.0", "path": "0.12.7", - "postman-collection": "5.2.0", + "postman-collection": "5.2.1", "process": "0.11.10", - "qs": "6.14.1", + "qs": "6.15.0", "quicktype-core": "23.2.6", "rollup": "4.55.3", "rxjs": "7.8.2", @@ -111,7 +111,7 @@ "util": "0.12.5", "uuid": "13.0.0", "verzod": "0.4.0", - "vue": "3.5.27", + "vue": "3.5.28", "vue-i18n": "11.2.8", "vue-json-pretty": "2.6.0", "vue-pdf-embed": "2.1.3", @@ -131,15 +131,15 @@ "@eslint/js": "9.39.2", "@graphql-codegen/add": "6.0.0", "@graphql-codegen/cli": "6.1.1", - "@graphql-codegen/typed-document-node": "6.1.5", - "@graphql-codegen/typescript": "5.0.7", - "@graphql-codegen/typescript-operations": "5.0.7", + "@graphql-codegen/typed-document-node": "6.1.6", + "@graphql-codegen/typescript": "5.0.8", + "@graphql-codegen/typescript-operations": "5.0.8", "@graphql-codegen/typescript-urql-graphcache": "3.1.1", "@graphql-codegen/urql-introspection": "3.0.1", "@graphql-typed-document-node/core": "3.2.0", - "@iconify-json/lucide": "1.2.86", + "@iconify-json/lucide": "1.2.91", "@import-meta-env/cli": "0.7.4", - "@intlify/unplugin-vue-i18n": "11.0.3", + "@intlify/unplugin-vue-i18n": "11.0.7", "@relmify/jest-fp-ts": "2.1.1", "@rushstack/eslint-patch": "1.15.0", "@types/har-format": "1.2.16", @@ -151,28 +151,28 @@ "@types/qs": "6.14.0", "@types/splitpanes": "2.2.6", "@types/yargs-parser": "21.0.3", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", - "@vitejs/plugin-vue": "6.0.3", - "@vue/compiler-sfc": "3.5.27", - "@vue/eslint-config-typescript": "14.6.0", - "@vue/runtime-core": "3.5.27", - "autoprefixer": "10.4.23", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", + "@vitejs/plugin-vue": "6.0.4", + "@vue/compiler-sfc": "3.5.28", + "@vue/eslint-config-typescript": "14.7.0", + "@vue/runtime-core": "3.5.28", + "autoprefixer": "10.4.24", "cross-env": "10.1.0", - "dotenv": "17.2.3", + "dotenv": "17.3.1", "eslint": "9.39.2", "eslint-plugin-prettier": "5.5.5", - "eslint-plugin-vue": "10.6.2", - "glob": "13.0.0", + "eslint-plugin-vue": "10.8.0", + "glob": "13.0.5", "globals": "16.5.0", "jsdom": "27.4.0", "npm-run-all": "4.1.5", "openapi-types": "12.1.3", "postcss": "8.5.6", - "prettier": "3.8.0", + "prettier": "3.8.1", "prettier-plugin-tailwindcss": "0.7.1", "rollup-plugin-polyfill-node": "0.13.0", - "sass": "1.97.2", + "sass": "1.97.3", "tailwindcss": "3.4.16", "tsup": "8.5.1", "typescript": "5.9.3", @@ -187,7 +187,7 @@ "vite-plugin-pages-sitemap": "1.7.1", "vite-plugin-pwa": "1.2.0", "vite-plugin-vue-layouts": "0.11.0", - "vitest": "4.0.17", + "vitest": "4.0.18", "vue-tsc": "1.8.8" } } diff --git a/packages/hoppscotch-data/package.json b/packages/hoppscotch-data/package.json index 92320498e4f..d60acc679a7 100644 --- a/packages/hoppscotch-data/package.json +++ b/packages/hoppscotch-data/package.json @@ -43,7 +43,7 @@ "fp-ts": "2.16.11", "io-ts": "2.2.22", "jose": "6.1.3", - "lodash": "4.17.21", + "lodash": "4.17.23", "parser-ts": "0.7.0", "uuid": "13.0.0", "verzod": "0.4.0", diff --git a/packages/hoppscotch-desktop/package.json b/packages/hoppscotch-desktop/package.json index 5423bbd6a0c..d8b2fea5b1d 100644 --- a/packages/hoppscotch-desktop/package.json +++ b/packages/hoppscotch-desktop/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@fontsource-variable/inter": "5.2.8", - "@fontsource-variable/material-symbols-rounded": "5.2.32", + "@fontsource-variable/material-symbols-rounded": "5.2.35", "@fontsource-variable/roboto-mono": "5.2.8", "@hoppscotch/common": "workspace:^", "@hoppscotch/kernel": "workspace:^", @@ -37,7 +37,7 @@ "@tauri-apps/plugin-updater": "2.9.0", "fp-ts": "2.16.11", "rxjs": "7.8.2", - "vue": "3.5.27", + "vue": "3.5.28", "vue-router": "4.6.4", "vue-tippy": "6.7.1", "zod": "3.25.32" @@ -45,20 +45,20 @@ "devDependencies": { "@eslint/eslintrc": "3.3.3", "@eslint/js": "9.39.2", - "@iconify-json/lucide": "1.2.86", + "@iconify-json/lucide": "1.2.91", "@rushstack/eslint-patch": "1.15.0", "@tauri-apps/cli": "2.9.3", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", - "@vitejs/plugin-vue": "6.0.3", - "@vue/eslint-config-typescript": "14.6.0", - "autoprefixer": "10.4.23", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", + "@vitejs/plugin-vue": "6.0.4", + "@vue/eslint-config-typescript": "14.7.0", + "autoprefixer": "10.4.24", "eslint": "9.39.2", "eslint-plugin-prettier": "5.5.5", - "eslint-plugin-vue": "10.6.2", + "eslint-plugin-vue": "10.8.0", "globals": "16.5.0", "postcss": "8.5.6", - "sass": "1.97.2", + "sass": "1.97.3", "tailwindcss": "3.4.16", "typescript": "5.9.3", "unplugin-icons": "22.5.0", diff --git a/packages/hoppscotch-js-sandbox/package.json b/packages/hoppscotch-js-sandbox/package.json index b6999eb5697..17776f15187 100644 --- a/packages/hoppscotch-js-sandbox/package.json +++ b/packages/hoppscotch-js-sandbox/package.json @@ -55,8 +55,8 @@ "chai": "6.2.2", "faraday-cage": "0.1.0", "fp-ts": "2.16.11", - "lodash": "4.17.21", - "lodash-es": "4.17.22" + "lodash": "4.17.23", + "lodash-es": "4.17.23" }, "devDependencies": { "@digitak/esrun": "3.2.26", @@ -67,17 +67,17 @@ "@types/jest": "30.0.0", "@types/lodash": "4.17.23", "@types/node": "24.10.1", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", "eslint": "9.39.2", "eslint-config-prettier": "10.1.8", "eslint-plugin-prettier": "5.5.5", "globals": "16.5.0", "io-ts": "2.2.22", - "prettier": "3.8.0", + "prettier": "3.8.1", "typescript": "5.9.3", "vite": "7.3.1", - "vitest": "4.0.17" + "vitest": "4.0.18" }, "peerDependencies": { "isolated-vm": "6.0.2" diff --git a/packages/hoppscotch-kernel/package.json b/packages/hoppscotch-kernel/package.json index 4ff9c83ab70..513ce2a5bf6 100644 --- a/packages/hoppscotch-kernel/package.json +++ b/packages/hoppscotch-kernel/package.json @@ -41,8 +41,8 @@ "devDependencies": { "@eslint/js": "9.39.2", "@types/node": "24.9.1", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", "eslint": "9.39.2", "eslint-plugin-prettier": "5.5.5", "globals": "16.5.0", @@ -64,7 +64,7 @@ "@tauri-apps/plugin-shell": "2.2.1", "@tauri-apps/plugin-store": "2.4.1", "aws4fetch": "1.0.20", - "axios": "1.13.2", + "axios": "1.13.5", "fp-ts": "2.16.11", "superjson": "2.2.6", "zod": "3.25.32" diff --git a/packages/hoppscotch-selfhost-web/package.json b/packages/hoppscotch-selfhost-web/package.json index 0d3976c3545..b65e5c0a025 100644 --- a/packages/hoppscotch-selfhost-web/package.json +++ b/packages/hoppscotch-selfhost-web/package.json @@ -24,7 +24,7 @@ }, "dependencies": { "@fontsource-variable/inter": "5.2.8", - "@fontsource-variable/material-symbols-rounded": "5.2.32", + "@fontsource-variable/material-symbols-rounded": "5.2.35", "@fontsource-variable/roboto-mono": "5.2.8", "@hoppscotch/common": "workspace:^", "@hoppscotch/data": "workspace:^", @@ -36,8 +36,8 @@ "@tauri-apps/plugin-dialog": "2.0.1", "@tauri-apps/plugin-fs": "2.0.2", "@tauri-apps/plugin-shell": "2.2.1", - "@vueuse/core": "14.1.0", - "axios": "1.13.2", + "@vueuse/core": "14.2.1", + "axios": "1.13.5", "buffer": "6.0.3", "dioc": "3.0.2", "fp-ts": "2.16.11", @@ -46,7 +46,7 @@ "stream-browserify": "3.0.0", "util": "0.12.5", "verzod": "0.4.0", - "vue": "3.5.27", + "vue": "3.5.28", "workbox-window": "7.4.0", "zod": "3.25.32" }, @@ -55,26 +55,26 @@ "@eslint/js": "9.39.2", "@graphql-codegen/add": "6.0.0", "@graphql-codegen/cli": "6.1.1", - "@graphql-codegen/typed-document-node": "6.1.5", - "@graphql-codegen/typescript": "5.0.7", - "@graphql-codegen/typescript-operations": "5.0.7", + "@graphql-codegen/typed-document-node": "6.1.6", + "@graphql-codegen/typescript": "5.0.8", + "@graphql-codegen/typescript-operations": "5.0.8", "@graphql-codegen/typescript-urql-graphcache": "3.1.1", "@graphql-codegen/urql-introspection": "3.0.1", "@graphql-typed-document-node/core": "3.2.0", - "@iconify-json/lucide": "1.2.86", - "@intlify/unplugin-vue-i18n": "11.0.3", + "@iconify-json/lucide": "1.2.91", + "@intlify/unplugin-vue-i18n": "11.0.7", "@rushstack/eslint-patch": "1.15.0", - "@typescript-eslint/eslint-plugin": "8.53.1", - "@typescript-eslint/parser": "8.53.1", + "@typescript-eslint/eslint-plugin": "8.56.0", + "@typescript-eslint/parser": "8.56.0", "@vitejs/plugin-legacy": "7.2.1", - "@vitejs/plugin-vue": "6.0.3", - "@vue/eslint-config-typescript": "14.6.0", - "autoprefixer": "10.4.23", + "@vitejs/plugin-vue": "6.0.4", + "@vue/eslint-config-typescript": "14.7.0", + "autoprefixer": "10.4.24", "cross-env": "10.1.0", - "dotenv": "17.2.3", + "dotenv": "17.3.1", "eslint": "9.39.2", "eslint-plugin-prettier": "5.5.5", - "eslint-plugin-vue": "10.6.2", + "eslint-plugin-vue": "10.8.0", "globals": "16.5.0", "npm-run-all": "4.1.5", "postcss": "8.5.6", @@ -91,7 +91,7 @@ "vite-plugin-pages": "0.33.2", "vite-plugin-pages-sitemap": "1.7.1", "vite-plugin-pwa": "1.2.0", - "vite-plugin-static-copy": "3.1.5", + "vite-plugin-static-copy": "3.2.0", "vite-plugin-vue-layouts": "0.11.0", "vue-tsc": "2.1.6" } diff --git a/packages/hoppscotch-sh-admin/package.json b/packages/hoppscotch-sh-admin/package.json index dc6563f6bca..b58b9284957 100644 --- a/packages/hoppscotch-sh-admin/package.json +++ b/packages/hoppscotch-sh-admin/package.json @@ -14,23 +14,23 @@ }, "dependencies": { "@fontsource-variable/inter": "5.2.8", - "@fontsource-variable/material-symbols-rounded": "5.2.32", + "@fontsource-variable/material-symbols-rounded": "5.2.35", "@fontsource-variable/roboto-mono": "5.2.8", "@graphql-typed-document-node/core": "3.2.0", "@hoppscotch/ui": "0.2.5", "@hoppscotch/vue-toasted": "0.1.0", - "@intlify/unplugin-vue-i18n": "11.0.3", + "@intlify/unplugin-vue-i18n": "11.0.7", "@types/cors": "2.8.19", "@urql/exchange-auth": "3.0.0", "@urql/vue": "2.0.0", - "@vueuse/core": "14.1.0", - "axios": "1.13.2", - "cors": "2.8.5", + "@vueuse/core": "14.2.1", + "axios": "1.13.5", + "cors": "2.8.6", "date-fns": "4.1.0", "fp-ts": "2.16.11", "graphql": "16.12.0", "io-ts": "2.2.22", - "lodash-es": "4.17.22", + "lodash-es": "4.17.23", "postcss": "8.5.6", "prettier-plugin-tailwindcss": "0.7.1", "rxjs": "7.8.2", @@ -39,32 +39,32 @@ "ts-node-dev": "2.0.0", "unplugin-icons": "22.5.0", "unplugin-vue-components": "30.0.0", - "vue": "3.5.27", + "vue": "3.5.28", "vue-i18n": "11.2.8", "vue-router": "4.6.4", "vue-tippy": "6.7.1" }, "devDependencies": { "@graphql-codegen/cli": "6.1.1", - "@graphql-codegen/client-preset": "5.2.2", + "@graphql-codegen/client-preset": "5.2.3", "@graphql-codegen/introspection": "5.0.0", - "@graphql-codegen/typed-document-node": "6.1.5", - "@graphql-codegen/typescript": "5.0.7", - "@graphql-codegen/typescript-document-nodes": "5.0.7", - "@graphql-codegen/typescript-operations": "5.0.7", + "@graphql-codegen/typed-document-node": "6.1.6", + "@graphql-codegen/typescript": "5.0.8", + "@graphql-codegen/typescript-document-nodes": "5.0.8", + "@graphql-codegen/typescript-operations": "5.0.8", "@graphql-codegen/urql-introspection": "3.0.1", - "@iconify-json/lucide": "1.2.86", + "@iconify-json/lucide": "1.2.91", "@import-meta-env/cli": "0.7.4", "@import-meta-env/unplugin": "0.6.3", "@types/lodash-es": "4.17.12", - "@vitejs/plugin-vue": "6.0.3", - "@vue/compiler-sfc": "3.5.27", - "autoprefixer": "10.4.23", - "dotenv": "17.2.3", + "@vitejs/plugin-vue": "6.0.4", + "@vue/compiler-sfc": "3.5.28", + "autoprefixer": "10.4.24", + "dotenv": "17.3.1", "graphql-tag": "2.12.6", "hoppscotch-backend": "workspace:^", "npm-run-all": "4.1.5", - "sass": "1.97.2", + "sass": "1.97.3", "ts-node": "10.9.2", "typescript": "5.9.3", "unplugin-fonts": "1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dcc57146ad3..f7fc26a7f46 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,15 +9,15 @@ overrides: apiconnect-wsdl: 2.0.36 body-parser: 2.2.1 cross-spawn: 7.0.6 - execa@0.10.0: 2.0.0 + execa@<2.0.0: 2.0.0 form-data: 4.0.4 glob@<11.1.0: 11.1.0 - hono@4.10.6: 4.11.4 - jws@<3.2.3: 3.2.3 - nodemailer@<7.0.12: 8.0.0 - qs@6.14.0: 6.14.1 + hono@4.11.4: 4.11.7 + lodash@4.17.21: 4.17.23 + nodemailer@<7.0.11: 7.0.11 + qs@6.14.1: 6.14.2 subscriptions-transport-ws>ws: 7.5.10 - vue: 3.5.27 + vue: 3.5.28 ws: 8.17.1 importers: @@ -25,14 +25,14 @@ importers: .: devDependencies: '@commitlint/cli': - specifier: 20.2.0 - version: 20.2.0(@types/node@24.10.1)(typescript@5.9.3) + specifier: 20.4.1 + version: 20.4.1(@types/node@24.10.1)(typescript@5.9.3) '@commitlint/config-conventional': - specifier: 20.3.1 - version: 20.3.1 + specifier: 20.4.1 + version: 20.4.1 '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@10.0.0(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@types/node': specifier: 24.10.1 version: 24.10.1 @@ -81,7 +81,7 @@ importers: dependencies: '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@tauri-apps/api': specifier: 2.1.1 version: 2.1.1 @@ -89,24 +89,24 @@ importers: specifier: 2.3.3 version: 2.3.3 '@vueuse/core': - specifier: 14.1.0 - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) + specifier: 14.2.1 + version: 14.2.1(vue@3.5.28(typescript@5.9.3)) axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 fp-ts: specifier: 2.16.11 version: 2.16.11 lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 vue: - specifier: 3.5.27 - version: 3.5.27(typescript@5.9.3) + specifier: 3.5.28 + version: 3.5.28(typescript@5.9.3) devDependencies: '@iconify-json/lucide': - specifier: 1.2.86 - version: 1.2.86 + specifier: 1.2.91 + version: 1.2.91 '@tauri-apps/cli': specifier: 2.9.3 version: 2.9.3 @@ -117,20 +117,20 @@ importers: specifier: 24.10.1 version: 24.10.1 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-vue': - specifier: 6.0.3 - version: 6.0.3(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + specifier: 6.0.4 + version: 6.0.4(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/eslint-config-typescript': - specifier: 14.6.0 - version: 14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 14.7.0 + version: 14.7.0(eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) autoprefixer: - specifier: 10.4.23 - version: 10.4.23(postcss@8.5.6) + specifier: 10.4.24 + version: 10.4.24(postcss@8.5.6) cross-env: specifier: 10.1.0 version: 10.1.0 @@ -139,10 +139,10 @@ importers: version: 9.39.2(jiti@2.6.1) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) eslint-plugin-vue: - specifier: 10.6.2 - version: 10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) + specifier: 10.8.0 + version: 10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))) globals: specifier: 16.5.0 version: 16.5.0 @@ -157,13 +157,13 @@ importers: version: 5.9.3 unplugin-icons: specifier: 22.5.0 - version: 22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16) + version: 22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 30.0.0 - version: 30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)) + version: 30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)) vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vue-tsc: specifier: 2.2.0 version: 2.2.0(typescript@5.9.3) @@ -171,56 +171,56 @@ importers: packages/hoppscotch-backend: dependencies: '@apollo/server': - specifier: 5.2.0 - version: 5.2.0(graphql@16.12.0) + specifier: 5.4.0 + version: 5.4.0(graphql@16.12.0) '@as-integrations/express5': specifier: 1.1.2 - version: 1.1.2(@apollo/server@5.2.0(graphql@16.12.0))(express@5.2.1) + version: 1.1.2(@apollo/server@5.4.0(graphql@16.12.0))(express@5.2.1) '@nestjs-modules/mailer': specifier: 2.0.2 - version: 2.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(nodemailer@8.0.0)(terser@5.44.1)(typescript@5.9.3) + version: 2.0.2(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(nodemailer@8.0.1)(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) '@nestjs/apollo': - specifier: 13.2.3 - version: 13.2.3(@apollo/server@5.2.0(graphql@16.12.0))(@as-integrations/express5@1.1.2(@apollo/server@5.2.0(graphql@16.12.0))(express@5.2.1))(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@nestjs/graphql@13.2.3(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2))(graphql@16.12.0) + specifier: 13.2.4 + version: 13.2.4(@apollo/server@5.4.0(graphql@16.12.0))(@as-integrations/express5@1.1.2(@apollo/server@5.4.0(graphql@16.12.0))(express@5.2.1))(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@nestjs/graphql@13.2.4(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2))(graphql@16.12.0) '@nestjs/common': - specifier: 11.1.12 - version: 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + specifier: 11.1.13 + version: 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/config': - specifier: 4.0.2 - version: 4.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2) + specifier: 4.0.3 + version: 4.0.3(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2) '@nestjs/core': - specifier: 11.1.12 - version: 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) + specifier: 11.1.13 + version: 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/graphql': - specifier: 13.2.3 - version: 13.2.3(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2) + specifier: 13.2.4 + version: 13.2.4(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2) '@nestjs/jwt': specifier: 11.0.2 - version: 11.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)) + version: 11.0.2(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)) '@nestjs/passport': specifier: 11.0.0 - version: 11.0.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0) + version: 11.0.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0) '@nestjs/platform-express': - specifier: 11.1.12 - version: 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12) + specifier: 11.1.13 + version: 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13) '@nestjs/schedule': - specifier: 6.1.0 - version: 6.1.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12) + specifier: 6.1.1 + version: 6.1.1(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13) '@nestjs/swagger': - specifier: 11.2.5 - version: 11.2.5(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) + specifier: 11.2.6 + version: 11.2.6(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) '@nestjs/terminus': specifier: 11.0.0 - version: 11.0.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@prisma/client@7.2.0(prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2) + version: 11.0.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@prisma/client@7.4.0(prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nestjs/throttler': specifier: 6.5.0 - version: 6.5.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(reflect-metadata@0.2.2) + version: 6.5.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(reflect-metadata@0.2.2) '@prisma/adapter-pg': - specifier: 7.2.0 - version: 7.2.0 + specifier: 7.4.0 + version: 7.4.0 '@prisma/client': - specifier: 7.2.0 - version: 7.2.0(prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) + specifier: 7.4.0 + version: 7.4.0(prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) argon2: specifier: 0.44.0 version: 0.44.0 @@ -240,14 +240,14 @@ importers: specifier: 1.4.7 version: 1.4.7 dotenv: - specifier: 17.2.3 - version: 17.2.3 + specifier: 17.3.1 + version: 17.3.1 express: specifier: 5.2.1 version: 5.2.1 express-session: - specifier: 1.18.2 - version: 1.18.2 + specifier: 1.19.0 + version: 1.19.0 fp-ts: specifier: 2.16.11 version: 2.16.11 @@ -273,8 +273,8 @@ importers: specifier: 1.10.1 version: 1.10.1 nodemailer: - specifier: 8.0.0 - version: 8.0.0 + specifier: 8.0.1 + version: 8.0.1 passport: specifier: 0.7.0 version: 0.7.0 @@ -294,20 +294,20 @@ importers: specifier: 2.1.0 version: 2.1.0 pg: - specifier: 8.17.1 - version: 8.17.1 + specifier: 8.18.0 + version: 8.18.0 posthog-node: - specifier: 5.23.0 - version: 5.23.0 + specifier: 5.24.15 + version: 5.24.15 prisma: - specifier: 7.2.0 - version: 7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) + specifier: 7.4.0 + version: 7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) reflect-metadata: specifier: 0.2.2 version: 0.2.2 rimraf: - specifier: 6.1.2 - version: 6.1.2 + specifier: 6.1.3 + version: 6.1.3 rxjs: specifier: 7.8.2 version: 7.8.2 @@ -316,17 +316,17 @@ importers: specifier: 3.3.3 version: 3.3.3 '@eslint/js': - specifier: 9.39.2 - version: 9.39.2 + specifier: 10.0.1 + version: 10.0.1(eslint@10.0.0(jiti@2.6.1)) '@nestjs/cli': specifier: 11.0.16 - version: 11.0.16(@types/node@25.0.9) + version: 11.0.16(@types/node@25.2.3) '@nestjs/schematics': specifier: 11.0.9 version: 11.0.9(chokidar@4.0.3)(typescript@5.9.3) '@nestjs/testing': - specifier: 11.1.12 - version: 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@nestjs/platform-express@11.1.12) + specifier: 11.1.13 + version: 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@nestjs/platform-express@11.1.13) '@relmify/jest-fp-ts': specifier: 2.1.1 version: 2.1.1(fp-ts@2.16.11)(io-ts@2.2.22(fp-ts@2.16.11)) @@ -343,11 +343,11 @@ importers: specifier: 30.0.0 version: 30.0.0 '@types/node': - specifier: 25.0.9 - version: 25.0.9 + specifier: 25.2.3 + version: 25.2.3 '@types/nodemailer': - specifier: 7.0.5 - version: 7.0.5 + specifier: 7.0.10 + version: 7.0.10 '@types/passport-github2': specifier: 1.2.9 version: 1.2.9 @@ -367,35 +367,35 @@ importers: specifier: 6.0.3 version: 6.0.3 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) cross-env: specifier: 10.1.0 version: 10.1.0 eslint: - specifier: 9.39.2 - version: 9.39.2(jiti@2.6.1) + specifier: 10.0.0 + version: 10.0.0(jiti@2.6.1) eslint-config-prettier: specifier: 10.1.8 - version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) + version: 10.1.8(eslint@10.0.0(jiti@2.6.1)) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1) globals: - specifier: 17.0.0 - version: 17.0.0 + specifier: 17.3.0 + version: 17.3.0 jest: specifier: 30.2.0 - version: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + version: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) jest-mock-extended: specifier: 4.0.0 - version: 4.0.0(@jest/globals@30.2.0)(jest@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)))(typescript@5.9.3) + version: 4.0.0(@jest/globals@30.2.0)(jest@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)))(typescript@5.9.3) prettier: - specifier: 3.8.0 - version: 3.8.0 + specifier: 3.8.1 + version: 3.8.1 source-map-support: specifier: 0.5.21 version: 0.5.21 @@ -404,13 +404,13 @@ importers: version: 7.2.2 ts-jest: specifier: 29.4.6 - version: 29.4.6(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.6(@babel/core@7.29.0)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.29.0))(jest-util@30.2.0)(jest@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)))(typescript@5.9.3) ts-loader: specifier: 9.5.4 version: 9.5.4(typescript@5.9.3)(webpack@5.104.1) ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@25.0.9)(typescript@5.9.3) + version: 10.9.2(@types/node@25.2.3)(typescript@5.9.3) tsconfig-paths: specifier: 4.2.0 version: 4.2.0 @@ -424,17 +424,17 @@ importers: specifier: 1.0.20 version: 1.0.20 axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 axios-cookiejar-support: specifier: 6.0.5 - version: 6.0.5(axios@1.13.2)(tough-cookie@6.0.0) + version: 6.0.5(axios@1.13.5)(tough-cookie@6.0.0) chalk: specifier: 5.6.2 version: 5.6.2 commander: - specifier: 14.0.2 - version: 14.0.2 + specifier: 14.0.3 + version: 14.0.3 isolated-vm: specifier: 6.0.2 version: 6.0.2 @@ -445,14 +445,14 @@ importers: specifier: 3.3.1 version: 3.3.1 lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 papaparse: specifier: 5.5.3 version: 5.5.3 qs: - specifier: 6.14.1 - version: 6.14.1 + specifier: 6.15.0 + version: 6.15.0 tough-cookie: specifier: 6.0.0 version: 6.0.0 @@ -488,11 +488,11 @@ importers: specifier: 2.16.11 version: 2.16.11 prettier: - specifier: 3.8.0 - version: 3.8.0 + specifier: 3.8.1 + version: 3.8.1 semver: - specifier: 7.7.3 - version: 7.7.3 + specifier: 7.7.4 + version: 7.7.4 tsup: specifier: 8.5.1 version: 8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.2) @@ -500,8 +500,8 @@ importers: specifier: 5.9.3 version: 5.9.3 vitest: - specifier: 4.0.17 - version: 4.0.17(@types/node@25.0.9)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.18 + version: 4.0.18(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) packages/hoppscotch-common: dependencies: @@ -546,7 +546,7 @@ importers: version: 6.38.8 '@guolao/vue-monaco-editor': specifier: 1.6.0 - version: 1.6.0(monaco-editor@0.55.1)(vue@3.5.27(typescript@5.9.3)) + version: 1.6.0(monaco-editor@0.55.1)(vue@3.5.28(typescript@5.9.3)) '@hoppscotch/codemirror-lang-graphql': specifier: workspace:^ version: link:../codemirror-lang-graphql @@ -567,10 +567,10 @@ importers: version: '@CuriousCorrelation/plugin-appload@https://codeload.github.com/CuriousCorrelation/tauri-plugin-appload/tar.gz/168ff9533258a56de184fb69ad32f8a7f61bae0d' '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@hoppscotch/vue-toasted': specifier: 0.1.0 - version: 0.1.0(vue@3.5.27(typescript@5.9.3)) + version: 0.1.0(vue@3.5.28(typescript@5.9.3)) '@lezer/highlight': specifier: 1.2.1 version: 1.2.1 @@ -599,8 +599,8 @@ importers: specifier: 24.10.1 version: 24.10.1 '@unhead/vue': - specifier: 2.1.2 - version: 2.1.2(vue@3.5.27(typescript@5.9.3)) + specifier: 2.1.4 + version: 2.1.4(vue@3.5.28(typescript@5.9.3)) '@urql/core': specifier: 6.0.1 version: 6.0.1(graphql@16.12.0) @@ -611,8 +611,8 @@ importers: specifier: 3.0.0 version: 3.0.0(@urql/core@6.0.1(graphql@16.12.0)) '@vueuse/core': - specifier: 14.1.0 - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) + specifier: 14.2.1 + version: 14.2.1(vue@3.5.28(typescript@5.9.3)) acorn-walk: specifier: 8.3.4 version: 8.3.4 @@ -620,8 +620,8 @@ importers: specifier: 1.0.20 version: 1.0.20 axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 buffer: specifier: 6.0.3 version: 6.0.3 @@ -630,7 +630,7 @@ importers: version: 2.0.0 dioc: specifier: 3.0.2 - version: 3.0.2(vue@3.5.27(typescript@5.9.3)) + version: 3.0.2(vue@3.5.28(typescript@5.9.3)) dompurify: specifier: 3.3.1 version: 3.3.1 @@ -683,14 +683,14 @@ importers: specifier: 3.3.1 version: 3.3.1 lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 lossless-json: specifier: 4.3.0 version: 4.3.0 markdown-it: - specifier: 14.1.0 - version: 14.1.0 + specifier: 14.1.1 + version: 14.1.1 minisearch: specifier: 7.2.0 version: 7.2.0 @@ -707,14 +707,14 @@ importers: specifier: 0.12.7 version: 0.12.7 postman-collection: - specifier: 5.2.0 - version: 5.2.0 + specifier: 5.2.1 + version: 5.2.1 process: specifier: 0.11.10 version: 0.11.10 qs: - specifier: 6.14.1 - version: 6.14.1 + specifier: 6.15.0 + version: 6.15.0 quicktype-core: specifier: 23.2.6 version: 23.2.6 @@ -776,26 +776,26 @@ importers: specifier: 0.4.0 version: 0.4.0(zod@3.25.32) vue: - specifier: 3.5.27 - version: 3.5.27(typescript@5.9.3) + specifier: 3.5.28 + version: 3.5.28(typescript@5.9.3) vue-i18n: specifier: 11.2.8 - version: 11.2.8(vue@3.5.27(typescript@5.9.3)) + version: 11.2.8(vue@3.5.28(typescript@5.9.3)) vue-json-pretty: specifier: 2.6.0 - version: 2.6.0(vue@3.5.27(typescript@5.9.3)) + version: 2.6.0(vue@3.5.28(typescript@5.9.3)) vue-pdf-embed: specifier: 2.1.3 - version: 2.1.3(vue@3.5.27(typescript@5.9.3)) + version: 2.1.3(vue@3.5.28(typescript@5.9.3)) vue-router: specifier: 4.6.4 - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) + version: 4.6.4(vue@3.5.28(typescript@5.9.3)) vue-tippy: specifier: 6.7.1 - version: 6.7.1(vue@3.5.27(typescript@5.9.3)) + version: 6.7.1(vue@3.5.28(typescript@5.9.3)) vuedraggable-es: specifier: 4.1.1 - version: 4.1.1(vue@3.5.27(typescript@5.9.3)) + version: 4.1.1(vue@3.5.28(typescript@5.9.3)) wonka: specifier: 6.3.5 version: 6.3.5 @@ -829,16 +829,16 @@ importers: version: 6.0.0(graphql@16.12.0) '@graphql-codegen/cli': specifier: 6.1.1 - version: 6.1.1(@parcel/watcher@2.5.4)(@types/node@24.10.1)(graphql@16.12.0)(typescript@5.9.3) + version: 6.1.1(@parcel/watcher@2.5.6)(@types/node@24.10.1)(graphql@16.12.0)(typescript@5.9.3) '@graphql-codegen/typed-document-node': - specifier: 6.1.5 - version: 6.1.5(graphql@16.12.0) + specifier: 6.1.6 + version: 6.1.6(graphql@16.12.0) '@graphql-codegen/typescript': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-operations': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-urql-graphcache': specifier: 3.1.1 version: 3.1.1(@urql/exchange-graphcache@7.2.4(@urql/core@6.0.1(graphql@16.12.0))(graphql@16.12.0))(graphql-tag@2.12.6(graphql@16.12.0))(graphql@16.12.0) @@ -849,14 +849,14 @@ importers: specifier: 3.2.0 version: 3.2.0(graphql@16.12.0) '@iconify-json/lucide': - specifier: 1.2.86 - version: 1.2.86 + specifier: 1.2.91 + version: 1.2.91 '@import-meta-env/cli': specifier: 0.7.4 version: 0.7.4(@import-meta-env/unplugin@0.6.3) '@intlify/unplugin-vue-i18n': - specifier: 11.0.3 - version: 11.0.3(@vue/compiler-dom@3.5.27)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + specifier: 11.0.7 + version: 11.0.7(@vue/compiler-dom@3.5.28)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) '@relmify/jest-fp-ts': specifier: 2.1.1 version: 2.1.1(fp-ts@2.16.11)(io-ts@2.2.22(fp-ts@2.16.11)) @@ -891,44 +891,44 @@ importers: specifier: 21.0.3 version: 21.0.3 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-vue': - specifier: 6.0.3 - version: 6.0.3(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + specifier: 6.0.4 + version: 6.0.4(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/compiler-sfc': - specifier: 3.5.27 - version: 3.5.27 + specifier: 3.5.28 + version: 3.5.28 '@vue/eslint-config-typescript': - specifier: 14.6.0 - version: 14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 14.7.0 + version: 14.7.0(eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vue/runtime-core': - specifier: 3.5.27 - version: 3.5.27 + specifier: 3.5.28 + version: 3.5.28 autoprefixer: - specifier: 10.4.23 - version: 10.4.23(postcss@8.5.6) + specifier: 10.4.24 + version: 10.4.24(postcss@8.5.6) cross-env: specifier: 10.1.0 version: 10.1.0 dotenv: - specifier: 17.2.3 - version: 17.2.3 + specifier: 17.3.1 + version: 17.3.1 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) eslint-plugin-vue: - specifier: 10.6.2 - version: 10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) + specifier: 10.8.0 + version: 10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))) glob: - specifier: 13.0.0 - version: 13.0.0 + specifier: 13.0.5 + version: 13.0.5 globals: specifier: 16.5.0 version: 16.5.0 @@ -945,17 +945,17 @@ importers: specifier: 8.5.6 version: 8.5.6 prettier: - specifier: 3.8.0 - version: 3.8.0 + specifier: 3.8.1 + version: 3.8.1 prettier-plugin-tailwindcss: specifier: 0.7.1 - version: 0.7.1(prettier@3.8.0) + version: 0.7.1(prettier@3.8.1) rollup-plugin-polyfill-node: specifier: 0.13.0 version: 0.13.0(rollup@4.55.3) sass: - specifier: 1.97.2 - version: 1.97.2 + specifier: 1.97.3 + version: 1.97.3 tailwindcss: specifier: 3.4.16 version: 3.4.16(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)) @@ -967,40 +967,40 @@ importers: version: 5.9.3 unplugin-fonts: specifier: 1.4.0 - version: 1.4.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 1.4.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) unplugin-icons: specifier: 22.5.0 - version: 22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16) + version: 22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 30.0.0 - version: 30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)) + version: 30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)) vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vite-plugin-checker: specifier: 0.11.0 - version: 0.11.0(eslint@9.39.2(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@1.8.8(typescript@5.9.3)) + version: 0.11.0(eslint@9.39.2(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@1.8.8(typescript@5.9.3)) vite-plugin-fonts: specifier: 0.7.0 - version: 0.7.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 0.7.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-html-config: specifier: 2.0.2 - version: 2.0.2(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 2.0.2(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-pages: specifier: 0.33.2 - version: 0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3))) + version: 0.33.2(@vue/compiler-sfc@3.5.28)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3))) vite-plugin-pages-sitemap: specifier: 1.7.1 version: 1.7.1 vite-plugin-pwa: specifier: 1.2.0 - version: 1.2.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) + version: 1.2.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) vite-plugin-vue-layouts: specifier: 0.11.0 - version: 0.11.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + version: 0.11.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) vitest: - specifier: 4.0.17 - version: 4.0.17(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.18 + version: 4.0.18(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vue-tsc: specifier: 1.8.8 version: 1.8.8(typescript@5.9.3) @@ -1017,8 +1017,8 @@ importers: specifier: 6.1.3 version: 6.1.3 lodash: - specifier: 4.17.21 - version: 4.17.21 + specifier: 4.17.23 + version: 4.17.23 parser-ts: specifier: 0.7.0 version: 0.7.0(fp-ts@2.16.11) @@ -1040,7 +1040,7 @@ importers: version: 5.9.3 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) packages/hoppscotch-desktop: dependencies: @@ -1048,8 +1048,8 @@ importers: specifier: 5.2.8 version: 5.2.8 '@fontsource-variable/material-symbols-rounded': - specifier: 5.2.32 - version: 5.2.32 + specifier: 5.2.35 + version: 5.2.35 '@fontsource-variable/roboto-mono': specifier: 5.2.8 version: 5.2.8 @@ -1064,7 +1064,7 @@ importers: version: '@CuriousCorrelation/plugin-appload@https://codeload.github.com/CuriousCorrelation/tauri-plugin-appload/tar.gz/168ff9533258a56de184fb69ad32f8a7f61bae0d' '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@tauri-apps/api': specifier: 2.1.1 version: 2.1.1 @@ -1090,14 +1090,14 @@ importers: specifier: 7.8.2 version: 7.8.2 vue: - specifier: 3.5.27 - version: 3.5.27(typescript@5.9.3) + specifier: 3.5.28 + version: 3.5.28(typescript@5.9.3) vue-router: specifier: 4.6.4 - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) + version: 4.6.4(vue@3.5.28(typescript@5.9.3)) vue-tippy: specifier: 6.7.1 - version: 6.7.1(vue@3.5.27(typescript@5.9.3)) + version: 6.7.1(vue@3.5.28(typescript@5.9.3)) zod: specifier: 3.25.32 version: 3.25.32 @@ -1109,8 +1109,8 @@ importers: specifier: 9.39.2 version: 9.39.2 '@iconify-json/lucide': - specifier: 1.2.86 - version: 1.2.86 + specifier: 1.2.91 + version: 1.2.91 '@rushstack/eslint-patch': specifier: 1.15.0 version: 1.15.0 @@ -1118,29 +1118,29 @@ importers: specifier: 2.9.3 version: 2.9.3 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-vue': - specifier: 6.0.3 - version: 6.0.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + specifier: 6.0.4 + version: 6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/eslint-config-typescript': - specifier: 14.6.0 - version: 14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 14.7.0 + version: 14.7.0(eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) autoprefixer: - specifier: 10.4.23 - version: 10.4.23(postcss@8.5.6) + specifier: 10.4.24 + version: 10.4.24(postcss@8.5.6) eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) eslint-plugin-vue: - specifier: 10.6.2 - version: 10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) + specifier: 10.8.0 + version: 10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))) globals: specifier: 16.5.0 version: 16.5.0 @@ -1148,23 +1148,23 @@ importers: specifier: 8.5.6 version: 8.5.6 sass: - specifier: 1.97.2 - version: 1.97.2 + specifier: 1.97.3 + version: 1.97.3 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + version: 3.4.16(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) typescript: specifier: 5.9.3 version: 5.9.3 unplugin-icons: specifier: 22.5.0 - version: 22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16) + version: 22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 30.0.0 - version: 30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)) + version: 30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)) vite: specifier: 7.3.1 - version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vue-tsc: specifier: 2.2.0 version: 2.2.0(typescript@5.9.3) @@ -1199,16 +1199,16 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: ^1.0.1 - version: 1.4.0(svelte@3.59.2)(vite@3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1)) + version: 1.4.0(svelte@3.59.2)(vite@3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1)) '@tauri-apps/cli': specifier: ^2.0.0-alpha.17 - version: 2.9.4 + version: 2.9.3 svelte: specifier: ^3.49.0 version: 3.59.2 vite: specifier: ^3.0.2 - version: 3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1) + version: 3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1) packages/hoppscotch-desktop/plugin-workspace/tauri-plugin-relay: dependencies: @@ -1250,11 +1250,11 @@ importers: specifier: 6.0.2 version: 6.0.2 lodash: - specifier: 4.17.21 - version: 4.17.21 + specifier: 4.17.23 + version: 4.17.23 lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 devDependencies: '@digitak/esrun': specifier: 3.2.26 @@ -1281,11 +1281,11 @@ importers: specifier: 24.10.1 version: 24.10.1 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) @@ -1294,7 +1294,7 @@ importers: version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) globals: specifier: 16.5.0 version: 16.5.0 @@ -1302,17 +1302,17 @@ importers: specifier: 2.2.22 version: 2.2.22(fp-ts@2.16.11) prettier: - specifier: 3.8.0 - version: 3.8.0 + specifier: 3.8.1 + version: 3.8.1 typescript: specifier: 5.9.3 version: 5.9.3 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vitest: - specifier: 4.0.17 - version: 4.0.17(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + specifier: 4.0.18 + version: 4.0.18(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) packages/hoppscotch-kernel: dependencies: @@ -1338,8 +1338,8 @@ importers: specifier: 1.0.20 version: 1.0.20 axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 fp-ts: specifier: 2.16.11 version: 2.16.11 @@ -1357,17 +1357,17 @@ importers: specifier: 24.9.1 version: 24.9.1 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) globals: specifier: 16.5.0 version: 16.5.0 @@ -1376,7 +1376,7 @@ importers: version: 5.9.3 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.9.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@24.9.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) packages/hoppscotch-selfhost-web: dependencies: @@ -1384,8 +1384,8 @@ importers: specifier: 5.2.8 version: 5.2.8 '@fontsource-variable/material-symbols-rounded': - specifier: 5.2.32 - version: 5.2.32 + specifier: 5.2.35 + version: 5.2.35 '@fontsource-variable/roboto-mono': specifier: 5.2.8 version: 5.2.8 @@ -1403,7 +1403,7 @@ importers: version: '@CuriousCorrelation/plugin-appload@https://codeload.github.com/CuriousCorrelation/tauri-plugin-appload/tar.gz/168ff9533258a56de184fb69ad32f8a7f61bae0d' '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@import-meta-env/unplugin': specifier: 0.6.3 version: 0.6.3 @@ -1420,17 +1420,17 @@ importers: specifier: 2.2.1 version: 2.2.1 '@vueuse/core': - specifier: 14.1.0 - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) + specifier: 14.2.1 + version: 14.2.1(vue@3.5.28(typescript@5.9.3)) axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 buffer: specifier: 6.0.3 version: 6.0.3 dioc: specifier: 3.0.2 - version: 3.0.2(vue@3.5.27(typescript@5.9.3)) + version: 3.0.2(vue@3.5.28(typescript@5.9.3)) fp-ts: specifier: 2.16.11 version: 2.16.11 @@ -1450,8 +1450,8 @@ importers: specifier: 0.4.0 version: 0.4.0(zod@3.25.32) vue: - specifier: 3.5.27 - version: 3.5.27(typescript@5.9.3) + specifier: 3.5.28 + version: 3.5.28(typescript@5.9.3) workbox-window: specifier: 7.4.0 version: 7.4.0 @@ -1470,16 +1470,16 @@ importers: version: 6.0.0(graphql@16.12.0) '@graphql-codegen/cli': specifier: 6.1.1 - version: 6.1.1(@parcel/watcher@2.5.4)(@types/node@25.0.9)(graphql@16.12.0)(typescript@5.9.3) + version: 6.1.1(@parcel/watcher@2.5.6)(@types/node@25.2.3)(graphql@16.12.0)(typescript@5.9.3) '@graphql-codegen/typed-document-node': - specifier: 6.1.5 - version: 6.1.5(graphql@16.12.0) + specifier: 6.1.6 + version: 6.1.6(graphql@16.12.0) '@graphql-codegen/typescript': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-operations': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-urql-graphcache': specifier: 3.1.1 version: 3.1.1(@urql/exchange-graphcache@7.2.4(@urql/core@6.0.1(graphql@16.12.0))(graphql@16.12.0))(graphql-tag@2.12.6(graphql@16.12.0))(graphql@16.12.0) @@ -1490,47 +1490,47 @@ importers: specifier: 3.2.0 version: 3.2.0(graphql@16.12.0) '@iconify-json/lucide': - specifier: 1.2.86 - version: 1.2.86 + specifier: 1.2.91 + version: 1.2.91 '@intlify/unplugin-vue-i18n': - specifier: 11.0.3 - version: 11.0.3(@vue/compiler-dom@3.5.27)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + specifier: 11.0.7 + version: 11.0.7(@vue/compiler-dom@3.5.28)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) '@rushstack/eslint-patch': specifier: 1.15.0 version: 1.15.0 '@typescript-eslint/eslint-plugin': - specifier: 8.53.1 - version: 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/parser': - specifier: 8.53.1 - version: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 8.56.0 + version: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) '@vitejs/plugin-legacy': specifier: 7.2.1 - version: 7.2.1(terser@5.44.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 7.2.1(terser@5.44.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) '@vitejs/plugin-vue': - specifier: 6.0.3 - version: 6.0.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + specifier: 6.0.4 + version: 6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/eslint-config-typescript': - specifier: 14.6.0 - version: 14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + specifier: 14.7.0 + version: 14.7.0(eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) autoprefixer: - specifier: 10.4.23 - version: 10.4.23(postcss@8.5.6) + specifier: 10.4.24 + version: 10.4.24(postcss@8.5.6) cross-env: specifier: 10.1.0 version: 10.1.0 dotenv: - specifier: 17.2.3 - version: 17.2.3 + specifier: 17.3.1 + version: 17.3.1 eslint: specifier: 9.39.2 version: 9.39.2(jiti@2.6.1) eslint-plugin-prettier: specifier: 5.5.5 - version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0) + version: 5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1) eslint-plugin-vue: - specifier: 10.6.2 - version: 10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) + specifier: 10.8.0 + version: 10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))) globals: specifier: 16.5.0 version: 16.5.0 @@ -1542,49 +1542,49 @@ importers: version: 8.5.6 prettier-plugin-tailwindcss: specifier: 0.7.1 - version: 0.7.1(prettier@3.8.0) + version: 0.7.1(prettier@3.8.1) tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + version: 3.4.16(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) typescript: specifier: 5.9.3 version: 5.9.3 unplugin-fonts: specifier: 1.4.0 - version: 1.4.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 1.4.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) unplugin-icons: specifier: 22.5.0 - version: 22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16) + version: 22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 30.0.0 - version: 30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)) + version: 30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)) vite: specifier: 7.3.1 - version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vite-plugin-fonts: specifier: 0.7.0 - version: 0.7.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 0.7.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-html-config: specifier: 2.0.2 - version: 2.0.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 2.0.2(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-inspect: specifier: 11.3.3 - version: 11.3.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 11.3.3(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-pages: specifier: 0.33.2 - version: 0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3))) + version: 0.33.2(@vue/compiler-sfc@3.5.28)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3))) vite-plugin-pages-sitemap: specifier: 1.7.1 version: 1.7.1 vite-plugin-pwa: specifier: 1.2.0 - version: 1.2.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) + version: 1.2.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0) vite-plugin-static-copy: - specifier: 3.1.5 - version: 3.1.5(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + specifier: 3.2.0 + version: 3.2.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite-plugin-vue-layouts: specifier: 0.11.0 - version: 0.11.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + version: 0.11.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) vue-tsc: specifier: 2.1.6 version: 2.1.6(typescript@5.9.3) @@ -1595,8 +1595,8 @@ importers: specifier: 5.2.8 version: 5.2.8 '@fontsource-variable/material-symbols-rounded': - specifier: 5.2.32 - version: 5.2.32 + specifier: 5.2.35 + version: 5.2.35 '@fontsource-variable/roboto-mono': specifier: 5.2.8 version: 5.2.8 @@ -1605,13 +1605,13 @@ importers: version: 3.2.0(graphql@16.12.0) '@hoppscotch/ui': specifier: 0.2.5 - version: 0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + version: 0.2.5(eslint@10.0.0(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@hoppscotch/vue-toasted': specifier: 0.1.0 - version: 0.1.0(vue@3.5.27(typescript@5.9.3)) + version: 0.1.0(vue@3.5.28(typescript@5.9.3)) '@intlify/unplugin-vue-i18n': - specifier: 11.0.3 - version: 11.0.3(@vue/compiler-dom@3.5.27)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + specifier: 11.0.7 + version: 11.0.7(@vue/compiler-dom@3.5.28)(eslint@10.0.0(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) '@types/cors': specifier: 2.8.19 version: 2.8.19 @@ -1620,16 +1620,16 @@ importers: version: 3.0.0(@urql/core@6.0.1(graphql@16.12.0)) '@urql/vue': specifier: 2.0.0 - version: 2.0.0(@urql/core@6.0.1(graphql@16.12.0))(vue@3.5.27(typescript@5.9.3)) + version: 2.0.0(@urql/core@6.0.1(graphql@16.12.0))(vue@3.5.28(typescript@5.9.3)) '@vueuse/core': - specifier: 14.1.0 - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) + specifier: 14.2.1 + version: 14.2.1(vue@3.5.28(typescript@5.9.3)) axios: - specifier: 1.13.2 - version: 1.13.2 + specifier: 1.13.5 + version: 1.13.5 cors: - specifier: 2.8.5 - version: 2.8.5 + specifier: 2.8.6 + version: 2.8.6 date-fns: specifier: 4.1.0 version: 4.1.0 @@ -1643,72 +1643,72 @@ importers: specifier: 2.2.22 version: 2.2.22(fp-ts@2.16.11) lodash-es: - specifier: 4.17.22 - version: 4.17.22 + specifier: 4.17.23 + version: 4.17.23 postcss: specifier: 8.5.6 version: 8.5.6 prettier-plugin-tailwindcss: specifier: 0.7.1 - version: 0.7.1(prettier@3.8.0) + version: 0.7.1(prettier@3.8.1) rxjs: specifier: 7.8.2 version: 7.8.2 tailwindcss: specifier: 3.4.16 - version: 3.4.16(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + version: 3.4.16(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)) tippy.js: specifier: 6.3.7 version: 6.3.7 ts-node-dev: specifier: 2.0.0 - version: 2.0.0(@types/node@25.0.9)(typescript@5.9.3) + version: 2.0.0(@types/node@24.10.1)(typescript@5.9.3) unplugin-icons: specifier: 22.5.0 - version: 22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16) + version: 22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16) unplugin-vue-components: specifier: 30.0.0 - version: 30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)) + version: 30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)) vue: - specifier: 3.5.27 - version: 3.5.27(typescript@5.9.3) + specifier: 3.5.28 + version: 3.5.28(typescript@5.9.3) vue-i18n: specifier: 11.2.8 - version: 11.2.8(vue@3.5.27(typescript@5.9.3)) + version: 11.2.8(vue@3.5.28(typescript@5.9.3)) vue-router: specifier: 4.6.4 - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) + version: 4.6.4(vue@3.5.28(typescript@5.9.3)) vue-tippy: specifier: 6.7.1 - version: 6.7.1(vue@3.5.27(typescript@5.9.3)) + version: 6.7.1(vue@3.5.28(typescript@5.9.3)) devDependencies: '@graphql-codegen/cli': specifier: 6.1.1 - version: 6.1.1(@parcel/watcher@2.5.4)(@types/node@25.0.9)(graphql@16.12.0)(typescript@5.9.3) + version: 6.1.1(@parcel/watcher@2.5.6)(@types/node@24.10.1)(graphql@16.12.0)(typescript@5.9.3) '@graphql-codegen/client-preset': - specifier: 5.2.2 - version: 5.2.2(graphql@16.12.0) + specifier: 5.2.3 + version: 5.2.3(graphql@16.12.0) '@graphql-codegen/introspection': specifier: 5.0.0 version: 5.0.0(graphql@16.12.0) '@graphql-codegen/typed-document-node': - specifier: 6.1.5 - version: 6.1.5(graphql@16.12.0) + specifier: 6.1.6 + version: 6.1.6(graphql@16.12.0) '@graphql-codegen/typescript': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-document-nodes': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/typescript-operations': - specifier: 5.0.7 - version: 5.0.7(graphql@16.12.0) + specifier: 5.0.8 + version: 5.0.8(graphql@16.12.0) '@graphql-codegen/urql-introspection': specifier: 3.0.1 version: 3.0.1(graphql@16.12.0) '@iconify-json/lucide': - specifier: 1.2.86 - version: 1.2.86 + specifier: 1.2.91 + version: 1.2.91 '@import-meta-env/cli': specifier: 0.7.4 version: 0.7.4(@import-meta-env/unplugin@0.6.3) @@ -1719,17 +1719,17 @@ importers: specifier: 4.17.12 version: 4.17.12 '@vitejs/plugin-vue': - specifier: 6.0.3 - version: 6.0.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3)) + specifier: 6.0.4 + version: 6.0.4(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/compiler-sfc': - specifier: 3.5.27 - version: 3.5.27 + specifier: 3.5.28 + version: 3.5.28 autoprefixer: - specifier: 10.4.23 - version: 10.4.23(postcss@8.5.6) + specifier: 10.4.24 + version: 10.4.24(postcss@8.5.6) dotenv: - specifier: 17.2.3 - version: 17.2.3 + specifier: 17.3.1 + version: 17.3.1 graphql-tag: specifier: 2.12.6 version: 2.12.6(graphql@16.12.0) @@ -1740,26 +1740,26 @@ importers: specifier: 4.1.5 version: 4.1.5 sass: - specifier: 1.97.2 - version: 1.97.2 + specifier: 1.97.3 + version: 1.97.3 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@25.0.9)(typescript@5.9.3) + version: 10.9.2(@types/node@24.10.1)(typescript@5.9.3) typescript: specifier: 5.9.3 version: 5.9.3 unplugin-fonts: specifier: 1.4.0 - version: 1.4.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + version: 1.4.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) vite: specifier: 7.3.1 - version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + version: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vite-plugin-pages: specifier: 0.33.2 - version: 0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3))) + version: 0.33.2(@vue/compiler-sfc@3.5.28)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3))) vite-plugin-vue-layouts: specifier: 0.11.0 - version: 0.11.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + version: 0.11.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) vue-tsc: specifier: 2.1.6 version: 2.1.6(typescript@5.9.3) @@ -1882,8 +1882,8 @@ packages: peerDependencies: '@apollo/server': ^4.0.0 - '@apollo/server@5.2.0': - resolution: {integrity: sha512-OEAl5bwVitkvVkmZlgWksSnQ10FUr6q2qJMdkexs83lsvOGmd/y81X5LoETmKZux8UiQsy/A/xzP00b8hTHH/w==} + '@apollo/server@5.4.0': + resolution: {integrity: sha512-E0/2C5Rqp7bWCjaDh4NzYuEPDZ+dltTf2c0FI6GCKJA6GBetVferX3h1//1rS4+NxD36wrJsGGJK+xyT/M3ysg==} engines: {node: '>=20'} peerDependencies: graphql: ^16.11.0 @@ -1986,185 +1986,30 @@ packages: '@asamuzakjp/nwsapi@2.3.9': resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} - '@aws-crypto/sha256-browser@5.2.0': - resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} - - '@aws-crypto/sha256-js@5.2.0': - resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} - engines: {node: '>=16.0.0'} - - '@aws-crypto/supports-web-crypto@5.2.0': - resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} - - '@aws-crypto/util@5.2.0': - resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - - '@aws-sdk/client-sesv2@3.936.0': - resolution: {integrity: sha512-jRWRuFixdCB9x56Hs3GyOZwolD0W6EgJXdkLyjC7CxudMHSt5NHdAt5dDxof54azjT9Lnt3Fiae2gZ4SsGqOVg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/client-sso@3.936.0': - resolution: {integrity: sha512-0G73S2cDqYwJVvqL08eakj79MZG2QRaB56Ul8/Ps9oQxllr7DMI1IQ/N3j3xjxgpq/U36pkoFZ8aK1n7Sbr3IQ==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/core@3.936.0': - resolution: {integrity: sha512-eGJ2ySUMvgtOziHhDRDLCrj473RJoL4J1vPjVM3NrKC/fF3/LoHjkut8AAnKmrW6a2uTzNKubigw8dEnpmpERw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-env@3.936.0': - resolution: {integrity: sha512-dKajFuaugEA5i9gCKzOaVy9uTeZcApE+7Z5wdcZ6j40523fY1a56khDAUYkCfwqa7sHci4ccmxBkAo+fW1RChA==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-http@3.936.0': - resolution: {integrity: sha512-5FguODLXG1tWx/x8fBxH+GVrk7Hey2LbXV5h9SFzYCx/2h50URBm0+9hndg0Rd23+xzYe14F6SI9HA9c1sPnjg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-ini@3.936.0': - resolution: {integrity: sha512-TbUv56ERQQujoHcLMcfL0Q6bVZfYF83gu/TjHkVkdSlHPOIKaG/mhE2XZSQzXv1cud6LlgeBbfzVAxJ+HPpffg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-login@3.936.0': - resolution: {integrity: sha512-8DVrdRqPyUU66gfV7VZNToh56ZuO5D6agWrkLQE/xbLJOm2RbeRgh6buz7CqV8ipRd6m+zCl9mM4F3osQLZn8Q==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-node@3.936.0': - resolution: {integrity: sha512-rk/2PCtxX9xDsQW8p5Yjoca3StqmQcSfkmD7nQ61AqAHL1YgpSQWqHE+HjfGGiHDYKG7PvE33Ku2GyA7lEIJAw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-process@3.936.0': - resolution: {integrity: sha512-GpA4AcHb96KQK2PSPUyvChvrsEKiLhQ5NWjeef2IZ3Jc8JoosiedYqp6yhZR+S8cTysuvx56WyJIJc8y8OTrLA==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-sso@3.936.0': - resolution: {integrity: sha512-wHlEAJJvtnSyxTfNhN98JcU4taA1ED2JvuI2eePgawqBwS/Tzi0mhED1lvNIaWOkjfLd+nHALwszGrtJwEq4yQ==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.936.0': - resolution: {integrity: sha512-v3qHAuoODkoRXsAF4RG+ZVO6q2P9yYBT4GMpMEfU9wXVNn7AIfwZgTwzSUfnjNiGva5BKleWVpRpJ9DeuLFbUg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/middleware-host-header@3.936.0': - resolution: {integrity: sha512-tAaObaAnsP1XnLGndfkGWFuzrJYuk9W0b/nLvol66t8FZExIAf/WdkT2NNAWOYxljVs++oHnyHBCxIlaHrzSiw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/middleware-logger@3.936.0': - resolution: {integrity: sha512-aPSJ12d3a3Ea5nyEnLbijCaaYJT2QjQ9iW+zGh5QcZYXmOGWbKVyPSxmVOboZQG+c1M8t6d2O7tqrwzIq8L8qw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.936.0': - resolution: {integrity: sha512-l4aGbHpXM45YNgXggIux1HgsCVAvvBoqHPkqLnqMl9QVapfuSTjJHfDYDsx1Xxct6/m7qSMUzanBALhiaGO2fA==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/middleware-sdk-s3@3.936.0': - resolution: {integrity: sha512-UQs/pVq4cOygsnKON0pOdSKIWkfgY0dzq4h+fR+xHi/Ng3XzxPJhWeAE6tDsKrcyQc1X8UdSbS70XkfGYr5hng==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/middleware-user-agent@3.936.0': - resolution: {integrity: sha512-YB40IPa7K3iaYX0lSnV9easDOLPLh+fJyUDF3BH8doX4i1AOSsYn86L4lVldmOaSX+DwiaqKHpvk4wPBdcIPWw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/nested-clients@3.936.0': - resolution: {integrity: sha512-eyj2tz1XmDSLSZQ5xnB7cLTVKkSJnYAEoNDSUNhzWPxrBDYeJzIbatecOKceKCU8NBf8gWWZCK/CSY0mDxMO0A==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/region-config-resolver@3.936.0': - resolution: {integrity: sha512-wOKhzzWsshXGduxO4pqSiNyL9oUtk4BEvjWm9aaq6Hmfdoydq6v6t0rAGHWPjFwy9z2haovGRi3C8IxdMB4muw==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/signature-v4-multi-region@3.936.0': - resolution: {integrity: sha512-8qS0GFUqkmwO7JZ0P8tdluBmt1UTfYUah8qJXGzNh9n1Pcb0AIeT117cCSiCUtwk+gDbJvd4hhRIhJCNr5wgjg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/token-providers@3.936.0': - resolution: {integrity: sha512-vvw8+VXk0I+IsoxZw0mX9TMJawUJvEsg3EF7zcCSetwhNPAU8Xmlhv7E/sN/FgSmm7b7DsqKoW6rVtQiCs1PWQ==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/types@3.936.0': - resolution: {integrity: sha512-uz0/VlMd2pP5MepdrHizd+T+OKfyK4r3OA9JI+L/lPKg0YFQosdJNCKisr6o70E3dh8iMpFYxF1UN/4uZsyARg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/util-arn-parser@3.893.0': - resolution: {integrity: sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/util-endpoints@3.936.0': - resolution: {integrity: sha512-0Zx3Ntdpu+z9Wlm7JKUBOzS9EunwKAb4KdGUQQxDqh5Lc3ta5uBoub+FgmVuzwnmBu9U1Os8UuwVTH0Lgu+P5w==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/util-locate-window@3.893.0': - resolution: {integrity: sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==} - engines: {node: '>=18.0.0'} - - '@aws-sdk/util-user-agent-browser@3.936.0': - resolution: {integrity: sha512-eZ/XF6NxMtu+iCma58GRNRxSq4lHo6zHQLOZRIeL/ghqYJirqHdenMOwrzPettj60KWlv827RVebP9oNVrwZbw==} - - '@aws-sdk/util-user-agent-node@3.936.0': - resolution: {integrity: sha512-XOEc7PF9Op00pWV2AYCGDSu5iHgYjIO53Py2VUQTIvP7SRCaCsXmA33mjBvC2Ms6FhSyWNa4aK4naUGIz0hQcw==} - engines: {node: '>=18.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - - '@aws-sdk/xml-builder@3.930.0': - resolution: {integrity: sha512-YIfkD17GocxdmlUVc3ia52QhcWuRIUJonbF8A2CYfcWNV3HzvAqpcPeC0bYUhkK+8e8YO1ARnLKZQE0TlwzorA==} - engines: {node: '>=18.0.0'} - - '@aws/lambda-invoke-store@0.2.1': - resolution: {integrity: sha512-sIyFcoPZkTtNu9xFeEoynMef3bPJIAbOfUh+ueYcfhVl6xm2VRtMcMclSxmZCMnHHd4hlYKJeq/aggmBEWynww==} - engines: {node: '>=18.0.0'} - - '@babel/code-frame@7.27.1': - resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} - engines: {node: '>=6.9.0'} - - '@babel/code-frame@7.28.6': - resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.5': - resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.28.6': - resolution: {integrity: sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.28.5': - resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/core@7.28.6': - resolution: {integrity: sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==} + '@babel/compat-data@7.29.0': + resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.5': - resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.28.6': - resolution: {integrity: sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==} + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.27.2': - resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.28.6': resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.5': - resolution: {integrity: sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.28.6': resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} engines: {node: '>=6.9.0'} @@ -2177,8 +2022,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.5': - resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + '@babel/helper-define-polyfill-provider@0.6.6': + resolution: {integrity: sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -2190,20 +2035,10 @@ packages: resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.27.1': - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.28.6': resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.28.3': - resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.28.6': resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} @@ -2214,10 +2049,6 @@ packages: resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.27.1': - resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.28.6': resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} engines: {node: '>=6.9.0'} @@ -2228,12 +2059,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.27.1': - resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-replace-supers@7.28.6': resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} engines: {node: '>=6.9.0'} @@ -2260,21 +2085,12 @@ packages: resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.4': - resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.6': resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.5': - resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.28.6': - resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==} + '@babel/parser@7.29.0': + resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==} engines: {node: '>=6.0.0'} hasBin: true @@ -2302,12 +2118,6 @@ packages: peerDependencies: '@babel/core': ^7.13.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': - resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6': resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==} engines: {node: '>=6.9.0'} @@ -2361,24 +2171,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.28.6': resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.27.1': - resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.28.6': resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==} engines: {node: '>=6.9.0'} @@ -2461,20 +2259,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.28.0': - resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-generator-functions@7.28.6': - resolution: {integrity: sha512-9knsChgsMzBV5Yh3kkhrZNxH3oCYAfMBkNNaVN4cP2RVlFPe8wYdwwcnOsAbkdDoV9UjFtOXWrWB52M8W4jNeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.27.1': - resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + '@babel/plugin-transform-async-generator-functions@7.29.0': + resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2491,60 +2277,30 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.5': - resolution: {integrity: sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.6': resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.27.1': - resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-properties@7.28.6': resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-class-static-block@7.28.3': - resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - '@babel/plugin-transform-class-static-block@7.28.6': resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - '@babel/plugin-transform-classes@7.28.4': - resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-classes@7.28.6': resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.27.1': - resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-computed-properties@7.28.6': resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==} engines: {node: '>=6.9.0'} @@ -2557,12 +2313,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.28.6': resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==} engines: {node: '>=6.9.0'} @@ -2575,14 +2325,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6': - resolution: {integrity: sha512-5suVoXjC14lUN6ZL9OLKIHCNVWCrqGqlmEp/ixdXjvgnEl/kauLvvMO/Xw9NyMc95Joj1AeLVPVMvibBgSoFlA==} + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2593,24 +2337,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-explicit-resource-management@7.28.0': - resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-explicit-resource-management@7.28.6': resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.28.5': - resolution: {integrity: sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-exponentiation-operator@7.28.6': resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==} engines: {node: '>=6.9.0'} @@ -2641,12 +2373,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.28.6': resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==} engines: {node: '>=6.9.0'} @@ -2659,12 +2385,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.28.5': - resolution: {integrity: sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-logical-assignment-operators@7.28.6': resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==} engines: {node: '>=6.9.0'} @@ -2683,20 +2403,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.28.6': resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.28.5': - resolution: {integrity: sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==} + '@babel/plugin-transform-modules-systemjs@7.29.0': + resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2707,8 +2421,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0': + resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2719,36 +2433,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': - resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6': resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.27.1': - resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-numeric-separator@7.28.6': resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.4': - resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-rest-spread@7.28.6': resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==} engines: {node: '>=6.9.0'} @@ -2761,24 +2457,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.27.1': - resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.28.6': resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.28.5': - resolution: {integrity: sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-chaining@7.28.6': resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==} engines: {node: '>=6.9.0'} @@ -2791,24 +2475,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.27.1': - resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-methods@7.28.6': resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.27.1': - resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.28.6': resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==} engines: {node: '>=6.9.0'} @@ -2833,24 +2505,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regenerator@7.28.4': - resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.28.6': - resolution: {integrity: sha512-eZhoEZHYQLL5uc1gS5e9/oTknS0sSSAtd5TkKMUp3J+S/CaUjagc0kOUPsEbDmMeva0nC3WWl4SxVY6+OBuxfw==} + '@babel/plugin-transform-regenerator@7.29.0': + resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-regexp-modifiers@7.28.6': resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==} engines: {node: '>=6.9.0'} @@ -2869,12 +2529,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.27.1': - resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-spread@7.28.6': resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==} engines: {node: '>=6.9.0'} @@ -2905,12 +2559,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-property-regex@7.28.6': resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==} engines: {node: '>=6.9.0'} @@ -2923,26 +2571,14 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + '@babel/plugin-transform-unicode-sets-regex@7.28.6': + resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-unicode-sets-regex@7.28.6': - resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.28.5': - resolution: {integrity: sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-env@7.28.6': - resolution: {integrity: sha512-GaTI4nXDrs7l0qaJ6Rg06dtOXTBCG6TMDB44zbqofCIC4PqC7SEvmFFtpxzCDw9W5aJ7RKVshgXTLvLdBFV/qw==} + '@babel/preset-env@7.29.0': + resolution: {integrity: sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2952,10 +2588,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/runtime@7.28.4': - resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.6': resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} @@ -2964,28 +2596,16 @@ packages: resolution: {integrity: sha512-1DViPYJpRU50irpGMfLBQ9B4kyfQuL6X7SS7pwTeWeZX0mNkjzPi0XFqxCjSdddZXUQy4AhnQnnesA/ZHnvAdw==} engines: {node: '>=6.9.0'} - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} - engines: {node: '>=6.9.0'} - '@babel/template@7.28.6': resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.28.5': - resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.28.6': - resolution: {integrity: sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==} + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} - '@babel/types@7.28.5': - resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.28.6': - resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -2997,7 +2617,7 @@ packages: '@boringer-avatars/vue3@0.2.1': resolution: {integrity: sha512-KzAfh31SDXToTvFL0tBNG5Ur+VzfD1PP4jmY5/GS+eIuObGTIAiUu9eiht0LjuAGI+0xCgnaEgsTrOx8H3vLOQ==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@chevrotain/cst-dts-gen@10.5.0': resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==} @@ -3051,73 +2671,73 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@commitlint/cli@20.2.0': - resolution: {integrity: sha512-l37HkrPZ2DZy26rKiTUvdq/LZtlMcxz+PeLv9dzK9NzoFGuJdOQyYU7IEkEQj0pO++uYue89wzOpZ0hcTtoqUA==} + '@commitlint/cli@20.4.1': + resolution: {integrity: sha512-uuFKKpc7OtQM+6SRqT+a4kV818o1pS+uvv/gsRhyX7g4x495jg+Q7P0+O9VNGyLXBYP0syksS7gMRDJKcekr6A==} engines: {node: '>=v18'} hasBin: true - '@commitlint/config-conventional@20.3.1': - resolution: {integrity: sha512-NCzwvxepstBZbmVXsvg49s+shCxlJDJPWxXqONVcAtJH9wWrOlkMQw/zyl+dJmt8lyVopt5mwQ3mR5M2N2rUWg==} + '@commitlint/config-conventional@20.4.1': + resolution: {integrity: sha512-0YUvIeBtpi86XriqrR+TCULVFiyYTIOEPjK7tTRMxjcBm1qlzb+kz7IF2WxL6Fq5DaundG8VO37BNgMkMTBwqA==} engines: {node: '>=v18'} - '@commitlint/config-validator@20.3.1': - resolution: {integrity: sha512-ErVLC/IsHhcvxCyh+FXo7jy12/nkQySjWXYgCoQbZLkFp4hysov8KS6CdxBB0cWjbZWjvNOKBMNoUVqkmGmahw==} + '@commitlint/config-validator@20.4.0': + resolution: {integrity: sha512-zShmKTF+sqyNOfAE0vKcqnpvVpG0YX8F9G/ZIQHI2CoKyK+PSdladXMSns400aZ5/QZs+0fN75B//3Q5CHw++w==} engines: {node: '>=v18'} - '@commitlint/ensure@20.3.1': - resolution: {integrity: sha512-h664FngOEd7bHAm0j8MEKq+qm2mH+V+hwJiIE2bWcw3pzJMlO0TPKtk0ATyRAtV6jQw+xviRYiIjjSjfajiB5w==} + '@commitlint/ensure@20.4.1': + resolution: {integrity: sha512-WLQqaFx1pBooiVvBrA1YfJNFqZF8wS/YGOtr5RzApDbV9tQ52qT5VkTsY65hFTnXhW8PcDfZLaknfJTmPejmlw==} engines: {node: '>=v18'} '@commitlint/execute-rule@20.0.0': resolution: {integrity: sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==} engines: {node: '>=v18'} - '@commitlint/format@20.3.1': - resolution: {integrity: sha512-jfsjGPFTd2Yti2YHwUH4SPRPbWKAJAwrfa3eNa9bXEdrXBb9mCwbIrgYX38LdEJK9zLJ3AsLBP4/FLEtxyu2AA==} + '@commitlint/format@20.4.0': + resolution: {integrity: sha512-i3ki3WR0rgolFVX6r64poBHXM1t8qlFel1G1eCBvVgntE3fCJitmzSvH5JD/KVJN/snz6TfaX2CLdON7+s4WVQ==} engines: {node: '>=v18'} - '@commitlint/is-ignored@20.3.1': - resolution: {integrity: sha512-tWwAoh93QvAhxgp99CzCuHD86MgxE4NBtloKX+XxQxhfhSwHo7eloiar/yzx53YW9eqSLP95zgW2KDDk4/WX+A==} + '@commitlint/is-ignored@20.4.1': + resolution: {integrity: sha512-In5EO4JR1lNsAv1oOBBO24V9ND1IqdAJDKZiEpdfjDl2HMasAcT7oA+5BKONv1pRoLG380DGPE2W2RIcUwdgLA==} engines: {node: '>=v18'} - '@commitlint/lint@20.3.1': - resolution: {integrity: sha512-LaOtrQ24+6SfUaWg8A+a+Wc77bvLbO5RIr6iy9F7CI3/0iq1uPEWgGRCwqWTuLGHkZDAcwaq0gZ01zpwZ1jCGw==} + '@commitlint/lint@20.4.1': + resolution: {integrity: sha512-g94LrGl/c6UhuhDQqNqU232aslLEN2vzc7MPfQTHzwzM4GHNnEAwVWWnh0zX8S5YXecuLXDwbCsoGwmpAgPWKA==} engines: {node: '>=v18'} - '@commitlint/load@20.3.1': - resolution: {integrity: sha512-YDD9XA2XhgYgbjju8itZ/weIvOOobApDqwlPYCX5NLO/cPtw2UMO5Cmn44Ks8RQULUVI5fUT6roKvyxcoLbNmw==} + '@commitlint/load@20.4.0': + resolution: {integrity: sha512-Dauup/GfjwffBXRJUdlX/YRKfSVXsXZLnINXKz0VZkXdKDcaEILAi9oflHGbfydonJnJAbXEbF3nXPm9rm3G6A==} engines: {node: '>=v18'} - '@commitlint/message@20.0.0': - resolution: {integrity: sha512-gLX4YmKnZqSwkmSB9OckQUrI5VyXEYiv3J5JKZRxIp8jOQsWjZgHSG/OgEfMQBK9ibdclEdAyIPYggwXoFGXjQ==} + '@commitlint/message@20.4.0': + resolution: {integrity: sha512-B5lGtvHgiLAIsK5nLINzVW0bN5hXv+EW35sKhYHE8F7V9Uz1fR4tx3wt7mobA5UNhZKUNgB/+ldVMQE6IHZRyA==} engines: {node: '>=v18'} - '@commitlint/parse@20.3.1': - resolution: {integrity: sha512-TuUTdbLpyUNLgDzLDYlI2BeTE6V/COZbf3f8WwsV0K6eq/2nSpNTMw7wHtXb+YxeY9wwxBp/Ldad4P+YIxHJoA==} + '@commitlint/parse@20.4.1': + resolution: {integrity: sha512-XNtZjeRcFuAfUnhYrCY02+mpxwY4OmnvD3ETbVPs25xJFFz1nRo/25nHj+5eM+zTeRFvWFwD4GXWU2JEtoK1/w==} engines: {node: '>=v18'} - '@commitlint/read@20.3.1': - resolution: {integrity: sha512-nCmJAdIg3OdNVUpQW0Idk/eF/vfOo2W2xzmvRmNeptLrzFK7qhwwl/kIwy1Q1LZrKHUFNj7PGNpIT5INbgZWzA==} + '@commitlint/read@20.4.0': + resolution: {integrity: sha512-QfpFn6/I240ySEGv7YWqho4vxqtPpx40FS7kZZDjUJ+eHxu3azfhy7fFb5XzfTqVNp1hNoI3tEmiEPbDB44+cg==} engines: {node: '>=v18'} - '@commitlint/resolve-extends@20.3.1': - resolution: {integrity: sha512-iGTGeyaoDyHDEZNjD8rKeosjSNs8zYanmuowY4ful7kFI0dnY4b5QilVYaFQJ6IM27S57LAeH5sKSsOHy4bw5w==} + '@commitlint/resolve-extends@20.4.0': + resolution: {integrity: sha512-ay1KM8q0t+/OnlpqXJ+7gEFQNlUtSU5Gxr8GEwnVf2TPN3+ywc5DzL3JCxmpucqxfHBTFwfRMXxPRRnR5Ki20g==} engines: {node: '>=v18'} - '@commitlint/rules@20.3.1': - resolution: {integrity: sha512-/uic4P+4jVNpqQxz02+Y6vvIC0A2J899DBztA1j6q3f3MOKwydlNrojSh0dQmGDxxT1bXByiRtDhgFnOFnM6Pg==} + '@commitlint/rules@20.4.1': + resolution: {integrity: sha512-WtqypKEPbQEuJwJS4aKs0OoJRBKz1HXPBC9wRtzVNH68FLhPWzxXlF09hpUXM9zdYTpm4vAdoTGkWiBgQ/vL0g==} engines: {node: '>=v18'} '@commitlint/to-lines@20.0.0': resolution: {integrity: sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==} engines: {node: '>=v18'} - '@commitlint/top-level@20.0.0': - resolution: {integrity: sha512-drXaPSP2EcopukrUXvUXmsQMu3Ey/FuJDc/5oiW4heoCfoE5BdLQyuc7veGeE3aoQaTVqZnh4D5WTWe2vefYKg==} + '@commitlint/top-level@20.4.0': + resolution: {integrity: sha512-NDzq8Q6jmFaIIBC/GG6n1OQEaHdmaAAYdrZRlMgW6glYWGZ+IeuXmiymDvQNXPc82mVxq2KiE3RVpcs+1OeDeA==} engines: {node: '>=v18'} - '@commitlint/types@20.3.1': - resolution: {integrity: sha512-VmIFV/JkBRhDRRv7N5B7zEUkNZIx9Mp+8Pe65erz0rKycXLsi8Epcw0XJ+btSeRXgTzE7DyOyA9bkJ9mn/yqVQ==} + '@commitlint/types@20.4.0': + resolution: {integrity: sha512-aO5l99BQJ0X34ft8b0h7QFkQlqxC6e7ZPVmBKz13xM9O8obDaM1Cld4sQlJDXXU/VFuUzQ30mVtHjVz74TuStw==} engines: {node: '>=v18'} '@cspotcode/source-map-support@0.8.1': @@ -3228,19 +2848,19 @@ packages: '@digitak/grubber@3.1.4': resolution: {integrity: sha512-pqsnp2BUYlDoTXWG34HWgEJse/Eo1okRgNex8IG84wHrJp8h3SakeR5WhB4VxSA2+/D+frNYJ0ch3yXzsfNDoA==} - '@electric-sql/pglite-socket@0.0.6': - resolution: {integrity: sha512-6RjmgzphIHIBA4NrMGJsjNWK4pu+bCWJlEWlwcxFTVY3WT86dFpKwbZaGWZV6C5Rd7sCk1Z0CI76QEfukLAUXw==} + '@electric-sql/pglite-socket@0.0.20': + resolution: {integrity: sha512-J5nLGsicnD9wJHnno9r+DGxfcZWh+YJMCe0q/aCgtG6XOm9Z7fKeite8IZSNXgZeGltSigM9U/vAWZQWdgcSFg==} hasBin: true peerDependencies: - '@electric-sql/pglite': 0.3.2 + '@electric-sql/pglite': 0.3.15 - '@electric-sql/pglite-tools@0.2.7': - resolution: {integrity: sha512-9dAccClqxx4cZB+Ar9B+FZ5WgxDc/Xvl9DPrTWv+dYTf0YNubLzi4wHHRGRGhrJv15XwnyKcGOZAP1VXSneSUg==} + '@electric-sql/pglite-tools@0.2.20': + resolution: {integrity: sha512-BK50ZnYa3IG7ztXhtgYf0Q7zijV32Iw1cYS8C+ThdQlwx12V5VZ9KRJ42y82Hyb4PkTxZQklVQA9JHyUlex33A==} peerDependencies: - '@electric-sql/pglite': 0.3.2 + '@electric-sql/pglite': 0.3.15 - '@electric-sql/pglite@0.3.2': - resolution: {integrity: sha512-zfWWa+V2ViDCY/cmUfRqeWY1yLto+EpxjXnZzenB1TyxsTiXaTWeZFIZw6mac52BsuQm0RjCnisjBtdBaXOI6w==} + '@electric-sql/pglite@0.3.15': + resolution: {integrity: sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==} '@emnapi/core@1.7.1': resolution: {integrity: sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==} @@ -3282,12 +2902,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.0': - resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.27.2': resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} @@ -3306,12 +2920,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.0': - resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.27.2': resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} @@ -3336,12 +2944,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.0': - resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.27.2': resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} @@ -3360,12 +2962,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.0': - resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.27.2': resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} @@ -3384,12 +2980,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.0': - resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.27.2': resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} @@ -3408,12 +2998,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.0': - resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.27.2': resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} @@ -3432,12 +3016,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.0': - resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} @@ -3456,12 +3034,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.0': - resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} @@ -3480,12 +3052,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.0': - resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.27.2': resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} @@ -3504,12 +3070,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.0': - resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.27.2': resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} @@ -3528,12 +3088,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.0': - resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.27.2': resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} @@ -3558,12 +3112,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.0': - resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.27.2': resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} @@ -3582,12 +3130,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.0': - resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.27.2': resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} @@ -3606,12 +3148,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.0': - resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.27.2': resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} @@ -3630,12 +3166,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.0': - resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.27.2': resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} @@ -3654,12 +3184,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.0': - resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.27.2': resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} @@ -3678,12 +3202,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.0': - resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.27.2': resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} @@ -3696,12 +3214,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.0': - resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} @@ -3720,12 +3232,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.0': - resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} @@ -3738,12 +3244,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.0': - resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} @@ -3762,12 +3262,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.0': - resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} @@ -3780,12 +3274,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.0': - resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} engines: {node: '>=18'} @@ -3804,12 +3292,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.0': - resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.27.2': resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} @@ -3828,12 +3310,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.0': - resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.27.2': resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} @@ -3852,12 +3328,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.0': - resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.27.2': resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} @@ -3876,24 +3346,12 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.0': - resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.27.2': resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.9.0': - resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3908,18 +3366,39 @@ packages: resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.23.1': + resolution: {integrity: sha512-uVSdg/V4dfQmTjJzR0szNczjOH/J+FyUMMjYtr07xFRXR7EDf9i1qdxrD0VusZH9knj1/ecxzCQQxyic5NzAiA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/config-helpers@0.4.2': resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.5.2': + resolution: {integrity: sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/core@0.17.0': resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@1.1.0': + resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/eslintrc@3.3.3': resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + '@eslint/js@9.39.2': resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3928,10 +3407,18 @@ packages: resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@3.0.1': + resolution: {integrity: sha512-P9cq2dpr+LU8j3qbLygLcSZrl2/ds/pUpfnHNNuk5HW7mnngHs+6WSq5C9mO3rqRX8A1poxqLTC9cu0KOyJlBg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@eslint/plugin-kit@0.4.1': resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.6.0': + resolution: {integrity: sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + '@exodus/bytes@1.9.0': resolution: {integrity: sha512-lagqsvnk09NKogQaN/XrtlWeUF8SRhT12odMvbTIIaVObqzwAogL6jhR4DAp0gPuKoM1AOVrKUshJpRdpMFrww==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} @@ -3954,11 +3441,8 @@ packages: '@fontsource-variable/inter@5.2.8': resolution: {integrity: sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==} - '@fontsource-variable/material-symbols-rounded@5.2.24': - resolution: {integrity: sha512-i8sEGR+uXXppZ8asF24jnGfsK/Ne2G0cLf3VcwQSlsLNNvzCqoG2LXPLdxHv23YrGND3bSe/2qWsFTmYG88V5Q==} - - '@fontsource-variable/material-symbols-rounded@5.2.32': - resolution: {integrity: sha512-Me5ISv0lpKnZRxoZoiaJaqg8jOJHh93q1fP73keF0IxG0CEgR7CM2mIPfx/rmF15T6FRlGoFixltQCyHXVTmag==} + '@fontsource-variable/material-symbols-rounded@5.2.35': + resolution: {integrity: sha512-5X1SJWM0aAA0Own0KWUDYFhvWvqZeGOm1tXmYHox0L/TmEzczitOb/Xdq1nCcMNUzIf0x/DGEvpGAEqxaIvUZQ==} '@fontsource-variable/roboto-mono@5.2.8': resolution: {integrity: sha512-6M2U3wGIUxYNKRrUoKls8BRRIPDA57T8J0agqwyDkiEHrLEEAqptsxcUl3eTm6tnRNEn6yEm4pCefvtnujebDA==} @@ -3983,8 +3467,8 @@ packages: '@parcel/watcher': optional: true - '@graphql-codegen/client-preset@5.2.2': - resolution: {integrity: sha512-1xufIJZr04ylx0Dnw49m8Jrx1s1kujUNVm+Tp5cPRsQmgPN9VjB7wWY7CGD8ArStv6Vjb0a31Xnm5I+VzZM+Rw==} + '@graphql-codegen/client-preset@5.2.3': + resolution: {integrity: sha512-zgbk0dTY+KC/8TG00RGct6HnXWJU6jQaty3wAXKl1CvCXTKO73pW8Npph+RSJMTEEXb+QuJL3vyaPiGM1gw8sw==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -3999,8 +3483,8 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/gql-tag-operations@5.1.2': - resolution: {integrity: sha512-BIv66VJ2bKlpfXBeVakJxihBSKnBIdGFLMaFdnGPxqYlKIzaGffjsGbhViPwwBinmBChW4Se6PU4Py7eysYEiA==} + '@graphql-codegen/gql-tag-operations@5.1.3': + resolution: {integrity: sha512-yh/GTGW5Nf8f/zaCHZwWb04ItWAm+UfUJf7pb6n4SrqRxvWOSJk36LJ4l8UuDW1tmAOobjeXB8HSKSJsUjmA1g==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -4028,20 +3512,20 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/typed-document-node@6.1.5': - resolution: {integrity: sha512-6dgEPz+YRMzSPpATj7tsKh/L6Y8OZImiyXIUzvSq/dRAEgoinahrES5y/eZQyc7CVxfoFCyHF9KMQQ9jiLn7lw==} + '@graphql-codegen/typed-document-node@6.1.6': + resolution: {integrity: sha512-USuQdUWBXij9HQl+GWXuLm05kjpOVwViBfnNi7ijES4HFwAmt/EDAnYSCfUoOHCfFQeWcfqYbtcUGJO9iXiSYQ==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/typescript-document-nodes@5.0.7': - resolution: {integrity: sha512-n7xBYZSRtzZyGqz1jZu6DvKrjZAikoUvlzhch5CRK7pWVcY6JQpNjP14/cs6zNmvyFPD2rVTUxajVreVRVCY9g==} + '@graphql-codegen/typescript-document-nodes@5.0.8': + resolution: {integrity: sha512-8xesWZTc71RFWgxfwL59QydDrcZC/rk63XgTcooPmKsDBWNqsD+QqyZjI2Tq3bUgEVsViT71lcfJTg7CsSLuXQ==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/typescript-operations@5.0.7': - resolution: {integrity: sha512-5N3myNse1putRQlp8+l1k9ayvc98oq2mPJx0zN8MTOlTBxcb2grVPFRLy5wJJjuv9NffpyCkVJ9LvUaf8mqQgg==} + '@graphql-codegen/typescript-operations@5.0.8': + resolution: {integrity: sha512-5H58DnDIy59Q+wcPRu13UnAS7fkMCW/vPI1+g8rHBmxuV9YGyGlVL9lE/fmJ06181hI7G9YGuUaoFYMJFU6bxQ==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -4058,8 +3542,8 @@ packages: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-tag: ^2.0.0 - '@graphql-codegen/typescript@5.0.7': - resolution: {integrity: sha512-kZwcu9Iat5RWXxLGPnDbG6qVbGTigF25/aGqCG/DCQ1Al8RufSjVXhIOkJBp7QWAqXn3AupHXL1WTMXP7xs4dQ==} + '@graphql-codegen/typescript@5.0.8': + resolution: {integrity: sha512-lUW6ari+rXP6tz5B0LXjmV9rEMOphoCZAkt+SJGObLQ6w6544ZsXSsRga/EJiSvZ1fRfm9yaFoErOZ56IVThyg==} engines: {node: '>=16'} peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -4075,14 +3559,8 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - '@graphql-codegen/visitor-plugin-common@6.2.0': - resolution: {integrity: sha512-8mx5uDDEwhP3G1jdeBdvVm4QhbEdkwXQa1hAXBWGofL87ePs5PUhz4IuQpwiS/CfFa4cqxcAWbe0k74x8iWfKw==} - engines: {node: '>=16'} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/visitor-plugin-common@6.2.2': - resolution: {integrity: sha512-wEJ4zJj58PKlXISItZfr0xIHyM1lAuRfoflPegsb1L17Mx5+YzNOy0WAlLele3yzyV89WvCiprFKMcVQ7KfDXg==} + '@graphql-codegen/visitor-plugin-common@6.2.3': + resolution: {integrity: sha512-Rewl/QRFfIOXHFK3i/ts4VodsaB4N22kckH1zweTzq7SFodkfrqGrLa/MrGLJ/q6aUuqGiqao7f4Za2IjjkCxw==} engines: {node: '>=16'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -4288,18 +3766,6 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/merge@9.1.5': - resolution: {integrity: sha512-eVcir6nCcOC/Wzv7ZAng3xec3dj6FehE8+h9TvgvUyrDEKVMdFfrO6etRFZ2hucWVcY8S6drx7zQx04N4lPM8Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/merge@9.1.6': - resolution: {integrity: sha512-bTnP+4oom4nDjmkS3Ykbe+ljAp/RIiWP3R35COMmuucS24iQxGLa9Hn8VMkLIoaoPxgz6xk+dbC43jtkNsFoBw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/merge@9.1.7': resolution: {integrity: sha512-Y5E1vTbTabvcXbkakdFUt4zUIzB1fyaEnVmIWN0l0GMed2gdD01TpZWLUm4RNAxpturvolrb24oGLQrBbPLSoQ==} engines: {node: '>=16.0.0'} @@ -4322,20 +3788,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/relay-operation-optimizer@7.0.25': - resolution: {integrity: sha512-1S7qq9eyO6ygPNWX2lZd+oxbpl63OhnTTw8+t5OWprM2Tzws9HEosLUpsMR85z1gbezeKtUDt9a2bsSyu4MMFg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@10.0.29': - resolution: {integrity: sha512-+Htiupnq6U/AWOEAJerIOGT1pAf4u43Q3n2JmFpqFfYJchz6sKWZ7L9Lpe/NusaaUQty/IOF+eQlNFypEaWxhg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@10.0.30': - resolution: {integrity: sha512-yPXU17uM/LR90t92yYQqn9mAJNOVZJc0nQtYeZyZeQZeQjwIGlTubvvoDL0fFVk+wZzs4YQOgds2NwSA4npodA==} + '@graphql-tools/relay-operation-optimizer@7.0.27': + resolution: {integrity: sha512-rdkL1iDMFaGDiHWd7Bwv7hbhrhnljkJaD0MXeqdwQlZVgVdUDlMot2WuF7CEKVgijpH6eSC6AxXMDeqVgSBS2g==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -4368,12 +3822,6 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/utils@10.10.3': - resolution: {integrity: sha512-2EdYiefeLLxsoeZTukSNZJ0E/Z5NnWBUGK2VJa0DQj1scDhVd93HeT1eW9TszJOYmIh3eWAKLv58ri/1XUmdsQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - '@graphql-tools/utils@10.11.0': resolution: {integrity: sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==} engines: {node: '>=16.0.0'} @@ -4418,7 +3866,7 @@ packages: peerDependencies: '@vue/composition-api': ^1.7.2 monaco-editor: '>=0.43.0' - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -4436,11 +3884,11 @@ packages: '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - '@hono/node-server@1.19.6': - resolution: {integrity: sha512-Shz/KjlIeAhfiuE93NDKVdZ7HdBVLQAfdbaXEaoAVO3ic9ibRSLGIQGkcBbFyuLr+7/1D5ZCINM8B+6IvXeMtw==} + '@hono/node-server@1.19.9': + resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==} engines: {node: '>=18.14.1'} peerDependencies: - hono: 4.11.4 + hono: 4.11.7 '@hoppscotch/httpsnippet@3.0.9': resolution: {integrity: sha512-XTs2SYxOItC7Go38VsFYtnxEk6C5JhscEpZHgd9+klyah+Iy2uKLFaBFq9M/10YLhwfPNVP3UpGsL/jY50zQgQ==} @@ -4451,7 +3899,7 @@ packages: resolution: {integrity: sha512-EiWODKPBxvx/BoylxbyrlBIzC3iZR9XmxYAyL3Oi5cEl+RBuhoV+A0UiGiBYbqNLUUWigZTpiftcYcJ9S3IMCg==} engines: {node: '>=16'} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@hoppscotch/vue-sonner@1.2.3': resolution: {integrity: sha512-P1gyvHHLsPeB8lsLP5SrqwQatuwOKtbsP83sKhyIV3WL2rJj3+DiFfqo2ErNBa+Sl0gM68o1V+wuOS7zbR//6g==} @@ -4459,7 +3907,7 @@ packages: '@hoppscotch/vue-toasted@0.1.0': resolution: {integrity: sha512-DIgmeTHxWwX5UeaHLEqDYNLJFGRosx/5N1fCHkaO8zt+sZv8GrHlkrIpjfKF2drmA3kKw5cY42Cw7WuCoabR3g==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} @@ -4477,8 +3925,8 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@iconify-json/lucide@1.2.86': - resolution: {integrity: sha512-W/Jz7/gGOkI9u43r+UHmQtZtcyw2YLvMwiHa01WV6V4DYltrPNXiD+bCa+djV8LZB1uwF8CiympOMIbgiQ74nA==} + '@iconify-json/lucide@1.2.91': + resolution: {integrity: sha512-8fuRiK+HiNRgCKMspn9UPsDpBw0TqVTIY0LOiDbMnFxOBwAulMXIl+SVOtp4LzxNvCXB5ofYffiiFIFDitqo7w==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -4647,8 +4095,8 @@ packages: '@types/node': optional: true - '@intlify/bundle-utils@11.0.3': - resolution: {integrity: sha512-dURCDz1rQXwAb1+Hv4NDit6aZSRaAt4zUYBPEeaDCe3FSs8dMtdF6kEvgd9JwsYFSTAHcvbTs2CqwBjjt9Ltsw==} + '@intlify/bundle-utils@11.0.7': + resolution: {integrity: sha512-fEO3CJGPymxieGh8BHox7d6stgajDQae7wgpH6YYw7WX+cdW6jTTXyljZqz7OV3JcwlS9M9UHSoO+YwiO56IhA==} engines: {node: '>= 20'} peerDependencies: petite-vue-i18n: '*' @@ -4663,28 +4111,20 @@ packages: resolution: {integrity: sha512-nBq6Y1tVkjIUsLsdOjDSJj4AsjvD0UG3zsg9Fyc+OivwlA/oMHSKooUy9tpKj0HqZ+NWFifweHavdljlBLTwdA==} engines: {node: '>= 16'} - '@intlify/message-compiler@11.1.12': - resolution: {integrity: sha512-Fv9iQSJoJaXl4ZGkOCN1LDM3trzze0AS2zRz2EHLiwenwL6t0Ki9KySYlyr27yVOj5aVz0e55JePO+kELIvfdQ==} - engines: {node: '>= 16'} - '@intlify/message-compiler@11.2.8': resolution: {integrity: sha512-A5n33doOjmHsBtCN421386cG1tWp5rpOjOYPNsnpjIJbQ4POF0QY2ezhZR9kr0boKwaHjbOifvyQvHj2UTrDFQ==} engines: {node: '>= 16'} - '@intlify/shared@11.1.12': - resolution: {integrity: sha512-Om86EjuQtA69hdNj3GQec9ZC0L0vPSAnXzB3gP/gyJ7+mA7t06d9aOAiqMZ+xEOsumGP4eEBlfl8zF2LOTzf2A==} - engines: {node: '>= 16'} - '@intlify/shared@11.2.8': resolution: {integrity: sha512-l6e4NZyUgv8VyXXH4DbuucFOBmxLF56C/mqh2tvApbzl2Hrhi1aTDcuv5TKdxzfHYmpO3UB0Cz04fgDT9vszfw==} engines: {node: '>= 16'} - '@intlify/unplugin-vue-i18n@11.0.3': - resolution: {integrity: sha512-iQuik0nXfdVZ5ab+IEyBFEuvMQ213zfbUpBXaEdHPk8DV+qB2CT/SdFuDhfUDRRBZc/e0qoLlfmc9urhnRYVWw==} + '@intlify/unplugin-vue-i18n@11.0.7': + resolution: {integrity: sha512-wswKprS1D8VfnxxVhKxug5wa3MbDSOcCoXOBjnzhMK+6NfP6h6UI8pFqSBIvcW8nPDuzweTc0Sk3PeBCcubfoQ==} engines: {node: '>= 20'} peerDependencies: petite-vue-i18n: '*' - vue: 3.5.27 + vue: 3.5.28 vue-i18n: '*' peerDependenciesMeta: petite-vue-i18n: @@ -4698,7 +4138,7 @@ packages: peerDependencies: '@intlify/shared': ^9.0.0 || ^10.0.0 || ^11.0.0 '@vue/compiler-dom': ^3.0.0 - vue: 3.5.27 + vue: 3.5.28 vue-i18n: ^9.0.0 || ^10.0.0 || ^11.0.0 peerDependenciesMeta: '@intlify/shared': @@ -4713,17 +4153,9 @@ packages: '@ioredis/commands@1.4.0': resolution: {integrity: sha512-aFT2yemJJo+TZCmieA7qnYGQooOS7QfNmYrzGtsYd3g9j5iDP8AimYYAesf79ohjbLG12XxC4nG5DyEnC88AsQ==} - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@9.0.0': + resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} + engines: {node: '>=18'} '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} @@ -4870,8 +4302,8 @@ packages: '@jsdevtools/ono@7.1.3': resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - '@lezer/common@1.3.0': - resolution: {integrity: sha512-L9X8uHCYU310o99L3/MpJKYxPzXPOS7S0NmBaM7UO/x2Kb2WbmMLSkfvdr1KxRIFYOpbY0Jhn7CfLSUDzL8arQ==} + '@lezer/common@1.5.1': + resolution: {integrity: sha512-6YRVG9vBkaY7p1IVxL4s44n5nUnaNnGM2/AckNgYOnxTG2kWh1vR8BMxPseWPjRNpb5VtXnMpeYAEAADoRV1Iw==} '@lezer/generator@1.8.0': resolution: {integrity: sha512-/SF4EDWowPqV1jOgoGSGTIFsE7Ezdr7ZYxyihl5eMKVO5tlnpIhFcDavgm1hHY5GEonoOAEnJ0CU0x+tvuAuUg==} @@ -4905,8 +4337,8 @@ packages: '@monaco-editor/loader@1.7.0': resolution: {integrity: sha512-gIwR1HrJrrx+vfyOhYmCZ0/JcWqG5kbfG7+d3f/C1LXk2EvzAbHSg3MQ5lO2sMlo9izoAZ04shohfKLVT6crVA==} - '@mrleebo/prisma-ast@0.12.1': - resolution: {integrity: sha512-JwqeCQ1U3fvccttHZq7Tk0m/TMC6WcFAQZdukypW3AzlJYKYTGNVd1ANU2GuhKnv4UQuOFj3oAl0LLG/gxFN1w==} + '@mrleebo/prisma-ast@0.13.1': + resolution: {integrity: sha512-XyroGQXcHrZdvmrGJvsA9KNeOOgGMg1Vg9OlheUsBOSKznLMDl+YChxbkboRHvtFYJEMRYmlV3uoo/njCw05iw==} engines: {node: '>=16'} '@napi-rs/canvas-android-arm64@0.1.82': @@ -4981,10 +4413,10 @@ packages: peerDependencies: '@nestjs/common': '>=7.0.9' '@nestjs/core': '>=7.0.9' - nodemailer: 8.0.0 + nodemailer: 7.0.11 - '@nestjs/apollo@13.2.3': - resolution: {integrity: sha512-dzayHaGSS6XUFHPj6YMb+ixsphZiwjdez3TWmL6wiRxBGTSc4uGkHNrz3qv7Qb5tq/4VwrqP7/qoti+XZsc0mA==} + '@nestjs/apollo@13.2.4': + resolution: {integrity: sha512-5gKyDQDm+E+AIYofFxXXUhi/4z9YgSjXtjlXUixCj+n6oVcJOilQ7zxlnu3vHiBZz8kEn2ZvVZTJ+i5V2xQ+ew==} peerDependencies: '@apollo/gateway': ^2.0.0 '@apollo/server': ^5.0.0 @@ -5018,8 +4450,8 @@ packages: '@swc/core': optional: true - '@nestjs/common@11.1.12': - resolution: {integrity: sha512-v6U3O01YohHO+IE3EIFXuRuu3VJILWzyMmSYZXpyBbnp0hk0mFyHxK2w3dF4I5WnbwiRbWlEXdeXFvPQ7qaZzw==} + '@nestjs/common@11.1.13': + resolution: {integrity: sha512-ieqWtipT+VlyDWLz5Rvz0f3E5rXcVAnaAi+D53DEHLjc1kmFxCgZ62qVfTX2vwkywwqNkTNXvBgGR72hYqV//Q==} peerDependencies: class-transformer: '>=0.4.1' class-validator: '>=0.13.2' @@ -5031,14 +4463,14 @@ packages: class-validator: optional: true - '@nestjs/config@4.0.2': - resolution: {integrity: sha512-McMW6EXtpc8+CwTUwFdg6h7dYcBUpH5iUILCclAsa+MbCEvC9ZKu4dCHRlJqALuhjLw97pbQu62l4+wRwGeZqA==} + '@nestjs/config@4.0.3': + resolution: {integrity: sha512-FQ3M3Ohqfl+nHAn5tp7++wUQw0f2nAk+SFKe8EpNRnIifPqvfJP6JQxPKtFLMOHbyer4X646prFG4zSRYEssQQ==} peerDependencies: '@nestjs/common': ^10.0.0 || ^11.0.0 rxjs: ^7.1.0 - '@nestjs/core@11.1.12': - resolution: {integrity: sha512-97DzTYMf5RtGAVvX1cjwpKRiCUpkeQ9CCzSAenqkAhOmNVVFaApbhuw+xrDt13rsCa2hHVOYPrV4dBgOYMJjsA==} + '@nestjs/core@11.1.13': + resolution: {integrity: sha512-Tq9EIKiC30EBL8hLK93tNqaToy0hzbuVGYt29V8NhkVJUsDzlmiVf6c3hSPtzx2krIUVbTgQ2KFeaxr72rEyzQ==} engines: {node: '>= 20'} peerDependencies: '@nestjs/common': ^11.0.0 @@ -5055,8 +4487,8 @@ packages: '@nestjs/websockets': optional: true - '@nestjs/graphql@13.2.3': - resolution: {integrity: sha512-hTsQtNB2v2NoMhWUlcnpLfWlhEgSmuBETf3B1GybULhxQ84uVQxJ9CjvDWl3gf+1UmRehkS4W9NkksP07v4BxA==} + '@nestjs/graphql@13.2.4': + resolution: {integrity: sha512-UXtsY4o1gsSG8tlY2HI3NuWyW15eOSG7IX1nG92T5/VtsEsafhtYOnc0H9Z7zFzUn0tPBCcRte1NgVNEIgAAdw==} peerDependencies: '@apollo/subgraph': ^2.9.3 '@nestjs/common': ^11.0.1 @@ -5100,14 +4532,14 @@ packages: '@nestjs/common': ^8.0.0 || ^9.0.0 || ^10.0.0 passport: ^0.4.0 || ^0.5.0 || ^0.6.0 || ^0.7.0 - '@nestjs/platform-express@11.1.12': - resolution: {integrity: sha512-GYK/vHI0SGz5m8mxr7v3Urx8b9t78Cf/dj5aJMZlGd9/1D9OI1hAl00BaphjEXINUJ/BQLxIlF2zUjrYsd6enQ==} + '@nestjs/platform-express@11.1.13': + resolution: {integrity: sha512-LYmi43BrAs1n74kLCUfXcHag7s1CmGETcFbf9IVyA/KWXAuAH95G3wEaZZiyabOLFNwq4ifnRGnIwUwW7cz3+w==} peerDependencies: '@nestjs/common': ^11.0.0 '@nestjs/core': ^11.0.0 - '@nestjs/schedule@6.1.0': - resolution: {integrity: sha512-W25Ydc933Gzb1/oo7+bWzzDiOissE+h/dhIAPugA39b9MuIzBbLybuXpc1AjoQLczO3v0ldmxaffVl87W0uqoQ==} + '@nestjs/schedule@6.1.1': + resolution: {integrity: sha512-kQl1RRgi02GJ0uaUGCrXHCcwISsCsJDciCKe38ykJZgnAeeoeVWs8luWtBo4AqAAXm4nS5K8RlV0smHUJ4+2FA==} peerDependencies: '@nestjs/common': ^10.0.0 || ^11.0.0 '@nestjs/core': ^10.0.0 || ^11.0.0 @@ -5117,8 +4549,8 @@ packages: peerDependencies: typescript: '>=4.8.2' - '@nestjs/swagger@11.2.5': - resolution: {integrity: sha512-wCykbEybMqiYcvkyzPW4SbXKcwra9AGdajm0MvFgKR3W+gd1hfeKlo67g/s9QCRc/mqUU4KOE5Qtk7asMeFuiA==} + '@nestjs/swagger@11.2.6': + resolution: {integrity: sha512-oiXOxMQqDFyv1AKAqFzSo6JPvMEs4uA36Eyz/s2aloZLxUjcLfUMELSLSNQunr61xCPTpwEOShfmO7NIufKXdA==} peerDependencies: '@fastify/static': ^8.0.0 || ^9.0.0 '@nestjs/common': ^11.0.1 @@ -5182,8 +4614,8 @@ packages: typeorm: optional: true - '@nestjs/testing@11.1.12': - resolution: {integrity: sha512-W0M/i5nb9qRQpTQfJm+1mGT/+y4YezwwdcD7mxFG8JEZ5fz/ZEAk1Ayri2VBJKJUdo20B1ggnvqew4dlTMrSNg==} + '@nestjs/testing@11.1.13': + resolution: {integrity: sha512-bOWP8nLEZAOEEX8jAZGBCc1yU0+nv4g2ipc+QEzkVUe3eEEUKHKaeGafJ3GtDuGavlZKfkXEqflZuICdavu5dQ==} peerDependencies: '@nestjs/common': ^11.0.0 '@nestjs/core': ^11.0.0 @@ -5250,86 +4682,86 @@ packages: '@paralleldrive/cuid2@2.3.1': resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} - '@parcel/watcher-android-arm64@2.5.4': - resolution: {integrity: sha512-hoh0vx4v+b3BNI7Cjoy2/B0ARqcwVNrzN/n7DLq9ZB4I3lrsvhrkCViJyfTj/Qi5xM9YFiH4AmHGK6pgH1ss7g==} + '@parcel/watcher-android-arm64@2.5.6': + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.5.4': - resolution: {integrity: sha512-kphKy377pZiWpAOyTgQYPE5/XEKVMaj6VUjKT5VkNyUJlr2qZAn8gIc7CPzx+kbhvqHDT9d7EqdOqRXT6vk0zw==} + '@parcel/watcher-darwin-arm64@2.5.6': + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.5.4': - resolution: {integrity: sha512-UKaQFhCtNJW1A9YyVz3Ju7ydf6QgrpNQfRZ35wNKUhTQ3dxJ/3MULXN5JN/0Z80V/KUBDGa3RZaKq1EQT2a2gg==} + '@parcel/watcher-darwin-x64@2.5.6': + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.5.4': - resolution: {integrity: sha512-Dib0Wv3Ow/m2/ttvLdeI2DBXloO7t3Z0oCp4bAb2aqyqOjKPPGrg10pMJJAQ7tt8P4V2rwYwywkDhUia/FgS+Q==} + '@parcel/watcher-freebsd-x64@2.5.6': + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.5.4': - resolution: {integrity: sha512-I5Vb769pdf7Q7Sf4KNy8Pogl/URRCKu9ImMmnVKYayhynuyGYMzuI4UOWnegQNa2sGpsPSbzDsqbHNMyeyPCgw==} + '@parcel/watcher-linux-arm-glibc@2.5.6': + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm-musl@2.5.4': - resolution: {integrity: sha512-kGO8RPvVrcAotV4QcWh8kZuHr9bXi9a3bSZw7kFarYR0+fGliU7hd/zevhjw8fnvIKG3J9EO5G6sXNGCSNMYPQ==} + '@parcel/watcher-linux-arm-musl@2.5.6': + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm64-glibc@2.5.4': - resolution: {integrity: sha512-KU75aooXhqGFY2W5/p8DYYHt4hrjHZod8AhcGAmhzPn/etTa+lYCDB2b1sJy3sWJ8ahFVTdy+EbqSBvMx3iFlw==} + '@parcel/watcher-linux-arm64-glibc@2.5.6': + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-arm64-musl@2.5.4': - resolution: {integrity: sha512-Qx8uNiIekVutnzbVdrgSanM+cbpDD3boB1f8vMtnuG5Zau4/bdDbXyKwIn0ToqFhIuob73bcxV9NwRm04/hzHQ==} + '@parcel/watcher-linux-arm64-musl@2.5.6': + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-x64-glibc@2.5.4': - resolution: {integrity: sha512-UYBQvhYmgAv61LNUn24qGQdjtycFBKSK3EXr72DbJqX9aaLbtCOO8+1SkKhD/GNiJ97ExgcHBrukcYhVjrnogA==} + '@parcel/watcher-linux-x64-glibc@2.5.6': + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-linux-x64-musl@2.5.4': - resolution: {integrity: sha512-YoRWCVgxv8akZrMhdyVi6/TyoeeMkQ0PGGOf2E4omODrvd1wxniXP+DBynKoHryStks7l+fDAMUBRzqNHrVOpg==} + '@parcel/watcher-linux-x64-musl@2.5.6': + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-win32-arm64@2.5.4': - resolution: {integrity: sha512-iby+D/YNXWkiQNYcIhg8P5hSjzXEHaQrk2SLrWOUD7VeC4Ohu0WQvmV+HDJokZVJ2UjJ4AGXW3bx7Lls9Ln4TQ==} + '@parcel/watcher-win32-arm64@2.5.6': + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.5.4': - resolution: {integrity: sha512-vQN+KIReG0a2ZDpVv8cgddlf67J8hk1WfZMMP7sMeZmJRSmEax5xNDNWKdgqSe2brOKTQQAs3aCCUal2qBHAyg==} + '@parcel/watcher-win32-ia32@2.5.6': + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.5.4': - resolution: {integrity: sha512-3A6efb6BOKwyw7yk9ro2vus2YTt2nvcd56AuzxdMiVOxL9umDyN5PKkKfZ/gZ9row41SjVmTVQNWQhaRRGpOKw==} + '@parcel/watcher-win32-x64@2.5.6': + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.5.4': - resolution: {integrity: sha512-WYa2tUVV5HiArWPB3ydlOc4R2ivq0IDrlqhMi3l7mVsFEXNcTfxYFPIHXHXIh/ca/y/V5N4E1zecyxdIBjYnkQ==} + '@parcel/watcher@2.5.6': + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} '@peculiar/asn1-schema@2.6.0': @@ -5357,17 +4789,17 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@posthog/core@1.11.0': - resolution: {integrity: sha512-BnUQ9FP5vqMr2NKntDSLfMCwO/pOI2In7kAjg6vLVzU1JdcPt266kwCZj84PTYbdSfHG5ELDs3hXNv9Rn+coUw==} + '@posthog/core@1.22.0': + resolution: {integrity: sha512-WkmOnq95aAOu6yk6r5LWr5cfXsQdpVbWDCwOxQwxSne8YV6GuZET1ziO5toSQXgrgbdcjrSz2/GopAfiL6iiAA==} - '@prisma/adapter-pg@7.2.0': - resolution: {integrity: sha512-euIdQ13cRB2wZ3jPsnDnFhINquo1PYFPCg6yVL8b2rp3EdinQHsX9EDdCtRr489D5uhphcRk463OdQAFlsCr0w==} + '@prisma/adapter-pg@7.4.0': + resolution: {integrity: sha512-LWwTHaio0bMxvzahmpwpWqsZM0vTfMqwF8zo06YvILL/o47voaSfKzCVxZw/o9awf4fRgS5Vgthobikj9Dusaw==} - '@prisma/client-runtime-utils@7.2.0': - resolution: {integrity: sha512-dn7oB53v0tqkB0wBdMuTNFNPdEbfICEUe82Tn9FoKAhJCUkDH+fmyEp0ClciGh+9Hp2Tuu2K52kth2MTLstvmA==} + '@prisma/client-runtime-utils@7.4.0': + resolution: {integrity: sha512-jTmWAOBGBSCT8n7SMbpjCpHjELgcDW9GNP/CeK6CeqjUFlEL6dn8Cl81t/NBDjJdXDm85XDJmc+PEQqqQee3xw==} - '@prisma/client@7.2.0': - resolution: {integrity: sha512-JdLF8lWZ+LjKGKpBqyAlenxd/kXjd1Abf/xK+6vUA7R7L2Suo6AFTHFRpPSdAKCan9wzdFApsUpSa/F6+t1AtA==} + '@prisma/client@7.4.0': + resolution: {integrity: sha512-Sc+ncr7+ph1hMf1LQfn6UyEXDEamCd5pXMsx8Q3SBH0NGX+zjqs3eaABt9hXwbcK9l7f8UyK8ldxOWA2LyPynQ==} engines: {node: ^20.19 || ^22.12 || >=24.0} peerDependencies: prisma: '*' @@ -5378,41 +4810,41 @@ packages: typescript: optional: true - '@prisma/config@7.2.0': - resolution: {integrity: sha512-qmvSnfQ6l/srBW1S7RZGfjTQhc44Yl3ldvU6y3pgmuLM+83SBDs6UQVgMtQuMRe9J3gGqB0RF8wER6RlXEr6jQ==} - - '@prisma/debug@6.8.2': - resolution: {integrity: sha512-4muBSSUwJJ9BYth5N8tqts8JtiLT8QI/RSAzEogwEfpbYGFo9mYsInsVo8dqXdPO2+Rm5OG5q0qWDDE3nyUbVg==} + '@prisma/config@7.4.0': + resolution: {integrity: sha512-EnNrZMwZ9+O6UlG+YO9SP3VhVw4zwMahDRzQm3r0DQn9KeU5NwzmaDAY+BzACrgmaU71Id1/0FtWIDdl7xQp9g==} '@prisma/debug@7.2.0': resolution: {integrity: sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==} - '@prisma/dev@0.17.0': - resolution: {integrity: sha512-6sGebe5jxX+FEsQTpjHLzvOGPn6ypFQprcs3jcuIWv1Xp/5v6P/rjfdvAwTkP2iF6pDx2tCd8vGLNWcsWzImTA==} + '@prisma/debug@7.4.0': + resolution: {integrity: sha512-fZicwzgFHvvPMrRLCUinrsBTdadJsi/1oirzShjmFvNLwtu2DYlkxwRVy5zEGhp85mrEGnLeS/PdNRCdE027+Q==} - '@prisma/driver-adapter-utils@7.2.0': - resolution: {integrity: sha512-gzrUcbI9VmHS24Uf+0+7DNzdIw7keglJsD5m/MHxQOU68OhGVzlphQRobLiDMn8CHNA2XN8uugwKjudVtnfMVQ==} + '@prisma/dev@0.20.0': + resolution: {integrity: sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ==} - '@prisma/engines-version@7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3': - resolution: {integrity: sha512-KezsjCZDsbjNR7SzIiVlUsn9PnLePI7r5uxABlwL+xoerurZTfgQVbIjvjF2sVr3Uc0ZcsnREw3F84HvbggGdA==} + '@prisma/driver-adapter-utils@7.4.0': + resolution: {integrity: sha512-jEyE5LkqZ27Ba/DIOfCGOQl6nKMLxuwJNRceCfh7/LRs46UkIKn3bmkI97MEH2t7zkYV3PGBrUr+6sMJaHvc0A==} - '@prisma/engines@7.2.0': - resolution: {integrity: sha512-HUeOI/SvCDsHrR9QZn24cxxZcujOjcS3w1oW/XVhnSATAli5SRMOfp/WkG3TtT5rCxDA4xOnlJkW7xkho4nURA==} + '@prisma/engines-version@7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdbb57': + resolution: {integrity: sha512-5o3/bubIYdUeg38cyNf+VDq+LVtxvvi2393Fd1Uru52LPfkGJnmVbCaX1wBOAncgKR3BCloMJFD+Koog9LtYqQ==} - '@prisma/fetch-engine@7.2.0': - resolution: {integrity: sha512-Z5XZztJ8Ap+wovpjPD2lQKnB8nWFGNouCrglaNFjxIWAGWz0oeHXwUJRiclIoSSXN/ptcs9/behptSk8d0Yy6w==} + '@prisma/engines@7.4.0': + resolution: {integrity: sha512-H+dgpbbY3VN/j5hOSVP1LXsv/rU0w/4C2zh5PZUwo/Q3NqZjOvBlVvkhtziioRmeEZ3SBAqPCsf1sQ74sI3O/w==} - '@prisma/get-platform@6.8.2': - resolution: {integrity: sha512-vXSxyUgX3vm1Q70QwzwkjeYfRryIvKno1SXbIqwSptKwqKzskINnDUcx85oX+ys6ooN2ATGSD0xN2UTfg6Zcow==} + '@prisma/fetch-engine@7.4.0': + resolution: {integrity: sha512-IXPOYskT89UTVsntuSnMTiKRWCuTg5JMWflgEDV1OSKFpuhwP5vqbfF01/iwo9y6rCjR0sDIO+jdV5kq38/hgA==} '@prisma/get-platform@7.2.0': resolution: {integrity: sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==} - '@prisma/query-plan-executor@6.18.0': - resolution: {integrity: sha512-jZ8cfzFgL0jReE1R10gT8JLHtQxjWYLiQ//wHmVYZ2rVkFHoh0DT8IXsxcKcFlfKN7ak7k6j0XMNn2xVNyr5cA==} + '@prisma/get-platform@7.4.0': + resolution: {integrity: sha512-fOUIoGzAPgtjHVs4DsVSnEDPBEauAmFeZr4Ej3tMwxywam7hHdRtCzgKagQBKcYIJuya8gzYrTqUoukzXtWJaA==} - '@prisma/studio-core@0.9.0': - resolution: {integrity: sha512-xA2zoR/ADu/NCSQuriBKTh6Ps4XjU0bErkEcgMfnSGh346K1VI7iWKnoq1l2DoxUqiddPHIEWwtxJ6xCHG6W7g==} + '@prisma/query-plan-executor@7.2.0': + resolution: {integrity: sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==} + + '@prisma/studio-core@0.13.1': + resolution: {integrity: sha512-agdqaPEePRHcQ7CexEfkX1RvSH9uWDb6pXrZnhCRykhDFAV0/0P3d07WtfiY8hZWb7oRU4v+NkT4cGFHkQJIPg==} peerDependencies: '@types/react': ^18.0.0 || ^19.0.0 react: ^18.0.0 || ^19.0.0 @@ -5460,8 +4892,8 @@ packages: '@repeaterjs/repeater@3.0.6': resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} - '@rolldown/pluginutils@1.0.0-beta.53': - resolution: {integrity: sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==} + '@rolldown/pluginutils@1.0.0-rc.2': + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} '@rollup/plugin-babel@5.3.1': resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} @@ -5716,325 +5148,87 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} - '@smithy/abort-controller@4.2.5': - resolution: {integrity: sha512-j7HwVkBw68YW8UmFRcjZOmssE77Rvk0GWAIN1oFBhsaovQmZWYCIcGa9/pwRB0ExI8Sk9MWNALTjftjHZea7VA==} - engines: {node: '>=18.0.0'} + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - '@smithy/config-resolver@4.4.3': - resolution: {integrity: sha512-ezHLe1tKLUxDJo2LHtDuEDyWXolw8WGOR92qb4bQdWq/zKenO5BvctZGrVJBK08zjezSk7bmbKFOXIVyChvDLw==} - engines: {node: '>=18.0.0'} + '@standard-schema/spec@1.1.0': + resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@smithy/core@3.18.5': - resolution: {integrity: sha512-6gnIz3h+PEPQGDj8MnRSjDvKBah042jEoPgjFGJ4iJLBE78L4lY/n98x14XyPF4u3lN179Ub/ZKFY5za9GeLQw==} - engines: {node: '>=18.0.0'} + '@surma/rollup-plugin-off-main-thread@2.2.3': + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - '@smithy/credential-provider-imds@4.2.5': - resolution: {integrity: sha512-BZwotjoZWn9+36nimwm/OLIcVe+KYRwzMjfhd4QT7QxPm9WY0HiOV8t/Wlh+HVUif0SBVV7ksq8//hPaBC/okQ==} - engines: {node: '>=18.0.0'} + '@sveltejs/vite-plugin-svelte@1.4.0': + resolution: {integrity: sha512-6QupI/jemMfK+yI2pMtJcu5iO2gtgTfcBdGwMZZt+lgbFELhszbDl6Qjh000HgAV8+XUA+8EY8DusOFk8WhOIg==} + engines: {node: ^14.18.0 || >= 16} + peerDependencies: + svelte: ^3.44.0 + vite: ^3.0.0 - '@smithy/fetch-http-handler@5.3.6': - resolution: {integrity: sha512-3+RG3EA6BBJ/ofZUeTFJA7mHfSYrZtQIrDP9dI8Lf7X6Jbos2jptuLrAAteDiFVrmbEmLSuRG/bUKzfAXk7dhg==} - engines: {node: '>=18.0.0'} + '@tauri-apps/api@2.1.1': + resolution: {integrity: sha512-fzUfFFKo4lknXGJq8qrCidkUcKcH2UHhfaaCNt4GzgzGaW2iS26uFOg4tS3H4P8D6ZEeUxtiD5z0nwFF0UN30A==} - '@smithy/hash-node@4.2.5': - resolution: {integrity: sha512-DpYX914YOfA3UDT9CN1BM787PcHfWRBB43fFGCYrZFUH0Jv+5t8yYl+Pd5PW4+QzoGEDvn5d5QIO4j2HyYZQSA==} - engines: {node: '>=18.0.0'} + '@tauri-apps/api@2.9.1': + resolution: {integrity: sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==} - '@smithy/invalid-dependency@4.2.5': - resolution: {integrity: sha512-2L2erASEro1WC5nV+plwIMxrTXpvpfzl4e+Nre6vBVRR2HKeGGcvpJyyL3/PpiSg+cJG2KpTmZmq934Olb6e5A==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-darwin-arm64@2.9.3': + resolution: {integrity: sha512-W8FQXZXQmQ0Fmj9UJXNrm2mLdIaLLriKVY7o/FzmizyIKTPIvHjfZALTNybbpTQRbJvKoGHLrW1DNzAWVDWJYg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] - '@smithy/is-array-buffer@2.2.0': - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + '@tauri-apps/cli-darwin-x64@2.9.3': + resolution: {integrity: sha512-zDwu40rlshijt3TU6aRvzPUyVpapsx1sNfOlreDMTaMelQLHl6YoQzSRpLHYwrHrhimxyX2uDqnKIiuGel0Lhg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@smithy/is-array-buffer@4.2.0': - resolution: {integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.3': + resolution: {integrity: sha512-+Oc2OfcTRwYtW93VJqd/HOk77buORwC9IToj/qsEvM7bTMq6Kda4alpZprzwrCHYANSw+zD8PgjJdljTpe4p+g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] - '@smithy/middleware-content-length@4.2.5': - resolution: {integrity: sha512-Y/RabVa5vbl5FuHYV2vUCwvh/dqzrEY/K2yWPSqvhFUwIY0atLqO4TienjBXakoy4zrKAMCZwg+YEqmH7jaN7A==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-arm64-gnu@2.9.3': + resolution: {integrity: sha512-59GqU/J1n9wFyAtleoQOaU0oVIo+kwQynEw4meFDoKRXszKGor6lTsbsS3r0QKLSPbc0o/yYGJhqqCtkYjb/eg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@smithy/middleware-endpoint@4.3.12': - resolution: {integrity: sha512-9pAX/H+VQPzNbouhDhkW723igBMLgrI8OtX+++M7iKJgg/zY/Ig3i1e6seCcx22FWhE6Q/S61BRdi2wXBORT+A==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-arm64-musl@2.9.3': + resolution: {integrity: sha512-fzvG+jEn5/iYGNH6Z2IRMheYFC4pJdXa19BR9fFm6Bdn2cuajRLDKdUcEME/DCtwqclphXtFZTrT4oezY5vI/A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@smithy/middleware-retry@4.4.12': - resolution: {integrity: sha512-S4kWNKFowYd0lID7/DBqWHOQxmxlsf0jBaos9chQZUWTVOjSW1Ogyh8/ib5tM+agFDJ/TCxuCTvrnlc+9cIBcQ==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-riscv64-gnu@2.9.3': + resolution: {integrity: sha512-qV8DZXI/fZwawk6T3Th1g6smiNC2KeQTk7XFgKvqZ6btC01z3UTsQmNGvI602zwm3Ld1TBZb4+rEWu2QmQimmw==} + engines: {node: '>= 10'} + cpu: [riscv64] + os: [linux] - '@smithy/middleware-serde@4.2.6': - resolution: {integrity: sha512-VkLoE/z7e2g8pirwisLz8XJWedUSY8my/qrp81VmAdyrhi94T+riBfwP+AOEEFR9rFTSonC/5D2eWNmFabHyGQ==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-x64-gnu@2.9.3': + resolution: {integrity: sha512-tquyEONCNRfqEBWEe4eAHnxFN5yY5lFkCuD4w79XLIovUxVftQ684+xLp7zkhntkt4y20SMj2AgJa/+MOlx4Kg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@smithy/middleware-stack@4.2.5': - resolution: {integrity: sha512-bYrutc+neOyWxtZdbB2USbQttZN0mXaOyYLIsaTbJhFsfpXyGWUxJpEuO1rJ8IIJm2qH4+xJT0mxUSsEDTYwdQ==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-linux-x64-musl@2.9.3': + resolution: {integrity: sha512-v2cBIB/6ji8DL+aiL5QUykU3ZO8OoJGyx50/qv2HQVzkf85KdaYSis3D/oVRemN/pcDz+vyCnnL3XnzFnDl4JQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] - '@smithy/node-config-provider@4.3.5': - resolution: {integrity: sha512-UTurh1C4qkVCtqggI36DGbLB2Kv8UlcFdMXDcWMbqVY2uRg0XmT9Pb4Vj6oSQ34eizO1fvR0RnFV4Axw4IrrAg==} - engines: {node: '>=18.0.0'} + '@tauri-apps/cli-win32-arm64-msvc@2.9.3': + resolution: {integrity: sha512-ZGvBy7nvrHPbE0HeKp/ioaiw8bNgAHxWnb7JRZ4/G0A+oFj0SeSFxl9k5uU6FKnM7bHM23Gd1oeaDex9g5Fceg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] - '@smithy/node-http-handler@4.4.5': - resolution: {integrity: sha512-CMnzM9R2WqlqXQGtIlsHMEZfXKJVTIrqCNoSd/QpAyp+Dw0a1Vps13l6ma1fH8g7zSPNsA59B/kWgeylFuA/lw==} - engines: {node: '>=18.0.0'} - - '@smithy/property-provider@4.2.5': - resolution: {integrity: sha512-8iLN1XSE1rl4MuxvQ+5OSk/Zb5El7NJZ1td6Tn+8dQQHIjp59Lwl6bd0+nzw6SKm2wSSriH2v/I9LPzUic7EOg==} - engines: {node: '>=18.0.0'} - - '@smithy/protocol-http@5.3.5': - resolution: {integrity: sha512-RlaL+sA0LNMp03bf7XPbFmT5gN+w3besXSWMkA8rcmxLSVfiEXElQi4O2IWwPfxzcHkxqrwBFMbngB8yx/RvaQ==} - engines: {node: '>=18.0.0'} - - '@smithy/querystring-builder@4.2.5': - resolution: {integrity: sha512-y98otMI1saoajeik2kLfGyRp11e5U/iJYH/wLCh3aTV/XutbGT9nziKGkgCaMD1ghK7p6htHMm6b6scl9JRUWg==} - engines: {node: '>=18.0.0'} - - '@smithy/querystring-parser@4.2.5': - resolution: {integrity: sha512-031WCTdPYgiQRYNPXznHXof2YM0GwL6SeaSyTH/P72M1Vz73TvCNH2Nq8Iu2IEPq9QP2yx0/nrw5YmSeAi/AjQ==} - engines: {node: '>=18.0.0'} - - '@smithy/service-error-classification@4.2.5': - resolution: {integrity: sha512-8fEvK+WPE3wUAcDvqDQG1Vk3ANLR8Px979te96m84CbKAjBVf25rPYSzb4xU4hlTyho7VhOGnh5i62D/JVF0JQ==} - engines: {node: '>=18.0.0'} - - '@smithy/shared-ini-file-loader@4.4.0': - resolution: {integrity: sha512-5WmZ5+kJgJDjwXXIzr1vDTG+RhF9wzSODQBfkrQ2VVkYALKGvZX1lgVSxEkgicSAFnFhPj5rudJV0zoinqS0bA==} - engines: {node: '>=18.0.0'} - - '@smithy/signature-v4@5.3.5': - resolution: {integrity: sha512-xSUfMu1FT7ccfSXkoLl/QRQBi2rOvi3tiBZU2Tdy3I6cgvZ6SEi9QNey+lqps/sJRnogIS+lq+B1gxxbra2a/w==} - engines: {node: '>=18.0.0'} - - '@smithy/smithy-client@4.9.8': - resolution: {integrity: sha512-8xgq3LgKDEFoIrLWBho/oYKyWByw9/corz7vuh1upv7ZBm0ZMjGYBhbn6v643WoIqA9UTcx5A5htEp/YatUwMA==} - engines: {node: '>=18.0.0'} - - '@smithy/types@4.9.0': - resolution: {integrity: sha512-MvUbdnXDTwykR8cB1WZvNNwqoWVaTRA0RLlLmf/cIFNMM2cKWz01X4Ly6SMC4Kks30r8tT3Cty0jmeWfiuyHTA==} - engines: {node: '>=18.0.0'} - - '@smithy/url-parser@4.2.5': - resolution: {integrity: sha512-VaxMGsilqFnK1CeBX+LXnSuaMx4sTL/6znSZh2829txWieazdVxr54HmiyTsIbpOTLcf5nYpq9lpzmwRdxj6rQ==} - engines: {node: '>=18.0.0'} - - '@smithy/util-base64@4.3.0': - resolution: {integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==} - engines: {node: '>=18.0.0'} - - '@smithy/util-body-length-browser@4.2.0': - resolution: {integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==} - engines: {node: '>=18.0.0'} - - '@smithy/util-body-length-node@4.2.1': - resolution: {integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==} - engines: {node: '>=18.0.0'} - - '@smithy/util-buffer-from@2.2.0': - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@4.2.0': - resolution: {integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==} - engines: {node: '>=18.0.0'} - - '@smithy/util-config-provider@4.2.0': - resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} - engines: {node: '>=18.0.0'} - - '@smithy/util-defaults-mode-browser@4.3.11': - resolution: {integrity: sha512-yHv+r6wSQXEXTPVCIQTNmXVWs7ekBTpMVErjqZoWkYN75HIFN5y9+/+sYOejfAuvxWGvgzgxbTHa/oz61YTbKw==} - engines: {node: '>=18.0.0'} - - '@smithy/util-defaults-mode-node@4.2.14': - resolution: {integrity: sha512-ljZN3iRvaJUgulfvobIuG97q1iUuCMrvXAlkZ4msY+ZuVHQHDIqn7FKZCEj+bx8omz6kF5yQXms/xhzjIO5XiA==} - engines: {node: '>=18.0.0'} - - '@smithy/util-endpoints@3.2.5': - resolution: {integrity: sha512-3O63AAWu2cSNQZp+ayl9I3NapW1p1rR5mlVHcF6hAB1dPZUQFfRPYtplWX/3xrzWthPGj5FqB12taJJCfH6s8A==} - engines: {node: '>=18.0.0'} - - '@smithy/util-hex-encoding@4.2.0': - resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==} - engines: {node: '>=18.0.0'} - - '@smithy/util-middleware@4.2.5': - resolution: {integrity: sha512-6Y3+rvBF7+PZOc40ybeZMcGln6xJGVeY60E7jy9Mv5iKpMJpHgRE6dKy9ScsVxvfAYuEX4Q9a65DQX90KaQ3bA==} - engines: {node: '>=18.0.0'} - - '@smithy/util-retry@4.2.5': - resolution: {integrity: sha512-GBj3+EZBbN4NAqJ/7pAhsXdfzdlznOh8PydUijy6FpNIMnHPSMO2/rP4HKu+UFeikJxShERk528oy7GT79YiJg==} - engines: {node: '>=18.0.0'} - - '@smithy/util-stream@4.5.6': - resolution: {integrity: sha512-qWw/UM59TiaFrPevefOZ8CNBKbYEP6wBAIlLqxn3VAIo9rgnTNc4ASbVrqDmhuwI87usnjhdQrxodzAGFFzbRQ==} - engines: {node: '>=18.0.0'} - - '@smithy/util-uri-escape@4.2.0': - resolution: {integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==} - engines: {node: '>=18.0.0'} - - '@smithy/util-utf8@2.3.0': - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@4.2.0': - resolution: {integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==} - engines: {node: '>=18.0.0'} - - '@smithy/uuid@1.1.0': - resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==} - engines: {node: '>=18.0.0'} - - '@socket.io/component-emitter@3.1.2': - resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} - - '@standard-schema/spec@1.0.0': - resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==} - - '@standard-schema/spec@1.1.0': - resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - - '@surma/rollup-plugin-off-main-thread@2.2.3': - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} - - '@sveltejs/vite-plugin-svelte@1.4.0': - resolution: {integrity: sha512-6QupI/jemMfK+yI2pMtJcu5iO2gtgTfcBdGwMZZt+lgbFELhszbDl6Qjh000HgAV8+XUA+8EY8DusOFk8WhOIg==} - engines: {node: ^14.18.0 || >= 16} - peerDependencies: - svelte: ^3.44.0 - vite: ^3.0.0 - - '@tauri-apps/api@2.1.1': - resolution: {integrity: sha512-fzUfFFKo4lknXGJq8qrCidkUcKcH2UHhfaaCNt4GzgzGaW2iS26uFOg4tS3H4P8D6ZEeUxtiD5z0nwFF0UN30A==} - - '@tauri-apps/api@2.9.0': - resolution: {integrity: sha512-qD5tMjh7utwBk9/5PrTA/aGr3i5QaJ/Mlt7p8NilQ45WgbifUNPyKWsA63iQ8YfQq6R8ajMapU+/Q8nMcPRLNw==} - - '@tauri-apps/api@2.9.1': - resolution: {integrity: sha512-IGlhP6EivjXHepbBic618GOmiWe4URJiIeZFlB7x3czM0yDHHYviH1Xvoiv4FefdkQtn6v7TuwWCRfOGdnVUGw==} - - '@tauri-apps/cli-darwin-arm64@2.9.3': - resolution: {integrity: sha512-W8FQXZXQmQ0Fmj9UJXNrm2mLdIaLLriKVY7o/FzmizyIKTPIvHjfZALTNybbpTQRbJvKoGHLrW1DNzAWVDWJYg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@tauri-apps/cli-darwin-arm64@2.9.4': - resolution: {integrity: sha512-9rHkMVtbMhe0AliVbrGpzMahOBg3rwV46JYRELxR9SN6iu1dvPOaMaiC4cP6M/aD1424ziXnnMdYU06RAH8oIw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@tauri-apps/cli-darwin-x64@2.9.3': - resolution: {integrity: sha512-zDwu40rlshijt3TU6aRvzPUyVpapsx1sNfOlreDMTaMelQLHl6YoQzSRpLHYwrHrhimxyX2uDqnKIiuGel0Lhg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@tauri-apps/cli-darwin-x64@2.9.4': - resolution: {integrity: sha512-VT9ymNuT06f5TLjCZW2hfSxbVtZDhORk7CDUDYiq5TiSYQdxkl8MVBy0CCFFcOk4QAkUmqmVUA9r3YZ/N/vPRQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.3': - resolution: {integrity: sha512-+Oc2OfcTRwYtW93VJqd/HOk77buORwC9IToj/qsEvM7bTMq6Kda4alpZprzwrCHYANSw+zD8PgjJdljTpe4p+g==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.4': - resolution: {integrity: sha512-tTWkEPig+2z3Rk0zqZYfjUYcgD+aSm72wdrIhdYobxbQZOBw0zfn50YtWv+av7bm0SHvv75f0l7JuwgZM1HFow==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - - '@tauri-apps/cli-linux-arm64-gnu@2.9.3': - resolution: {integrity: sha512-59GqU/J1n9wFyAtleoQOaU0oVIo+kwQynEw4meFDoKRXszKGor6lTsbsS3r0QKLSPbc0o/yYGJhqqCtkYjb/eg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-arm64-gnu@2.9.4': - resolution: {integrity: sha512-ql6vJ611qoqRYHxkKPnb2vHa27U+YRKRmIpLMMBeZnfFtZ938eao7402AQCH1mO2+/8ioUhbpy9R/ZcLTXVmkg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-arm64-musl@2.9.3': - resolution: {integrity: sha512-fzvG+jEn5/iYGNH6Z2IRMheYFC4pJdXa19BR9fFm6Bdn2cuajRLDKdUcEME/DCtwqclphXtFZTrT4oezY5vI/A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-arm64-musl@2.9.4': - resolution: {integrity: sha512-vg7yNn7ICTi6hRrcA/6ff2UpZQP7un3xe3SEld5QM0prgridbKAiXGaCKr3BnUBx/rGXegQlD/wiLcWdiiraSw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@tauri-apps/cli-linux-riscv64-gnu@2.9.3': - resolution: {integrity: sha512-qV8DZXI/fZwawk6T3Th1g6smiNC2KeQTk7XFgKvqZ6btC01z3UTsQmNGvI602zwm3Ld1TBZb4+rEWu2QmQimmw==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - - '@tauri-apps/cli-linux-riscv64-gnu@2.9.4': - resolution: {integrity: sha512-l8L+3VxNk6yv5T/Z/gv5ysngmIpsai40B9p6NQQyqYqxImqYX37pqREoEBl1YwG7szGnDibpWhidPrWKR59OJA==} - engines: {node: '>= 10'} - cpu: [riscv64] - os: [linux] - - '@tauri-apps/cli-linux-x64-gnu@2.9.3': - resolution: {integrity: sha512-tquyEONCNRfqEBWEe4eAHnxFN5yY5lFkCuD4w79XLIovUxVftQ684+xLp7zkhntkt4y20SMj2AgJa/+MOlx4Kg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-linux-x64-gnu@2.9.4': - resolution: {integrity: sha512-PepPhCXc/xVvE3foykNho46OmCyx47E/aG676vKTVp+mqin5d+IBqDL6wDKiGNT5OTTxKEyNlCQ81Xs2BQhhqA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-linux-x64-musl@2.9.3': - resolution: {integrity: sha512-v2cBIB/6ji8DL+aiL5QUykU3ZO8OoJGyx50/qv2HQVzkf85KdaYSis3D/oVRemN/pcDz+vyCnnL3XnzFnDl4JQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-linux-x64-musl@2.9.4': - resolution: {integrity: sha512-zcd1QVffh5tZs1u1SCKUV/V7RRynebgYUNWHuV0FsIF1MjnULUChEXhAhug7usCDq4GZReMJOoXa6rukEozWIw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@tauri-apps/cli-win32-arm64-msvc@2.9.3': - resolution: {integrity: sha512-ZGvBy7nvrHPbE0HeKp/ioaiw8bNgAHxWnb7JRZ4/G0A+oFj0SeSFxl9k5uU6FKnM7bHM23Gd1oeaDex9g5Fceg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@tauri-apps/cli-win32-arm64-msvc@2.9.4': - resolution: {integrity: sha512-/7ZhnP6PY04bEob23q8MH/EoDISdmR1wuNm0k9d5HV7TDMd2GGCDa8dPXA4vJuglJKXIfXqxFmZ4L+J+MO42+w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@tauri-apps/cli-win32-ia32-msvc@2.9.3': - resolution: {integrity: sha512-UsgIwOnpCoY9NK9/65QiwgmWVIE80LE7SwRYVblGtmlY9RYfsYvpbItwsovA/AcHMTiO+OCvS/q9yLeqS3m6Sg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@tauri-apps/cli-win32-ia32-msvc@2.9.4': - resolution: {integrity: sha512-1LmAfaC4Cq+3O1Ir1ksdhczhdtFSTIV51tbAGtbV/mr348O+M52A/xwCCXQank0OcdBxy5BctqkMtuZnQvA8uQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] + '@tauri-apps/cli-win32-ia32-msvc@2.9.3': + resolution: {integrity: sha512-UsgIwOnpCoY9NK9/65QiwgmWVIE80LE7SwRYVblGtmlY9RYfsYvpbItwsovA/AcHMTiO+OCvS/q9yLeqS3m6Sg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] '@tauri-apps/cli-win32-x64-msvc@2.9.3': resolution: {integrity: sha512-fmw7NrrHE5m49idCvJAx9T9bsupjdJ0a3p3DPCNCZRGANU6R1tA1L+KTlVuUtdAldX2NqU/9UPo2SCslYKgJHQ==} @@ -6042,22 +5236,11 @@ packages: cpu: [x64] os: [win32] - '@tauri-apps/cli-win32-x64-msvc@2.9.4': - resolution: {integrity: sha512-EdYd4c9wGvtPB95kqtEyY+bUR+k4kRw3IA30mAQ1jPH6z57AftT8q84qwv0RDp6kkEqOBKxeInKfqi4BESYuqg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - '@tauri-apps/cli@2.9.3': resolution: {integrity: sha512-BQ7iLUXTQcyG1PpzLWeVSmBCedYDpnA/6Cm/kRFGtqjTf/eVUlyYO5S2ee07tLum3nWwDBWTGFZeruO8yEukfA==} engines: {node: '>= 10'} hasBin: true - '@tauri-apps/cli@2.9.4': - resolution: {integrity: sha512-pvylWC9QckrOS9ATWXIXcgu7g2hKK5xTL5ZQyZU/U0n9l88SEFGcWgLQNa8WZmd+wWIOWhkxOFcOl3i6ubDNNw==} - engines: {node: '>= 10'} - hasBin: true - '@tauri-apps/plugin-dialog@2.0.1': resolution: {integrity: sha512-fnUrNr6EfvTqdls/ufusU7h6UbNFzLKvHk/zTuOiBq01R3dTODqwctZlzakdbfSp/7pNwTKvgKTAgl/NAP/Z0Q==} @@ -6137,9 +5320,6 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/conventional-commits-parser@5.0.2': - resolution: {integrity: sha512-BgT2szDXnVypgpNxOK8aL5SGjUdaQbC++WZNjF1Qge3Og2+zhHj+RWhmehLhYyvQwqAmvezruVfOf8+3m74W+g==} - '@types/cookie-parser@1.4.10': resolution: {integrity: sha512-B4xqkqfZ8Wek+rCOeRxsjMS9OgvzebEzzLYw7NHYuvzb7IdxOkI0ZHGgeEBX4PUM7QGVvNSK60T3OvWj3YfBRg==} peerDependencies: @@ -6172,6 +5352,9 @@ packages: '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@0.0.39': resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} @@ -6223,9 +5406,6 @@ packages: '@types/lodash-es@4.17.12': resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash@4.17.20': - resolution: {integrity: sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==} - '@types/lodash@4.17.23': resolution: {integrity: sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==} @@ -6262,14 +5442,11 @@ packages: '@types/node@24.9.1': resolution: {integrity: sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==} - '@types/node@25.0.3': - resolution: {integrity: sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==} - - '@types/node@25.0.9': - resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==} + '@types/node@25.2.3': + resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} - '@types/nodemailer@7.0.5': - resolution: {integrity: sha512-7WtR4MFJUNN2UFy0NIowBRJswj5KXjXDhlZY43Hmots5eGu5q/dTeFd/I6GgJA/qj3RqO6dDy4SvfcV3fOVeIA==} + '@types/nodemailer@7.0.10': + resolution: {integrity: sha512-tP+9WggTFN22Zxh0XFyst7239H0qwiRCogsk7v9aQS79sYAJY+WEbTHbNYcxUMaalHKmsNpxmoTe35hBEMMd6g==} '@types/nprogress@0.2.3': resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} @@ -6382,102 +5559,72 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.53.1': - resolution: {integrity: sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.53.1 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/parser@8.53.1': - resolution: {integrity: sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==} + '@typescript-eslint/eslint-plugin@8.56.0': + resolution: {integrity: sha512-lRyPDLzNCuae71A3t9NEINBiTn7swyOhvUj3MyUOxb8x6g6vPEFoOU+ZRmGMusNC3X3YMhqMIX7i8ShqhT74Pw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/parser': ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.47.0': - resolution: {integrity: sha512-2X4BX8hUeB5JcA1TQJ7GjcgulXQ+5UkNb0DL8gHsHUHdFoiCTJoYLTpib3LtSDPZsRET5ygN4qqIWrHyYIKERA==} + '@typescript-eslint/parser@8.56.0': + resolution: {integrity: sha512-IgSWvLobTDOjnaxAfDTIHaECbkNlAlKv2j5SjpB2v7QHKv1FIfjwMy8FsDbVfDX/KjmCmYICcw7uGaXLhtsLNg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.53.1': - resolution: {integrity: sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==} + '@typescript-eslint/project-service@8.56.0': + resolution: {integrity: sha512-M3rnyL1vIQOMeWxTWIW096/TtVP+8W3p/XnaFflhmcFp+U4zlxUxWj4XwNs6HbDeTtN4yun0GNTTDBw/SvufKg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.47.0': - resolution: {integrity: sha512-a0TTJk4HXMkfpFkL9/WaGTNuv7JWfFTQFJd6zS9dVAjKsojmv9HT55xzbEpnZoY+VUb+YXLMp+ihMLz/UlZfDg==} + '@typescript-eslint/scope-manager@8.56.0': + resolution: {integrity: sha512-7UiO/XwMHquH+ZzfVCfUNkIXlp/yQjjnlYUyYz7pfvlK3/EyyN6BK+emDmGNyQLBtLGaYrTAI6KOw8tFucWL2w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.53.1': - resolution: {integrity: sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/tsconfig-utils@8.47.0': - resolution: {integrity: sha512-ybUAvjy4ZCL11uryalkKxuT3w3sXJAuWhOoGS3T/Wu+iUu1tGJmk5ytSY8gbdACNARmcYEB0COksD2j6hfGK2g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/tsconfig-utils@8.53.1': - resolution: {integrity: sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==} + '@typescript-eslint/tsconfig-utils@8.56.0': + resolution: {integrity: sha512-bSJoIIt4o3lKXD3xmDh9chZcjCz5Lk8xS7Rxn+6l5/pKrDpkCwtQNQQwZ2qRPk7TkUYhrq3WPIHXOXlbXP0itg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.53.1': - resolution: {integrity: sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==} + '@typescript-eslint/type-utils@8.56.0': + resolution: {integrity: sha512-qX2L3HWOU2nuDs6GzglBeuFXviDODreS58tLY/BALPC7iu3Fa+J7EOTwnX9PdNBxUI7Uh0ntP0YWGnxCkXzmfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.47.0': - resolution: {integrity: sha512-nHAE6bMKsizhA2uuYZbEbmp5z2UpffNrPEqiKIeN7VsV6UY/roxanWfoRrf6x/k9+Obf+GQdkm0nPU+vnMXo9A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/types@8.53.1': - resolution: {integrity: sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==} + '@typescript-eslint/types@8.56.0': + resolution: {integrity: sha512-DBsLPs3GsWhX5HylbP9HNG15U0bnwut55Lx12bHB9MpXxQ+R5GC8MwQe+N1UFXxAeQDvEsEDY6ZYwX03K7Z6HQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.47.0': - resolution: {integrity: sha512-k6ti9UepJf5NpzCjH31hQNLHQWupTRPhZ+KFF8WtTuTpy7uHPfeg2NM7cP27aCGajoEplxJDFVCEm9TGPYyiVg==} + '@typescript-eslint/typescript-estree@8.56.0': + resolution: {integrity: sha512-ex1nTUMWrseMltXUHmR2GAQ4d+WjkZCT4f+4bVsps8QEdh0vlBsaCokKTPlnqBFqqGaxilDNJG7b8dolW2m43Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.53.1': - resolution: {integrity: sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==} + '@typescript-eslint/utils@8.56.0': + resolution: {integrity: sha512-RZ3Qsmi2nFGsS+n+kjLAYDPVlrzf7UhTffrDIKr+h2yzAlYP/y5ZulU0yeDEPItos2Ph46JAL5P/On3pe7kDIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.53.1': - resolution: {integrity: sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - - '@typescript-eslint/visitor-keys@8.47.0': - resolution: {integrity: sha512-SIV3/6eftCy1bNzCQoPmbWsRLujS8t5iDIZ4spZOBHqrM+yfX2ogg8Tt3PDTAVKw3sSCiUgg30uOAvK2r9zGjQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@typescript-eslint/visitor-keys@8.53.1': - resolution: {integrity: sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==} + '@typescript-eslint/visitor-keys@8.56.0': + resolution: {integrity: sha512-q+SL+b+05Ud6LbEE35qe4A99P+htKTKVbyiNEe45eCbJFyh/HVK9QXwlrbz+Q4L8SOW4roxSVwXYj4DMBT7Ieg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@unhead/vue@2.1.2': - resolution: {integrity: sha512-w5yxH/fkkLWAFAOnMSIbvAikNHYn6pgC7zGF/BasXf+K3CO1cYIPFehYAk5jpcsbiNPMc3goyyw1prGLoyD14g==} + '@unhead/vue@2.1.4': + resolution: {integrity: sha512-MFvywgkHMt/AqbhmKOqRuzvuHBTcmmmnUa7Wm/Sg11leXAeRShv2PcmY7IiYdeeJqBMCm1jwhcs6201jj6ggZg==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} @@ -6602,7 +5749,7 @@ packages: resolution: {integrity: sha512-9eW8IfEPwnGHxvqfH2t8cBSI5eKPyLq2dizFVYIRGHi4ydMw5Q+vuMD+VP0I9zo0818zZ9b8TGLiyAmOzvyoAQ==} peerDependencies: '@urql/core': ^6.0.0 - vue: 3.5.27 + vue: 3.5.28 '@vitejs/plugin-legacy@2.3.0': resolution: {integrity: sha512-Bh62i0gzQvvT8AeAAb78nOnqSYXypkRmQmOTImdPZ39meHR9e2une3AIFmVo4s1SDmcmJ6qj18Sa/lRc/14KaA==} @@ -6618,18 +5765,18 @@ packages: terser: ^5.16.0 vite: ^7.0.0 - '@vitejs/plugin-vue@6.0.3': - resolution: {integrity: sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==} + '@vitejs/plugin-vue@6.0.4': + resolution: {integrity: sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - vue: 3.5.27 + vue: 3.5.28 - '@vitest/expect@4.0.17': - resolution: {integrity: sha512-mEoqP3RqhKlbmUmntNDDCJeTDavDR+fVYkSOw8qRwJFaW/0/5zA9zFeTrHqNtcmwh6j26yMmwx2PqUDPzt5ZAQ==} + '@vitest/expect@4.0.18': + resolution: {integrity: sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==} - '@vitest/mocker@4.0.17': - resolution: {integrity: sha512-+ZtQhLA3lDh1tI2wxe3yMsGzbp7uuJSWBM1iTIKCbppWTSBN09PUC+L+fyNlQApQoR+Ps8twt2pbSSXg2fQVEQ==} + '@vitest/mocker@4.0.18': + resolution: {integrity: sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0-0 @@ -6639,20 +5786,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.0.17': - resolution: {integrity: sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw==} + '@vitest/pretty-format@4.0.18': + resolution: {integrity: sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==} - '@vitest/runner@4.0.17': - resolution: {integrity: sha512-JmuQyf8aMWoo/LmNFppdpkfRVHJcsgzkbCA+/Bk7VfNH7RE6Ut2qxegeyx2j3ojtJtKIbIGy3h+KxGfYfk28YQ==} + '@vitest/runner@4.0.18': + resolution: {integrity: sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==} - '@vitest/snapshot@4.0.17': - resolution: {integrity: sha512-npPelD7oyL+YQM2gbIYvlavlMVWUfNNGZPcu0aEUQXt7FXTuqhmgiYupPnAanhKvyP6Srs2pIbWo30K0RbDtRQ==} + '@vitest/snapshot@4.0.18': + resolution: {integrity: sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==} - '@vitest/spy@4.0.17': - resolution: {integrity: sha512-I1bQo8QaP6tZlTomQNWKJE6ym4SHf3oLS7ceNjozxxgzavRAgZDc06T7kD8gb9bXKEgcLNt00Z+kZO6KaJ62Ew==} + '@vitest/spy@4.0.18': + resolution: {integrity: sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==} - '@vitest/utils@4.0.17': - resolution: {integrity: sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w==} + '@vitest/utils@4.0.18': + resolution: {integrity: sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==} '@volar/language-core@1.10.10': resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} @@ -6672,17 +5819,17 @@ packages: '@volar/typescript@2.4.23': resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} - '@vue/compiler-core@3.5.27': - resolution: {integrity: sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==} + '@vue/compiler-core@3.5.28': + resolution: {integrity: sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==} - '@vue/compiler-dom@3.5.27': - resolution: {integrity: sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==} + '@vue/compiler-dom@3.5.28': + resolution: {integrity: sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==} - '@vue/compiler-sfc@3.5.27': - resolution: {integrity: sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==} + '@vue/compiler-sfc@3.5.28': + resolution: {integrity: sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==} - '@vue/compiler-ssr@3.5.27': - resolution: {integrity: sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==} + '@vue/compiler-ssr@3.5.28': + resolution: {integrity: sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -6690,11 +5837,11 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/eslint-config-typescript@14.6.0': - resolution: {integrity: sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==} + '@vue/eslint-config-typescript@14.7.0': + resolution: {integrity: sha512-iegbMINVc+seZ/QxtzWiOBozctrHiF2WvGedruu2EbLujg9VuU0FQiNcN2z1ycuaoKKpF4m2qzB5HDEMKbxtIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^9.10.0 + eslint: ^9.10.0 || ^10.0.0 eslint-plugin-vue: ^9.28.0 || ^10.0.0 typescript: '>=4.8.4' peerDependenciesMeta: @@ -6725,64 +5872,58 @@ packages: typescript: optional: true - '@vue/reactivity@3.5.24': - resolution: {integrity: sha512-BM8kBhtlkkbnyl4q+HiF5R5BL0ycDPfihowulm02q3WYp2vxgPcJuZO866qa/0u3idbMntKEtVNuAUp5bw4teg==} + '@vue/reactivity@3.5.28': + resolution: {integrity: sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==} - '@vue/reactivity@3.5.27': - resolution: {integrity: sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==} + '@vue/runtime-core@3.5.28': + resolution: {integrity: sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==} - '@vue/runtime-core@3.5.27': - resolution: {integrity: sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==} + '@vue/runtime-dom@3.5.28': + resolution: {integrity: sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==} - '@vue/runtime-dom@3.5.27': - resolution: {integrity: sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==} - - '@vue/server-renderer@3.5.27': - resolution: {integrity: sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==} + '@vue/server-renderer@3.5.28': + resolution: {integrity: sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==} peerDependencies: - vue: 3.5.27 - - '@vue/shared@3.5.24': - resolution: {integrity: sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==} + vue: 3.5.28 - '@vue/shared@3.5.27': - resolution: {integrity: sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==} + '@vue/shared@3.5.28': + resolution: {integrity: sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==} '@vue/typescript@1.8.8': resolution: {integrity: sha512-jUnmMB6egu5wl342eaUH236v8tdcEPXXkPgj+eI/F6JwW/lb+yAU6U07ZbQ3MVabZRlupIlPESB7ajgAGixhow==} - '@vueuse/core@14.1.0': - resolution: {integrity: sha512-rgBinKs07hAYyPF834mDTigH7BtPqvZ3Pryuzt1SD/lg5wEcWqvwzXXYGEDb2/cP0Sj5zSvHl3WkmMELr5kfWw==} + '@vueuse/core@14.2.1': + resolution: {integrity: sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@vueuse/core@8.9.4': resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==} peerDependencies: '@vue/composition-api': ^1.1.0 - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: '@vue/composition-api': optional: true vue: optional: true - '@vueuse/metadata@14.1.0': - resolution: {integrity: sha512-7hK4g015rWn2PhKcZ99NyT+ZD9sbwm7SGvp7k+k+rKGWnLjS/oQozoIZzWfCewSUeBmnJkIb+CNr7Zc/EyRnnA==} + '@vueuse/metadata@14.2.1': + resolution: {integrity: sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==} '@vueuse/metadata@8.9.4': resolution: {integrity: sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==} - '@vueuse/shared@14.1.0': - resolution: {integrity: sha512-EcKxtYvn6gx1F8z9J5/rsg3+lTQnvOruQd8fUecW99DCK04BkWD7z5KQ/wTAx+DazyoEE9dJt/zV8OIEQbM6kw==} + '@vueuse/shared@14.2.1': + resolution: {integrity: sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 '@vueuse/shared@8.9.4': resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==} peerDependencies: '@vue/composition-api': ^1.1.0 - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -6872,10 +6013,6 @@ packages: '@zone-eu/mailsplit@5.4.7': resolution: {integrity: sha512-jApX86aDgolMz08pP20/J2zcns02NSK3zSiYouf01QQg4250L+GUAWSWicmS7eRvs+Z7wP7QfXrnkaTBGrIpwQ==} - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -6969,6 +6106,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + alce@1.2.0: resolution: {integrity: sha512-XppPf2S42nO2WhvKzlwzlfcApcXHzjlod30pKmcWjRgLOtqoe5DMuqdiYoM6AgyXksc6A6pV4v1L/WW217e57w==} engines: {node: '>=0.8.0'} @@ -7106,8 +6246,8 @@ packages: resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} engines: {node: '>=8'} - autoprefixer@10.4.23: - resolution: {integrity: sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==} + autoprefixer@10.4.24: + resolution: {integrity: sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -7131,8 +6271,8 @@ packages: axios: '>=0.20.0' tough-cookie: '>=4.0.0' - axios@1.13.2: - resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} + axios@1.13.5: + resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==} babel-jest@30.2.0: resolution: {integrity: sha512-0YiBEOxWqKkSQWL9nNGGEgndoeL0ZpWrbLMNL5u/Kaxrli3Eaxlt3ZtIDktEvXt4L/R9r3ODr2zKwGM/2BjxVw==} @@ -7148,8 +6288,8 @@ packages: resolution: {integrity: sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - babel-plugin-polyfill-corejs2@0.4.14: - resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + babel-plugin-polyfill-corejs2@0.4.15: + resolution: {integrity: sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -7158,8 +6298,13 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.6.5: - resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + babel-plugin-polyfill-corejs3@0.14.0: + resolution: {integrity: sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.6: + resolution: {integrity: sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -7192,6 +6337,10 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@4.0.2: + resolution: {integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==} + engines: {node: 20 || >=22} + base64-arraybuffer@0.1.4: resolution: {integrity: sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==} engines: {node: '>= 0.6.0'} @@ -7203,10 +6352,6 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} - baseline-browser-mapping@2.8.30: - resolution: {integrity: sha512-aTUKW4ptQhS64+v2d6IkPzymEzzhw+G0bA1g3uBRV3+ntkH+svttKseW5IOR4Ed6NUVKqnY7qT3dKvzQ7io4AA==} - hasBin: true - baseline-browser-mapping@2.9.11: resolution: {integrity: sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==} hasBin: true @@ -7242,9 +6387,6 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - bowser@2.12.1: - resolution: {integrity: sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==} - boxen@5.1.2: resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} engines: {node: '>=10'} @@ -7255,6 +6397,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.2: + resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} + engines: {node: 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -7272,11 +6418,6 @@ packages: peerDependencies: browserslist: '*' - browserslist@4.28.0: - resolution: {integrity: sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.28.1: resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -7371,14 +6512,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001756: - resolution: {integrity: sha512-4HnCNKbMLkLdhJz3TToeVWHSnfJvPaq6vu/eRP0Ahub/07n484XHhBF5AJoSGHdVrS8tKFauUQz8Bp9P7LVx7A==} - - caniuse-lite@1.0.30001762: - resolution: {integrity: sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==} - - caniuse-lite@1.0.30001765: - resolution: {integrity: sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ==} + caniuse-lite@1.0.30001770: + resolution: {integrity: sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -7560,8 +6695,8 @@ packages: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} commander@2.20.3: @@ -7637,17 +6772,17 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} + conventional-changelog-angular@8.1.0: + resolution: {integrity: sha512-GGf2Nipn1RUCAktxuVauVr1e3r8QrLP/B0lEUsFktmGqc3ddbQkhoJZHJctVU829U1c6mTSWftrVOCHaL85Q3w==} + engines: {node: '>=18'} - conventional-changelog-conventionalcommits@7.0.2: - resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} - engines: {node: '>=16'} + conventional-changelog-conventionalcommits@9.1.0: + resolution: {integrity: sha512-MnbEysR8wWa8dAEvbj5xcBgJKQlX/m0lhS8DsyAAWDHdfs2faDJxTgzRYlRYpXSe7UiKrIIlB4TrBKU9q9DgkA==} + engines: {node: '>=18'} - conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} + conventional-commits-parser@6.2.1: + resolution: {integrity: sha512-20pyHgnO40rvfI0NGF/xiEoFMkXDtkF8FwHvk5BokoFoCuTQRI8vrNCNFWUOfuolKJMm1tPCHc8GgYEtr1XRNA==} + engines: {node: '>=18'} hasBin: true convert-source-map@2.0.0: @@ -7685,8 +6820,8 @@ packages: resolution: {integrity: sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==} engines: {node: '>=18'} - core-js-compat@3.47.0: - resolution: {integrity: sha512-IGfuznZ/n7Kp9+nypamBhvwdwLsW6KC8IOaURw2doAK5e98AG3acVLdh0woOnEqCfUtS+Vu882JE4k/DAm3ItQ==} + core-js-compat@3.48.0: + resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} core-js@3.47.0: resolution: {integrity: sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==} @@ -7694,8 +6829,8 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + cors@2.8.6: + resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} corser@2.0.1: @@ -7738,8 +6873,8 @@ packages: crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} - cron@4.3.5: - resolution: {integrity: sha512-hKPP7fq1+OfyCqoePkKfVq7tNAdFwiQORr4lZUHwrf0tebC65fYEeWgOrXOL6prn1/fegGOdTfrM6e34PJfksg==} + cron@4.4.0: + resolution: {integrity: sha512-fkdfq+b+AHI4cKdhZlppHveI/mgz2qpiYxcm+t5E5TsxX7QrLS1VE0+7GENEk9z0EeGPcpSciGv6ez24duWhwQ==} engines: {node: '>=18.x'} cross-env@10.1.0: @@ -7765,8 +6900,8 @@ packages: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} - css-declaration-sorter@7.3.0: - resolution: {integrity: sha512-LQF6N/3vkAMYF4xoHLJfG718HRJh34Z8BnNhd6bosOMIVjMlhuZK5++oZa3uYAgrI5+7x2o27gUqTR2U/KjUOQ==} + css-declaration-sorter@7.3.1: + resolution: {integrity: sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.0.9 @@ -8021,7 +7156,7 @@ packages: dioc@3.0.2: resolution: {integrity: sha512-D8S1vMTtBeXeUW2dR0rJ7xiPHxp1zm1NzO2B4Aj4RAJB6E6urA0/xD/CnGs6J1JkgUZvUgaC+oedx/k5NrT+/g==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: vue: optional: true @@ -8080,12 +7215,8 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - dotenv-expand@12.0.1: - resolution: {integrity: sha512-LaKRbou8gt0RNID/9RoI+J2rvXsBRPMV7p+ElHlPhcSARbCPDYcYG2s1TIzAfWv4YSgyY5taidWzzs31lNV3yQ==} - engines: {node: '>=12'} - - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + dotenv-expand@12.0.3: + resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} dotenv@16.5.0: @@ -8100,6 +7231,10 @@ packages: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + engines: {node: '>=12'} + dset@3.1.4: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} @@ -8114,9 +7249,6 @@ packages: dynamic-dedupe@0.3.0: resolution: {integrity: sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} @@ -8131,9 +7263,6 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.259: - resolution: {integrity: sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==} - electron-to-chromium@1.5.267: resolution: {integrity: sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==} @@ -8147,9 +7276,6 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - empathic@2.0.0: resolution: {integrity: sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==} engines: {node: '>=14'} @@ -8230,10 +7356,6 @@ packages: error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} - es-abstract@1.24.0: - resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==} - engines: {node: '>= 0.4'} - es-abstract@1.24.1: resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} engines: {node: '>= 0.4'} @@ -8402,11 +7524,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.0: - resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.27.2: resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} @@ -8464,13 +7581,13 @@ packages: eslint-config-prettier: optional: true - eslint-plugin-vue@10.6.2: - resolution: {integrity: sha512-nA5yUs/B1KmKzvC42fyD0+l9Yd+LtEpVhWRbXuDj0e+ZURcTtyRbMDWUeJmTAh2wC6jC83raS63anNM2YT3NPw==} + eslint-plugin-vue@10.8.0: + resolution: {integrity: sha512-f1J/tcbnrpgC8suPN5AtdJ5MQjuXbSU9pGRSSYAuF3SHoiYCOdEX6O22pLaRyLHXvDcOe+O5ENgc1owQ587agA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@stylistic/eslint-plugin': ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 '@typescript-eslint/parser': ^7.0.0 || ^8.0.0 - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 vue-eslint-parser: ^10.0.0 peerDependenciesMeta: '@stylistic/eslint-plugin': @@ -8486,6 +7603,10 @@ packages: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.0: + resolution: {integrity: sha512-CkWE42hOJsNj9FJRaoMX9waUFYhqY4jmyLFdAdzZr6VaCg3ynLYx4WnOdkaIifGfH4gsUcBTn4OZbHXkpLD0FQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8494,6 +7615,20 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@5.0.0: + resolution: {integrity: sha512-A0XeIi7CXU7nPlfHS9loMYEKxUaONu/hTEzHTGba9Huu94Cq1hPivf+DE5erJozZOky0LfvXAyrV/tcswpLI0Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.0.0: + resolution: {integrity: sha512-O0piBKY36YSJhlFSG8p9VUdPV/SxxS4FYDWVpr/9GJuMaepzwlf4J8I4ov1b+ySQfDTPhc3DtLaxcT1fN0yqCg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + eslint@9.39.2: resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -8508,6 +7643,10 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@11.1.0: + resolution: {integrity: sha512-WFWYhO1fV4iYkqOOvq8FbqIhr2pYfoDY0kCotMkDeNtGpiGGkZ1iov2u8ydjtgM8yF8rzK7oaTbw2NAzbAbehw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -8526,8 +7665,8 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -8614,8 +7753,8 @@ packages: resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - express-session@1.18.2: - resolution: {integrity: sha512-SZjssGQC7TzTs9rpPDuUrR23GNZ9+2+IkA/+IJWmvQilTr5OSliEHGF+D9scbIpdC6yGtTI0/VhaHoVes2AN/A==} + express-session@1.19.0: + resolution: {integrity: sha512-0csaMkGq+vaiZTmSMMGkfdCOabYv192VbytFypcvI0MANrp+4i/7yEkJ0sbAEhycQjntaKGzYfjfXQyVb7BHMA==} engines: {node: '>= 0.8.0'} express@5.2.1: @@ -8674,10 +7813,6 @@ packages: fast-url-parser@1.1.3: resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} - fast-xml-parser@5.2.5: - resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} - hasBin: true - fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} @@ -8737,10 +7872,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@7.0.0: - resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} - engines: {node: '>=18'} - fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} @@ -8871,8 +8002,8 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - get-port-please@3.1.2: - resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + get-port-please@3.2.0: + resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} get-port@5.1.1: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} @@ -8920,12 +8051,17 @@ packages: glob@11.1.0: resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true glob@13.0.0: resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} engines: {node: 20 || >=22} + glob@13.0.5: + resolution: {integrity: sha512-BzXxZg24Ibra1pbQ/zE7Kys4Ua1ks7Bn6pKLkVPZ9FZe4JQS6/Q7ef3LG1H+k7lUf5l4T3PLSyYyYJVYUvfgTw==} + engines: {node: 20 || >=22} + global-directory@4.0.1: resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} engines: {node: '>=18'} @@ -8942,8 +8078,8 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@17.0.0: - resolution: {integrity: sha512-gv5BeD2EssA793rlFWVPMMCqefTlpusw6/2TbAVMy0FzcG8wKJn4O+NqJ4+XWmmwrayJgw5TzrmWjFgmz1XPqw==} + globals@17.3.0: + resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==} engines: {node: '>=18'} globalthis@1.0.4: @@ -8964,6 +8100,9 @@ packages: grammex@3.1.11: resolution: {integrity: sha512-HNwLkgRg9SqTAd1N3Uh/MnKwTBTzwBxTOPbXQ8pb0tpwydjk90k4zRE8JUn9fMUiRwKtXFZ1TWFmms3dZHN+Fg==} + graphmatch@1.1.1: + resolution: {integrity: sha512-5ykVn/EXM1hF0XCaWh05VbYvEiOL2lY1kBxZtaYsyvjp7cmWOU1XsAdfQBwClraEofXDT197lFbXOEVMHpvQOg==} + graphql-config@4.5.0: resolution: {integrity: sha512-x6D0/cftpLUJ0Ch1e5sj1TZn6Wcxx4oMfmhaG9shM0DKajA9iR+j1z86GSTQ19fShbGvrSSvbIQsHku6aQ6BBw==} engines: {node: '>= 10.0.0'} @@ -9035,22 +8174,19 @@ packages: peerDependencies: graphql: '>=0.11 <=16' - graphql-ws@6.0.6: - resolution: {integrity: sha512-zgfER9s+ftkGKUZgc0xbx8T7/HMO4AV5/YuYiFc+AtgcO5T0v8AxYYNQ+ltzuzDZgNkYJaFspm5MMYLjQzrkmw==} + graphql-ws@6.0.7: + resolution: {integrity: sha512-yoLRW+KRlDmnnROdAu7sX77VNLC0bsFoZyGQJLy1cF+X/SkLg/fWkRGrEEYQK8o2cafJ2wmEaMqMEZB3U3DYDg==} engines: {node: '>=20'} peerDependencies: '@fastify/websocket': ^10 || ^11 crossws: ~0.3 graphql: ^15.10.1 || ^16 - uWebSockets.js: ^20 ws: 8.17.1 peerDependenciesMeta: '@fastify/websocket': optional: true crossws: optional: true - uWebSockets.js: - optional: true ws: optional: true @@ -9120,8 +8256,8 @@ packages: highlightjs-curl@1.3.0: resolution: {integrity: sha512-50UEfZq1KR0Lfk2Tr6xb/MUIZH3h10oNC0OTy9g7WELcs5Fgy/mKN1vEhuKTkKbdo8vr5F9GXstu2eLhApfQ3A==} - hono@4.11.4: - resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==} + hono@4.11.7: + resolution: {integrity: sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==} engines: {node: '>=16.9.0'} hookable@6.0.1: @@ -9470,6 +8606,10 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} @@ -9514,10 +8654,6 @@ packages: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} - is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -9617,8 +8753,8 @@ packages: resolution: {integrity: sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==} engines: {node: '>=6'} - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + jackspeak@4.2.3: + resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} engines: {node: 20 || >=22} jake@10.9.4: @@ -9871,8 +9007,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-eslint-parser@2.4.1: - resolution: {integrity: sha512-uuPNLJkKN8NXAlZlQ6kmUF9qO+T6Kyd7oV4+/7yy8Jz6+MZNyhPq8EdLpdfnPVzUC8qSf1b4j1azKaGnFsjmsw==} + jsonc-eslint-parser@2.4.2: + resolution: {integrity: sha512-1e4qoRgnn448pRuMvKGsFFymUCquZV0mpGgOyIKNgD3JVDTsVJyRBGH/Fm0tBb8WsWGgmB1mDe6/yJMQM37DUA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} jsonc-parser@3.3.1: @@ -9881,18 +9017,10 @@ packages: jsonfile@6.2.0: resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} - engines: {node: '>=12', npm: '>=6'} - jsonwebtoken@9.0.3: resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} @@ -9908,15 +9036,9 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - jwa@1.4.2: - resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} - jwa@2.0.1: resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - jws@3.2.3: - resolution: {integrity: sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==} - jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} @@ -10016,12 +9138,8 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash-es@4.17.22: - resolution: {integrity: sha512-XEawp1t0gxSi9x01glktRZ5HDy0HXqrM0x5pXQM98EaI0NxO6jVM7omDOxsuEo5UIASAnm2bRp1Jt/e0a2XU8Q==} + lodash-es@4.17.23: + resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -10095,8 +9213,8 @@ packages: lodash.upperfirst@4.3.1: resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} @@ -10129,10 +9247,6 @@ packages: lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lru-cache@11.2.2: - resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} - engines: {node: 20 || >=22} - lru-cache@11.2.4: resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} @@ -10185,8 +9299,8 @@ packages: map-stream@0.0.7: resolution: {integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==} - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + markdown-it@14.1.1: + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true marked@14.0.0: @@ -10311,8 +9425,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} + minimatch@10.2.1: + resolution: {integrity: sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -10582,8 +9696,12 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - nodemailer@8.0.0: - resolution: {integrity: sha512-xvVJf/f0bzmNpnRIbhCp/IKxaHgJ6QynvUbLXzzMRPG3LDQr5oXkYuw4uDFyFYs8cge8agwwrJAXZsd4hhMquw==} + nodemailer@7.0.11: + resolution: {integrity: sha512-gnXhNRE0FNhD7wPSCGhdNh46Hs6nm+uTyg+Kq0cZukNQiYdnCsoQjodNP9BQVG9XrcK/v6/MgpAPBUFyzh9pvw==} + engines: {node: '>=6.0.0'} + + nodemailer@8.0.1: + resolution: {integrity: sha512-5kcldIXmaEjZcHR6F28IKGSgpmZHaF1IXLWFTG+Xh3S+Cce4MiakLtWY+PlBU69fLbRa8HlaGIrC/QolUpHkhg==} engines: {node: '>=6.0.0'} normalize-package-data@2.5.0: @@ -10743,10 +9861,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -10755,10 +9869,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-map@7.0.4: resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} @@ -10887,10 +9997,6 @@ packages: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -10956,8 +10062,8 @@ packages: pg-cloudflare@1.3.0: resolution: {integrity: sha512-6lswVVSztmHiRtD6I8hw4qP/nDm1EJbKMRhf3HCYaqud7frGysPv7FYJ5noZQdhQtN2xJnimfMtvQq21pdbzyQ==} - pg-connection-string@2.10.0: - resolution: {integrity: sha512-ur/eoPKzDx2IjPaYyXS6Y8NSblxM7X64deV2ObV57vhjsWiwLvUD6meukAzogiOsu60GO8m/3Cb6FdJsWNjwXg==} + pg-connection-string@2.11.0: + resolution: {integrity: sha512-kecgoJwhOpxYU21rZjULrmrBJ698U2RxXofKVzOn5UDj61BPj/qMb7diYUR1nLScCDbrztQFl1TaQZT0t1EtzQ==} pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -10968,9 +10074,6 @@ packages: peerDependencies: pg: '>=8.0' - pg-protocol@1.10.3: - resolution: {integrity: sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==} - pg-protocol@1.11.0: resolution: {integrity: sha512-pfsxk2M9M3BuGgDOfuy37VNRRX3jmKgMjcvAcWqNDpZSf4cUmv8HSOl5ViRQFsfARFn0KuUQTgLxVMbNq5NW3g==} @@ -10978,8 +10081,8 @@ packages: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - pg@8.17.1: - resolution: {integrity: sha512-EIR+jXdYNSMOrpRp7g6WgQr7SaZNZfS7IzZIO0oTNEeibq956JxeD15t3Jk3zZH0KH8DmOIx38qJfQenoE8bXQ==} + pg@8.18.0: + resolution: {integrity: sha512-xqrUDL1b9MbkydY/s+VZ6v+xiMUmOUk7SS9d/1kpyQxoJ6U9AO1oIJyUWVZojbfe5Cc/oluutcgFG4L9RDP1iQ==} engines: {node: '>= 16.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -11298,8 +10401,8 @@ packages: resolution: {integrity: sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==} engines: {node: '>=12'} - posthog-node@5.23.0: - resolution: {integrity: sha512-MxcBgY9l2qqLpUJqeIT/zm/s6VBp2zTWvamvkGwyuSP/vcg375+nQcgDtsg5PgEXPP/sFhVnr9Ae48ykd5wQ7A==} + posthog-node@5.24.15: + resolution: {integrity: sha512-0QnWVOZAPwEAlp+r3r0jIGfk2IaNYM/2YnEJJhBMJZXs4LpHcTu7mX42l+e95o9xX87YpVuZU0kOkmtQUxgnOA==} engines: {node: ^20.20.0 || >=22.22.0} posthtml-parser@0.11.0: @@ -11314,8 +10417,8 @@ packages: resolution: {integrity: sha512-7Hc+IvlQ7hlaIfQFZnxlRl0jnpWq2qwibORBhQYIb0QbNtuicc5ZxvKkVT71HJ4Py1wSZ/3VR1r8LfkCtoCzhw==} engines: {node: '>=12.0.0'} - postman-collection@5.2.0: - resolution: {integrity: sha512-ktjlchtpoCw+FZRg+WwnGWH1w9oQDNUBLSRh+9ETPqFAz3SupqHqRuMh74xjQ+PvTWY/WH2JR4ZW+1sH58Ul1g==} + postman-collection@5.2.1: + resolution: {integrity: sha512-KWzsR1RdLYuufabEEZ+UaMn/exDUNkGqC7tT8GkWumarGdpl/dAh3Lcgo7Z2fDqsGeb+EkqZgrYH8beXRtLmjA==} engines: {node: '>=18'} postman-url-encoder@3.0.8: @@ -11390,8 +10493,8 @@ packages: prettier-plugin-svelte: optional: true - prettier@3.8.0: - resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==} + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} hasBin: true @@ -11415,8 +10518,8 @@ packages: resolution: {integrity: sha512-ZtV1YrwscEjlrUzYrTSs6Nwo49JM3pXLM4fFOBSC3wSni+bxaWlw9/Qgk75PZO8M7cX2EybmL2iwvaV3vkAttw==} engines: {node: '>=14'} - prisma@7.2.0: - resolution: {integrity: sha512-jSdHWgWOgFF24+nRyyNRVBIgGDQEsMEF8KPHvhBBg3jWyR9fUAK0Nq9ThUmiGlNgq2FA7vSk/ZoCvefod+a8qg==} + prisma@7.4.0: + resolution: {integrity: sha512-n2xU9vSaH4uxZF/l2aKoGYtKtC7BL936jM9Q94Syk1zOD39t/5hjDUxMgaPkVRDX5wWEMsIqvzQxoebNIesOKw==} engines: {node: ^20.19 || ^22.12 || >=24.0} hasBin: true peerDependencies: @@ -11514,8 +10617,12 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} + engines: {node: '>=0.6'} + + qs@6.15.0: + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} quansync@0.2.11: @@ -11652,11 +10759,15 @@ packages: resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} hasBin: true + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + relay-runtime@12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} - remeda@2.21.3: - resolution: {integrity: sha512-XXrZdLA10oEOQhLLzEJEiFFSKi21REGAkHdImIb4rt/XXy8ORGXh5HCcpUOsElfPNDb+X6TA/+wkh+p2KffYmg==} + remeda@2.33.4: + resolution: {integrity: sha512-ygHswjlc/opg2VrtiYvUOPLjxjtdKvjGz1/plDhkG66hjNjFr1xmfrs2ClNFo/E6TyUFiwYNh53bKV26oBoMGQ==} remedial@1.0.8: resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} @@ -11730,8 +10841,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@6.1.2: - resolution: {integrity: sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==} + rimraf@6.1.3: + resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} engines: {node: 20 || >=22} hasBin: true @@ -11802,8 +10913,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.97.2: - resolution: {integrity: sha512-y5LWb0IlbO4e97Zr7c3mlpabcbBtS+ieiZ9iwDooShpFKWXf62zz5pEPdwrLYm+Bxn1fnbwFGzHuCLSA9tBmrw==} + sass@1.97.3: + resolution: {integrity: sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==} engines: {node: '>=14.0.0'} hasBin: true @@ -11844,8 +10955,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true @@ -11983,8 +11094,9 @@ packages: slick@1.12.2: resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} - smob@1.5.0: - resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} + smob@1.6.1: + resolution: {integrity: sha512-KAkBqZl3c2GvNgNhcoyJae1aKldDW0LO279wF9bk1PnluRTETKBq0WyzRXxEhoQLk56yHaOY4JCBEKDuJIET5g==} + engines: {node: '>=20.0.0'} snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -12104,9 +11216,6 @@ packages: std-env@3.10.0: resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - stop-iteration-iterator@1.1.0: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} @@ -12136,10 +11245,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} @@ -12210,9 +11315,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strnum@2.1.1: - resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} - strtok3@10.3.4: resolution: {integrity: sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==} engines: {node: '>=18'} @@ -12313,10 +11415,6 @@ packages: resolution: {integrity: sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==} engines: {node: '>=18'} - synckit@0.11.11: - resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==} - engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.11.12: resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12381,10 +11479,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -12490,12 +11584,6 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-api-utils@2.4.0: resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -12668,11 +11756,11 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.53.1: - resolution: {integrity: sha512-gB+EVQfP5RDElh9ittfXlhZJdjSU4jUSTyE2+ia8CYyNvet4ElfaLlAIqDvQV9JPknKx0jQH1racTYe/4LaLSg==} + typescript-eslint@8.56.0: + resolution: {integrity: sha512-c7toRLrotJ9oixgdW7liukZpsnq5CZ7PuKztubGYlNppuTqhIoWfhgHo/7EU0v06gS2l/x0i2NEFK1qMIf0rIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.0.0' typescript@5.9.2: @@ -12726,8 +11814,8 @@ packages: undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} - unhead@2.1.2: - resolution: {integrity: sha512-vSihrxyb+zsEUfEbraZBCjdE0p/WSoc2NGDrpwwSNAwuPxhYK1nH3eegf02IENLpn1sUhL8IoO84JWmRQ6tILA==} + unhead@2.1.4: + resolution: {integrity: sha512-+5091sJqtNNmgfQ07zJOgUnMIMKzVKAWjeMlSrTdSGPB6JSozhpjUKuMfWEoLxlMAfhIvgOU8Me0XJvmMA/0fA==} unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} @@ -12751,10 +11839,6 @@ packages: unicode-trie@2.0.0: resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==} - unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - unicorn-magic@0.3.0: resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} engines: {node: '>=18'} @@ -12821,7 +11905,7 @@ packages: peerDependencies: '@babel/parser': ^7.15.8 '@nuxt/kit': ^3.2.2 || ^4.0.0 - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: '@babel/parser': optional: true @@ -12832,8 +11916,8 @@ packages: resolution: {integrity: sha512-Qp+iiD+qCRnUek+nDoYvtWX7tfnYyXsrOnJ452FRTgOyKmTM7TUJ3l+PLPJOOWPTUyKISKp4isC5JJPSXUjGgw==} engines: {node: '>=18.12.0'} - unplugin@2.3.10: - resolution: {integrity: sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==} + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} unplugin@2.3.5: @@ -12847,12 +11931,6 @@ packages: resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} engines: {node: '>=4'} - update-browserslist-db@1.1.4: - resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - update-browserslist-db@1.2.3: resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true @@ -13061,8 +12139,8 @@ packages: '@vite-pwa/assets-generator': optional: true - vite-plugin-static-copy@3.1.5: - resolution: {integrity: sha512-9pbZn9Vb+uUNg/Tr/f2MXmGvfSfLeWjscS4zTA3v+sWqKN+AjJ/ipTFwaqdopJkNkxG5DfgYrZXD80ljbNDxbg==} + vite-plugin-static-copy@3.2.0: + resolution: {integrity: sha512-g2k9z8B/1Bx7D4wnFjPLx9dyYGrqWMLTpwTtPHhcU+ElNZP2O4+4OsyaficiDClus0dzVhdGvoGFYMJxoXZ12Q==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -13071,7 +12149,7 @@ packages: resolution: {integrity: sha512-uh6NW7lt+aOXujK4eHfiNbeo55K9OTuB7fnv+5RVc4OBn/cZull6ThXdYH03JzKanUfgt6QZ37NbbtJ0og59qw==} peerDependencies: vite: ^4.0.0 || ^5.0.0 - vue: 3.5.27 + vue: 3.5.28 vue-router: ^4.0.11 vite@3.2.11: @@ -13147,18 +12225,18 @@ packages: vite: optional: true - vitest@4.0.17: - resolution: {integrity: sha512-FQMeF0DJdWY0iOnbv466n/0BudNdKj1l5jYgl5JVTwjSsZSlqyXFt/9+1sEyhR6CLowbZpV7O1sCHrzBhucKKg==} + vitest@4.0.18: + resolution: {integrity: sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.0.17 - '@vitest/browser-preview': 4.0.17 - '@vitest/browser-webdriverio': 4.0.17 - '@vitest/ui': 4.0.17 + '@vitest/browser-playwright': 4.0.18 + '@vitest/browser-preview': 4.0.18 + '@vitest/browser-webdriverio': 4.0.18 + '@vitest/ui': 4.0.18 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -13197,33 +12275,33 @@ packages: hasBin: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.5.27 + vue: 3.5.28 peerDependenciesMeta: '@vue/composition-api': optional: true - vue-eslint-parser@10.2.0: - resolution: {integrity: sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==} + vue-eslint-parser@10.4.0: + resolution: {integrity: sha512-Vxi9pJdbN3ZnVGLODVtZ7y4Y2kzAAE2Cm0CZ3ZDRvydVYxZ6VrnBhLikBsRS+dpwj4Jv4UCv21PTEwF5rQ9WXg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 vue-i18n@11.2.8: resolution: {integrity: sha512-vJ123v/PXCZntd6Qj5Jumy7UBmIuE92VrtdX+AXr+1WzdBHojiBxnAxdfctUFL+/JIN+VQH4BhsfTtiGsvVObg==} engines: {node: '>= 16'} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 vue-json-pretty@2.6.0: resolution: {integrity: sha512-glz1aBVS35EO8+S9agIl3WOQaW2cJZW192UVKTuGmryx01ZvOVWc4pR3t+5UcyY4jdOfBUgVHjcpRpcnjRhCAg==} engines: {node: '>= 10.0.0', npm: '>= 5.0.0'} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 vue-pdf-embed@2.1.3: resolution: {integrity: sha512-EGgZNb8HRrAloBpb8p8CugDpJpoPbQ8CFfAYdWZgq2e5qBMP9JSeLzVQIAJkXsclHXRIS3O9fp3WQbP9T5Inwg==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 vue-promise-modals@0.1.0: resolution: {integrity: sha512-LmPejeqvZSkxj4KkJe6ZUEJmCUQXVeEAj9ihTX+BRFfZftVCZSZd3B4uuZSKF0iCeQUemkodXUZFxcsNT/2dmg==} @@ -13231,7 +12309,7 @@ packages: vue-router@4.6.4: resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 vue-template-compiler@2.7.16: resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} @@ -13239,7 +12317,7 @@ packages: vue-tippy@6.7.1: resolution: {integrity: sha512-gdHbBV5/Vc8gH87hQHLA7TN1K4BlLco3MAPrTb70ZYGXxx+55rAU4a4mt0fIoP+gB3etu1khUZ6c29Br1n0CiA==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 vue-tsc@1.8.8: resolution: {integrity: sha512-bSydNFQsF7AMvwWsRXD7cBIXaNs/KSjvzWLymq/UtKE36697sboX4EccSHFVxvgdBlI1frYPc/VMKJNB7DFeDQ==} @@ -13259,8 +12337,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.5.27: - resolution: {integrity: sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==} + vue@3.5.28: + resolution: {integrity: sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -13270,7 +12348,7 @@ packages: vuedraggable-es@4.1.1: resolution: {integrity: sha512-F35pjSwC8HS/lnaOd+B59nYR4FZmwuhWAzccK9xftRuWds8SU1TZh5myKVM86j5dFOI7S26O64Kwe7LUHnXjlA==} peerDependencies: - vue: 3.5.27 + vue: 3.5.28 w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} @@ -13334,6 +12412,7 @@ packages: whatwg-encoding@2.0.0: resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} engines: {node: '>=12'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} @@ -13368,10 +12447,6 @@ packages: which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - which-typed-array@1.1.19: - resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.20: resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} engines: {node: '>= 0.4'} @@ -13464,10 +12539,6 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - wrap-ansi@9.0.2: resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} engines: {node: '>=18'} @@ -13565,19 +12636,14 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml-eslint-parser@1.3.0: - resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} + yaml-eslint-parser@1.3.2: + resolution: {integrity: sha512-odxVsHAkZYYglR30aPYRY4nUGJnoJ2y1ww2HDvZALo0BDETv9kWbi16J52eHs+PWRNmF4ub6nZqfVOeesOvntg==} engines: {node: ^14.17.0 || >=16.0.0} yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.8.1: - resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} - engines: {node: '>= 14.6'} - hasBin: true - yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} @@ -13621,10 +12687,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.2: - resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} - engines: {node: '>=12.20'} - yoctocolors-cjs@2.1.3: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} @@ -13639,8 +12701,8 @@ packages: engines: {node: '>=8.0.0'} hasBin: true - zeptomatch@2.0.2: - resolution: {integrity: sha512-H33jtSKf8Ijtb5BW6wua3G5DhnFjbFML36eFu+VdOoVY4HD9e7ggjqdM6639B+L87rjnR6Y+XeRzBXZdy52B/g==} + zeptomatch@2.1.0: + resolution: {integrity: sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA==} zod@3.25.32: resolution: {integrity: sha512-OSm2xTIRfW8CV5/QKgngwmQW/8aPfGdaQFlrGoErlgg/Epm7cjb6K6VEyExfe65a3VybUOnu381edLb0dfJl0g==} @@ -13685,11 +12747,11 @@ snapshots: optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/schematics-cli@19.2.19(@types/node@25.0.9)(chokidar@4.0.3)': + '@angular-devkit/schematics-cli@19.2.19(@types/node@25.2.3)(chokidar@4.0.3)': dependencies: '@angular-devkit/core': 19.2.19(chokidar@4.0.3) '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) - '@inquirer/prompts': 7.3.2(@types/node@25.0.9) + '@inquirer/prompts': 7.3.2(@types/node@25.2.3) ansi-colors: 4.1.3 symbol-observable: 4.0.0 yargs-parser: 21.1.1 @@ -13724,9 +12786,9 @@ snapshots: '@antfu/utils@9.3.0': {} - '@apideck/better-ajv-errors@0.3.6(ajv@8.17.1)': + '@apideck/better-ajv-errors@0.3.6(ajv@8.18.0)': dependencies: - ajv: 8.17.1 + ajv: 8.18.0 json-schema: 0.4.0 jsonpointer: 5.0.1 leven: 3.1.0 @@ -13772,8 +12834,8 @@ snapshots: '@apidevtools/json-schema-ref-parser': 14.0.1 '@apidevtools/openapi-schemas': 2.1.0 '@apidevtools/swagger-methods': 3.0.2 - ajv: 8.17.1 - ajv-draft-04: 1.0.0(ajv@8.17.1) + ajv: 8.18.0 + ajv-draft-04: 1.0.0(ajv@8.18.0) call-me-maybe: 1.0.2 openapi-types: 12.1.3 @@ -13804,12 +12866,12 @@ snapshots: '@apollo/utils.logger': 3.0.0 graphql: 16.12.0 - '@apollo/server-plugin-landing-page-graphql-playground@4.0.1(@apollo/server@5.2.0(graphql@16.12.0))': + '@apollo/server-plugin-landing-page-graphql-playground@4.0.1(@apollo/server@5.4.0(graphql@16.12.0))': dependencies: - '@apollo/server': 5.2.0(graphql@16.12.0) + '@apollo/server': 5.4.0(graphql@16.12.0) '@apollographql/graphql-playground-html': 1.6.29 - '@apollo/server@5.2.0(graphql@16.12.0)': + '@apollo/server@5.4.0(graphql@16.12.0)': dependencies: '@apollo/cache-control-types': 1.0.3(graphql@16.12.0) '@apollo/server-gateway-interface': 2.0.0(graphql@16.12.0) @@ -13821,14 +12883,15 @@ snapshots: '@apollo/utils.logger': 3.0.0 '@apollo/utils.usagereporting': 2.1.0(graphql@16.12.0) '@apollo/utils.withrequired': 3.0.0 - '@graphql-tools/schema': 10.0.29(graphql@16.12.0) + '@graphql-tools/schema': 10.0.31(graphql@16.12.0) async-retry: 1.3.3 body-parser: 2.2.1 - cors: 2.8.5 + content-type: 1.0.5 + cors: 2.8.6 finalhandler: 2.1.0 graphql: 16.12.0 loglevel: 1.9.2 - lru-cache: 11.2.2 + lru-cache: 11.2.4 negotiator: 1.0.0 uuid: 11.1.0 whatwg-mimetype: 4.0.0 @@ -13855,7 +12918,7 @@ snapshots: '@apollo/utils.keyvaluecache@4.0.0': dependencies: '@apollo/utils.logger': 3.0.0 - lru-cache: 11.2.2 + lru-cache: 11.2.4 '@apollo/utils.logger@3.0.0': {} @@ -13894,13 +12957,13 @@ snapshots: '@ardatan/relay-compiler@12.0.0(graphql@16.12.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 - '@babel/parser': 7.28.6 - '@babel/runtime': 7.28.4 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/parser': 7.29.0 + '@babel/runtime': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + babel-preset-fbjs: 3.4.0(@babel/core@7.29.0) chalk: 4.1.2 fb-watchman: 2.0.2 fbjs: 3.0.5 @@ -13918,9 +12981,9 @@ snapshots: '@ardatan/relay-compiler@12.0.3(graphql@16.12.0)': dependencies: - '@babel/generator': 7.28.5 - '@babel/parser': 7.28.6 - '@babel/runtime': 7.28.4 + '@babel/generator': 7.29.1 + '@babel/parser': 7.29.0 + '@babel/runtime': 7.28.6 chalk: 4.1.2 fb-watchman: 2.0.2 graphql: 16.12.0 @@ -13938,9 +13001,9 @@ snapshots: transitivePeerDependencies: - encoding - '@as-integrations/express5@1.1.2(@apollo/server@5.2.0(graphql@16.12.0))(express@5.2.1)': + '@as-integrations/express5@1.1.2(@apollo/server@5.4.0(graphql@16.12.0))(express@5.2.1)': dependencies: - '@apollo/server': 5.2.0(graphql@16.12.0) + '@apollo/server': 5.4.0(graphql@16.12.0) express: 5.2.1 '@asamuzakjp/css-color@4.1.1': @@ -13961,451 +13024,25 @@ snapshots: '@asamuzakjp/nwsapi@2.3.9': {} - '@aws-crypto/sha256-browser@5.2.0': - dependencies: - '@aws-crypto/sha256-js': 5.2.0 - '@aws-crypto/supports-web-crypto': 5.2.0 - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-locate-window': 3.893.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.8.1 - - '@aws-crypto/sha256-js@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.936.0 - tslib: 2.8.1 - - '@aws-crypto/supports-web-crypto@5.2.0': - dependencies: - tslib: 2.8.1 - - '@aws-crypto/util@5.2.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.8.1 - - '@aws-sdk/client-sesv2@3.936.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.936.0 - '@aws-sdk/credential-provider-node': 3.936.0 - '@aws-sdk/middleware-host-header': 3.936.0 - '@aws-sdk/middleware-logger': 3.936.0 - '@aws-sdk/middleware-recursion-detection': 3.936.0 - '@aws-sdk/middleware-user-agent': 3.936.0 - '@aws-sdk/region-config-resolver': 3.936.0 - '@aws-sdk/signature-v4-multi-region': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-endpoints': 3.936.0 - '@aws-sdk/util-user-agent-browser': 3.936.0 - '@aws-sdk/util-user-agent-node': 3.936.0 - '@smithy/config-resolver': 4.4.3 - '@smithy/core': 3.18.5 - '@smithy/fetch-http-handler': 5.3.6 - '@smithy/hash-node': 4.2.5 - '@smithy/invalid-dependency': 4.2.5 - '@smithy/middleware-content-length': 4.2.5 - '@smithy/middleware-endpoint': 4.3.12 - '@smithy/middleware-retry': 4.4.12 - '@smithy/middleware-serde': 4.2.6 - '@smithy/middleware-stack': 4.2.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/node-http-handler': 4.4.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.11 - '@smithy/util-defaults-mode-node': 4.2.14 - '@smithy/util-endpoints': 3.2.5 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-retry': 4.2.5 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso@3.936.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.936.0 - '@aws-sdk/middleware-host-header': 3.936.0 - '@aws-sdk/middleware-logger': 3.936.0 - '@aws-sdk/middleware-recursion-detection': 3.936.0 - '@aws-sdk/middleware-user-agent': 3.936.0 - '@aws-sdk/region-config-resolver': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-endpoints': 3.936.0 - '@aws-sdk/util-user-agent-browser': 3.936.0 - '@aws-sdk/util-user-agent-node': 3.936.0 - '@smithy/config-resolver': 4.4.3 - '@smithy/core': 3.18.5 - '@smithy/fetch-http-handler': 5.3.6 - '@smithy/hash-node': 4.2.5 - '@smithy/invalid-dependency': 4.2.5 - '@smithy/middleware-content-length': 4.2.5 - '@smithy/middleware-endpoint': 4.3.12 - '@smithy/middleware-retry': 4.4.12 - '@smithy/middleware-serde': 4.2.6 - '@smithy/middleware-stack': 4.2.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/node-http-handler': 4.4.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.11 - '@smithy/util-defaults-mode-node': 4.2.14 - '@smithy/util-endpoints': 3.2.5 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-retry': 4.2.5 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/core@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@aws-sdk/xml-builder': 3.930.0 - '@smithy/core': 3.18.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/property-provider': 4.2.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/signature-v4': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-env@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-http@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/fetch-http-handler': 5.3.6 - '@smithy/node-http-handler': 4.4.5 - '@smithy/property-provider': 4.2.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/util-stream': 4.5.6 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-ini@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/credential-provider-env': 3.936.0 - '@aws-sdk/credential-provider-http': 3.936.0 - '@aws-sdk/credential-provider-login': 3.936.0 - '@aws-sdk/credential-provider-process': 3.936.0 - '@aws-sdk/credential-provider-sso': 3.936.0 - '@aws-sdk/credential-provider-web-identity': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/credential-provider-imds': 4.2.5 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-login@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-node@3.936.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.936.0 - '@aws-sdk/credential-provider-http': 3.936.0 - '@aws-sdk/credential-provider-ini': 3.936.0 - '@aws-sdk/credential-provider-process': 3.936.0 - '@aws-sdk/credential-provider-sso': 3.936.0 - '@aws-sdk/credential-provider-web-identity': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/credential-provider-imds': 4.2.5 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-process@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/credential-provider-sso@3.936.0': - dependencies: - '@aws-sdk/client-sso': 3.936.0 - '@aws-sdk/core': 3.936.0 - '@aws-sdk/token-providers': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/middleware-host-header@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-logger@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-recursion-detection@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@aws/lambda-invoke-store': 0.2.1 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-sdk-s3@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-arn-parser': 3.893.0 - '@smithy/core': 3.18.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/signature-v4': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/util-config-provider': 4.2.0 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-stream': 4.5.6 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@aws-sdk/middleware-user-agent@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-endpoints': 3.936.0 - '@smithy/core': 3.18.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/nested-clients@3.936.0': - dependencies: - '@aws-crypto/sha256-browser': 5.2.0 - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.936.0 - '@aws-sdk/middleware-host-header': 3.936.0 - '@aws-sdk/middleware-logger': 3.936.0 - '@aws-sdk/middleware-recursion-detection': 3.936.0 - '@aws-sdk/middleware-user-agent': 3.936.0 - '@aws-sdk/region-config-resolver': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@aws-sdk/util-endpoints': 3.936.0 - '@aws-sdk/util-user-agent-browser': 3.936.0 - '@aws-sdk/util-user-agent-node': 3.936.0 - '@smithy/config-resolver': 4.4.3 - '@smithy/core': 3.18.5 - '@smithy/fetch-http-handler': 5.3.6 - '@smithy/hash-node': 4.2.5 - '@smithy/invalid-dependency': 4.2.5 - '@smithy/middleware-content-length': 4.2.5 - '@smithy/middleware-endpoint': 4.3.12 - '@smithy/middleware-retry': 4.4.12 - '@smithy/middleware-serde': 4.2.6 - '@smithy/middleware-stack': 4.2.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/node-http-handler': 4.4.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-body-length-node': 4.2.1 - '@smithy/util-defaults-mode-browser': 4.3.11 - '@smithy/util-defaults-mode-node': 4.2.14 - '@smithy/util-endpoints': 3.2.5 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-retry': 4.2.5 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/region-config-resolver@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/config-resolver': 4.4.3 - '@smithy/node-config-provider': 4.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/signature-v4-multi-region@3.936.0': - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/protocol-http': 5.3.5 - '@smithy/signature-v4': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/token-providers@3.936.0': - dependencies: - '@aws-sdk/core': 3.936.0 - '@aws-sdk/nested-clients': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/types@3.936.0': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/util-arn-parser@3.893.0': - dependencies: - tslib: 2.8.1 - - '@aws-sdk/util-endpoints@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - '@smithy/util-endpoints': 3.2.5 - tslib: 2.8.1 - - '@aws-sdk/util-locate-window@3.893.0': - dependencies: - tslib: 2.8.1 - - '@aws-sdk/util-user-agent-browser@3.936.0': - dependencies: - '@aws-sdk/types': 3.936.0 - '@smithy/types': 4.9.0 - bowser: 2.12.1 - tslib: 2.8.1 - - '@aws-sdk/util-user-agent-node@3.936.0': - dependencies: - '@aws-sdk/middleware-user-agent': 3.936.0 - '@aws-sdk/types': 3.936.0 - '@smithy/node-config-provider': 4.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@aws-sdk/xml-builder@3.930.0': - dependencies: - '@smithy/types': 4.9.0 - fast-xml-parser: 5.2.5 - tslib: 2.8.1 - - '@aws/lambda-invoke-store@0.2.1': {} - - '@babel/code-frame@7.27.1': - dependencies: - '@babel/helper-validator-identifier': 7.28.5 - js-tokens: 4.0.0 - picocolors: 1.1.1 - - '@babel/code-frame@7.28.6': + '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.28.5': {} - - '@babel/compat-data@7.28.6': {} - - '@babel/core@7.28.5': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helpers': 7.28.4 - '@babel/parser': 7.28.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - '@jridgewell/remapping': 2.3.5 - convert-source-map: 2.0.0 - debug: 4.4.3(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/compat-data@7.29.0': {} - '@babel/core@7.28.6': + '@babel/core@7.29.0': dependencies: - '@babel/code-frame': 7.28.6 - '@babel/generator': 7.28.6 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.6) + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.28.6 - '@babel/parser': 7.28.6 + '@babel/parser': 7.29.0 '@babel/template': 7.28.6 - '@babel/traverse': 7.28.6 - '@babel/types': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 '@jridgewell/remapping': 2.3.5 convert-source-map: 2.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -14415,98 +13052,51 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.28.5': - dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.5 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - jsesc: 3.1.0 - - '@babel/generator@7.28.6': + '@babel/generator@7.29.1': dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 '@babel/helper-annotate-as-pure@7.27.3': dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-compilation-targets@7.27.2': - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.0 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.29.0 '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.28.6 + '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 browserslist: 4.28.1 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.5 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.28.6)': + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.6) + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 - semver: 6.3.1 - - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.28.6)': + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 regexpu-core: 6.4.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - debug: 4.4.3(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color - - '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.6)': + '@babel/helper-define-polyfill-provider@0.6.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 debug: 4.4.3(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.11 @@ -14517,109 +13107,55 @@ snapshots: '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.27.1': - dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color '@babel/helper-module-imports@7.28.6': dependencies: - '@babel/traverse': 7.28.6 - '@babel/types': 7.28.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.28.6(@babel/core@7.28.6)': + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.27.1': dependencies: - '@babel/types': 7.28.5 - - '@babel/helper-plugin-utils@7.27.1': {} + '@babel/types': 7.29.0 '@babel/helper-plugin-utils@7.28.6': {} - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.6)': + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-wrap-function': 7.28.3 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-member-expression-to-functions': 7.28.5 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.28.6(@babel/core@7.28.6)': + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -14631,1152 +13167,639 @@ snapshots: '@babel/helper-wrap-function@7.28.3': dependencies: - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.5 - '@babel/types': 7.28.5 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helpers@7.28.4': - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - '@babel/helpers@7.28.6': dependencies: '@babel/template': 7.28.6 - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 - '@babel/parser@7.28.5': + '@babel/parser@7.29.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 - '@babel/parser@7.28.6': + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/types': 7.28.6 - - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.6)': + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.6) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.5)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.28.5)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.29.0)': dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 - '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.5)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.5)': + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.5)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.5)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.5)': + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.5)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.5)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.5)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.5)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.5)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.6)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.5)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-async-generator-functions@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.6) - '@babel/traverse': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.6) + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoping@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.6) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.5)': + '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.5)': + '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-globals': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.28.6) - '@babel/traverse': 7.28.6 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 - - '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/template': 7.28.6 - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.5)': + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.6) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-exponentiation-operator@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0) - '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-logical-assignment-operators@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.28.5(@babel/core@7.28.6)': + '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-identifier': 7.28.5 - '@babel/traverse': 7.28.5 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.5)': + '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/traverse': 7.28.5 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.6) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.6) - '@babel/traverse': 7.28.6 + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.5) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.6) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-optional-chaining@7.28.5(@babel/core@7.28.6)': + '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.5)': + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.6) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.28.6) + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.5)': + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) + '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regenerator@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-spread@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.6)': - dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.6)': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.5 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.5) - '@babel/helper-plugin-utils': 7.27.1 + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.28.6)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/preset-env@7.28.5(@babel/core@7.28.5)': + '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.5) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-exponentiation-operator': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-logical-assignment-operators': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-optional-chaining': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.5) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.5) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.29.0 + '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 - '@babel/preset-env@7.28.6(@babel/core@7.28.6)': + '@babel/preset-env@7.29.0(@babel/core@7.29.0)': dependencies: - '@babel/compat-data': 7.28.6 - '@babel/core': 7.28.6 + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.28.6) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.6) - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.6) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-async-generator-functions': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.6) - '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.6) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.6) - '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-regenerator': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.28.6) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.6) - '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.28.6) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.6) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.6) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.6) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.6) - core-js-compat: 3.47.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0) + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0) + '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) + babel-plugin-polyfill-corejs2: 0.4.15(@babel/core@7.29.0) + babel-plugin-polyfill-corejs3: 0.14.0(@babel/core@7.29.0) + babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0) + core-js-compat: 3.48.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.5)': - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 - esutils: 2.0.3 - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.6)': + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.5 + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/types': 7.29.0 esutils: 2.0.3 - '@babel/runtime@7.28.4': {} - '@babel/runtime@7.28.6': {} '@babel/standalone@7.28.5': {} - '@babel/template@7.27.2': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.28.5 - '@babel/types': 7.28.5 - '@babel/template@7.28.6': dependencies: - '@babel/code-frame': 7.28.6 - '@babel/parser': 7.28.6 - '@babel/types': 7.28.6 + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 - '@babel/traverse@7.28.5': + '@babel/traverse@7.29.0': dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.5 + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.6 - '@babel/template': 7.27.2 - '@babel/types': 7.28.5 - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/traverse@7.28.6': - dependencies: - '@babel/code-frame': 7.28.6 - '@babel/generator': 7.28.6 - '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.28.6 + '@babel/parser': 7.29.0 '@babel/template': 7.28.6 - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: - supports-color - '@babel/types@7.28.5': - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.28.5 - - '@babel/types@7.28.6': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 @@ -15785,20 +13808,20 @@ snapshots: '@borewit/text-codec@0.1.1': {} - '@boringer-avatars/vue3@0.2.1(vue@3.5.27(typescript@5.9.3))': + '@boringer-avatars/vue3@0.2.1(vue@3.5.28(typescript@5.9.3))': dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) '@chevrotain/cst-dts-gen@10.5.0': dependencies: '@chevrotain/gast': 10.5.0 '@chevrotain/types': 10.5.0 - lodash: 4.17.21 + lodash: 4.17.23 '@chevrotain/gast@10.5.0': dependencies: '@chevrotain/types': 10.5.0 - lodash: 4.17.21 + lodash: 4.17.23 '@chevrotain/types@10.5.0': {} @@ -15809,14 +13832,14 @@ snapshots: '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@codemirror/commands@6.10.0': dependencies: '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@codemirror/lang-javascript@6.2.4': dependencies: @@ -15825,7 +13848,7 @@ snapshots: '@codemirror/lint': 6.9.2 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/javascript': 1.5.4 '@codemirror/lang-json@6.0.2': @@ -15839,14 +13862,14 @@ snapshots: '@codemirror/language': 6.11.3 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/xml': 1.0.6 '@codemirror/language@6.11.3': dependencies: '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.8 - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 style-mod: 4.1.3 @@ -15889,32 +13912,32 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@commitlint/cli@20.2.0(@types/node@24.10.1)(typescript@5.9.3)': + '@commitlint/cli@20.4.1(@types/node@24.10.1)(typescript@5.9.3)': dependencies: - '@commitlint/format': 20.3.1 - '@commitlint/lint': 20.3.1 - '@commitlint/load': 20.3.1(@types/node@24.10.1)(typescript@5.9.3) - '@commitlint/read': 20.3.1 - '@commitlint/types': 20.3.1 + '@commitlint/format': 20.4.0 + '@commitlint/lint': 20.4.1 + '@commitlint/load': 20.4.0(@types/node@24.10.1)(typescript@5.9.3) + '@commitlint/read': 20.4.0 + '@commitlint/types': 20.4.0 tinyexec: 1.0.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' - typescript - '@commitlint/config-conventional@20.3.1': + '@commitlint/config-conventional@20.4.1': dependencies: - '@commitlint/types': 20.3.1 - conventional-changelog-conventionalcommits: 7.0.2 + '@commitlint/types': 20.4.0 + conventional-changelog-conventionalcommits: 9.1.0 - '@commitlint/config-validator@20.3.1': + '@commitlint/config-validator@20.4.0': dependencies: - '@commitlint/types': 20.3.1 - ajv: 8.17.1 + '@commitlint/types': 20.4.0 + ajv: 8.18.0 - '@commitlint/ensure@20.3.1': + '@commitlint/ensure@20.4.1': dependencies: - '@commitlint/types': 20.3.1 + '@commitlint/types': 20.4.0 lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 lodash.snakecase: 4.1.1 @@ -15923,81 +13946,80 @@ snapshots: '@commitlint/execute-rule@20.0.0': {} - '@commitlint/format@20.3.1': + '@commitlint/format@20.4.0': dependencies: - '@commitlint/types': 20.3.1 - chalk: 5.6.2 + '@commitlint/types': 20.4.0 + picocolors: 1.1.1 - '@commitlint/is-ignored@20.3.1': + '@commitlint/is-ignored@20.4.1': dependencies: - '@commitlint/types': 20.3.1 - semver: 7.7.3 + '@commitlint/types': 20.4.0 + semver: 7.7.4 - '@commitlint/lint@20.3.1': + '@commitlint/lint@20.4.1': dependencies: - '@commitlint/is-ignored': 20.3.1 - '@commitlint/parse': 20.3.1 - '@commitlint/rules': 20.3.1 - '@commitlint/types': 20.3.1 + '@commitlint/is-ignored': 20.4.1 + '@commitlint/parse': 20.4.1 + '@commitlint/rules': 20.4.1 + '@commitlint/types': 20.4.0 - '@commitlint/load@20.3.1(@types/node@24.10.1)(typescript@5.9.3)': + '@commitlint/load@20.4.0(@types/node@24.10.1)(typescript@5.9.3)': dependencies: - '@commitlint/config-validator': 20.3.1 + '@commitlint/config-validator': 20.4.0 '@commitlint/execute-rule': 20.0.0 - '@commitlint/resolve-extends': 20.3.1 - '@commitlint/types': 20.3.1 - chalk: 5.6.2 + '@commitlint/resolve-extends': 20.4.0 + '@commitlint/types': 20.4.0 cosmiconfig: 9.0.0(typescript@5.9.3) cosmiconfig-typescript-loader: 6.2.0(@types/node@24.10.1)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3) - lodash.isplainobject: 4.0.6 - lodash.merge: 4.6.2 - lodash.uniq: 4.5.0 + is-plain-obj: 4.1.0 + lodash.mergewith: 4.6.2 + picocolors: 1.1.1 transitivePeerDependencies: - '@types/node' - typescript - '@commitlint/message@20.0.0': {} + '@commitlint/message@20.4.0': {} - '@commitlint/parse@20.3.1': + '@commitlint/parse@20.4.1': dependencies: - '@commitlint/types': 20.3.1 - conventional-changelog-angular: 7.0.0 - conventional-commits-parser: 5.0.0 + '@commitlint/types': 20.4.0 + conventional-changelog-angular: 8.1.0 + conventional-commits-parser: 6.2.1 - '@commitlint/read@20.3.1': + '@commitlint/read@20.4.0': dependencies: - '@commitlint/top-level': 20.0.0 - '@commitlint/types': 20.3.1 + '@commitlint/top-level': 20.4.0 + '@commitlint/types': 20.4.0 git-raw-commits: 4.0.0 minimist: 1.2.8 tinyexec: 1.0.2 - '@commitlint/resolve-extends@20.3.1': + '@commitlint/resolve-extends@20.4.0': dependencies: - '@commitlint/config-validator': 20.3.1 - '@commitlint/types': 20.3.1 + '@commitlint/config-validator': 20.4.0 + '@commitlint/types': 20.4.0 global-directory: 4.0.1 import-meta-resolve: 4.2.0 lodash.mergewith: 4.6.2 resolve-from: 5.0.0 - '@commitlint/rules@20.3.1': + '@commitlint/rules@20.4.1': dependencies: - '@commitlint/ensure': 20.3.1 - '@commitlint/message': 20.0.0 + '@commitlint/ensure': 20.4.1 + '@commitlint/message': 20.4.0 '@commitlint/to-lines': 20.0.0 - '@commitlint/types': 20.3.1 + '@commitlint/types': 20.4.0 '@commitlint/to-lines@20.0.0': {} - '@commitlint/top-level@20.0.0': + '@commitlint/top-level@20.4.0': dependencies: - find-up: 7.0.0 + escalade: 3.2.0 - '@commitlint/types@20.3.1': + '@commitlint/types@20.4.0': dependencies: - '@types/conventional-commits-parser': 5.0.2 - chalk: 5.6.2 + conventional-commits-parser: 6.2.1 + picocolors: 1.1.1 '@cspotcode/source-map-support@0.8.1': dependencies: @@ -16076,15 +14098,15 @@ snapshots: '@digitak/grubber@3.1.4': {} - '@electric-sql/pglite-socket@0.0.6(@electric-sql/pglite@0.3.2)': + '@electric-sql/pglite-socket@0.0.20(@electric-sql/pglite@0.3.15)': dependencies: - '@electric-sql/pglite': 0.3.2 + '@electric-sql/pglite': 0.3.15 - '@electric-sql/pglite-tools@0.2.7(@electric-sql/pglite@0.3.2)': + '@electric-sql/pglite-tools@0.2.20(@electric-sql/pglite@0.3.15)': dependencies: - '@electric-sql/pglite': 0.3.2 + '@electric-sql/pglite': 0.3.15 - '@electric-sql/pglite@0.3.2': {} + '@electric-sql/pglite@0.3.15': {} '@emnapi/core@1.7.1': dependencies: @@ -16134,9 +14156,6 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.0': - optional: true - '@esbuild/aix-ppc64@0.27.2': optional: true @@ -16146,9 +14165,6 @@ snapshots: '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.0': - optional: true - '@esbuild/android-arm64@0.27.2': optional: true @@ -16161,9 +14177,6 @@ snapshots: '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.0': - optional: true - '@esbuild/android-arm@0.27.2': optional: true @@ -16173,9 +14186,6 @@ snapshots: '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.0': - optional: true - '@esbuild/android-x64@0.27.2': optional: true @@ -16185,9 +14195,6 @@ snapshots: '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.0': - optional: true - '@esbuild/darwin-arm64@0.27.2': optional: true @@ -16197,9 +14204,6 @@ snapshots: '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.0': - optional: true - '@esbuild/darwin-x64@0.27.2': optional: true @@ -16209,9 +14213,6 @@ snapshots: '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.0': - optional: true - '@esbuild/freebsd-arm64@0.27.2': optional: true @@ -16221,9 +14222,6 @@ snapshots: '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.0': - optional: true - '@esbuild/freebsd-x64@0.27.2': optional: true @@ -16233,9 +14231,6 @@ snapshots: '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.0': - optional: true - '@esbuild/linux-arm64@0.27.2': optional: true @@ -16245,9 +14240,6 @@ snapshots: '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.0': - optional: true - '@esbuild/linux-arm@0.27.2': optional: true @@ -16257,9 +14249,6 @@ snapshots: '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.0': - optional: true - '@esbuild/linux-ia32@0.27.2': optional: true @@ -16272,9 +14261,6 @@ snapshots: '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.0': - optional: true - '@esbuild/linux-loong64@0.27.2': optional: true @@ -16284,9 +14270,6 @@ snapshots: '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.0': - optional: true - '@esbuild/linux-mips64el@0.27.2': optional: true @@ -16296,9 +14279,6 @@ snapshots: '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.0': - optional: true - '@esbuild/linux-ppc64@0.27.2': optional: true @@ -16308,9 +14288,6 @@ snapshots: '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.0': - optional: true - '@esbuild/linux-riscv64@0.27.2': optional: true @@ -16320,9 +14297,6 @@ snapshots: '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.0': - optional: true - '@esbuild/linux-s390x@0.27.2': optional: true @@ -16332,18 +14306,12 @@ snapshots: '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.0': - optional: true - '@esbuild/linux-x64@0.27.2': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.0': - optional: true - '@esbuild/netbsd-arm64@0.27.2': optional: true @@ -16353,18 +14321,12 @@ snapshots: '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.0': - optional: true - '@esbuild/netbsd-x64@0.27.2': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.0': - optional: true - '@esbuild/openbsd-arm64@0.27.2': optional: true @@ -16374,18 +14336,12 @@ snapshots: '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.0': - optional: true - '@esbuild/openbsd-x64@0.27.2': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.0': - optional: true - '@esbuild/openharmony-arm64@0.27.2': optional: true @@ -16395,9 +14351,6 @@ snapshots: '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.0': - optional: true - '@esbuild/sunos-x64@0.27.2': optional: true @@ -16407,9 +14360,6 @@ snapshots: '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.0': - optional: true - '@esbuild/win32-arm64@0.27.2': optional: true @@ -16419,9 +14369,6 @@ snapshots: '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.0': - optional: true - '@esbuild/win32-ia32@0.27.2': optional: true @@ -16431,15 +14378,12 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.0': - optional: true - '@esbuild/win32-x64@0.27.2': optional: true - '@eslint-community/eslint-utils@4.9.0(eslint@9.39.2(jiti@2.6.1))': + '@eslint-community/eslint-utils@4.9.1(eslint@10.0.0(jiti@2.6.1))': dependencies: - eslint: 9.39.2(jiti@2.6.1) + eslint: 10.0.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': @@ -16457,14 +14401,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/config-array@0.23.1': + dependencies: + '@eslint/object-schema': 3.0.1 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.1 + transitivePeerDependencies: + - supports-color + '@eslint/config-helpers@0.4.2': dependencies: '@eslint/core': 0.17.0 + '@eslint/config-helpers@0.5.2': + dependencies: + '@eslint/core': 1.1.0 + '@eslint/core@0.17.0': dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@1.1.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.3': dependencies: ajv: 6.12.6 @@ -16479,15 +14439,26 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/js@10.0.1(eslint@10.0.0(jiti@2.6.1))': + optionalDependencies: + eslint: 10.0.0(jiti@2.6.1) + '@eslint/js@9.39.2': {} '@eslint/object-schema@2.1.7': {} + '@eslint/object-schema@3.0.1': {} + '@eslint/plugin-kit@0.4.1': dependencies: '@eslint/core': 0.17.0 levn: 0.4.1 + '@eslint/plugin-kit@0.6.0': + dependencies: + '@eslint/core': 1.1.0 + levn: 0.4.1 + '@exodus/bytes@1.9.0(@noble/hashes@2.0.1)': optionalDependencies: '@noble/hashes': 2.0.1 @@ -16500,9 +14471,7 @@ snapshots: '@fontsource-variable/inter@5.2.8': {} - '@fontsource-variable/material-symbols-rounded@5.2.24': {} - - '@fontsource-variable/material-symbols-rounded@5.2.32': {} + '@fontsource-variable/material-symbols-rounded@5.2.35': {} '@fontsource-variable/roboto-mono@5.2.8': {} @@ -16514,12 +14483,12 @@ snapshots: graphql: 16.12.0 tslib: 2.6.3 - '@graphql-codegen/cli@6.1.1(@parcel/watcher@2.5.4)(@types/node@24.10.1)(graphql@16.12.0)(typescript@5.9.3)': + '@graphql-codegen/cli@6.1.1(@parcel/watcher@2.5.6)(@types/node@24.10.1)(graphql@16.12.0)(typescript@5.9.3)': dependencies: - '@babel/generator': 7.28.6 + '@babel/generator': 7.29.1 '@babel/template': 7.28.6 - '@babel/types': 7.28.6 - '@graphql-codegen/client-preset': 5.2.2(graphql@16.12.0) + '@babel/types': 7.29.0 + '@graphql-codegen/client-preset': 5.2.3(graphql@16.12.0) '@graphql-codegen/core': 5.0.0(graphql@16.12.0) '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) '@graphql-tools/apollo-engine-loader': 8.0.28(graphql@16.12.0) @@ -16552,7 +14521,7 @@ snapshots: yaml: 2.8.2 yargs: 17.7.2 optionalDependencies: - '@parcel/watcher': 2.5.4 + '@parcel/watcher': 2.5.6 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -16563,34 +14532,33 @@ snapshots: - graphql-sock - supports-color - typescript - - uWebSockets.js - utf-8-validate - '@graphql-codegen/cli@6.1.1(@parcel/watcher@2.5.4)(@types/node@25.0.9)(graphql@16.12.0)(typescript@5.9.3)': + '@graphql-codegen/cli@6.1.1(@parcel/watcher@2.5.6)(@types/node@25.2.3)(graphql@16.12.0)(typescript@5.9.3)': dependencies: - '@babel/generator': 7.28.6 + '@babel/generator': 7.29.1 '@babel/template': 7.28.6 - '@babel/types': 7.28.6 - '@graphql-codegen/client-preset': 5.2.2(graphql@16.12.0) + '@babel/types': 7.29.0 + '@graphql-codegen/client-preset': 5.2.3(graphql@16.12.0) '@graphql-codegen/core': 5.0.0(graphql@16.12.0) '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) '@graphql-tools/apollo-engine-loader': 8.0.28(graphql@16.12.0) '@graphql-tools/code-file-loader': 8.1.28(graphql@16.12.0) '@graphql-tools/git-loader': 8.0.32(graphql@16.12.0) - '@graphql-tools/github-loader': 9.0.6(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/github-loader': 9.0.6(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.12.0) '@graphql-tools/json-file-loader': 8.0.26(graphql@16.12.0) '@graphql-tools/load': 8.1.8(graphql@16.12.0) - '@graphql-tools/url-loader': 9.0.6(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/url-loader': 9.0.6(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/utils': 10.11.0(graphql@16.12.0) - '@inquirer/prompts': 7.10.1(@types/node@25.0.9) + '@inquirer/prompts': 7.10.1(@types/node@25.2.3) '@whatwg-node/fetch': 0.10.13 chalk: 4.1.2 cosmiconfig: 9.0.0(typescript@5.9.3) debounce: 2.2.0 detect-indent: 6.1.0 graphql: 16.12.0 - graphql-config: 5.1.5(@types/node@25.0.9)(graphql@16.12.0)(typescript@5.9.3) + graphql-config: 5.1.5(@types/node@25.2.3)(graphql@16.12.0)(typescript@5.9.3) is-glob: 4.0.3 jiti: 2.6.1 json-to-pretty-yaml: 1.2.2 @@ -16604,7 +14572,7 @@ snapshots: yaml: 2.8.2 yargs: 17.7.2 optionalDependencies: - '@parcel/watcher': 2.5.4 + '@parcel/watcher': 2.5.6 transitivePeerDependencies: - '@fastify/websocket' - '@types/node' @@ -16615,22 +14583,21 @@ snapshots: - graphql-sock - supports-color - typescript - - uWebSockets.js - utf-8-validate - '@graphql-codegen/client-preset@5.2.2(graphql@16.12.0)': + '@graphql-codegen/client-preset@5.2.3(graphql@16.12.0)': dependencies: - '@babel/helper-plugin-utils': 7.27.1 - '@babel/template': 7.27.2 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/template': 7.28.6 '@graphql-codegen/add': 6.0.0(graphql@16.12.0) - '@graphql-codegen/gql-tag-operations': 5.1.2(graphql@16.12.0) + '@graphql-codegen/gql-tag-operations': 5.1.3(graphql@16.12.0) '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/typed-document-node': 6.1.5(graphql@16.12.0) - '@graphql-codegen/typescript': 5.0.7(graphql@16.12.0) - '@graphql-codegen/typescript-operations': 5.0.7(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) + '@graphql-codegen/typed-document-node': 6.1.6(graphql@16.12.0) + '@graphql-codegen/typescript': 5.0.8(graphql@16.12.0) + '@graphql-codegen/typescript-operations': 5.0.8(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) '@graphql-tools/documents': 1.0.1(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-tools/utils': 10.11.0(graphql@16.12.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) graphql: 16.12.0 tslib: 2.6.3 @@ -16645,11 +14612,11 @@ snapshots: graphql: 16.12.0 tslib: 2.6.3 - '@graphql-codegen/gql-tag-operations@5.1.2(graphql@16.12.0)': + '@graphql-codegen/gql-tag-operations@5.1.3(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) + '@graphql-tools/utils': 10.11.0(graphql@16.12.0) auto-bind: 4.0.0 graphql: 16.12.0 tslib: 2.6.3 @@ -16659,7 +14626,7 @@ snapshots: '@graphql-codegen/introspection@5.0.0(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.0(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) graphql: 16.12.0 tslib: 2.6.3 transitivePeerDependencies: @@ -16672,30 +14639,30 @@ snapshots: common-tags: 1.8.2 graphql: 16.12.0 import-from: 4.0.0 - lodash: 4.17.21 + lodash: 4.17.23 tslib: 2.4.1 '@graphql-codegen/plugin-helpers@6.1.0(graphql@16.12.0)': dependencies: - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-tools/utils': 10.11.0(graphql@16.12.0) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.12.0 import-from: 4.0.0 - lodash: 4.17.21 + lodash: 4.17.23 tslib: 2.6.3 '@graphql-codegen/schema-ast@5.0.0(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-tools/utils': 10.11.0(graphql@16.12.0) graphql: 16.12.0 tslib: 2.6.3 - '@graphql-codegen/typed-document-node@6.1.5(graphql@16.12.0)': + '@graphql-codegen/typed-document-node@6.1.6(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) auto-bind: 4.0.0 change-case-all: 1.0.15 graphql: 16.12.0 @@ -16703,21 +14670,21 @@ snapshots: transitivePeerDependencies: - encoding - '@graphql-codegen/typescript-document-nodes@5.0.7(graphql@16.12.0)': + '@graphql-codegen/typescript-document-nodes@5.0.8(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) auto-bind: 4.0.0 graphql: 16.12.0 tslib: 2.6.3 transitivePeerDependencies: - encoding - '@graphql-codegen/typescript-operations@5.0.7(graphql@16.12.0)': + '@graphql-codegen/typescript-operations@5.0.8(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-codegen/typescript': 5.0.7(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) + '@graphql-codegen/typescript': 5.0.8(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) auto-bind: 4.0.0 graphql: 16.12.0 tslib: 2.6.3 @@ -16738,11 +14705,11 @@ snapshots: - encoding - supports-color - '@graphql-codegen/typescript@5.0.7(graphql@16.12.0)': + '@graphql-codegen/typescript@5.0.8(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) '@graphql-codegen/schema-ast': 5.0.0(graphql@16.12.0) - '@graphql-codegen/visitor-plugin-common': 6.2.2(graphql@16.12.0) + '@graphql-codegen/visitor-plugin-common': 6.2.3(graphql@16.12.0) auto-bind: 4.0.0 graphql: 16.12.0 tslib: 2.6.3 @@ -16773,28 +14740,12 @@ snapshots: - encoding - supports-color - '@graphql-codegen/visitor-plugin-common@6.2.0(graphql@16.12.0)': + '@graphql-codegen/visitor-plugin-common@6.2.3(graphql@16.12.0)': dependencies: '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) '@graphql-tools/optimize': 2.0.0(graphql@16.12.0) - '@graphql-tools/relay-operation-optimizer': 7.0.25(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) - auto-bind: 4.0.0 - change-case-all: 1.0.15 - dependency-graph: 1.0.0 - graphql: 16.12.0 - graphql-tag: 2.12.6(graphql@16.12.0) - parse-filepath: 1.0.2 - tslib: 2.6.3 - transitivePeerDependencies: - - encoding - - '@graphql-codegen/visitor-plugin-common@6.2.2(graphql@16.12.0)': - dependencies: - '@graphql-codegen/plugin-helpers': 6.1.0(graphql@16.12.0) - '@graphql-tools/optimize': 2.0.0(graphql@16.12.0) - '@graphql-tools/relay-operation-optimizer': 7.0.25(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-tools/relay-operation-optimizer': 7.0.27(graphql@16.12.0) + '@graphql-tools/utils': 10.11.0(graphql@16.12.0) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 1.0.0 @@ -16932,7 +14883,7 @@ snapshots: '@graphql-tools/utils': 10.11.0(graphql@16.12.0) '@whatwg-node/disposablestack': 0.0.6 graphql: 16.12.0 - graphql-ws: 6.0.6(graphql@16.12.0)(ws@8.17.1) + graphql-ws: 6.0.7(graphql@16.12.0)(ws@8.17.1) isomorphic-ws: 5.0.0(ws@8.17.1) tslib: 2.8.1 ws: 8.17.1 @@ -16940,7 +14891,6 @@ snapshots: - '@fastify/websocket' - bufferutil - crossws - - uWebSockets.js - utf-8-validate '@graphql-tools/executor-graphql-ws@3.1.4(graphql@16.12.0)': @@ -16949,7 +14899,7 @@ snapshots: '@graphql-tools/utils': 11.0.0(graphql@16.12.0) '@whatwg-node/disposablestack': 0.0.6 graphql: 16.12.0 - graphql-ws: 6.0.6(graphql@16.12.0)(ws@8.17.1) + graphql-ws: 6.0.7(graphql@16.12.0)(ws@8.17.1) isows: 1.0.7(ws@8.17.1) tslib: 2.8.1 ws: 8.17.1 @@ -16957,7 +14907,6 @@ snapshots: - '@fastify/websocket' - bufferutil - crossws - - uWebSockets.js - utf-8-validate '@graphql-tools/executor-http@0.1.10(@types/node@24.10.1)(graphql@16.12.0)': @@ -16989,7 +14938,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@graphql-tools/executor-http@1.3.3(@types/node@25.0.9)(graphql@16.12.0)': + '@graphql-tools/executor-http@1.3.3(@types/node@25.2.3)(graphql@16.12.0)': dependencies: '@graphql-hive/signal': 1.0.0 '@graphql-tools/executor-common': 0.0.4(graphql@16.12.0) @@ -16999,7 +14948,7 @@ snapshots: '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.12.0 - meros: 1.3.2(@types/node@25.0.9) + meros: 1.3.2(@types/node@25.2.3) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' @@ -17019,7 +14968,7 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@graphql-tools/executor-http@3.1.0(@types/node@25.0.9)(graphql@16.12.0)': + '@graphql-tools/executor-http@3.1.0(@types/node@25.2.3)(graphql@16.12.0)': dependencies: '@graphql-hive/signal': 2.0.0 '@graphql-tools/executor-common': 1.0.6(graphql@16.12.0) @@ -17029,7 +14978,7 @@ snapshots: '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.12.0 - meros: 1.3.2(@types/node@25.0.9) + meros: 1.3.2(@types/node@25.2.3) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' @@ -17103,9 +15052,9 @@ snapshots: - '@types/node' - supports-color - '@graphql-tools/github-loader@9.0.6(@types/node@25.0.9)(graphql@16.12.0)': + '@graphql-tools/github-loader@9.0.6(@types/node@25.2.3)(graphql@16.12.0)': dependencies: - '@graphql-tools/executor-http': 3.1.0(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/executor-http': 3.1.0(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/graphql-tag-pluck': 8.3.27(graphql@16.12.0) '@graphql-tools/utils': 11.0.0(graphql@16.12.0) '@whatwg-node/fetch': 0.10.13 @@ -17139,11 +15088,11 @@ snapshots: '@graphql-tools/graphql-tag-pluck@8.3.27(graphql@16.12.0)': dependencies: - '@babel/core': 7.28.6 - '@babel/parser': 7.28.6 - '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.28.6) - '@babel/traverse': 7.28.6 - '@babel/types': 7.28.6 + '@babel/core': 7.29.0 + '@babel/parser': 7.29.0 + '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0) + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 '@graphql-tools/utils': 11.0.0(graphql@16.12.0) graphql: 16.12.0 tslib: 2.8.1 @@ -17205,18 +15154,6 @@ snapshots: graphql: 16.12.0 tslib: 2.8.1 - '@graphql-tools/merge@9.1.5(graphql@16.12.0)': - dependencies: - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) - graphql: 16.12.0 - tslib: 2.8.1 - - '@graphql-tools/merge@9.1.6(graphql@16.12.0)': - dependencies: - '@graphql-tools/utils': 10.11.0(graphql@16.12.0) - graphql: 16.12.0 - tslib: 2.8.1 - '@graphql-tools/merge@9.1.7(graphql@16.12.0)': dependencies: '@graphql-tools/utils': 11.0.0(graphql@16.12.0) @@ -17243,29 +15180,15 @@ snapshots: - encoding - supports-color - '@graphql-tools/relay-operation-optimizer@7.0.25(graphql@16.12.0)': + '@graphql-tools/relay-operation-optimizer@7.0.27(graphql@16.12.0)': dependencies: '@ardatan/relay-compiler': 12.0.3(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) + '@graphql-tools/utils': 11.0.0(graphql@16.12.0) graphql: 16.12.0 tslib: 2.8.1 transitivePeerDependencies: - encoding - '@graphql-tools/schema@10.0.29(graphql@16.12.0)': - dependencies: - '@graphql-tools/merge': 9.1.5(graphql@16.12.0) - '@graphql-tools/utils': 10.10.3(graphql@16.12.0) - graphql: 16.12.0 - tslib: 2.8.1 - - '@graphql-tools/schema@10.0.30(graphql@16.12.0)': - dependencies: - '@graphql-tools/merge': 9.1.6(graphql@16.12.0) - '@graphql-tools/utils': 10.11.0(graphql@16.12.0) - graphql: 16.12.0 - tslib: 2.8.1 - '@graphql-tools/schema@10.0.31(graphql@16.12.0)': dependencies: '@graphql-tools/merge': 9.1.7(graphql@16.12.0) @@ -17323,13 +15246,12 @@ snapshots: - '@types/node' - bufferutil - crossws - - uWebSockets.js - utf-8-validate - '@graphql-tools/url-loader@8.0.33(@types/node@25.0.9)(graphql@16.12.0)': + '@graphql-tools/url-loader@8.0.33(@types/node@25.2.3)(graphql@16.12.0)': dependencies: '@graphql-tools/executor-graphql-ws': 2.0.7(graphql@16.12.0) - '@graphql-tools/executor-http': 1.3.3(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/executor-legacy-ws': 1.1.25(graphql@16.12.0) '@graphql-tools/utils': 10.11.0(graphql@16.12.0) '@graphql-tools/wrap': 10.1.4(graphql@16.12.0) @@ -17346,7 +15268,6 @@ snapshots: - '@types/node' - bufferutil - crossws - - uWebSockets.js - utf-8-validate '@graphql-tools/url-loader@9.0.6(@types/node@24.10.1)(graphql@16.12.0)': @@ -17369,13 +15290,12 @@ snapshots: - '@types/node' - bufferutil - crossws - - uWebSockets.js - utf-8-validate - '@graphql-tools/url-loader@9.0.6(@types/node@25.0.9)(graphql@16.12.0)': + '@graphql-tools/url-loader@9.0.6(@types/node@25.2.3)(graphql@16.12.0)': dependencies: '@graphql-tools/executor-graphql-ws': 3.1.4(graphql@16.12.0) - '@graphql-tools/executor-http': 3.1.0(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/executor-http': 3.1.0(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/executor-legacy-ws': 1.1.25(graphql@16.12.0) '@graphql-tools/utils': 11.0.0(graphql@16.12.0) '@graphql-tools/wrap': 11.1.4(graphql@16.12.0) @@ -17392,17 +15312,8 @@ snapshots: - '@types/node' - bufferutil - crossws - - uWebSockets.js - utf-8-validate - '@graphql-tools/utils@10.10.3(graphql@16.12.0)': - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) - '@whatwg-node/promise-helpers': 1.3.2 - cross-inspect: 1.0.1 - graphql: 16.12.0 - tslib: 2.8.1 - '@graphql-tools/utils@10.11.0(graphql@16.12.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.12.0) @@ -17456,12 +15367,12 @@ snapshots: dependencies: graphql: 16.12.0 - '@guolao/vue-monaco-editor@1.6.0(monaco-editor@0.55.1)(vue@3.5.27(typescript@5.9.3))': + '@guolao/vue-monaco-editor@1.6.0(monaco-editor@0.55.1)(vue@3.5.28(typescript@5.9.3))': dependencies: '@monaco-editor/loader': 1.7.0 monaco-editor: 0.55.1 - vue: 3.5.27(typescript@5.9.3) - vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3)) + vue: 3.5.28(typescript@5.9.3) + vue-demi: 0.14.10(vue@3.5.28(typescript@5.9.3)) '@hapi/b64@5.0.0': dependencies: @@ -17477,9 +15388,9 @@ snapshots: '@hapi/hoek@9.3.0': {} - '@hono/node-server@1.19.6(hono@4.11.4)': + '@hono/node-server@1.19.9(hono@4.11.7)': dependencies: - hono: 4.11.4 + hono: 4.11.7 '@hoppscotch/httpsnippet@3.0.9': dependencies: @@ -17490,23 +15401,47 @@ snapshots: stringify-object: 3.3.0 yargs: 17.7.2 - '@hoppscotch/ui@0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))': + '@hoppscotch/ui@0.2.5(eslint@10.0.0(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + dependencies: + '@boringer-avatars/vue3': 0.2.1(vue@3.5.28(typescript@5.9.3)) + '@fontsource-variable/inter': 5.2.8 + '@fontsource-variable/material-symbols-rounded': 5.2.35 + '@fontsource-variable/roboto-mono': 5.2.8 + '@hoppscotch/vue-sonner': 1.2.3 + '@hoppscotch/vue-toasted': 0.1.0(vue@3.5.28(typescript@5.9.3)) + '@vitejs/plugin-legacy': 2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + '@vueuse/core': 8.9.4(vue@3.5.28(typescript@5.9.3)) + fp-ts: 2.16.11 + lodash-es: 4.17.23 + path: 0.12.7 + vite-plugin-eslint: 1.8.1(eslint@10.0.0(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + vue: 3.5.28(typescript@5.9.3) + vue-promise-modals: 0.1.0(typescript@5.9.3) + vuedraggable-es: 4.1.1(vue@3.5.28(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - eslint + - terser + - typescript + - vite + + '@hoppscotch/ui@0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@boringer-avatars/vue3': 0.2.1(vue@3.5.27(typescript@5.9.3)) + '@boringer-avatars/vue3': 0.2.1(vue@3.5.28(typescript@5.9.3)) '@fontsource-variable/inter': 5.2.8 - '@fontsource-variable/material-symbols-rounded': 5.2.24 + '@fontsource-variable/material-symbols-rounded': 5.2.35 '@fontsource-variable/roboto-mono': 5.2.8 '@hoppscotch/vue-sonner': 1.2.3 - '@hoppscotch/vue-toasted': 0.1.0(vue@3.5.27(typescript@5.9.3)) - '@vitejs/plugin-legacy': 2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - '@vueuse/core': 8.9.4(vue@3.5.27(typescript@5.9.3)) + '@hoppscotch/vue-toasted': 0.1.0(vue@3.5.28(typescript@5.9.3)) + '@vitejs/plugin-legacy': 2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + '@vueuse/core': 8.9.4(vue@3.5.28(typescript@5.9.3)) fp-ts: 2.16.11 - lodash-es: 4.17.22 + lodash-es: 4.17.23 path: 0.12.7 - vite-plugin-eslint: 1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - vue: 3.5.27(typescript@5.9.3) + vite-plugin-eslint: 1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + vue: 3.5.28(typescript@5.9.3) vue-promise-modals: 0.1.0(typescript@5.9.3) - vuedraggable-es: 4.1.1(vue@3.5.27(typescript@5.9.3)) + vuedraggable-es: 4.1.1(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - eslint @@ -17514,23 +15449,23 @@ snapshots: - typescript - vite - '@hoppscotch/ui@0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))': + '@hoppscotch/ui@0.2.5(eslint@9.39.2(jiti@2.6.1))(terser@5.44.1)(typescript@5.9.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@boringer-avatars/vue3': 0.2.1(vue@3.5.27(typescript@5.9.3)) + '@boringer-avatars/vue3': 0.2.1(vue@3.5.28(typescript@5.9.3)) '@fontsource-variable/inter': 5.2.8 - '@fontsource-variable/material-symbols-rounded': 5.2.24 + '@fontsource-variable/material-symbols-rounded': 5.2.35 '@fontsource-variable/roboto-mono': 5.2.8 '@hoppscotch/vue-sonner': 1.2.3 - '@hoppscotch/vue-toasted': 0.1.0(vue@3.5.27(typescript@5.9.3)) - '@vitejs/plugin-legacy': 2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - '@vueuse/core': 8.9.4(vue@3.5.27(typescript@5.9.3)) + '@hoppscotch/vue-toasted': 0.1.0(vue@3.5.28(typescript@5.9.3)) + '@vitejs/plugin-legacy': 2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + '@vueuse/core': 8.9.4(vue@3.5.28(typescript@5.9.3)) fp-ts: 2.16.11 - lodash-es: 4.17.22 + lodash-es: 4.17.23 path: 0.12.7 - vite-plugin-eslint: 1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - vue: 3.5.27(typescript@5.9.3) + vite-plugin-eslint: 1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + vue: 3.5.28(typescript@5.9.3) vue-promise-modals: 0.1.0(typescript@5.9.3) - vuedraggable-es: 4.1.1(vue@3.5.27(typescript@5.9.3)) + vuedraggable-es: 4.1.1(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - eslint @@ -17540,9 +15475,9 @@ snapshots: '@hoppscotch/vue-sonner@1.2.3': {} - '@hoppscotch/vue-toasted@0.1.0(vue@3.5.27(typescript@5.9.3))': + '@hoppscotch/vue-toasted@0.1.0(vue@3.5.28(typescript@5.9.3))': dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) '@humanfs/core@0.19.1': {} @@ -17555,7 +15490,7 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@iconify-json/lucide@1.2.86': + '@iconify-json/lucide@1.2.91': dependencies: '@iconify/types': 2.0.0 @@ -17604,15 +15539,15 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/checkbox@4.3.2(@types/node@25.0.9)': + '@inquirer/checkbox@4.3.2(@types/node@25.2.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/confirm@5.1.21(@types/node@24.10.1)': dependencies: @@ -17621,12 +15556,12 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/confirm@5.1.21(@types/node@25.0.9)': + '@inquirer/confirm@5.1.21(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/core@10.3.2(@types/node@24.10.1)': dependencies: @@ -17641,18 +15576,18 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/core@10.3.2(@types/node@25.0.9)': + '@inquirer/core@10.3.2(@types/node@25.2.3)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/type': 3.0.10(@types/node@25.2.3) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/editor@4.2.23(@types/node@24.10.1)': dependencies: @@ -17662,13 +15597,13 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/editor@4.2.23(@types/node@25.0.9)': + '@inquirer/editor@4.2.23(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/external-editor': 1.0.3(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/external-editor': 1.0.3(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/expand@4.0.23(@types/node@24.10.1)': dependencies: @@ -17678,13 +15613,13 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/expand@4.0.23(@types/node@25.0.9)': + '@inquirer/expand@4.0.23(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/external-editor@1.0.3(@types/node@24.10.1)': dependencies: @@ -17693,12 +15628,12 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/external-editor@1.0.3(@types/node@25.0.9)': + '@inquirer/external-editor@1.0.3(@types/node@25.2.3)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/figures@1.0.15': {} @@ -17709,12 +15644,12 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/input@4.3.1(@types/node@25.0.9)': + '@inquirer/input@4.3.1(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/number@3.0.23(@types/node@24.10.1)': dependencies: @@ -17723,12 +15658,12 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/number@3.0.23(@types/node@25.0.9)': + '@inquirer/number@3.0.23(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/password@4.0.23(@types/node@24.10.1)': dependencies: @@ -17738,13 +15673,13 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/password@4.0.23(@types/node@25.0.9)': + '@inquirer/password@4.0.23(@types/node@25.2.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/prompts@7.10.1(@types/node@24.10.1)': dependencies: @@ -17761,35 +15696,35 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/prompts@7.10.1(@types/node@25.0.9)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.0.9) - '@inquirer/confirm': 5.1.21(@types/node@25.0.9) - '@inquirer/editor': 4.2.23(@types/node@25.0.9) - '@inquirer/expand': 4.0.23(@types/node@25.0.9) - '@inquirer/input': 4.3.1(@types/node@25.0.9) - '@inquirer/number': 3.0.23(@types/node@25.0.9) - '@inquirer/password': 4.0.23(@types/node@25.0.9) - '@inquirer/rawlist': 4.1.11(@types/node@25.0.9) - '@inquirer/search': 3.2.2(@types/node@25.0.9) - '@inquirer/select': 4.4.2(@types/node@25.0.9) + '@inquirer/prompts@7.10.1(@types/node@25.2.3)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@25.2.3) + '@inquirer/confirm': 5.1.21(@types/node@25.2.3) + '@inquirer/editor': 4.2.23(@types/node@25.2.3) + '@inquirer/expand': 4.0.23(@types/node@25.2.3) + '@inquirer/input': 4.3.1(@types/node@25.2.3) + '@inquirer/number': 3.0.23(@types/node@25.2.3) + '@inquirer/password': 4.0.23(@types/node@25.2.3) + '@inquirer/rawlist': 4.1.11(@types/node@25.2.3) + '@inquirer/search': 3.2.2(@types/node@25.2.3) + '@inquirer/select': 4.4.2(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 - - '@inquirer/prompts@7.3.2(@types/node@25.0.9)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.0.9) - '@inquirer/confirm': 5.1.21(@types/node@25.0.9) - '@inquirer/editor': 4.2.23(@types/node@25.0.9) - '@inquirer/expand': 4.0.23(@types/node@25.0.9) - '@inquirer/input': 4.3.1(@types/node@25.0.9) - '@inquirer/number': 3.0.23(@types/node@25.0.9) - '@inquirer/password': 4.0.23(@types/node@25.0.9) - '@inquirer/rawlist': 4.1.11(@types/node@25.0.9) - '@inquirer/search': 3.2.2(@types/node@25.0.9) - '@inquirer/select': 4.4.2(@types/node@25.0.9) + '@types/node': 25.2.3 + + '@inquirer/prompts@7.3.2(@types/node@25.2.3)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@25.2.3) + '@inquirer/confirm': 5.1.21(@types/node@25.2.3) + '@inquirer/editor': 4.2.23(@types/node@25.2.3) + '@inquirer/expand': 4.0.23(@types/node@25.2.3) + '@inquirer/input': 4.3.1(@types/node@25.2.3) + '@inquirer/number': 3.0.23(@types/node@25.2.3) + '@inquirer/password': 4.0.23(@types/node@25.2.3) + '@inquirer/rawlist': 4.1.11(@types/node@25.2.3) + '@inquirer/search': 3.2.2(@types/node@25.2.3) + '@inquirer/select': 4.4.2(@types/node@25.2.3) optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/rawlist@4.1.11(@types/node@24.10.1)': dependencies: @@ -17799,13 +15734,13 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/rawlist@4.1.11(@types/node@25.0.9)': + '@inquirer/rawlist@4.1.11(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/search@3.2.2(@types/node@24.10.1)': dependencies: @@ -17816,14 +15751,14 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/search@3.2.2(@types/node@25.0.9)': + '@inquirer/search@3.2.2(@types/node@25.2.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/select@4.4.2(@types/node@24.10.1)': dependencies: @@ -17835,74 +15770,91 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - '@inquirer/select@4.4.2(@types/node@25.0.9)': + '@inquirer/select@4.4.2(@types/node@25.2.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.0.9) + '@inquirer/core': 10.3.2(@types/node@25.2.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.0.9) + '@inquirer/type': 3.0.10(@types/node@25.2.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@inquirer/type@3.0.10(@types/node@24.10.1)': optionalDependencies: '@types/node': 24.10.1 - '@inquirer/type@3.0.10(@types/node@25.0.9)': + '@inquirer/type@3.0.10(@types/node@25.2.3)': optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 - '@intlify/bundle-utils@11.0.3(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))': + '@intlify/bundle-utils@11.0.7(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))': dependencies: - '@intlify/message-compiler': 11.1.12 - '@intlify/shared': 11.1.12 + '@intlify/message-compiler': 11.2.8 + '@intlify/shared': 11.2.8 acorn: 8.15.0 esbuild: 0.25.12 escodegen: 2.1.0 estree-walker: 2.0.2 - jsonc-eslint-parser: 2.4.1 + jsonc-eslint-parser: 2.4.2 source-map-js: 1.2.1 - yaml-eslint-parser: 1.3.0 + yaml-eslint-parser: 1.3.2 optionalDependencies: - vue-i18n: 11.2.8(vue@3.5.27(typescript@5.9.3)) + vue-i18n: 11.2.8(vue@3.5.28(typescript@5.9.3)) '@intlify/core-base@11.2.8': dependencies: '@intlify/message-compiler': 11.2.8 '@intlify/shared': 11.2.8 - '@intlify/message-compiler@11.1.12': - dependencies: - '@intlify/shared': 11.1.12 - source-map-js: 1.2.1 - '@intlify/message-compiler@11.2.8': dependencies: '@intlify/shared': 11.2.8 source-map-js: 1.2.1 - '@intlify/shared@11.1.12': {} - '@intlify/shared@11.2.8': {} - '@intlify/unplugin-vue-i18n@11.0.3(@vue/compiler-dom@3.5.27)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3))': + '@intlify/unplugin-vue-i18n@11.0.7(@vue/compiler-dom@3.5.28)(eslint@10.0.0(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.39.2(jiti@2.6.1)) - '@intlify/bundle-utils': 11.0.3(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3))) - '@intlify/shared': 11.1.12 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.27)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@intlify/bundle-utils': 11.0.7(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3))) + '@intlify/shared': 11.2.8 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.2.8)(@vue/compiler-dom@3.5.28)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) + '@rollup/pluginutils': 5.3.0(rollup@4.55.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + debug: 4.4.3(supports-color@8.1.1) + fast-glob: 3.3.3 + pathe: 2.0.3 + picocolors: 1.1.1 + unplugin: 2.3.11 + vue: 3.5.28(typescript@5.9.3) + optionalDependencies: + vue-i18n: 11.2.8(vue@3.5.28(typescript@5.9.3)) + transitivePeerDependencies: + - '@vue/compiler-dom' + - eslint + - rollup + - supports-color + - typescript + + '@intlify/unplugin-vue-i18n@11.0.7(@vue/compiler-dom@3.5.28)(eslint@9.39.2(jiti@2.6.1))(rollup@4.55.3)(typescript@5.9.3)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3))': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@intlify/bundle-utils': 11.0.7(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3))) + '@intlify/shared': 11.2.8 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.2.8)(@vue/compiler-dom@3.5.28)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)) '@rollup/pluginutils': 5.3.0(rollup@4.55.3) - '@typescript-eslint/scope-manager': 8.47.0 - '@typescript-eslint/typescript-estree': 8.47.0(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 pathe: 2.0.3 picocolors: 1.1.1 - unplugin: 2.3.10 - vue: 3.5.27(typescript@5.9.3) + unplugin: 2.3.11 + vue: 3.5.28(typescript@5.9.3) optionalDependencies: - vue-i18n: 11.2.8(vue@3.5.27(typescript@5.9.3)) + vue-i18n: 11.2.8(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - '@vue/compiler-dom' - eslint @@ -17910,32 +15862,19 @@ snapshots: - supports-color - typescript - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.12)(@vue/compiler-dom@3.5.27)(vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.2.8)(@vue/compiler-dom@3.5.28)(vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@babel/parser': 7.28.5 + '@babel/parser': 7.29.0 optionalDependencies: - '@intlify/shared': 11.1.12 - '@vue/compiler-dom': 3.5.27 - vue: 3.5.27(typescript@5.9.3) - vue-i18n: 11.2.8(vue@3.5.27(typescript@5.9.3)) + '@intlify/shared': 11.2.8 + '@vue/compiler-dom': 3.5.28 + vue: 3.5.28(typescript@5.9.3) + vue-i18n: 11.2.8(vue@3.5.28(typescript@5.9.3)) '@ioredis/commands@1.4.0': optional: true - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.2 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/cliui@9.0.0': {} '@istanbuljs/load-nyc-config@1.1.0': dependencies: @@ -17950,13 +15889,13 @@ snapshots: '@jest/console@30.2.0': dependencies: '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 jest-message-util: 30.2.0 jest-util: 30.2.0 slash: 3.0.0 - '@jest/core@30.2.0(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3))': + '@jest/core@30.2.0(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3))': dependencies: '@jest/console': 30.2.0 '@jest/pattern': 30.0.1 @@ -17964,14 +15903,14 @@ snapshots: '@jest/test-result': 30.2.0 '@jest/transform': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 4.3.1 exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.2.0 - jest-config: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + jest-config: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) jest-haste-map: 30.2.0 jest-message-util: 30.2.0 jest-regex-util: 30.0.1 @@ -17998,7 +15937,7 @@ snapshots: dependencies: '@jest/fake-timers': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 jest-mock: 30.2.0 '@jest/expect-utils@29.7.0': @@ -18020,7 +15959,7 @@ snapshots: dependencies: '@jest/types': 30.2.0 '@sinonjs/fake-timers': 13.0.5 - '@types/node': 25.0.9 + '@types/node': 25.2.3 jest-message-util: 30.2.0 jest-mock: 30.2.0 jest-util: 30.2.0 @@ -18038,7 +15977,7 @@ snapshots: '@jest/pattern@30.0.1': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 jest-regex-util: 30.0.1 '@jest/reporters@30.2.0': @@ -18049,7 +15988,7 @@ snapshots: '@jest/transform': 30.2.0 '@jest/types': 30.2.0 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 collect-v8-coverage: 1.0.3 exit-x: 0.2.2 @@ -18106,7 +16045,7 @@ snapshots: '@jest/transform@30.2.0': dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@jest/types': 30.2.0 '@jridgewell/trace-mapping': 0.3.31 babel-plugin-istanbul: 7.0.1 @@ -18129,7 +16068,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -18139,7 +16078,7 @@ snapshots: '@jest/schemas': 30.0.5 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -18196,36 +16135,36 @@ snapshots: '@jsdevtools/ono@7.1.3': {} - '@lezer/common@1.3.0': {} + '@lezer/common@1.5.1': {} '@lezer/generator@1.8.0': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/lr': 1.4.2 '@lezer/highlight@1.2.1': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/javascript@1.5.4': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 '@lezer/json@1.0.3': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 '@lezer/lr@1.4.2': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/xml@1.0.6': dependencies: - '@lezer/common': 1.3.0 + '@lezer/common': 1.5.1 '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 @@ -18239,7 +16178,7 @@ snapshots: dependencies: state-local: 1.0.7 - '@mrleebo/prisma-ast@0.12.1': + '@mrleebo/prisma-ast@0.13.1': dependencies: chevrotain: 10.5.0 lilconfig: 2.1.0 @@ -18295,13 +16234,13 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@nestjs-modules/mailer@2.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(nodemailer@8.0.0)(terser@5.44.1)(typescript@5.9.3)': + '@nestjs-modules/mailer@2.0.2(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(nodemailer@8.0.1)(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3)': dependencies: '@css-inline/css-inline': 0.14.1 - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) glob: 11.1.0 - nodemailer: 8.0.0 + nodemailer: 8.0.1 optionalDependencies: '@types/ejs': 3.1.5 '@types/mjml': 4.7.4 @@ -18309,7 +16248,7 @@ snapshots: ejs: 3.1.10 handlebars: 4.7.8 liquidjs: 10.24.0 - mjml: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + mjml: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) preview-email: 3.1.0 pug: 3.0.3 transitivePeerDependencies: @@ -18322,26 +16261,26 @@ snapshots: - typescript - uncss - '@nestjs/apollo@13.2.3(@apollo/server@5.2.0(graphql@16.12.0))(@as-integrations/express5@1.1.2(@apollo/server@5.2.0(graphql@16.12.0))(express@5.2.1))(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@nestjs/graphql@13.2.3(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2))(graphql@16.12.0)': + '@nestjs/apollo@13.2.4(@apollo/server@5.4.0(graphql@16.12.0))(@as-integrations/express5@1.1.2(@apollo/server@5.4.0(graphql@16.12.0))(express@5.2.1))(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@nestjs/graphql@13.2.4(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2))(graphql@16.12.0)': dependencies: - '@apollo/server': 5.2.0(graphql@16.12.0) - '@apollo/server-plugin-landing-page-graphql-playground': 4.0.1(@apollo/server@5.2.0(graphql@16.12.0)) - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/graphql': 13.2.3(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2) + '@apollo/server': 5.4.0(graphql@16.12.0) + '@apollo/server-plugin-landing-page-graphql-playground': 4.0.1(@apollo/server@5.4.0(graphql@16.12.0)) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/graphql': 13.2.4(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2) graphql: 16.12.0 iterall: 1.3.0 lodash.omit: 4.5.0 tslib: 2.8.1 optionalDependencies: - '@as-integrations/express5': 1.1.2(@apollo/server@5.2.0(graphql@16.12.0))(express@5.2.1) + '@as-integrations/express5': 1.1.2(@apollo/server@5.4.0(graphql@16.12.0))(express@5.2.1) - '@nestjs/cli@11.0.16(@types/node@25.0.9)': + '@nestjs/cli@11.0.16(@types/node@25.2.3)': dependencies: '@angular-devkit/core': 19.2.19(chokidar@4.0.3) '@angular-devkit/schematics': 19.2.19(chokidar@4.0.3) - '@angular-devkit/schematics-cli': 19.2.19(@types/node@25.0.9)(chokidar@4.0.3) - '@inquirer/prompts': 7.10.1(@types/node@25.0.9) + '@angular-devkit/schematics-cli': 19.2.19(@types/node@25.2.3)(chokidar@4.0.3) + '@inquirer/prompts': 7.10.1(@types/node@25.2.3) '@nestjs/schematics': 11.0.9(chokidar@4.0.3)(typescript@5.9.3) ansis: 4.2.0 chokidar: 4.0.3 @@ -18362,7 +16301,7 @@ snapshots: - uglify-js - webpack-cli - '@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: file-type: 21.3.0 iterare: 1.2.1 @@ -18377,17 +16316,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/config@4.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)': + '@nestjs/config@4.0.3(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - dotenv: 16.4.7 - dotenv-expand: 12.0.1 - lodash: 4.17.21 + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + dotenv: 17.2.3 + dotenv-expand: 12.0.3 + lodash: 4.17.23 rxjs: 7.8.2 - '@nestjs/core@11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/core@11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@nuxt/opencollective': 0.4.1 fast-safe-stringify: 2.1.1 iterare: 1.2.1 @@ -18397,22 +16336,22 @@ snapshots: tslib: 2.8.1 uid: 2.0.2 optionalDependencies: - '@nestjs/platform-express': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12) + '@nestjs/platform-express': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13) - '@nestjs/graphql@13.2.3(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2)': + '@nestjs/graphql@13.2.4(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(graphql@16.12.0)(reflect-metadata@0.2.2)': dependencies: - '@graphql-tools/merge': 9.1.6(graphql@16.12.0) - '@graphql-tools/schema': 10.0.30(graphql@16.12.0) - '@graphql-tools/utils': 10.11.0(graphql@16.12.0) - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) + '@graphql-tools/merge': 9.1.7(graphql@16.12.0) + '@graphql-tools/schema': 10.0.31(graphql@16.12.0) + '@graphql-tools/utils': 11.0.0(graphql@16.12.0) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) chokidar: 4.0.3 fast-glob: 3.3.3 graphql: 16.12.0 graphql-tag: 2.12.6(graphql@16.12.0) - graphql-ws: 6.0.6(graphql@16.12.0)(ws@8.17.1) - lodash: 4.17.21 + graphql-ws: 6.0.7(graphql@16.12.0)(ws@8.17.1) + lodash: 4.17.23 normalize-path: 3.0.0 reflect-metadata: 0.2.2 subscriptions-transport-ws: 0.11.0(graphql@16.12.0) @@ -18425,33 +16364,32 @@ snapshots: - '@fastify/websocket' - bufferutil - crossws - - uWebSockets.js - utf-8-validate - '@nestjs/jwt@11.0.2(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))': + '@nestjs/jwt@11.0.2(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) '@types/jsonwebtoken': 9.0.10 jsonwebtoken: 9.0.3 - '@nestjs/mapped-types@2.1.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)': + '@nestjs/mapped-types@2.1.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) reflect-metadata: 0.2.2 optionalDependencies: class-transformer: 0.5.1 class-validator: 0.14.3 - '@nestjs/passport@11.0.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)': + '@nestjs/passport@11.0.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) passport: 0.7.0 - '@nestjs/platform-express@11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)': + '@nestjs/platform-express@11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) - cors: 2.8.5 + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) + cors: 2.8.6 express: 5.2.1 multer: 2.0.2 path-to-regexp: 8.3.0 @@ -18459,11 +16397,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/schedule@6.1.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)': + '@nestjs/schedule@6.1.1(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) - cron: 4.3.5 + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) + cron: 4.4.0 '@nestjs/schematics@11.0.9(chokidar@4.0.3)(typescript@5.9.3)': dependencies: @@ -18476,14 +16414,14 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/swagger@11.2.5(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)': + '@nestjs/swagger@11.2.6(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.16.0 - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/mapped-types': 2.1.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2) js-yaml: 4.1.1 - lodash: 4.17.21 + lodash: 4.17.23 path-to-regexp: 8.3.0 reflect-metadata: 0.2.2 swagger-ui-dist: 5.31.0 @@ -18491,29 +16429,29 @@ snapshots: class-transformer: 0.5.1 class-validator: 0.14.3 - '@nestjs/terminus@11.0.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@prisma/client@7.2.0(prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2)': + '@nestjs/terminus@11.0.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@prisma/client@7.4.0(prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3))(reflect-metadata@0.2.2)(rxjs@7.8.2)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) boxen: 5.1.2 check-disk-space: 3.4.0 reflect-metadata: 0.2.2 rxjs: 7.8.2 optionalDependencies: - '@prisma/client': 7.2.0(prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) + '@prisma/client': 7.4.0(prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3) - '@nestjs/testing@11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(@nestjs/platform-express@11.1.12)': + '@nestjs/testing@11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(@nestjs/platform-express@11.1.13)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) tslib: 2.8.1 optionalDependencies: - '@nestjs/platform-express': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12) + '@nestjs/platform-express': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13) - '@nestjs/throttler@6.5.0(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.12)(reflect-metadata@0.2.2)': + '@nestjs/throttler@6.5.0(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.13)(reflect-metadata@0.2.2)': dependencies: - '@nestjs/common': 11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) - '@nestjs/core': 11.1.12(@nestjs/common@11.1.12(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.12)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/common': 11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2) + '@nestjs/core': 11.1.13(@nestjs/common@11.1.13(class-transformer@0.5.1)(class-validator@0.14.3)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/platform-express@11.1.13)(reflect-metadata@0.2.2)(rxjs@7.8.2) reflect-metadata: 0.2.2 '@noble/curves@2.0.1': @@ -18561,65 +16499,65 @@ snapshots: dependencies: '@noble/hashes': 1.8.0 - '@parcel/watcher-android-arm64@2.5.4': + '@parcel/watcher-android-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-arm64@2.5.4': + '@parcel/watcher-darwin-arm64@2.5.6': optional: true - '@parcel/watcher-darwin-x64@2.5.4': + '@parcel/watcher-darwin-x64@2.5.6': optional: true - '@parcel/watcher-freebsd-x64@2.5.4': + '@parcel/watcher-freebsd-x64@2.5.6': optional: true - '@parcel/watcher-linux-arm-glibc@2.5.4': + '@parcel/watcher-linux-arm-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm-musl@2.5.4': + '@parcel/watcher-linux-arm-musl@2.5.6': optional: true - '@parcel/watcher-linux-arm64-glibc@2.5.4': + '@parcel/watcher-linux-arm64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-arm64-musl@2.5.4': + '@parcel/watcher-linux-arm64-musl@2.5.6': optional: true - '@parcel/watcher-linux-x64-glibc@2.5.4': + '@parcel/watcher-linux-x64-glibc@2.5.6': optional: true - '@parcel/watcher-linux-x64-musl@2.5.4': + '@parcel/watcher-linux-x64-musl@2.5.6': optional: true - '@parcel/watcher-win32-arm64@2.5.4': + '@parcel/watcher-win32-arm64@2.5.6': optional: true - '@parcel/watcher-win32-ia32@2.5.4': + '@parcel/watcher-win32-ia32@2.5.6': optional: true - '@parcel/watcher-win32-x64@2.5.4': + '@parcel/watcher-win32-x64@2.5.6': optional: true - '@parcel/watcher@2.5.4': + '@parcel/watcher@2.5.6': dependencies: detect-libc: 2.1.2 is-glob: 4.0.3 node-addon-api: 7.1.1 picomatch: 4.0.3 optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.4 - '@parcel/watcher-darwin-arm64': 2.5.4 - '@parcel/watcher-darwin-x64': 2.5.4 - '@parcel/watcher-freebsd-x64': 2.5.4 - '@parcel/watcher-linux-arm-glibc': 2.5.4 - '@parcel/watcher-linux-arm-musl': 2.5.4 - '@parcel/watcher-linux-arm64-glibc': 2.5.4 - '@parcel/watcher-linux-arm64-musl': 2.5.4 - '@parcel/watcher-linux-x64-glibc': 2.5.4 - '@parcel/watcher-linux-x64-musl': 2.5.4 - '@parcel/watcher-win32-arm64': 2.5.4 - '@parcel/watcher-win32-ia32': 2.5.4 - '@parcel/watcher-win32-x64': 2.5.4 + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 optional: true '@peculiar/asn1-schema@2.6.0': @@ -18648,28 +16586,28 @@ snapshots: '@popperjs/core@2.11.8': {} - '@posthog/core@1.11.0': + '@posthog/core@1.22.0': dependencies: cross-spawn: 7.0.6 - '@prisma/adapter-pg@7.2.0': + '@prisma/adapter-pg@7.4.0': dependencies: - '@prisma/driver-adapter-utils': 7.2.0 - pg: 8.17.1 + '@prisma/driver-adapter-utils': 7.4.0 + pg: 8.18.0 postgres-array: 3.0.4 transitivePeerDependencies: - pg-native - '@prisma/client-runtime-utils@7.2.0': {} + '@prisma/client-runtime-utils@7.4.0': {} - '@prisma/client@7.2.0(prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3)': + '@prisma/client@7.4.0(prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3))(typescript@5.9.3)': dependencies: - '@prisma/client-runtime-utils': 7.2.0 + '@prisma/client-runtime-utils': 7.4.0 optionalDependencies: - prisma: 7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) + prisma: 7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3) typescript: 5.9.3 - '@prisma/config@7.2.0': + '@prisma/config@7.4.0': dependencies: c12: 3.1.0 deepmerge-ts: 7.1.5 @@ -18678,62 +16616,62 @@ snapshots: transitivePeerDependencies: - magicast - '@prisma/debug@6.8.2': {} - '@prisma/debug@7.2.0': {} - '@prisma/dev@0.17.0(typescript@5.9.3)': + '@prisma/debug@7.4.0': {} + + '@prisma/dev@0.20.0(typescript@5.9.3)': dependencies: - '@electric-sql/pglite': 0.3.2 - '@electric-sql/pglite-socket': 0.0.6(@electric-sql/pglite@0.3.2) - '@electric-sql/pglite-tools': 0.2.7(@electric-sql/pglite@0.3.2) - '@hono/node-server': 1.19.6(hono@4.11.4) - '@mrleebo/prisma-ast': 0.12.1 - '@prisma/get-platform': 6.8.2 - '@prisma/query-plan-executor': 6.18.0 + '@electric-sql/pglite': 0.3.15 + '@electric-sql/pglite-socket': 0.0.20(@electric-sql/pglite@0.3.15) + '@electric-sql/pglite-tools': 0.2.20(@electric-sql/pglite@0.3.15) + '@hono/node-server': 1.19.9(hono@4.11.7) + '@mrleebo/prisma-ast': 0.13.1 + '@prisma/get-platform': 7.2.0 + '@prisma/query-plan-executor': 7.2.0 foreground-child: 3.3.1 - get-port-please: 3.1.2 - hono: 4.11.4 + get-port-please: 3.2.0 + hono: 4.11.7 http-status-codes: 2.3.0 pathe: 2.0.3 proper-lockfile: 4.1.2 - remeda: 2.21.3 - std-env: 3.9.0 + remeda: 2.33.4 + std-env: 3.10.0 valibot: 1.2.0(typescript@5.9.3) - zeptomatch: 2.0.2 + zeptomatch: 2.1.0 transitivePeerDependencies: - typescript - '@prisma/driver-adapter-utils@7.2.0': + '@prisma/driver-adapter-utils@7.4.0': dependencies: - '@prisma/debug': 7.2.0 + '@prisma/debug': 7.4.0 - '@prisma/engines-version@7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3': {} - - '@prisma/engines@7.2.0': - dependencies: - '@prisma/debug': 7.2.0 - '@prisma/engines-version': 7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3 - '@prisma/fetch-engine': 7.2.0 - '@prisma/get-platform': 7.2.0 + '@prisma/engines-version@7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdbb57': {} - '@prisma/fetch-engine@7.2.0': + '@prisma/engines@7.4.0': dependencies: - '@prisma/debug': 7.2.0 - '@prisma/engines-version': 7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3 - '@prisma/get-platform': 7.2.0 + '@prisma/debug': 7.4.0 + '@prisma/engines-version': 7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdbb57 + '@prisma/fetch-engine': 7.4.0 + '@prisma/get-platform': 7.4.0 - '@prisma/get-platform@6.8.2': + '@prisma/fetch-engine@7.4.0': dependencies: - '@prisma/debug': 6.8.2 + '@prisma/debug': 7.4.0 + '@prisma/engines-version': 7.4.0-20.ab56fe763f921d033a6c195e7ddeb3e255bdbb57 + '@prisma/get-platform': 7.4.0 '@prisma/get-platform@7.2.0': dependencies: '@prisma/debug': 7.2.0 - '@prisma/query-plan-executor@6.18.0': {} + '@prisma/get-platform@7.4.0': + dependencies: + '@prisma/debug': 7.4.0 + + '@prisma/query-plan-executor@7.2.0': {} - '@prisma/studio-core@0.9.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + '@prisma/studio-core@0.13.1(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': dependencies: '@types/react': 19.2.6 react: 19.2.0 @@ -18775,11 +16713,11 @@ snapshots: '@repeaterjs/repeater@3.0.6': {} - '@rolldown/pluginutils@1.0.0-beta.53': {} + '@rolldown/pluginutils@1.0.0-rc.2': {} - '@rollup/plugin-babel@5.3.1(@babel/core@7.28.6)(@types/babel__core@7.20.5)(rollup@2.79.2)': + '@rollup/plugin-babel@5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.79.2)': dependencies: - '@babel/core': 7.28.6 + '@babel/core': 7.29.0 '@babel/helper-module-imports': 7.28.6 '@rollup/pluginutils': 3.1.0(rollup@2.79.2) rollup: 2.79.2 @@ -18815,7 +16753,7 @@ snapshots: '@rollup/plugin-terser@0.4.4(rollup@2.79.2)': dependencies: serialize-javascript: 6.0.2 - smob: 1.5.0 + smob: 1.6.1 terser: 5.44.1 optionalDependencies: rollup: 2.79.2 @@ -18979,284 +16917,8 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@smithy/abort-controller@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/config-resolver@4.4.3': - dependencies: - '@smithy/node-config-provider': 4.3.5 - '@smithy/types': 4.9.0 - '@smithy/util-config-provider': 4.2.0 - '@smithy/util-endpoints': 3.2.5 - '@smithy/util-middleware': 4.2.5 - tslib: 2.8.1 - - '@smithy/core@3.18.5': - dependencies: - '@smithy/middleware-serde': 4.2.6 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-body-length-browser': 4.2.0 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-stream': 4.5.6 - '@smithy/util-utf8': 4.2.0 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - - '@smithy/credential-provider-imds@4.2.5': - dependencies: - '@smithy/node-config-provider': 4.3.5 - '@smithy/property-provider': 4.2.5 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - tslib: 2.8.1 - - '@smithy/fetch-http-handler@5.3.6': - dependencies: - '@smithy/protocol-http': 5.3.5 - '@smithy/querystring-builder': 4.2.5 - '@smithy/types': 4.9.0 - '@smithy/util-base64': 4.3.0 - tslib: 2.8.1 - - '@smithy/hash-node@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@smithy/invalid-dependency@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/is-array-buffer@2.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/is-array-buffer@4.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/middleware-content-length@4.2.5': - dependencies: - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/middleware-endpoint@4.3.12': - dependencies: - '@smithy/core': 3.18.5 - '@smithy/middleware-serde': 4.2.6 - '@smithy/node-config-provider': 4.3.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - '@smithy/url-parser': 4.2.5 - '@smithy/util-middleware': 4.2.5 - tslib: 2.8.1 - - '@smithy/middleware-retry@4.4.12': - dependencies: - '@smithy/node-config-provider': 4.3.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/service-error-classification': 4.2.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-retry': 4.2.5 - '@smithy/uuid': 1.1.0 - tslib: 2.8.1 - - '@smithy/middleware-serde@4.2.6': - dependencies: - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/middleware-stack@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/node-config-provider@4.3.5': - dependencies: - '@smithy/property-provider': 4.2.5 - '@smithy/shared-ini-file-loader': 4.4.0 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/node-http-handler@4.4.5': - dependencies: - '@smithy/abort-controller': 4.2.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/querystring-builder': 4.2.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/property-provider@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/protocol-http@5.3.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/querystring-builder@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - '@smithy/util-uri-escape': 4.2.0 - tslib: 2.8.1 - - '@smithy/querystring-parser@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/service-error-classification@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - - '@smithy/shared-ini-file-loader@4.4.0': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/signature-v4@5.3.5': - dependencies: - '@smithy/is-array-buffer': 4.2.0 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-middleware': 4.2.5 - '@smithy/util-uri-escape': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@smithy/smithy-client@4.9.8': - dependencies: - '@smithy/core': 3.18.5 - '@smithy/middleware-endpoint': 4.3.12 - '@smithy/middleware-stack': 4.2.5 - '@smithy/protocol-http': 5.3.5 - '@smithy/types': 4.9.0 - '@smithy/util-stream': 4.5.6 - tslib: 2.8.1 - - '@smithy/types@4.9.0': - dependencies: - tslib: 2.8.1 - - '@smithy/url-parser@4.2.5': - dependencies: - '@smithy/querystring-parser': 4.2.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-base64@4.3.0': - dependencies: - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@smithy/util-body-length-browser@4.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-body-length-node@4.2.1': - dependencies: - tslib: 2.8.1 - - '@smithy/util-buffer-from@2.2.0': - dependencies: - '@smithy/is-array-buffer': 2.2.0 - tslib: 2.8.1 - - '@smithy/util-buffer-from@4.2.0': - dependencies: - '@smithy/is-array-buffer': 4.2.0 - tslib: 2.8.1 - - '@smithy/util-config-provider@4.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-defaults-mode-browser@4.3.11': - dependencies: - '@smithy/property-provider': 4.2.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-defaults-mode-node@4.2.14': - dependencies: - '@smithy/config-resolver': 4.4.3 - '@smithy/credential-provider-imds': 4.2.5 - '@smithy/node-config-provider': 4.3.5 - '@smithy/property-provider': 4.2.5 - '@smithy/smithy-client': 4.9.8 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-endpoints@3.2.5': - dependencies: - '@smithy/node-config-provider': 4.3.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-hex-encoding@4.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-middleware@4.2.5': - dependencies: - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-retry@4.2.5': - dependencies: - '@smithy/service-error-classification': 4.2.5 - '@smithy/types': 4.9.0 - tslib: 2.8.1 - - '@smithy/util-stream@4.5.6': - dependencies: - '@smithy/fetch-http-handler': 5.3.6 - '@smithy/node-http-handler': 4.4.5 - '@smithy/types': 4.9.0 - '@smithy/util-base64': 4.3.0 - '@smithy/util-buffer-from': 4.2.0 - '@smithy/util-hex-encoding': 4.2.0 - '@smithy/util-utf8': 4.2.0 - tslib: 2.8.1 - - '@smithy/util-uri-escape@4.2.0': - dependencies: - tslib: 2.8.1 - - '@smithy/util-utf8@2.3.0': - dependencies: - '@smithy/util-buffer-from': 2.2.0 - tslib: 2.8.1 - - '@smithy/util-utf8@4.2.0': - dependencies: - '@smithy/util-buffer-from': 4.2.0 - tslib: 2.8.1 - - '@smithy/uuid@1.1.0': - dependencies: - tslib: 2.8.1 - '@socket.io/component-emitter@3.1.2': {} - '@standard-schema/spec@1.0.0': {} - '@standard-schema/spec@1.1.0': {} '@surma/rollup-plugin-off-main-thread@2.2.3': @@ -19266,7 +16928,7 @@ snapshots: magic-string: 0.25.9 string.prototype.matchall: 4.0.12 - '@sveltejs/vite-plugin-svelte@1.4.0(svelte@3.59.2)(vite@3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1))': + '@sveltejs/vite-plugin-svelte@1.4.0(svelte@3.59.2)(vite@3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1))': dependencies: debug: 4.4.3(supports-color@8.1.1) deepmerge: 4.3.1 @@ -19274,83 +16936,48 @@ snapshots: magic-string: 0.26.7 svelte: 3.59.2 svelte-hmr: 0.15.3(svelte@3.59.2) - vite: 3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1) - vitefu: 0.2.5(vite@3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1)) + vite: 3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1) + vitefu: 0.2.5(vite@3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1)) transitivePeerDependencies: - supports-color '@tauri-apps/api@2.1.1': {} - '@tauri-apps/api@2.9.0': {} - '@tauri-apps/api@2.9.1': {} '@tauri-apps/cli-darwin-arm64@2.9.3': optional: true - '@tauri-apps/cli-darwin-arm64@2.9.4': - optional: true - '@tauri-apps/cli-darwin-x64@2.9.3': optional: true - '@tauri-apps/cli-darwin-x64@2.9.4': - optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.3': optional: true - '@tauri-apps/cli-linux-arm-gnueabihf@2.9.4': - optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.9.3': optional: true - '@tauri-apps/cli-linux-arm64-gnu@2.9.4': - optional: true - '@tauri-apps/cli-linux-arm64-musl@2.9.3': optional: true - '@tauri-apps/cli-linux-arm64-musl@2.9.4': - optional: true - '@tauri-apps/cli-linux-riscv64-gnu@2.9.3': optional: true - '@tauri-apps/cli-linux-riscv64-gnu@2.9.4': - optional: true - '@tauri-apps/cli-linux-x64-gnu@2.9.3': optional: true - '@tauri-apps/cli-linux-x64-gnu@2.9.4': - optional: true - '@tauri-apps/cli-linux-x64-musl@2.9.3': optional: true - '@tauri-apps/cli-linux-x64-musl@2.9.4': - optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.9.3': optional: true - '@tauri-apps/cli-win32-arm64-msvc@2.9.4': - optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.9.3': optional: true - '@tauri-apps/cli-win32-ia32-msvc@2.9.4': - optional: true - '@tauri-apps/cli-win32-x64-msvc@2.9.3': optional: true - '@tauri-apps/cli-win32-x64-msvc@2.9.4': - optional: true - '@tauri-apps/cli@2.9.3': optionalDependencies: '@tauri-apps/cli-darwin-arm64': 2.9.3 @@ -19365,31 +16992,17 @@ snapshots: '@tauri-apps/cli-win32-ia32-msvc': 2.9.3 '@tauri-apps/cli-win32-x64-msvc': 2.9.3 - '@tauri-apps/cli@2.9.4': - optionalDependencies: - '@tauri-apps/cli-darwin-arm64': 2.9.4 - '@tauri-apps/cli-darwin-x64': 2.9.4 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.4 - '@tauri-apps/cli-linux-arm64-gnu': 2.9.4 - '@tauri-apps/cli-linux-arm64-musl': 2.9.4 - '@tauri-apps/cli-linux-riscv64-gnu': 2.9.4 - '@tauri-apps/cli-linux-x64-gnu': 2.9.4 - '@tauri-apps/cli-linux-x64-musl': 2.9.4 - '@tauri-apps/cli-win32-arm64-msvc': 2.9.4 - '@tauri-apps/cli-win32-ia32-msvc': 2.9.4 - '@tauri-apps/cli-win32-x64-msvc': 2.9.4 - '@tauri-apps/plugin-dialog@2.0.1': dependencies: '@tauri-apps/api': 2.9.1 '@tauri-apps/plugin-fs@2.0.2': dependencies: - '@tauri-apps/api': 2.1.1 + '@tauri-apps/api': 2.9.1 '@tauri-apps/plugin-process@2.2.0': dependencies: - '@tauri-apps/api': 2.1.1 + '@tauri-apps/api': 2.9.1 '@tauri-apps/plugin-shell@2.2.1': dependencies: @@ -19397,15 +17010,15 @@ snapshots: '@tauri-apps/plugin-shell@2.3.3': dependencies: - '@tauri-apps/api': 2.9.0 + '@tauri-apps/api': 2.9.1 '@tauri-apps/plugin-store@2.4.1': dependencies: - '@tauri-apps/api': 2.9.0 + '@tauri-apps/api': 2.9.1 '@tauri-apps/plugin-updater@2.9.0': dependencies: - '@tauri-apps/api': 2.9.0 + '@tauri-apps/api': 2.9.1 '@theguild/federation-composition@0.21.3(graphql@16.12.0)': dependencies: @@ -19441,33 +17054,33 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 '@types/bcrypt@6.0.0': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/caseless@0.12.5': {} @@ -19480,11 +17093,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 25.0.9 - - '@types/conventional-commits-parser@5.0.2': - dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/cookie-parser@1.4.10(@types/express@5.0.6)': dependencies: @@ -19494,7 +17103,7 @@ snapshots: '@types/cors@2.8.19': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.3 '@types/crypto-js@4.2.2': {} @@ -19522,13 +17131,15 @@ snapshots: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + '@types/esrecurse@4.3.1': {} + '@types/estree@0.0.39': {} '@types/estree@1.0.8': {} '@types/express-serve-static-core@5.1.0': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -19545,7 +17156,7 @@ snapshots: dependencies: '@hapi/boom': 9.1.4 '@types/crypto-js': 4.2.2 - '@types/node': 25.0.3 + '@types/node': 25.2.3 '@types/request': 2.48.13 '@types/http-errors@2.0.5': {} @@ -19574,15 +17185,13 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/linkify-it@5.0.0': {} '@types/lodash-es@4.17.12': dependencies: - '@types/lodash': 4.17.20 - - '@types/lodash@4.17.20': {} + '@types/lodash': 4.17.23 '@types/lodash@4.17.23': {} @@ -19619,32 +17228,25 @@ snapshots: dependencies: undici-types: 7.16.0 - '@types/node@25.0.3': - dependencies: - undici-types: 7.16.0 - - '@types/node@25.0.9': + '@types/node@25.2.3': dependencies: undici-types: 7.16.0 - '@types/nodemailer@7.0.5': + '@types/nodemailer@7.0.10': dependencies: - '@aws-sdk/client-sesv2': 3.936.0 - '@types/node': 25.0.9 - transitivePeerDependencies: - - aws-crt + '@types/node': 25.2.3 '@types/nprogress@0.2.3': {} '@types/oauth@0.9.6': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/paho-mqtt@1.0.10': {} '@types/papaparse@5.5.2': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.3 '@types/passport-github2@1.2.9': dependencies: @@ -19684,13 +17286,13 @@ snapshots: '@types/pg@8.16.0': dependencies: - '@types/node': 25.0.9 - pg-protocol: 1.10.3 + '@types/node': 25.2.3 + pg-protocol: 1.11.0 pg-types: 2.2.0 '@types/postman-collection@3.5.11': dependencies: - '@types/node': 25.0.3 + '@types/node': 25.2.3 '@types/pug@2.0.10': optional: true @@ -19709,7 +17311,7 @@ snapshots: '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/tough-cookie': 4.0.5 form-data: 4.0.4 @@ -19717,20 +17319,20 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/send@1.2.1': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/splitpanes@2.2.6(typescript@5.9.3)': dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - typescript @@ -19744,7 +17346,7 @@ snapshots: dependencies: '@types/cookiejar': 2.1.5 '@types/methods': 1.1.4 - '@types/node': 25.0.9 + '@types/node': 25.2.3 form-data: 4.0.4 '@types/supertest@6.0.3': @@ -19764,7 +17366,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@types/yargs-parser@21.0.3': {} @@ -19772,15 +17374,15 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3))(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.53.1 - '@typescript-eslint/type-utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.53.1 - eslint: 9.39.2(jiti@2.6.1) + '@typescript-eslint/parser': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/type-utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 + eslint: 10.0.0(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.4.0(typescript@5.9.3) @@ -19788,59 +17390,81 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.53.1 - '@typescript-eslint/types': 8.53.1 - '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) - '@typescript-eslint/visitor-keys': 8.53.1 - debug: 4.4.3(supports-color@8.1.1) + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/type-utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 eslint: 9.39.2(jiti@2.6.1) + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.47.0(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.47.0(typescript@5.9.3) - '@typescript-eslint/types': 8.47.0 + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3(supports-color@8.1.1) + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.53.1(typescript@5.9.3)': + '@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3) - '@typescript-eslint/types': 8.53.1 + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.47.0': + '@typescript-eslint/project-service@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.47.0 - '@typescript-eslint/visitor-keys': 8.47.0 + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/scope-manager@8.53.1': + '@typescript-eslint/scope-manager@8.56.0': dependencies: - '@typescript-eslint/types': 8.53.1 - '@typescript-eslint/visitor-keys': 8.53.1 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 - '@typescript-eslint/tsconfig-utils@8.47.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.56.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.53.1(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 10.0.0(jiti@2.6.1) + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 + transitivePeerDependencies: + - supports-color - '@typescript-eslint/type-utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.53.1 - '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) ts-api-utils: 2.4.0(typescript@5.9.3) @@ -19848,69 +17472,57 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.47.0': {} + '@typescript-eslint/types@8.56.0': {} - '@typescript-eslint/types@8.53.1': {} - - '@typescript-eslint/typescript-estree@8.47.0(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.56.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.47.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.47.0(typescript@5.9.3) - '@typescript-eslint/types': 8.47.0 - '@typescript-eslint/visitor-keys': 8.47.0 + '@typescript-eslint/project-service': 8.56.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.56.0(typescript@5.9.3) + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/visitor-keys': 8.56.0 debug: 4.4.3(supports-color@8.1.1) - fast-glob: 3.3.3 - is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.3 - ts-api-utils: 2.1.0(typescript@5.9.3) + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.53.1(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@10.0.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.53.1(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.53.1(typescript@5.9.3) - '@typescript-eslint/types': 8.53.1 - '@typescript-eslint/visitor-keys': 8.53.1 - debug: 4.4.3(supports-color@8.1.1) - minimatch: 9.0.5 - semver: 7.7.3 - tinyglobby: 0.2.15 - ts-api-utils: 2.4.0(typescript@5.9.3) + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + eslint: 10.0.0(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@typescript-eslint/utils@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.53.1 - '@typescript-eslint/types': 8.53.1 - '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.56.0 + '@typescript-eslint/types': 8.56.0 + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.47.0': - dependencies: - '@typescript-eslint/types': 8.47.0 - eslint-visitor-keys: 4.2.1 - - '@typescript-eslint/visitor-keys@8.53.1': + '@typescript-eslint/visitor-keys@8.56.0': dependencies: - '@typescript-eslint/types': 8.53.1 - eslint-visitor-keys: 4.2.1 + '@typescript-eslint/types': 8.56.0 + eslint-visitor-keys: 5.0.0 '@ungap/structured-clone@1.3.0': {} - '@unhead/vue@2.1.2(vue@3.5.27(typescript@5.9.3))': + '@unhead/vue@2.1.4(vue@3.5.28(typescript@5.9.3))': dependencies: hookable: 6.0.1 - unhead: 2.1.2 - vue: 3.5.27(typescript@5.9.3) + unhead: 2.1.4 + vue: 3.5.28(typescript@5.9.3) '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -20001,13 +17613,13 @@ snapshots: dependencies: graphql: 16.12.0 - '@urql/vue@2.0.0(@urql/core@6.0.1(graphql@16.12.0))(vue@3.5.27(typescript@5.9.3))': + '@urql/vue@2.0.0(@urql/core@6.0.1(graphql@16.12.0))(vue@3.5.28(typescript@5.9.3))': dependencies: '@urql/core': 6.0.1(graphql@16.12.0) - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) wonka: 6.3.5 - '@vitejs/plugin-legacy@2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))': + '@vitejs/plugin-legacy@2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))': dependencies: '@babel/standalone': 7.28.5 core-js: 3.47.0 @@ -20015,9 +17627,9 @@ snapshots: regenerator-runtime: 0.13.11 systemjs: 6.15.1 terser: 5.44.1 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - '@vitejs/plugin-legacy@2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))': + '@vitejs/plugin-legacy@2.3.0(terser@5.44.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))': dependencies: '@babel/standalone': 7.28.5 core-js: 3.47.0 @@ -20025,84 +17637,84 @@ snapshots: regenerator-runtime: 0.13.11 systemjs: 6.15.1 terser: 5.44.1 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - - '@vitejs/plugin-legacy@7.2.1(terser@5.44.1)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))': - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-systemjs': 7.28.5(@babel/core@7.28.5) - '@babel/preset-env': 7.28.5(@babel/core@7.28.5) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.5) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.5) - browserslist: 4.28.0 - browserslist-to-esbuild: 2.1.1(browserslist@4.28.0) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + + '@vitejs/plugin-legacy@7.2.1(terser@5.44.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))': + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0) + '@babel/preset-env': 7.29.0(@babel/core@7.29.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.0) + babel-plugin-polyfill-regenerator: 0.6.6(@babel/core@7.29.0) + browserslist: 4.28.1 + browserslist-to-esbuild: 2.1.1(browserslist@4.28.1) core-js: 3.47.0 magic-string: 0.30.21 regenerator-runtime: 0.14.1 systemjs: 6.15.1 terser: 5.44.1 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.53 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vue: 3.5.27(typescript@5.9.3) + '@rolldown/pluginutils': 1.0.0-rc.2 + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.28(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.27(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.53 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vue: 3.5.27(typescript@5.9.3) + '@rolldown/pluginutils': 1.0.0-rc.2 + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.28(typescript@5.9.3) - '@vitest/expect@4.0.17': + '@vitest/expect@4.0.18': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.0.17 - '@vitest/utils': 4.0.17 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.17(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))': dependencies: - '@vitest/spy': 4.0.17 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - '@vitest/mocker@4.0.17(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))': dependencies: - '@vitest/spy': 4.0.17 + '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - '@vitest/pretty-format@4.0.17': + '@vitest/pretty-format@4.0.18': dependencies: tinyrainbow: 3.0.3 - '@vitest/runner@4.0.17': + '@vitest/runner@4.0.18': dependencies: - '@vitest/utils': 4.0.17 + '@vitest/utils': 4.0.18 pathe: 2.0.3 - '@vitest/snapshot@4.0.17': + '@vitest/snapshot@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.17 + '@vitest/pretty-format': 4.0.18 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.0.17': {} + '@vitest/spy@4.0.18': {} - '@vitest/utils@4.0.17': + '@vitest/utils@4.0.18': dependencies: - '@vitest/pretty-format': 4.0.17 + '@vitest/pretty-format': 4.0.18 tinyrainbow: 3.0.3 '@volar/language-core@1.10.10': @@ -20130,35 +17742,35 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue/compiler-core@3.5.27': + '@vue/compiler-core@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/shared': 3.5.27 + '@babel/parser': 7.29.0 + '@vue/shared': 3.5.28 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.27': + '@vue/compiler-dom@3.5.28': dependencies: - '@vue/compiler-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-core': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/compiler-sfc@3.5.27': + '@vue/compiler-sfc@3.5.28': dependencies: - '@babel/parser': 7.28.6 - '@vue/compiler-core': 3.5.27 - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 + '@babel/parser': 7.29.0 + '@vue/compiler-core': 3.5.28 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.27': + '@vue/compiler-ssr@3.5.28': dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/shared': 3.5.28 '@vue/compiler-vue2@2.7.16': dependencies: @@ -20167,14 +17779,14 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/eslint-config-typescript@14.6.0(eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': + '@vue/eslint-config-typescript@14.7.0(eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) - eslint-plugin-vue: 10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))) + eslint-plugin-vue: 10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))) fast-glob: 3.3.3 - typescript-eslint: 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - vue-eslint-parser: 10.2.0(eslint@9.39.2(jiti@2.6.1)) + typescript-eslint: 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + vue-eslint-parser: 10.4.0(eslint@9.39.2(jiti@2.6.1)) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: @@ -20184,9 +17796,9 @@ snapshots: dependencies: '@volar/language-core': 1.10.10 '@volar/source-map': 1.10.10 - '@vue/compiler-dom': 3.5.27 - '@vue/reactivity': 3.5.24 - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/reactivity': 3.5.28 + '@vue/shared': 3.5.28 minimatch: 9.0.5 muggle-string: 0.3.1 vue-template-compiler: 2.7.16 @@ -20196,9 +17808,9 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.23 - '@vue/compiler-dom': 3.5.27 + '@vue/compiler-dom': 3.5.28 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.27 + '@vue/shared': 3.5.28 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -20209,9 +17821,9 @@ snapshots: '@vue/language-core@2.2.0(typescript@5.9.3)': dependencies: '@volar/language-core': 2.4.23 - '@vue/compiler-dom': 3.5.27 + '@vue/compiler-dom': 3.5.28 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.27 + '@vue/shared': 3.5.28 alien-signals: 0.4.14 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -20219,35 +17831,29 @@ snapshots: optionalDependencies: typescript: 5.9.3 - '@vue/reactivity@3.5.24': - dependencies: - '@vue/shared': 3.5.24 - - '@vue/reactivity@3.5.27': + '@vue/reactivity@3.5.28': dependencies: - '@vue/shared': 3.5.27 + '@vue/shared': 3.5.28 - '@vue/runtime-core@3.5.27': + '@vue/runtime-core@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/shared': 3.5.28 - '@vue/runtime-dom@3.5.27': + '@vue/runtime-dom@3.5.28': dependencies: - '@vue/reactivity': 3.5.27 - '@vue/runtime-core': 3.5.27 - '@vue/shared': 3.5.27 + '@vue/reactivity': 3.5.28 + '@vue/runtime-core': 3.5.28 + '@vue/shared': 3.5.28 csstype: 3.2.3 - '@vue/server-renderer@3.5.27(vue@3.5.27(typescript@5.9.3))': + '@vue/server-renderer@3.5.28(vue@3.5.28(typescript@5.9.3))': dependencies: - '@vue/compiler-ssr': 3.5.27 - '@vue/shared': 3.5.27 - vue: 3.5.27(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.28 + '@vue/shared': 3.5.28 + vue: 3.5.28(typescript@5.9.3) - '@vue/shared@3.5.24': {} - - '@vue/shared@3.5.27': {} + '@vue/shared@3.5.28': {} '@vue/typescript@1.8.8(typescript@5.9.3)': dependencies: @@ -20256,35 +17862,35 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/core@14.1.0(vue@3.5.27(typescript@5.9.3))': + '@vueuse/core@14.2.1(vue@3.5.28(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 14.1.0 - '@vueuse/shared': 14.1.0(vue@3.5.27(typescript@5.9.3)) - vue: 3.5.27(typescript@5.9.3) + '@vueuse/metadata': 14.2.1 + '@vueuse/shared': 14.2.1(vue@3.5.28(typescript@5.9.3)) + vue: 3.5.28(typescript@5.9.3) - '@vueuse/core@8.9.4(vue@3.5.27(typescript@5.9.3))': + '@vueuse/core@8.9.4(vue@3.5.28(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.14 '@vueuse/metadata': 8.9.4 - '@vueuse/shared': 8.9.4(vue@3.5.27(typescript@5.9.3)) - vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3)) + '@vueuse/shared': 8.9.4(vue@3.5.28(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.28(typescript@5.9.3)) optionalDependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) - '@vueuse/metadata@14.1.0': {} + '@vueuse/metadata@14.2.1': {} '@vueuse/metadata@8.9.4': {} - '@vueuse/shared@14.1.0(vue@3.5.27(typescript@5.9.3))': + '@vueuse/shared@14.2.1(vue@3.5.28(typescript@5.9.3))': dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) - '@vueuse/shared@8.9.4(vue@3.5.27(typescript@5.9.3))': + '@vueuse/shared@8.9.4(vue@3.5.28(typescript@5.9.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.28(typescript@5.9.3)) optionalDependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) '@webassemblyjs/ast@1.14.1': dependencies: @@ -20414,11 +18020,6 @@ snapshots: libqp: 2.1.1 optional: true - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -20457,13 +18058,13 @@ snapshots: agent-base@7.1.4: {} - ajv-draft-04@1.0.0(ajv@8.17.1): + ajv-draft-04@1.0.0(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv-formats@2.1.1(ajv@8.17.1): + ajv-formats@2.1.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: @@ -20473,9 +18074,9 @@ snapshots: dependencies: ajv: 6.12.6 - ajv-keywords@5.1.0(ajv@8.17.1): + ajv-keywords@5.1.0(ajv@8.18.0): dependencies: - ajv: 8.17.1 + ajv: 8.18.0 fast-deep-equal: 3.1.3 ajv@6.12.6: @@ -20492,6 +18093,13 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ajv@8.18.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + alce@1.2.0: dependencies: esprima: 1.2.5 @@ -20545,7 +18153,7 @@ snapshots: iconv-lite: 0.6.3 js-yaml: 4.1.1 jszip: 3.10.1 - lodash: 4.17.21 + lodash: 4.17.23 oas-validator: 5.0.8 swagger-parser: 10.0.3(openapi-types@12.1.3) swagger2openapi: 7.0.8 @@ -20590,7 +18198,7 @@ snapshots: array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.1 es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 @@ -20624,10 +18232,10 @@ snapshots: auto-bind@4.0.0: {} - autoprefixer@10.4.23(postcss@8.5.6): + autoprefixer@10.4.24(postcss@8.5.6): dependencies: browserslist: 4.28.1 - caniuse-lite: 1.0.30001765 + caniuse-lite: 1.0.30001770 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.6 @@ -20641,15 +18249,15 @@ snapshots: aws4fetch@1.0.20: {} - axios-cookiejar-support@6.0.5(axios@1.13.2)(tough-cookie@6.0.0): + axios-cookiejar-support@6.0.5(axios@1.13.5)(tough-cookie@6.0.0): dependencies: - axios: 1.13.2 + axios: 1.13.5 http-cookie-agent: 7.0.3(tough-cookie@6.0.0) tough-cookie: 6.0.0 transitivePeerDependencies: - undici - axios@1.13.2: + axios@1.13.5: dependencies: follow-redirects: 1.15.11 form-data: 4.0.4 @@ -20657,13 +18265,13 @@ snapshots: transitivePeerDependencies: - debug - babel-jest@30.2.0(@babel/core@7.28.5): + babel-jest@30.2.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@jest/transform': 30.2.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 7.0.1 - babel-preset-jest: 30.2.0(@babel/core@7.28.5) + babel-preset-jest: 30.2.0(@babel/core@7.29.0) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -20672,7 +18280,7 @@ snapshots: babel-plugin-istanbul@7.0.1: dependencies: - '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-plugin-utils': 7.28.6 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 6.0.3 @@ -20684,131 +18292,117 @@ snapshots: dependencies: '@types/babel__core': 7.20.5 - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.5): - dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.6): + babel-plugin-polyfill-corejs2@0.4.15(@babel/core@7.29.0): dependencies: - '@babel/compat-data': 7.28.5 - '@babel/core': 7.28.6 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) + '@babel/compat-data': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) semver: 6.3.1 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) - core-js-compat: 3.47.0 - transitivePeerDependencies: - - supports-color - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.6): + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.6 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) - core-js-compat: 3.47.0 + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) + core-js-compat: 3.48.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.5): + babel-plugin-polyfill-corejs3@0.14.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.5 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.5) + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) + core-js-compat: 3.48.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.6): + babel-plugin-polyfill-regenerator@0.6.6(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.6 - '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.6) + '@babel/core': 7.29.0 + '@babel/helper-define-polyfill-provider': 0.6.6(@babel/core@7.29.0) transitivePeerDependencies: - supports-color babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} - babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.5) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.5) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.5) - - babel-preset-fbjs@3.4.0(@babel/core@7.28.5): - dependencies: - '@babel/core': 7.28.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.28.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.5) - '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.5) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-block-scoping': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.5) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.28.5) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.5) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.5) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.5) + babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.0) + '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.0) + + babel-preset-fbjs@3.4.0(@babel/core@7.29.0): + dependencies: + '@babel/core': 7.29.0 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.0) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.29.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.0) + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.29.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color - babel-preset-jest@30.2.0(@babel/core@7.28.5): + babel-preset-jest@30.2.0(@babel/core@7.29.0): dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 babel-plugin-jest-hoist: 30.2.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) babel-walk@3.0.0-canary-5: dependencies: - '@babel/types': 7.28.5 + '@babel/types': 7.29.0 optional: true backo2@1.0.2: {} balanced-match@1.0.2: {} + balanced-match@4.0.2: + dependencies: + jackspeak: 4.2.3 + base64-arraybuffer@0.1.4: {} base64-js@1.5.1: {} base64url@3.0.1: {} - baseline-browser-mapping@2.8.30: {} - baseline-browser-mapping@2.9.11: {} basic-auth@2.0.1: @@ -20844,7 +18438,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.0 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.14.2 raw-body: 3.0.1 type-is: 2.0.1 transitivePeerDependencies: @@ -20852,8 +18446,6 @@ snapshots: boolbase@1.0.0: {} - bowser@2.12.1: {} - boxen@5.1.2: dependencies: ansi-align: 3.0.1 @@ -20874,6 +18466,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.2: + dependencies: + balanced-match: 4.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -20882,23 +18478,15 @@ snapshots: browser-stdout@1.3.1: {} - browserslist-to-esbuild@2.1.1(browserslist@4.28.0): + browserslist-to-esbuild@2.1.1(browserslist@4.28.1): dependencies: - browserslist: 4.28.0 + browserslist: 4.28.1 meow: 13.2.0 - browserslist@4.28.0: - dependencies: - baseline-browser-mapping: 2.8.30 - caniuse-lite: 1.0.30001756 - electron-to-chromium: 1.5.259 - node-releases: 2.0.27 - update-browserslist-db: 1.1.4(browserslist@4.28.0) - browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.11 - caniuse-lite: 1.0.30001762 + caniuse-lite: 1.0.30001770 electron-to-chromium: 1.5.267 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -20931,9 +18519,9 @@ snapshots: dependencies: run-applescript: 7.1.0 - bundle-require@5.1.0(esbuild@0.27.0): + bundle-require@5.1.0(esbuild@0.27.2): dependencies: - esbuild: 0.27.0 + esbuild: 0.27.2 load-tsconfig: 0.2.5 busboy@1.6.0: @@ -20994,16 +18582,12 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.28.1 - caniuse-lite: 1.0.30001765 + caniuse-lite: 1.0.30001770 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 optional: true - caniuse-lite@1.0.30001756: {} - - caniuse-lite@1.0.30001762: {} - - caniuse-lite@1.0.30001765: {} + caniuse-lite@1.0.30001770: {} capital-case@1.0.4: dependencies: @@ -21100,7 +18684,7 @@ snapshots: '@chevrotain/gast': 10.5.0 '@chevrotain/types': 10.5.0 '@chevrotain/utils': 10.5.0 - lodash: 4.17.21 + lodash: 4.17.23 regexp-to-ast: 0.5.0 chokidar@3.6.0: @@ -21218,7 +18802,7 @@ snapshots: commander@13.1.0: {} - commander@14.0.2: {} + commander@14.0.3: {} commander@2.20.3: {} @@ -21276,28 +18860,25 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 optional: true content-disposition@1.0.1: {} content-type@1.0.5: {} - conventional-changelog-angular@7.0.0: + conventional-changelog-angular@8.1.0: dependencies: compare-func: 2.0.0 - conventional-changelog-conventionalcommits@7.0.2: + conventional-changelog-conventionalcommits@9.1.0: dependencies: compare-func: 2.0.0 - conventional-commits-parser@5.0.0: - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 + conventional-commits-parser@6.2.1: + dependencies: + meow: 13.2.0 convert-source-map@2.0.0: {} @@ -21324,15 +18905,15 @@ snapshots: dependencies: is-what: 5.5.0 - core-js-compat@3.47.0: + core-js-compat@3.48.0: dependencies: - browserslist: 4.28.0 + browserslist: 4.28.1 core-js@3.47.0: {} core-util-is@1.0.3: {} - cors@2.8.5: + cors@2.8.6: dependencies: object-assign: 4.1.1 vary: 1.1.2 @@ -21375,7 +18956,7 @@ snapshots: crelt@1.0.6: {} - cron@4.3.5: + cron@4.4.0: dependencies: '@types/luxon': 3.7.1 luxon: 3.7.2 @@ -21409,7 +18990,7 @@ snapshots: crypto-random-string@2.0.0: {} - css-declaration-sorter@7.3.0(postcss@8.5.6): + css-declaration-sorter@7.3.1(postcss@8.5.6): dependencies: postcss: 8.5.6 optional: true @@ -21444,7 +19025,7 @@ snapshots: cssnano-preset-default@7.0.10(postcss@8.5.6): dependencies: browserslist: 4.28.1 - css-declaration-sorter: 7.3.0(postcss@8.5.6) + css-declaration-sorter: 7.3.1(postcss@8.5.6) cssnano-utils: 5.0.1(postcss@8.5.6) postcss: 8.5.6 postcss-calc: 10.1.1(postcss@8.5.6) @@ -21638,11 +19219,11 @@ snapshots: diff@7.0.0: {} - dioc@3.0.2(vue@3.5.27(typescript@5.9.3)): + dioc@3.0.2(vue@3.5.28(typescript@5.9.3)): dependencies: rxjs: 7.8.2 optionalDependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) dir-glob@3.0.1: dependencies: @@ -21722,18 +19303,18 @@ snapshots: dependencies: is-obj: 2.0.0 - dotenv-expand@12.0.1: + dotenv-expand@12.0.3: dependencies: dotenv: 16.6.1 - dotenv@16.4.7: {} - dotenv@16.5.0: {} dotenv@16.6.1: {} dotenv@17.2.3: {} + dotenv@17.3.1: {} + dset@3.1.4: {} dunder-proto@1.0.1: @@ -21748,8 +19329,6 @@ snapshots: dependencies: xtend: 4.0.2 - eastasianwidth@0.2.0: {} - ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer: 5.2.1 @@ -21758,15 +19337,13 @@ snapshots: effect@3.18.4: dependencies: - '@standard-schema/spec': 1.0.0 + '@standard-schema/spec': 1.1.0 fast-check: 3.23.2 ejs@3.1.10: dependencies: jake: 10.9.4 - electron-to-chromium@1.5.259: {} - electron-to-chromium@1.5.267: {} emittery@0.13.1: {} @@ -21775,8 +19352,6 @@ snapshots: emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - empathic@2.0.0: {} encodeurl@2.0.0: {} @@ -21887,63 +19462,6 @@ snapshots: error-stack-parser-es@1.0.5: {} - es-abstract@1.24.0: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.0 - function.prototype.name: 1.1.8 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.1 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.3 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.10 - string.prototype.trimend: 1.0.9 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.4 - typed-array-length: 1.0.7 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.19 - es-abstract@1.24.1: dependencies: array-buffer-byte-length: 1.0.2 @@ -22167,35 +19685,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.0 - '@esbuild/android-arm': 0.27.0 - '@esbuild/android-arm64': 0.27.0 - '@esbuild/android-x64': 0.27.0 - '@esbuild/darwin-arm64': 0.27.0 - '@esbuild/darwin-x64': 0.27.0 - '@esbuild/freebsd-arm64': 0.27.0 - '@esbuild/freebsd-x64': 0.27.0 - '@esbuild/linux-arm': 0.27.0 - '@esbuild/linux-arm64': 0.27.0 - '@esbuild/linux-ia32': 0.27.0 - '@esbuild/linux-loong64': 0.27.0 - '@esbuild/linux-mips64el': 0.27.0 - '@esbuild/linux-ppc64': 0.27.0 - '@esbuild/linux-riscv64': 0.27.0 - '@esbuild/linux-s390x': 0.27.0 - '@esbuild/linux-x64': 0.27.0 - '@esbuild/netbsd-arm64': 0.27.0 - '@esbuild/netbsd-x64': 0.27.0 - '@esbuild/openbsd-arm64': 0.27.0 - '@esbuild/openbsd-x64': 0.27.0 - '@esbuild/openharmony-arm64': 0.27.0 - '@esbuild/sunos-x64': 0.27.0 - '@esbuild/win32-arm64': 0.27.0 - '@esbuild/win32-ia32': 0.27.0 - '@esbuild/win32-x64': 0.27.0 - esbuild@0.27.2: optionalDependencies: '@esbuild/aix-ppc64': 0.27.2 @@ -22249,32 +19738,46 @@ snapshots: optionalDependencies: source-map: 0.6.1 + eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) - eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.0): + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@10.0.0(jiti@2.6.1)))(eslint@10.0.0(jiti@2.6.1))(prettier@3.8.1): + dependencies: + eslint: 10.0.0(jiti@2.6.1) + prettier: 3.8.1 + prettier-linter-helpers: 1.0.1 + synckit: 0.11.12 + optionalDependencies: + '@types/eslint': 9.6.1 + eslint-config-prettier: 10.1.8(eslint@10.0.0(jiti@2.6.1)) + + eslint-plugin-prettier@5.5.5(@types/eslint@9.6.1)(eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(prettier@3.8.1): dependencies: eslint: 9.39.2(jiti@2.6.1) - prettier: 3.8.0 + prettier: 3.8.1 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: '@types/eslint': 9.6.1 eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-vue@10.6.2(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1))): + eslint-plugin-vue@10.8.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1))): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) eslint: 9.39.2(jiti@2.6.1) natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 7.1.1 - semver: 7.7.3 - vue-eslint-parser: 10.2.0(eslint@9.39.2(jiti@2.6.1)) + semver: 7.7.4 + vue-eslint-parser: 10.4.0(eslint@9.39.2(jiti@2.6.1)) xml-name-validator: 4.0.0 optionalDependencies: - '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint-scope@5.1.1: dependencies: @@ -22286,10 +19789,56 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 + eslint-scope@9.1.0: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 + esrecurse: 4.3.0 + estraverse: 5.3.0 + eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.1: {} + eslint-visitor-keys@5.0.0: {} + + eslint@10.0.0(jiti@2.6.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.0.0(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.1 + '@eslint/config-helpers': 0.5.2 + '@eslint/core': 1.1.0 + '@eslint/plugin-kit': 0.6.0 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + cross-spawn: 7.0.6 + debug: 4.4.3(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.0 + eslint-visitor-keys: 5.0.0 + espree: 11.1.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.1 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 + transitivePeerDependencies: + - supports-color + eslint@9.39.2(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -22312,7 +19861,7 @@ snapshots: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -22337,6 +19886,12 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 + espree@11.1.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 5.0.0 + espree@9.6.1: dependencies: acorn: 8.15.0 @@ -22352,7 +19907,7 @@ snapshots: esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -22448,7 +20003,7 @@ snapshots: jest-mock: 30.2.0 jest-util: 30.2.0 - express-session@1.18.2: + express-session@1.19.0: dependencies: cookie: 0.7.2 cookie-signature: 1.0.7 @@ -22483,7 +20038,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.14.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.0 @@ -22546,10 +20101,6 @@ snapshots: dependencies: punycode: 1.4.1 - fast-xml-parser@5.2.5: - dependencies: - strnum: 2.1.1 - fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -22629,12 +20180,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@7.0.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - unicorn-magic: 0.1.0 - fix-dts-default-cjs-exports@1.0.1: dependencies: magic-string: 0.30.21 @@ -22673,7 +20218,7 @@ snapshots: fork-ts-checker-webpack-plugin@9.1.0(typescript@5.9.3)(webpack@5.104.1): dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 chalk: 4.1.2 chokidar: 4.0.3 cosmiconfig: 8.3.6(typescript@5.9.3) @@ -22683,7 +20228,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.7.3 + semver: 7.7.4 tapable: 2.3.0 typescript: 5.9.3 webpack: 5.104.1 @@ -22778,7 +20323,7 @@ snapshots: get-package-type@0.1.0: {} - get-port-please@3.1.2: {} + get-port-please@3.2.0: {} get-port@5.1.1: optional: true @@ -22831,15 +20376,21 @@ snapshots: glob@11.1.0: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.1.1 + jackspeak: 4.2.3 + minimatch: 10.2.1 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.1 glob@13.0.0: dependencies: - minimatch: 10.1.1 + minimatch: 10.2.1 + minipass: 7.1.2 + path-scurry: 2.0.1 + + glob@13.0.5: + dependencies: + minimatch: 10.2.1 minipass: 7.1.2 path-scurry: 2.0.1 @@ -22853,7 +20404,7 @@ snapshots: globals@16.5.0: {} - globals@17.0.0: {} + globals@17.3.0: {} globalthis@1.0.4: dependencies: @@ -22875,6 +20426,8 @@ snapshots: grammex@3.1.11: {} + graphmatch@1.1.1: {} + graphql-config@4.5.0(@types/node@24.10.1)(graphql@16.12.0): dependencies: '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.12.0) @@ -22916,16 +20469,15 @@ snapshots: - crossws - supports-color - typescript - - uWebSockets.js - utf-8-validate - graphql-config@5.1.5(@types/node@25.0.9)(graphql@16.12.0)(typescript@5.9.3): + graphql-config@5.1.5(@types/node@25.2.3)(graphql@16.12.0)(typescript@5.9.3): dependencies: '@graphql-tools/graphql-file-loader': 8.1.9(graphql@16.12.0) '@graphql-tools/json-file-loader': 8.0.26(graphql@16.12.0) '@graphql-tools/load': 8.1.8(graphql@16.12.0) '@graphql-tools/merge': 9.1.7(graphql@16.12.0) - '@graphql-tools/url-loader': 8.0.33(@types/node@25.0.9)(graphql@16.12.0) + '@graphql-tools/url-loader': 8.0.33(@types/node@25.2.3)(graphql@16.12.0) '@graphql-tools/utils': 10.11.0(graphql@16.12.0) cosmiconfig: 8.3.6(typescript@5.9.3) graphql: 16.12.0 @@ -22940,7 +20492,6 @@ snapshots: - crossws - supports-color - typescript - - uWebSockets.js - utf-8-validate graphql-language-service-interface@2.10.2(@types/node@24.10.1)(graphql@16.12.0): @@ -23020,7 +20571,7 @@ snapshots: dependencies: graphql: 16.12.0 - graphql-ws@6.0.6(graphql@16.12.0)(ws@8.17.1): + graphql-ws@6.0.7(graphql@16.12.0)(ws@8.17.1): dependencies: graphql: 16.12.0 optionalDependencies: @@ -23087,7 +20638,7 @@ snapshots: highlightjs-curl@1.3.0: {} - hono@4.11.4: {} + hono@4.11.7: {} hookable@6.0.1: {} @@ -23114,7 +20665,7 @@ snapshots: selderee: 0.11.0 optional: true - htmlnano@2.1.5(cssnano@7.1.2(postcss@8.5.6))(postcss@8.5.6)(terser@5.44.1)(typescript@5.9.3): + htmlnano@2.1.5(cssnano@7.1.2(postcss@8.5.6))(postcss@8.5.6)(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: '@types/relateurl': 0.2.33 cosmiconfig: 9.0.0(typescript@5.9.3) @@ -23122,6 +20673,7 @@ snapshots: optionalDependencies: cssnano: 7.1.2(postcss@8.5.6) postcss: 8.5.6 + relateurl: 0.2.7 terser: 5.44.1 transitivePeerDependencies: - typescript @@ -23451,6 +21003,8 @@ snapshots: is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} + is-potential-custom-element-name@1.0.1: {} is-promise@2.2.2: @@ -23492,13 +21046,9 @@ snapshots: has-symbols: 1.1.0 safe-regex-test: 1.1.0 - is-text-path@2.0.0: - dependencies: - text-extensions: 2.4.0 - is-typed-array@1.1.15: dependencies: - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 is-unc-path@1.0.0: dependencies: @@ -23560,11 +21110,11 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: - '@babel/core': 7.28.5 - '@babel/parser': 7.28.6 + '@babel/core': 7.29.0 + '@babel/parser': 7.29.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.3 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -23591,9 +21141,9 @@ snapshots: iterare@1.2.1: {} - jackspeak@4.1.1: + jackspeak@4.2.3: dependencies: - '@isaacs/cliui': 8.0.2 + '@isaacs/cliui': 9.0.0 jake@10.9.4: dependencies: @@ -23613,7 +21163,7 @@ snapshots: '@jest/expect': 30.2.0 '@jest/test-result': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 co: 4.6.0 dedent: 1.7.0 @@ -23633,15 +21183,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)): + jest-cli@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)): dependencies: - '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) '@jest/test-result': 30.2.0 '@jest/types': 30.2.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + jest-config: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) jest-util: 30.2.0 jest-validate: 30.2.0 yargs: 17.7.2 @@ -23652,14 +21202,14 @@ snapshots: - supports-color - ts-node - jest-config@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)): + jest-config@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)): dependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 '@jest/pattern': 30.0.1 '@jest/test-sequencer': 30.2.0 '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.5) + babel-jest: 30.2.0(@babel/core@7.29.0) chalk: 4.1.2 ci-info: 4.3.1 deepmerge: 4.3.1 @@ -23679,8 +21229,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 25.0.9 - ts-node: 10.9.2(@types/node@25.0.9)(typescript@5.9.3) + '@types/node': 25.2.3 + ts-node: 10.9.2(@types/node@25.2.3)(typescript@5.9.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -23716,7 +21266,7 @@ snapshots: '@jest/environment': 30.2.0 '@jest/fake-timers': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 jest-mock: 30.2.0 jest-util: 30.2.0 jest-validate: 30.2.0 @@ -23726,7 +21276,7 @@ snapshots: jest-haste-map@30.2.0: dependencies: '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -23759,7 +21309,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -23771,7 +21321,7 @@ snapshots: jest-message-util@30.2.0: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 '@jest/types': 30.2.0 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -23781,17 +21331,17 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-extended@4.0.0(@jest/globals@30.2.0)(jest@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)))(typescript@5.9.3): + jest-mock-extended@4.0.0(@jest/globals@30.2.0)(jest@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)))(typescript@5.9.3): dependencies: '@jest/globals': 30.2.0 - jest: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + jest: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) ts-essentials: 10.1.1(typescript@5.9.3) typescript: 5.9.3 jest-mock@30.2.0: dependencies: '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 jest-util: 30.2.0 jest-pnp-resolver@1.2.3(jest-resolve@30.2.0): @@ -23825,7 +21375,7 @@ snapshots: '@jest/test-result': 30.2.0 '@jest/transform': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 emittery: 0.13.1 exit-x: 0.2.2 @@ -23854,7 +21404,7 @@ snapshots: '@jest/test-result': 30.2.0 '@jest/transform': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 cjs-module-lexer: 2.1.1 collect-v8-coverage: 1.0.3 @@ -23874,17 +21424,17 @@ snapshots: jest-snapshot@30.2.0: dependencies: - '@babel/core': 7.28.5 - '@babel/generator': 7.28.5 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.5) - '@babel/types': 7.28.5 + '@babel/core': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.29.0) + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.29.0) + '@babel/types': 7.29.0 '@jest/expect-utils': 30.2.0 '@jest/get-type': 30.1.0 '@jest/snapshot-utils': 30.2.0 '@jest/transform': 30.2.0 '@jest/types': 30.2.0 - babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.5) + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.0) chalk: 4.1.2 expect: 30.2.0 graceful-fs: 4.2.11 @@ -23893,15 +21443,15 @@ snapshots: jest-message-util: 30.2.0 jest-util: 30.2.0 pretty-format: 30.2.0 - semver: 7.7.3 - synckit: 0.11.11 + semver: 7.7.4 + synckit: 0.11.12 transitivePeerDependencies: - supports-color jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -23910,7 +21460,7 @@ snapshots: jest-util@30.2.0: dependencies: '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 chalk: 4.1.2 ci-info: 4.3.1 graceful-fs: 4.2.11 @@ -23929,7 +21479,7 @@ snapshots: dependencies: '@jest/test-result': 30.2.0 '@jest/types': 30.2.0 - '@types/node': 25.0.9 + '@types/node': 25.2.3 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -23938,24 +21488,24 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@30.2.0: dependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 '@ungap/structured-clone': 1.3.0 jest-util: 30.2.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)): + jest@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)): dependencies: - '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + '@jest/core': 30.2.0(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) '@jest/types': 30.2.0 import-local: 3.2.0 - jest-cli: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + jest-cli: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -24044,12 +21594,12 @@ snapshots: json5@2.2.3: {} - jsonc-eslint-parser@2.4.1: + jsonc-eslint-parser@2.4.2: dependencies: acorn: 8.15.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.7.3 + semver: 7.7.4 jsonc-parser@3.3.1: {} @@ -24059,23 +21609,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} - jsonwebtoken@9.0.2: - dependencies: - jws: 3.2.3 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 - ms: 2.1.3 - semver: 7.7.3 - jsonwebtoken@9.0.3: dependencies: jws: 4.0.1 @@ -24087,7 +21622,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.3 + semver: 7.7.4 jstransformer@1.0.0: dependencies: @@ -24113,23 +21648,12 @@ snapshots: - encoding optional: true - jwa@1.4.2: - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - jwa@2.0.1: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jws@3.2.3: - dependencies: - jwa: 1.4.2 - safe-buffer: 5.2.1 - jws@4.0.1: dependencies: jwa: 2.0.1 @@ -24185,13 +21709,13 @@ snapshots: lint-staged@16.2.7: dependencies: - commander: 14.0.2 + commander: 14.0.3 listr2: 9.0.5 micromatch: 4.0.8 nano-spawn: 2.0.0 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.8.1 + yaml: 2.8.2 liquid-json@0.3.1: {} @@ -24236,11 +21760,7 @@ snapshots: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash-es@4.17.22: {} + lodash-es@4.17.23: {} lodash.camelcase@4.3.0: {} @@ -24286,11 +21806,12 @@ snapshots: lodash.startcase@4.4.0: {} - lodash.uniq@4.5.0: {} + lodash.uniq@4.5.0: + optional: true lodash.upperfirst@4.3.1: {} - lodash@4.17.21: {} + lodash@4.17.23: {} log-symbols@4.1.0: dependencies: @@ -24325,8 +21846,6 @@ snapshots: dependencies: tslib: 2.8.1 - lru-cache@11.2.2: {} - lru-cache@11.2.4: {} lru-cache@5.1.1: @@ -24364,14 +21883,14 @@ snapshots: iconv-lite: 0.7.0 libmime: 5.3.7 linkify-it: 5.0.0 - nodemailer: 8.0.0 + nodemailer: 7.0.11 punycode.js: 2.3.1 tlds: 1.261.0 optional: true make-dir@4.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 make-error@1.3.6: {} @@ -24383,7 +21902,7 @@ snapshots: map-stream@0.0.7: {} - markdown-it@14.1.0: + markdown-it@14.1.1: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -24435,9 +21954,9 @@ snapshots: optionalDependencies: '@types/node': 24.10.1 - meros@1.3.2(@types/node@25.0.9): + meros@1.3.2(@types/node@25.2.3): optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 methods@1.1.2: {} @@ -24474,9 +21993,9 @@ snapshots: mimic-response@3.1.0: {} - minimatch@10.1.1: + minimatch@10.2.1: dependencies: - '@isaacs/brace-expansion': 5.0.0 + brace-expansion: 5.0.2 minimatch@3.1.2: dependencies: @@ -24500,11 +22019,11 @@ snapshots: minisearch@7.2.0: {} - mjml-accordion@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-accordion@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24516,11 +22035,11 @@ snapshots: - uncss optional: true - mjml-body@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-body@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24532,11 +22051,11 @@ snapshots: - uncss optional: true - mjml-button@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-button@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24548,11 +22067,11 @@ snapshots: - uncss optional: true - mjml-carousel@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-carousel@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24564,14 +22083,14 @@ snapshots: - uncss optional: true - mjml-cli@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-cli@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 chokidar: 3.6.0 glob: 11.1.0 - lodash: 4.17.21 + lodash: 4.17.23 minimatch: 9.0.5 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) mjml-parser-xml: 5.0.0-alpha.4 mjml-validator: 5.0.0-alpha.4 yargs: 17.7.2 @@ -24586,11 +22105,11 @@ snapshots: - uncss optional: true - mjml-column@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-column@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24602,19 +22121,19 @@ snapshots: - uncss optional: true - mjml-core@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-core@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 cheerio: 1.0.0-rc.12 cssnano: 7.1.2(postcss@8.5.6) detect-node: 2.1.0 - htmlnano: 2.1.5(cssnano@7.1.2(postcss@8.5.6))(postcss@8.5.6)(terser@5.44.1)(typescript@5.9.3) + htmlnano: 2.1.5(cssnano@7.1.2(postcss@8.5.6))(postcss@8.5.6)(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) juice: 10.0.1 - lodash: 4.17.21 + lodash: 4.17.23 mjml-parser-xml: 5.0.0-alpha.4 mjml-validator: 5.0.0-alpha.4 postcss: 8.5.6 - prettier: 3.8.0 + prettier: 3.8.1 transitivePeerDependencies: - encoding - purgecss @@ -24626,11 +22145,11 @@ snapshots: - uncss optional: true - mjml-divider@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-divider@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24642,11 +22161,11 @@ snapshots: - uncss optional: true - mjml-group@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-group@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24658,11 +22177,11 @@ snapshots: - uncss optional: true - mjml-head-attributes@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-attributes@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24674,11 +22193,11 @@ snapshots: - uncss optional: true - mjml-head-breakpoint@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-breakpoint@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24690,11 +22209,11 @@ snapshots: - uncss optional: true - mjml-head-font@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-font@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24706,11 +22225,11 @@ snapshots: - uncss optional: true - mjml-head-html-attributes@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-html-attributes@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24722,11 +22241,11 @@ snapshots: - uncss optional: true - mjml-head-preview@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-preview@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24738,11 +22257,11 @@ snapshots: - uncss optional: true - mjml-head-style@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-style@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24754,11 +22273,11 @@ snapshots: - uncss optional: true - mjml-head-title@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head-title@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24770,11 +22289,11 @@ snapshots: - uncss optional: true - mjml-head@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-head@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24786,11 +22305,11 @@ snapshots: - uncss optional: true - mjml-hero@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-hero@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24802,11 +22321,11 @@ snapshots: - uncss optional: true - mjml-image@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-image@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24818,11 +22337,11 @@ snapshots: - uncss optional: true - mjml-navbar@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-navbar@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24836,40 +22355,40 @@ snapshots: mjml-parser-xml@5.0.0-alpha.4: dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 detect-node: 2.1.0 htmlparser2: 9.1.0 - lodash: 4.17.21 - optional: true - - mjml-preset-core@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): - dependencies: - '@babel/runtime': 7.28.4 - mjml-accordion: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-body: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-button: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-carousel: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-column: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-divider: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-group: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-attributes: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-breakpoint: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-font: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-html-attributes: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-preview: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-style: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-head-title: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-hero: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-image: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-navbar: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-raw: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-section: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-social: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-spacer: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-table: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-text: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-wrapper: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + lodash: 4.17.23 + optional: true + + mjml-preset-core@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): + dependencies: + '@babel/runtime': 7.28.6 + mjml-accordion: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-body: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-button: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-carousel: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-column: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-divider: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-group: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-attributes: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-breakpoint: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-font: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-html-attributes: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-preview: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-style: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-head-title: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-hero: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-image: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-navbar: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-raw: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-section: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-social: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-spacer: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-table: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-text: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-wrapper: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24881,11 +22400,11 @@ snapshots: - uncss optional: true - mjml-raw@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-raw@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24897,11 +22416,11 @@ snapshots: - uncss optional: true - mjml-section@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-section@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24913,11 +22432,11 @@ snapshots: - uncss optional: true - mjml-social@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-social@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24929,11 +22448,11 @@ snapshots: - uncss optional: true - mjml-spacer@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-spacer@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24945,11 +22464,11 @@ snapshots: - uncss optional: true - mjml-table@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-table@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24961,11 +22480,11 @@ snapshots: - uncss optional: true - mjml-text@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-text@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24979,15 +22498,15 @@ snapshots: mjml-validator@5.0.0-alpha.4: dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 optional: true - mjml-wrapper@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml-wrapper@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - lodash: 4.17.21 - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-section: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + lodash: 4.17.23 + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-section: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) transitivePeerDependencies: - encoding - purgecss @@ -24999,12 +22518,12 @@ snapshots: - uncss optional: true - mjml@5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3): + mjml@5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3): dependencies: - '@babel/runtime': 7.28.4 - mjml-cli: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) - mjml-preset-core: 5.0.0-alpha.4(terser@5.44.1)(typescript@5.9.3) + '@babel/runtime': 7.28.6 + mjml-cli: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) + mjml-preset-core: 5.0.0-alpha.4(relateurl@0.2.7)(terser@5.44.1)(typescript@5.9.3) mjml-validator: 5.0.0-alpha.4 transitivePeerDependencies: - encoding @@ -25136,7 +22655,7 @@ snapshots: node-abi@3.85.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 node-abort-controller@3.1.1: {} @@ -25149,7 +22668,7 @@ snapshots: node-emoji@1.11.0: dependencies: - lodash: 4.17.21 + lodash: 4.17.23 node-fetch-h2@2.3.0: dependencies: @@ -25177,7 +22696,10 @@ snapshots: node-releases@2.0.27: {} - nodemailer@8.0.0: {} + nodemailer@7.0.11: + optional: true + + nodemailer@8.0.1: {} normalize-package-data@2.5.0: dependencies: @@ -25373,10 +22895,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.2.2 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -25385,10 +22903,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 - p-map@7.0.4: {} p-timeout@3.2.0: @@ -25439,7 +22953,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 error-ex: 1.3.4 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -25469,7 +22983,7 @@ snapshots: parser-ts@0.7.0(fp-ts@2.16.11): dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 fp-ts: 2.16.11 parseuri@0.0.6: {} @@ -25491,7 +23005,7 @@ snapshots: passport-jwt@4.0.1: dependencies: - jsonwebtoken: 9.0.2 + jsonwebtoken: 9.0.3 passport-strategy: 1.0.0 passport-local@1.0.0: @@ -25527,8 +23041,6 @@ snapshots: path-exists@4.0.0: {} - path-exists@5.0.0: {} - path-key@3.1.1: {} path-key@4.0.0: {} @@ -25543,7 +23055,7 @@ snapshots: path-scurry@2.0.1: dependencies: - lru-cache: 11.2.2 + lru-cache: 11.2.4 minipass: 7.1.2 path-to-regexp@8.3.0: {} @@ -25583,15 +23095,13 @@ snapshots: pg-cloudflare@1.3.0: optional: true - pg-connection-string@2.10.0: {} + pg-connection-string@2.11.0: {} pg-int8@1.0.1: {} - pg-pool@3.11.0(pg@8.17.1): + pg-pool@3.11.0(pg@8.18.0): dependencies: - pg: 8.17.1 - - pg-protocol@1.10.3: {} + pg: 8.18.0 pg-protocol@1.11.0: {} @@ -25603,10 +23113,10 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - pg@8.17.1: + pg@8.18.0: dependencies: - pg-connection-string: 2.10.0 - pg-pool: 3.11.0(pg@8.17.1) + pg-connection-string: 2.11.0 + pg-pool: 3.11.0(pg@8.18.0) pg-protocol: 1.11.0 pg-types: 2.2.0 pgpass: 1.0.5 @@ -25721,18 +23231,18 @@ snapshots: postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.10.1)(typescript@5.9.3)): dependencies: lilconfig: 3.1.3 - yaml: 2.8.1 + yaml: 2.8.2 optionalDependencies: postcss: 8.5.6 ts-node: 10.9.2(@types/node@24.10.1)(typescript@5.9.3) - postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)): + postcss-load-config@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)): dependencies: lilconfig: 3.1.3 - yaml: 2.8.1 + yaml: 2.8.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@types/node@25.0.9)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@25.2.3)(typescript@5.9.3) postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6)(yaml@2.8.2): dependencies: @@ -25911,9 +23421,9 @@ snapshots: postgres@3.4.7: {} - posthog-node@5.23.0: + posthog-node@5.24.15: dependencies: - '@posthog/core': 1.11.0 + '@posthog/core': 1.22.0 posthtml-parser@0.11.0: dependencies: @@ -25931,14 +23441,14 @@ snapshots: posthtml-render: 3.0.0 optional: true - postman-collection@5.2.0: + postman-collection@5.2.1: dependencies: '@faker-js/faker': 5.5.3 file-type: 3.9.0 http-reasons: 0.1.0 iconv-lite: 0.6.3 liquid-json: 0.3.1 - lodash: 4.17.21 + lodash: 4.17.23 mime: 3.0.0 mime-format: 2.0.2 postman-url-encoder: 3.0.8 @@ -25970,11 +23480,11 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-tailwindcss@0.7.1(prettier@3.8.0): + prettier-plugin-tailwindcss@0.7.1(prettier@3.8.1): dependencies: - prettier: 3.8.0 + prettier: 3.8.1 - prettier@3.8.0: {} + prettier@3.8.1: {} pretty-bytes@5.6.0: {} @@ -25999,7 +23509,7 @@ snapshots: fixpack: 4.0.0 get-port: 5.1.1 mailparser: 3.9.0 - nodemailer: 8.0.0 + nodemailer: 7.0.11 open: 7.4.2 p-event: 4.2.0 p-wait-for: 3.2.0 @@ -26007,12 +23517,12 @@ snapshots: uuid: 9.0.1 optional: true - prisma@7.2.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3): + prisma@7.4.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.9.3): dependencies: - '@prisma/config': 7.2.0 - '@prisma/dev': 0.17.0(typescript@5.9.3) - '@prisma/engines': 7.2.0 - '@prisma/studio-core': 0.9.0(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + '@prisma/config': 7.4.0 + '@prisma/dev': 0.20.0(typescript@5.9.3) + '@prisma/engines': 7.4.0 + '@prisma/studio-core': 0.13.1(@types/react@19.2.6)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) mysql2: 3.15.3 postgres: 3.4.7 optionalDependencies: @@ -26146,7 +23656,11 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.1: + qs@6.14.2: + dependencies: + side-channel: 1.1.0 + + qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -26174,14 +23688,14 @@ snapshots: cross-fetch: 4.1.0 is-url: 1.2.4 js-base64: 3.7.8 - lodash: 4.17.21 + lodash: 4.17.23 pako: 1.0.11 pluralize: 8.0.0 readable-stream: 4.5.2 unicode-properties: 1.4.1 urijs: 1.19.11 wordwrap: 1.0.0 - yaml: 2.8.1 + yaml: 2.8.2 transitivePeerDependencies: - encoding @@ -26281,7 +23795,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.1 es-errors: 1.3.0 es-object-atoms: 1.1.1 get-intrinsic: 1.3.0 @@ -26326,17 +23840,18 @@ snapshots: dependencies: jsesc: 3.1.0 + relateurl@0.2.7: + optional: true + relay-runtime@12.0.0: dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: - encoding - remeda@2.21.3: - dependencies: - type-fest: 4.41.0 + remeda@2.33.4: {} remedial@1.0.8: {} @@ -26390,9 +23905,9 @@ snapshots: dependencies: glob: 11.1.0 - rimraf@6.1.2: + rimraf@6.1.3: dependencies: - glob: 13.0.0 + glob: 13.0.5 package-json-from-dist: 1.0.1 rollup-plugin-inject@3.0.2: @@ -26503,13 +24018,13 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.97.2: + sass@1.97.3: dependencies: chokidar: 4.0.3 immutable: 5.1.4 source-map-js: 1.2.1 optionalDependencies: - '@parcel/watcher': 2.5.4 + '@parcel/watcher': 2.5.6 sax@1.4.3: {} @@ -26528,9 +24043,9 @@ snapshots: schema-utils@4.3.3: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) + ajv: 8.18.0 + ajv-formats: 2.1.1(ajv@8.18.0) + ajv-keywords: 5.1.0(ajv@8.18.0) secure-compare@3.0.1: {} @@ -26545,7 +24060,7 @@ snapshots: semver@7.7.1: {} - semver@7.7.3: {} + semver@7.7.4: {} send@1.2.0: dependencies: @@ -26723,7 +24238,7 @@ snapshots: slick@1.12.2: optional: true - smob@1.5.0: {} + smob@1.6.1: {} snake-case@3.0.4: dependencies: @@ -26871,8 +24386,6 @@ snapshots: std-env@3.10.0: {} - std-env@3.9.0: {} - stop-iteration-iterator@1.1.0: dependencies: es-errors: 1.3.0 @@ -26905,12 +24418,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.2 - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 @@ -26942,7 +24449,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.1 es-object-atoms: 1.1.1 string.prototype.trim@1.2.10: @@ -26951,7 +24458,7 @@ snapshots: call-bound: 1.0.4 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.24.0 + es-abstract: 1.24.1 es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 @@ -27002,8 +24509,6 @@ snapshots: strip-json-comments@3.1.1: {} - strnum@2.1.1: {} - strtok3@10.3.4: dependencies: '@tokenizer/token': 0.3.0 @@ -27049,7 +24554,7 @@ snapshots: formidable: 3.5.4 methods: 1.1.2 mime: 2.6.0 - qs: 6.14.1 + qs: 6.14.2 transitivePeerDependencies: - supports-color @@ -27144,10 +24649,6 @@ snapshots: timeout-signal: 2.0.0 whatwg-mimetype: 4.0.0 - synckit@0.11.11: - dependencies: - '@pkgr/core': 0.2.9 - synckit@0.11.12: dependencies: '@pkgr/core': 0.2.9 @@ -27181,7 +24682,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.16(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)): + tailwindcss@3.4.16(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -27200,7 +24701,7 @@ snapshots: postcss: 8.5.6 postcss-import: 15.1.0(postcss@8.5.6) postcss-js: 4.1.0(postcss@8.5.6) - postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + postcss-load-config: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) postcss-nested: 6.2.0(postcss@8.5.6) postcss-selector-parser: 6.1.2 resolve: 1.22.11 @@ -27268,8 +24769,6 @@ snapshots: glob: 11.1.0 minimatch: 3.1.2 - text-extensions@2.4.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -27361,10 +24860,6 @@ snapshots: tree-kill@1.2.2: {} - ts-api-utils@2.1.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - ts-api-utils@2.4.0(typescript@5.9.3): dependencies: typescript: 5.9.3 @@ -27375,24 +24870,24 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.4.6(@babel/core@7.28.5)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.28.5))(jest-util@30.2.0)(jest@30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.6(@babel/core@7.29.0)(@jest/transform@30.2.0)(@jest/types@30.2.0)(babel-jest@30.2.0(@babel/core@7.29.0))(jest-util@30.2.0)(jest@30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)))(typescript@5.9.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.8 - jest: 30.2.0(@types/node@25.0.9)(ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3)) + jest: 30.2.0(@types/node@25.2.3)(ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.7.3 + semver: 7.7.4 type-fest: 4.41.0 typescript: 5.9.3 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.28.5 + '@babel/core': 7.29.0 '@jest/transform': 30.2.0 '@jest/types': 30.2.0 - babel-jest: 30.2.0(@babel/core@7.28.5) + babel-jest: 30.2.0(@babel/core@7.29.0) jest-util: 30.2.0 ts-loader@9.5.4(typescript@5.9.3)(webpack@5.104.1): @@ -27400,14 +24895,14 @@ snapshots: chalk: 4.1.2 enhanced-resolve: 5.18.3 micromatch: 4.0.8 - semver: 7.7.3 + semver: 7.7.4 source-map: 0.7.6 typescript: 5.9.3 webpack: 5.104.1 ts-log@2.2.7: {} - ts-node-dev@2.0.0(@types/node@25.0.9)(typescript@5.9.3): + ts-node-dev@2.0.0(@types/node@24.10.1)(typescript@5.9.3): dependencies: chokidar: 3.6.0 dynamic-dedupe: 0.3.0 @@ -27417,7 +24912,7 @@ snapshots: rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.2(@types/node@25.0.9)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@24.10.1)(typescript@5.9.3) tsconfig: 7.0.0 typescript: 5.9.3 transitivePeerDependencies: @@ -27442,16 +24937,15 @@ snapshots: typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - optional: true - ts-node@10.9.2(@types/node@25.0.9)(typescript@5.9.3): + ts-node@10.9.2(@types/node@25.2.3)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 25.0.9 + '@types/node': 25.2.3 acorn: 8.15.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -27490,12 +24984,12 @@ snapshots: tsup@8.5.1(jiti@2.6.1)(postcss@8.5.6)(typescript@5.9.3)(yaml@2.8.2): dependencies: - bundle-require: 5.1.0(esbuild@0.27.0) + bundle-require: 5.1.0(esbuild@0.27.2) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.2 debug: 4.4.3(supports-color@8.1.1) - esbuild: 0.27.0 + esbuild: 0.27.2 fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 @@ -27580,12 +25074,12 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): + typescript-eslint@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.53.1(@typescript-eslint/parser@8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/parser': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) - '@typescript-eslint/typescript-estree': 8.53.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.53.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.56.0(@typescript-eslint/parser@8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.56.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.56.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3) eslint: 9.39.2(jiti@2.6.1) typescript: 5.9.3 transitivePeerDependencies: @@ -27627,7 +25121,7 @@ snapshots: undici-types@7.16.0: {} - unhead@2.1.2: + unhead@2.1.4: dependencies: hookable: 6.0.1 @@ -27652,13 +25146,11 @@ snapshots: pako: 0.2.9 tiny-inflate: 1.0.3 - unicorn-magic@0.1.0: {} - unicorn-magic@0.3.0: {} union@0.5.0: dependencies: - qs: 6.14.1 + qs: 6.14.2 unique-string@2.0.0: dependencies: @@ -27672,27 +25164,27 @@ snapshots: unpipe@1.0.0: {} - unplugin-fonts@1.4.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + unplugin-fonts@1.4.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: fast-glob: 3.3.3 unplugin: 2.3.5 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - unplugin-fonts@1.4.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + unplugin-fonts@1.4.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: fast-glob: 3.3.3 unplugin: 2.3.5 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - unplugin-icons@22.5.0(@vue/compiler-sfc@3.5.27)(svelte@3.59.2)(vue-template-compiler@2.7.16): + unplugin-icons@22.5.0(@vue/compiler-sfc@3.5.28)(svelte@3.59.2)(vue-template-compiler@2.7.16): dependencies: '@antfu/install-pkg': 1.1.0 '@iconify/utils': 3.0.2 debug: 4.4.3(supports-color@8.1.1) local-pkg: 1.1.2 - unplugin: 2.3.10 + unplugin: 2.3.11 optionalDependencies: - '@vue/compiler-sfc': 3.5.27 + '@vue/compiler-sfc': 3.5.28 svelte: 3.59.2 vue-template-compiler: 2.7.16 transitivePeerDependencies: @@ -27703,7 +25195,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 - unplugin-vue-components@30.0.0(@babel/parser@7.28.6)(vue@3.5.27(typescript@5.9.3)): + unplugin-vue-components@30.0.0(@babel/parser@7.29.0)(vue@3.5.28(typescript@5.9.3)): dependencies: chokidar: 4.0.3 debug: 4.4.3(supports-color@8.1.1) @@ -27711,11 +25203,11 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 tinyglobby: 0.2.15 - unplugin: 2.3.10 + unplugin: 2.3.11 unplugin-utils: 0.3.1 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) optionalDependencies: - '@babel/parser': 7.28.6 + '@babel/parser': 7.29.0 transitivePeerDependencies: - supports-color @@ -27724,7 +25216,7 @@ snapshots: acorn: 8.15.0 webpack-virtual-modules: 0.6.2 - unplugin@2.3.10: + unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 acorn: 8.15.0 @@ -27763,12 +25255,6 @@ snapshots: upath@1.2.0: {} - update-browserslist-db@1.1.4(browserslist@4.28.0): - dependencies: - browserslist: 4.28.0 - escalade: 3.2.0 - picocolors: 1.1.1 - update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: browserslist: 4.28.1 @@ -27794,7 +25280,7 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.14.1 + qs: 6.14.2 urlpattern-polyfill@10.1.0: {} @@ -27812,7 +25298,7 @@ snapshots: is-arguments: 1.2.0 is-generator-function: 1.1.2 is-typed-array: 1.1.15 - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 utils-merge@1.0.1: {} @@ -27855,26 +25341,26 @@ snapshots: dependencies: zod: 3.25.32 - vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: birpc: 2.8.0 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) - vite-hot-client@2.1.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-hot-client@2.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-checker@0.11.0(eslint@9.39.2(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@1.8.8(typescript@5.9.3)): + vite-plugin-checker@0.11.0(eslint@9.39.2(jiti@2.6.1))(meow@13.2.0)(optionator@0.9.4)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-tsc@1.8.8(typescript@5.9.3)): dependencies: - '@babel/code-frame': 7.27.1 + '@babel/code-frame': 7.29.0 chokidar: 4.0.3 npm-run-path: 6.0.0 picocolors: 1.1.1 picomatch: 4.0.3 tiny-invariant: 1.3.3 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.39.2(jiti@2.6.1) @@ -27883,41 +25369,49 @@ snapshots: typescript: 5.9.3 vue-tsc: 1.8.8(typescript@5.9.3) - vite-plugin-eslint@1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-eslint@1.8.1(eslint@10.0.0(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): + dependencies: + '@rollup/pluginutils': 4.2.1 + '@types/eslint': 8.56.12 + eslint: 10.0.0(jiti@2.6.1) + rollup: 2.79.2 + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + + vite-plugin-eslint@1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: '@rollup/pluginutils': 4.2.1 '@types/eslint': 8.56.12 eslint: 9.39.2(jiti@2.6.1) rollup: 2.79.2 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-eslint@1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-eslint@1.8.1(eslint@9.39.2(jiti@2.6.1))(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: '@rollup/pluginutils': 4.2.1 '@types/eslint': 8.56.12 eslint: 9.39.2(jiti@2.6.1) rollup: 2.79.2 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-fonts@0.7.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-fonts@0.7.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: fast-glob: 3.3.3 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-fonts@0.7.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-fonts@0.7.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: fast-glob: 3.3.3 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-html-config@2.0.2(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-html-config@2.0.2(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-html-config@2.0.2(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-html-config@2.0.2(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-inspect@11.3.3(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-inspect@11.3.3(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: ansis: 4.2.0 debug: 4.4.3(supports-color@8.1.1) @@ -27927,8 +25421,8 @@ snapshots: perfect-debounce: 2.0.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) transitivePeerDependencies: - supports-color @@ -27937,7 +25431,7 @@ snapshots: sitemap: 8.0.2 xml-formatter: 3.6.7 - vite-plugin-pages@0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3))): + vite-plugin-pages@0.33.2(@vue/compiler-sfc@3.5.28)(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3))): dependencies: '@types/debug': 4.1.12 debug: 4.4.3(supports-color@8.1.1) @@ -27948,15 +25442,15 @@ snapshots: micromatch: 4.0.8 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) yaml: 2.8.2 optionalDependencies: - '@vue/compiler-sfc': 3.5.27 - vue-router: 4.6.4(vue@3.5.27(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.28 + vue-router: 4.6.4(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - supports-color - vite-plugin-pages@0.33.2(@vue/compiler-sfc@3.5.27)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3))): + vite-plugin-pages@0.33.2(@vue/compiler-sfc@3.5.28)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3))): dependencies: '@types/debug': 4.1.12 debug: 4.4.3(supports-color@8.1.1) @@ -27967,77 +25461,77 @@ snapshots: micromatch: 4.0.8 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) yaml: 2.8.2 optionalDependencies: - '@vue/compiler-sfc': 3.5.27 - vue-router: 4.6.4(vue@3.5.27(typescript@5.9.3)) + '@vue/compiler-sfc': 3.5.28 + vue-router: 4.6.4(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - supports-color - vite-plugin-pwa@1.2.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): dependencies: debug: 4.4.3(supports-color@8.1.1) pretty-bytes: 6.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) workbox-build: 7.4.0(@types/babel__core@7.20.5) workbox-window: 7.4.0 transitivePeerDependencies: - supports-color - vite-plugin-pwa@1.2.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): + vite-plugin-pwa@1.2.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(workbox-build@7.4.0(@types/babel__core@7.20.5))(workbox-window@7.4.0): dependencies: debug: 4.4.3(supports-color@8.1.1) pretty-bytes: 6.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) workbox-build: 7.4.0(@types/babel__core@7.20.5) workbox-window: 7.4.0 transitivePeerDependencies: - supports-color - vite-plugin-static-copy@3.1.5(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)): + vite-plugin-static-copy@3.2.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)): dependencies: chokidar: 3.6.0 p-map: 7.0.4 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) - vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)): + vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)): dependencies: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vue: 3.5.27(typescript@5.9.3) - vue-router: 4.6.4(vue@3.5.27(typescript@5.9.3)) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.28(typescript@5.9.3) + vue-router: 4.6.4(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - supports-color - vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)))(vue@3.5.27(typescript@5.9.3)): + vite-plugin-vue-layouts@0.11.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2))(vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)))(vue@3.5.28(typescript@5.9.3)): dependencies: debug: 4.4.3(supports-color@8.1.1) fast-glob: 3.3.3 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) - vue: 3.5.27(typescript@5.9.3) - vue-router: 4.6.4(vue@3.5.27(typescript@5.9.3)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) + vue: 3.5.28(typescript@5.9.3) + vue-router: 4.6.4(vue@3.5.28(typescript@5.9.3)) transitivePeerDependencies: - supports-color - vite@3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1): + vite@3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1): dependencies: esbuild: 0.15.18 postcss: 8.5.6 resolve: 1.22.11 rollup: 2.79.2 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 fsevents: 2.3.3 - sass: 1.97.2 + sass: 1.97.3 terser: 5.44.1 - vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -28049,11 +25543,11 @@ snapshots: '@types/node': 24.10.1 fsevents: 2.3.3 jiti: 2.6.1 - sass: 1.97.2 + sass: 1.97.3 terser: 5.44.1 yaml: 2.8.2 - vite@7.3.1(@types/node@24.9.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + vite@7.3.1(@types/node@24.9.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -28065,11 +25559,11 @@ snapshots: '@types/node': 24.9.1 fsevents: 2.3.3 jiti: 2.6.1 - sass: 1.97.2 + sass: 1.97.3 terser: 5.44.1 yaml: 2.8.2 - vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -28078,26 +25572,26 @@ snapshots: rollup: 4.55.3 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 fsevents: 2.3.3 jiti: 2.6.1 - sass: 1.97.2 + sass: 1.97.3 terser: 5.44.1 yaml: 2.8.2 - vitefu@0.2.5(vite@3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1)): + vitefu@0.2.5(vite@3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1)): optionalDependencies: - vite: 3.2.11(@types/node@25.0.9)(sass@1.97.2)(terser@5.44.1) + vite: 3.2.11(@types/node@25.2.3)(sass@1.97.3)(terser@5.44.1) - vitest@4.0.17(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + vitest@4.0.18(@types/node@24.10.1)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2): dependencies: - '@vitest/expect': 4.0.17 - '@vitest/mocker': 4.0.17(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - '@vitest/pretty-format': 4.0.17 - '@vitest/runner': 4.0.17 - '@vitest/snapshot': 4.0.17 - '@vitest/spy': 4.0.17 - '@vitest/utils': 4.0.17 + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -28109,7 +25603,7 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@24.10.1)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.10.1 @@ -28127,15 +25621,15 @@ snapshots: - tsx - yaml - vitest@4.0.17(@types/node@25.0.9)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2): + vitest@4.0.18(@types/node@25.2.3)(jiti@2.6.1)(jsdom@27.4.0(@noble/hashes@2.0.1))(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2): dependencies: - '@vitest/expect': 4.0.17 - '@vitest/mocker': 4.0.17(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2)) - '@vitest/pretty-format': 4.0.17 - '@vitest/runner': 4.0.17 - '@vitest/snapshot': 4.0.17 - '@vitest/spy': 4.0.17 - '@vitest/utils': 4.0.17 + '@vitest/expect': 4.0.18 + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2)) + '@vitest/pretty-format': 4.0.18 + '@vitest/runner': 4.0.18 + '@vitest/snapshot': 4.0.18 + '@vitest/spy': 4.0.18 + '@vitest/utils': 4.0.18 es-module-lexer: 1.7.0 expect-type: 1.3.0 magic-string: 0.30.21 @@ -28147,10 +25641,10 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(sass@1.97.2)(terser@5.44.1)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(sass@1.97.3)(terser@5.44.1)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 25.0.9 + '@types/node': 25.2.3 jsdom: 27.4.0(@noble/hashes@2.0.1) transitivePeerDependencies: - jiti @@ -28172,71 +25666,71 @@ snapshots: vscode-uri@3.1.0: {} - vue-demi@0.14.10(vue@3.5.27(typescript@5.9.3)): + vue-demi@0.14.10(vue@3.5.28(typescript@5.9.3)): dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) - vue-eslint-parser@10.2.0(eslint@9.39.2(jiti@2.6.1)): + vue-eslint-parser@10.4.0(eslint@9.39.2(jiti@2.6.1)): dependencies: debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - esquery: 1.6.0 - semver: 7.7.3 + eslint-scope: 9.1.0 + eslint-visitor-keys: 5.0.0 + espree: 11.1.0 + esquery: 1.7.0 + semver: 7.7.4 transitivePeerDependencies: - supports-color - vue-i18n@11.2.8(vue@3.5.27(typescript@5.9.3)): + vue-i18n@11.2.8(vue@3.5.28(typescript@5.9.3)): dependencies: '@intlify/core-base': 11.2.8 '@intlify/shared': 11.2.8 '@vue/devtools-api': 6.6.4 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) - vue-json-pretty@2.6.0(vue@3.5.27(typescript@5.9.3)): + vue-json-pretty@2.6.0(vue@3.5.28(typescript@5.9.3)): dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) - vue-pdf-embed@2.1.3(vue@3.5.27(typescript@5.9.3)): + vue-pdf-embed@2.1.3(vue@3.5.28(typescript@5.9.3)): dependencies: pdfjs-dist: 4.10.38 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) vue-promise-modals@0.1.0(typescript@5.9.3): dependencies: - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - typescript - vue-router@4.6.4(vue@3.5.27(typescript@5.9.3)): + vue-router@4.6.4(vue@3.5.28(typescript@5.9.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 he: 1.2.0 - vue-tippy@6.7.1(vue@3.5.27(typescript@5.9.3)): + vue-tippy@6.7.1(vue@3.5.28(typescript@5.9.3)): dependencies: tippy.js: 6.3.7 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) vue-tsc@1.8.8(typescript@5.9.3): dependencies: '@vue/language-core': 1.8.8(typescript@5.9.3) '@vue/typescript': 1.8.8(typescript@5.9.3) - semver: 7.7.3 + semver: 7.7.4 typescript: 5.9.3 vue-tsc@2.1.6(typescript@5.9.3): dependencies: '@volar/typescript': 2.4.23 '@vue/language-core': 2.1.6(typescript@5.9.3) - semver: 7.7.3 + semver: 7.7.4 typescript: 5.9.3 vue-tsc@2.2.0(typescript@5.9.3): @@ -28245,20 +25739,20 @@ snapshots: '@vue/language-core': 2.2.0(typescript@5.9.3) typescript: 5.9.3 - vue@3.5.27(typescript@5.9.3): + vue@3.5.28(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.27 - '@vue/compiler-sfc': 3.5.27 - '@vue/runtime-dom': 3.5.27 - '@vue/server-renderer': 3.5.27(vue@3.5.27(typescript@5.9.3)) - '@vue/shared': 3.5.27 + '@vue/compiler-dom': 3.5.28 + '@vue/compiler-sfc': 3.5.28 + '@vue/runtime-dom': 3.5.28 + '@vue/server-renderer': 3.5.28(vue@3.5.28(typescript@5.9.3)) + '@vue/shared': 3.5.28 optionalDependencies: typescript: 5.9.3 - vuedraggable-es@4.1.1(vue@3.5.27(typescript@5.9.3)): + vuedraggable-es@4.1.1(vue@3.5.28(typescript@5.9.3)): dependencies: sortablejs: 1.14.0 - vue: 3.5.27(typescript@5.9.3) + vue: 3.5.28(typescript@5.9.3) w3c-keyname@2.2.8: {} @@ -28391,7 +25885,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.1.1 which-collection: 1.0.2 - which-typed-array: 1.1.19 + which-typed-array: 1.1.20 which-collection@1.0.2: dependencies: @@ -28402,16 +25896,6 @@ snapshots: which-module@2.0.1: {} - which-typed-array@1.1.19: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - which-typed-array@1.1.20: dependencies: available-typed-arrays: 1.0.7 @@ -28437,8 +25921,8 @@ snapshots: with@7.0.2: dependencies: - '@babel/parser': 7.28.6 - '@babel/types': 7.28.5 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 assert-never: 1.4.0 babel-walk: 3.0.0-canary-5 optional: true @@ -28460,21 +25944,21 @@ snapshots: workbox-build@7.4.0(@types/babel__core@7.20.5): dependencies: - '@apideck/better-ajv-errors': 0.3.6(ajv@8.17.1) - '@babel/core': 7.28.6 - '@babel/preset-env': 7.28.6(@babel/core@7.28.6) + '@apideck/better-ajv-errors': 0.3.6(ajv@8.18.0) + '@babel/core': 7.29.0 + '@babel/preset-env': 7.29.0(@babel/core@7.29.0) '@babel/runtime': 7.28.6 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.28.6)(@types/babel__core@7.20.5)(rollup@2.79.2) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.29.0)(@types/babel__core@7.20.5)(rollup@2.79.2) '@rollup/plugin-node-resolve': 15.3.1(rollup@2.79.2) '@rollup/plugin-replace': 2.4.2(rollup@2.79.2) '@rollup/plugin-terser': 0.4.4(rollup@2.79.2) '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.17.1 + ajv: 8.18.0 common-tags: 1.8.2 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 glob: 11.1.0 - lodash: 4.17.21 + lodash: 4.17.23 pretty-bytes: 5.6.0 rollup: 2.79.2 source-map: 0.8.0-beta.0 @@ -28576,12 +26060,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.1.2 - wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 @@ -28646,15 +26124,13 @@ snapshots: yallist@3.1.1: {} - yaml-eslint-parser@1.3.0: + yaml-eslint-parser@1.3.2: dependencies: eslint-visitor-keys: 3.4.3 - yaml: 2.8.1 + yaml: 2.8.2 yaml@1.10.2: {} - yaml@2.8.1: {} - yaml@2.8.2: {} yargs-parser@18.1.3: @@ -28708,8 +26184,6 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.2: {} - yoctocolors-cjs@2.1.3: {} z-schema@4.2.4: @@ -28728,8 +26202,9 @@ snapshots: optionalDependencies: commander: 9.5.0 - zeptomatch@2.0.2: + zeptomatch@2.1.0: dependencies: grammex: 3.1.11 + graphmatch: 1.1.1 zod@3.25.32: {} diff --git a/prod.Dockerfile b/prod.Dockerfile index 67fa3940bfe..bd24decd42c 100644 --- a/prod.Dockerfile +++ b/prod.Dockerfile @@ -1,38 +1,46 @@ # Base Go builder with Go lang installation # This stage is used to build both Caddy and the webapp server, # preventing vulnerable packages on the dependency chain -FROM alpine:3.23.2 AS go_builder +FROM alpine:3.23.3 AS go_builder +RUN apk add --no-cache curl git +# Install Go 1.26.0 from GitHub releases to fix CVE-2025-47907 +ARG TARGETARCH +ENV GOLANG_VERSION=1.26.0 +# Download Go tarball +RUN case "${TARGETARCH}" in amd64) GOARCH=amd64 ;; arm64) GOARCH=arm64 ;; *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; esac && \ + curl -fsSL "https://go.dev/dl/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz" -o go.tar.gz +# Checksum verification of Go tarball +RUN case "${TARGETARCH}" in \ + amd64) expected="aac1b08a0fb0c4e0a7c1555beb7b59180b05dfc5a3d62e40e9de90cd42f88235" ;; \ + arm64) expected="bd03b743eb6eb4193ea3c3fd3956546bf0e3ca5b7076c8226334afe6b75704cd" ;; \ + esac && \ + actual=$(sha256sum go.tar.gz | cut -d' ' -f1) && \ + [ "$actual" = "$expected" ] && \ + echo "✅ Go Tarball Checksum OK" || \ + (echo "❌ Go Tarball Checksum failed! Expected: ${expected} Got: ${actual}" && exit 1) +# Install Go from verified tarball +RUN tar -C /usr/local -xzf go.tar.gz && rm go.tar.gz +# Set up Go environment variables +ENV PATH="/usr/local/go/bin:${PATH}" \ + GOPATH="/go" \ + GOBIN="/go/bin" + -RUN apk add --no-cache curl git && \ - mkdir -p /tmp/caddy-build && \ - curl -L -o /tmp/caddy-build/src.tar.gz https://github.com/caddyserver/caddy/releases/download/v2.10.2/caddy_2.10.2_src.tar.gz +# Build Caddy from the Go base +FROM go_builder AS caddy_builder +RUN mkdir -p /tmp/caddy-build && \ + curl -L -o /tmp/caddy-build/src.tar.gz https://github.com/caddyserver/caddy/releases/download/v2.10.2/caddy_2.10.2_src.tar.gz # Checksum verification of caddy source RUN expected="a9efa00c161922dd24650fd0bee2f4f8bb2fb69ff3e63dcc44f0694da64bb0cf" && \ actual=$(sha256sum /tmp/caddy-build/src.tar.gz | cut -d' ' -f1) && \ [ "$actual" = "$expected" ] && \ echo "✅ Caddy Source Checksum OK" || \ (echo "❌ Caddy Source Checksum failed!" && exit 1) - -# Install Go 1.25.4 from GitHub releases to fix CVE-2025-47907 -ARG TARGETARCH -ENV GOLANG_VERSION=1.25.6 -# Download and install Go from the official tarball -RUN case "${TARGETARCH}" in amd64) GOARCH=amd64 ;; arm64) GOARCH=arm64 ;; *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; esac && \ - curl -fsSL "https://go.dev/dl/go${GOLANG_VERSION}.linux-${GOARCH}.tar.gz" -o go.tar.gz && \ - tar -C /usr/local -xzf go.tar.gz && \ - rm go.tar.gz -# Set up Go environment variables -ENV PATH="/usr/local/go/bin:${PATH}" \ - GOPATH="/go" \ - GOBIN="/go/bin" - WORKDIR /tmp/caddy-build RUN tar xvf /tmp/caddy-build/src.tar.gz && \ # Patch to resolve CVE-2025-64702 on quic-go go get github.com/quic-go/quic-go@v0.57.0 && \ - # Patch to resolve CVE-2025-62820 on nebula - go get github.com/slackhq/nebula@v1.9.7 && \ # Patch to resolve CVE-2025-47913 on crypto go get golang.org/x/crypto@v0.45.0 && \ # Patch to resolve CVE-2025-44005 on smallstep @@ -41,13 +49,12 @@ RUN tar xvf /tmp/caddy-build/src.tar.gz && \ rm -rf vendor && \ go mod tidy && \ go mod vendor - -# Build Caddy from the Go base -FROM go_builder AS caddy_builder WORKDIR /tmp/caddy-build/cmd/caddy # Build using the updated vendored dependencies RUN go build + + # Build webapp server from the Go base # This reuses the Go installation from go_builder, avoiding a separate image pull # and significantly reducing build time (especially on ARM64 in CI) @@ -61,16 +68,16 @@ RUN CGO_ENABLED=0 GOOS=linux go build -o webapp-server . # Shared Node.js base with optimized NPM installation -FROM alpine:3.23.2 AS node_base +FROM alpine:3.23.3 AS node_base # Install dependencies RUN apk add --no-cache nodejs curl bash tini ca-certificates # Set working directory for NPM installation RUN mkdir -p /tmp/npm-install WORKDIR /tmp/npm-install # Download NPM tarball -RUN curl -fsSL https://registry.npmjs.org/npm/-/npm-11.7.0.tgz -o npm.tgz +RUN curl -fsSL https://registry.npmjs.org/npm/-/npm-11.10.0.tgz -o npm.tgz # Verify checksum -RUN expected="292f142dc1a8c01199ba34a07e57cf016c260ea2c59b64f3eee8aaae7a2e7504" \ +RUN expected="43c653384c39617756846ad405705061a78fb6bbddb2ced57ab79fb92e8af2a7" \ && actual=$(sha256sum npm.tgz | cut -d' ' -f1) \ && [ "$actual" = "$expected" ] \ && echo "✅ NPM Tarball Checksum OK" \ @@ -78,30 +85,21 @@ RUN expected="292f142dc1a8c01199ba34a07e57cf016c260ea2c59b64f3eee8aaae7a2e7504" # Install NPM from verified tarball and global packages RUN tar -xzf npm.tgz && \ cd package && \ - node bin/npm-cli.js install -g npm@11.7.0 && \ + node bin/npm-cli.js install -g npm@11.10.0 && \ cd / && \ rm -rf /tmp/npm-install -RUN npm install -g pnpm@10.28.1 @import-meta-env/cli +RUN npm install -g pnpm@10.29.3 @import-meta-env/cli # Fix CVE-2025-64756 by replacing vulnerable glob with patched version -# Fix CVE-2026-23745 by replacing vulnerable tar with patched version -# Fix GHSA-73rr-hh4g-fpgx replacing vulnerable diff with patched version -RUN npm install -g glob@11.1.0 tar@7.5.3 diff@8.0.3 && \ +RUN npm install -g glob@11.1.0 tar@7.5.8 && \ # Replace tar in npm's node_modules rm -rf /usr/lib/node_modules/npm/node_modules/tar && \ cp -r /usr/lib/node_modules/tar /usr/lib/node_modules/npm/node_modules/ && \ - # Replace tar in npm's node_modules - rm -rf /usr/lib/node_modules/npm/node_modules/diff && \ - cp -r /usr/lib/node_modules/diff /usr/lib/node_modules/npm/node_modules/ && \ + cp -r /usr/lib/node_modules/tar /usr/lib/node_modules/pnpm/dist/node_modules/ && \ # Replace glob in @import-meta-env/cli's node_modules rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/glob && \ - cp -r /usr/lib/node_modules/glob /usr/lib/node_modules/@import-meta-env/cli/node_modules/ && \ - # Replace tar in @import-meta-env/cli's node_modules - rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/tar && \ - cp -r /usr/lib/node_modules/tar /usr/lib/node_modules/@import-meta-env/cli/node_modules/ && \ - # Replace diff in @import-meta-env/cli's node_modules - rm -rf /usr/lib/node_modules/@import-meta-env/cli/node_modules/diff && \ - cp -r /usr/lib/node_modules/diff /usr/lib/node_modules/@import-meta-env/cli/node_modules/ + cp -r /usr/lib/node_modules/glob /usr/lib/node_modules/@import-meta-env/cli/node_modules/ + FROM node_base AS base_builder From 1de672b8bdc3fd58e5baf8e2653d3eb6f478be3c Mon Sep 17 00:00:00 2001 From: Leonic <88329746+Leon-Luu@users.noreply.github.com> Date: Fri, 20 Feb 2026 09:43:14 +0100 Subject: [PATCH 06/23] feat(sh-admin): add search and pagination to teams list (#5803) Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com> --- .../src/admin/admin.service.ts | 18 ++ .../src/admin/infra.resolver.ts | 20 ++ .../src/team/team.service.spec.ts | 80 ++++++++ .../src/team/team.service.ts | 28 +++ packages/hoppscotch-sh-admin/locales/en.json | 2 + .../hoppscotch-sh-admin/src/components.d.ts | 5 +- .../backend/gql/queries/TeamList.graphql | 11 - .../backend/gql/queries/TeamListV2.graphql | 11 + .../src/pages/teams/index.vue | 189 ++++++++++++++---- 9 files changed, 308 insertions(+), 56 deletions(-) delete mode 100644 packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamList.graphql create mode 100644 packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamListV2.graphql diff --git a/packages/hoppscotch-backend/src/admin/admin.service.ts b/packages/hoppscotch-backend/src/admin/admin.service.ts index d8192dcd2ae..40330c2598e 100644 --- a/packages/hoppscotch-backend/src/admin/admin.service.ts +++ b/packages/hoppscotch-backend/src/admin/admin.service.ts @@ -220,12 +220,30 @@ export class AdminService { * @param cursorID team id * @param take number of items to fetch * @returns an array of teams + * @deprecated use fetchAllTeamsV2 instead */ async fetchAllTeams(cursorID: string, take: number) { const allTeams = await this.teamService.fetchAllTeams(cursorID, take); return allTeams; } + /** + * Fetch all the teams in the infra. + * @param searchString search on team name or ID + * @param paginationOption pagination options + * @returns an array of teams + */ + async fetchAllTeamsV2( + searchString: string, + paginationOption: OffsetPaginationArgs, + ) { + const allTeams = await this.teamService.fetchAllTeamsV2( + searchString, + paginationOption, + ); + return allTeams; + } + /** * Fetch the count of all the members in a team. * @param teamID team id diff --git a/packages/hoppscotch-backend/src/admin/infra.resolver.ts b/packages/hoppscotch-backend/src/admin/infra.resolver.ts index c3ce53e4d1f..b822fb1398d 100644 --- a/packages/hoppscotch-backend/src/admin/infra.resolver.ts +++ b/packages/hoppscotch-backend/src/admin/infra.resolver.ts @@ -120,12 +120,32 @@ export class InfraResolver { @ResolveField(() => [Team], { description: 'Returns a list of all the teams in the infra', + deprecationReason: 'Use allTeamsV2 instead', }) async allTeams(@Args() args: PaginationArgs): Promise { const teams = await this.adminService.fetchAllTeams(args.cursor, args.take); return teams; } + @ResolveField(() => [Team], { + description: 'Returns a list of all the teams in the infra', + }) + async allTeamsV2( + @Args({ + name: 'searchString', + nullable: true, + description: 'Search on team name or ID', + }) + searchString: string, + @Args() paginationOption: OffsetPaginationArgs, + ): Promise { + const teams = await this.adminService.fetchAllTeamsV2( + searchString, + paginationOption, + ); + return teams; + } + @ResolveField(() => Team, { description: 'Returns a team info by ID when requested by Admin', }) diff --git a/packages/hoppscotch-backend/src/team/team.service.spec.ts b/packages/hoppscotch-backend/src/team/team.service.spec.ts index 6126405e558..0ab92145bda 100644 --- a/packages/hoppscotch-backend/src/team/team.service.spec.ts +++ b/packages/hoppscotch-backend/src/team/team.service.spec.ts @@ -962,6 +962,86 @@ describe('fetchAllTeams', () => { }); }); +describe('fetchAllTeamsV2', () => { + test('should return teams with offset pagination when no search string', async () => { + mockPrisma.team.findMany.mockResolvedValueOnce(teams); + + const result = await teamService.fetchAllTeamsV2('', { + skip: 0, + take: 20, + }); + + expect(result).toEqual(teams); + expect(mockPrisma.team.findMany).toHaveBeenCalledWith({ + skip: 0, + take: 20, + where: undefined, + orderBy: [{ name: 'asc' }, { id: 'asc' }], + }); + }); + + test('should search by name and id when search string is provided', async () => { + mockPrisma.team.findMany.mockResolvedValueOnce([teams[0]]); + + const result = await teamService.fetchAllTeamsV2('team', { + skip: 0, + take: 20, + }); + + expect(result).toEqual([teams[0]]); + expect(mockPrisma.team.findMany).toHaveBeenCalledWith({ + skip: 0, + take: 20, + where: { + OR: [ + { name: { contains: 'team', mode: 'insensitive' } }, + { id: { contains: 'team', mode: 'insensitive' } }, + ], + }, + orderBy: [{ name: 'asc' }, { id: 'asc' }], + }); + }); + + test('should apply skip for pagination', async () => { + mockPrisma.team.findMany.mockResolvedValueOnce(teams); + + const result = await teamService.fetchAllTeamsV2('', { + skip: 20, + take: 20, + }); + + expect(result).toEqual(teams); + expect(mockPrisma.team.findMany).toHaveBeenCalledWith({ + skip: 20, + take: 20, + where: undefined, + orderBy: [{ name: 'asc' }, { id: 'asc' }], + }); + }); + + test('should return empty array when no teams match', async () => { + mockPrisma.team.findMany.mockResolvedValueOnce([]); + + const result = await teamService.fetchAllTeamsV2('nonexistent', { + skip: 0, + take: 20, + }); + + expect(result).toEqual([]); + expect(mockPrisma.team.findMany).toHaveBeenCalledWith({ + skip: 0, + take: 20, + where: { + OR: [ + { name: { contains: 'nonexistent', mode: 'insensitive' } }, + { id: { contains: 'nonexistent', mode: 'insensitive' } }, + ], + }, + orderBy: [{ name: 'asc' }, { id: 'asc' }], + }); + }); +}); + describe('getCountOfMembersInTeam', () => { test('should resolve right and return a total team member count ', async () => { mockPrisma.teamMember.count.mockResolvedValueOnce(2); diff --git a/packages/hoppscotch-backend/src/team/team.service.ts b/packages/hoppscotch-backend/src/team/team.service.ts index bad4bd1ab28..225c5fe5ce9 100644 --- a/packages/hoppscotch-backend/src/team/team.service.ts +++ b/packages/hoppscotch-backend/src/team/team.service.ts @@ -23,6 +23,7 @@ import * as T from 'fp-ts/Task'; import * as A from 'fp-ts/Array'; import { isValidLength, throwErr } from 'src/utils'; import { AuthUser } from '../types/AuthUser'; +import { OffsetPaginationArgs } from 'src/types/input-types.args'; @Injectable() export class TeamService implements UserDataHandler, OnModuleInit { @@ -522,6 +523,7 @@ export class TeamService implements UserDataHandler, OnModuleInit { * @param cursorID string of teamID or undefined * @param take number of items to query * @returns an array of `Team` object + * @deprecated use fetchAllTeamsV2 instead */ async fetchAllTeams(cursorID: string, take: number) { const options = { @@ -534,6 +536,32 @@ export class TeamService implements UserDataHandler, OnModuleInit { return fetchedTeams; } + /** + * Fetch all the teams in the `Team` table with offset pagination and search + * @param searchString search on team name or ID + * @param paginationOption pagination options + * @returns an array of `Team` object + */ + async fetchAllTeamsV2( + searchString: string, + paginationOption: OffsetPaginationArgs, + ) { + const fetchedTeams = await this.prisma.team.findMany({ + skip: paginationOption.skip, + take: paginationOption.take, + where: searchString + ? { + OR: [ + { name: { contains: searchString, mode: 'insensitive' } }, + { id: { contains: searchString, mode: 'insensitive' } }, + ], + } + : undefined, + orderBy: [{ name: 'asc' }, { id: 'asc' }], + }); + return fetchedTeams; + } + /** * Fetch list of all the Teams in the DB * diff --git a/packages/hoppscotch-sh-admin/locales/en.json b/packages/hoppscotch-sh-admin/locales/en.json index 7e185125810..88cf1337877 100644 --- a/packages/hoppscotch-sh-admin/locales/en.json +++ b/packages/hoppscotch-sh-admin/locales/en.json @@ -404,6 +404,7 @@ "name": "Workspace Name", "no_members": "No members in this workspace. Add members to this workspace to collaborate", "no_pending_invites": "No pending invites", + "no_search_results": "No workspaces found matching your search", "no_teams": "No workspaces found..", "pending_invites": "Pending invites", "roles": "Roles", @@ -412,6 +413,7 @@ "rename": "Rename", "save": "Save", "save_changes": "Save Changes", + "search_placeholder": "Search by workspace name or ID..", "send_invite": "Send Invite", "show_more": "Show more", "team_details": "Workspace details", diff --git a/packages/hoppscotch-sh-admin/src/components.d.ts b/packages/hoppscotch-sh-admin/src/components.d.ts index 999b779ae71..27a89ad6005 100644 --- a/packages/hoppscotch-sh-admin/src/components.d.ts +++ b/packages/hoppscotch-sh-admin/src/components.d.ts @@ -1,8 +1,11 @@ /* eslint-disable */ // @ts-nocheck +// biome-ignore lint: disable +// oxlint-disable +// ------ // Generated by unplugin-vue-components // Read more: https://github.com/vuejs/core/pull/3399 -// biome-ignore lint: disable + export {} /* prettier-ignore */ diff --git a/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamList.graphql b/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamList.graphql deleted file mode 100644 index 7560c5d632d..00000000000 --- a/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamList.graphql +++ /dev/null @@ -1,11 +0,0 @@ -query TeamList($cursor: ID, $take: Int) { - infra { - allTeams(cursor: $cursor, take: $take) { - id - name - teamMembers { - membershipID - } - } - } -} diff --git a/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamListV2.graphql b/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamListV2.graphql new file mode 100644 index 00000000000..999084bb871 --- /dev/null +++ b/packages/hoppscotch-sh-admin/src/helpers/backend/gql/queries/TeamListV2.graphql @@ -0,0 +1,11 @@ +query TeamListV2($searchString: String, $skip: Int, $take: Int) { + infra { + allTeamsV2(searchString: $searchString, skip: $skip, take: $take) { + id + name + teamMembers { + membershipID + } + } + } +} diff --git a/packages/hoppscotch-sh-admin/src/pages/teams/index.vue b/packages/hoppscotch-sh-admin/src/pages/teams/index.vue index 7947712a56f..ca3da6bfb07 100644 --- a/packages/hoppscotch-sh-admin/src/pages/teams/index.vue +++ b/packages/hoppscotch-sh-admin/src/pages/teams/index.vue @@ -1,29 +1,71 @@ + + + + + + (null) : ref(null) const instanceSwitcherRef = kernelMode === "desktop" ? ref(null) : ref(null) +const orgSwitcherRef = ref(null) + +// Reserve scrollbar gutter so content width doesn't shift when the list +// grows long enough to scroll inside the popover's `max-h-[45vh]` container. +const onOrgSwitcherCreate = (instance: Instance) => { + const content = instance.popper?.querySelector(".tippy-content") + if (content instanceof HTMLElement) { + content.style.scrollbarGutter = "stable" + } +} const isUserAdmin = ref(false) diff --git a/packages/hoppscotch-common/src/components/workspace/Selector.vue b/packages/hoppscotch-common/src/components/workspace/Selector.vue index c511f32d7eb..81535d83d85 100644 --- a/packages/hoppscotch-common/src/components/workspace/Selector.vue +++ b/packages/hoppscotch-common/src/components/workspace/Selector.vue @@ -65,14 +65,6 @@ {{ t("error.something_went_wrong") }}
- -
-
- -
(id: string) => { return workspace.value.teamID === id }) -const showCreateOrganizationCTA = computed(() => { - const { organization } = platform - - return organization?.isDefaultCloudInstance ?? false -}) - const switchToTeamWorkspace = (team: GetMyTeamsQuery["myTeams"][number]) => { REMEMBERED_TEAM_ID.value = team.id workspaceService.changeWorkspace({ diff --git a/packages/hoppscotch-common/src/layouts/default.vue b/packages/hoppscotch-common/src/layouts/default.vue index 523aa6d0eeb..a35e9f513d8 100644 --- a/packages/hoppscotch-common/src/layouts/default.vue +++ b/packages/hoppscotch-common/src/layouts/default.vue @@ -16,16 +16,6 @@ > - - { - return ( - platform.organization?.organizationSwitchingEnabled === true && - platform.organization.customOrganizationSidebarComponent - ) -}) - onBeforeMount(() => { if (!mdAndLarger.value) { rightSidebar.value = false diff --git a/packages/hoppscotch-common/src/platform/organization.ts b/packages/hoppscotch-common/src/platform/organization.ts index 29f0bcb4db5..ce886a30dd0 100644 --- a/packages/hoppscotch-common/src/platform/organization.ts +++ b/packages/hoppscotch-common/src/platform/organization.ts @@ -13,16 +13,11 @@ export type OrganizationPlatformDef = { initiateOnboarding: () => void /** - * Whether organization switching is enabled for this platform - * If true, an organization switcher will be shown + * Custom component for the organization switcher dropdown + * If provided, will be shown as a dropdown in the header (like the instance switcher) + * The component should emit 'close-dropdown' when the dropdown should close */ - organizationSwitchingEnabled?: boolean - - /** - * Custom component for the organization sidebar - * If provided, will be shown as a sidebar in the layout - */ - customOrganizationSidebarComponent?: Component + customOrganizationSwitcherComponent?: Component /** * Switch to a specific organization instance or default cloud instance From 803e4633a27be10d80e752d62bd0dab09ed2924a Mon Sep 17 00:00:00 2001 From: Mir Arif Hasan Date: Mon, 23 Feb 2026 20:41:55 +0600 Subject: [PATCH 14/23] feat: api documentation versioning (#5676) Co-authored-by: nivedin Co-authored-by: James George <25279263+jamesgeorge007@users.noreply.github.com> --- .../migration.sql | 31 + .../migration.sql | 4 + .../hoppscotch-backend/prisma/schema.prisma | 31 +- packages/hoppscotch-backend/src/errors.ts | 7 + .../src/published-docs/input-type.args.ts | 21 + .../published-docs.controller.ts | 49 +- .../src/published-docs/published-docs.dto.ts | 19 - .../published-docs/published-docs.model.ts | 124 +++ .../published-docs/published-docs.resolver.ts | 20 +- .../published-docs.service.spec.ts | 997 +++++++++++++++++- .../published-docs/published-docs.service.ts | 307 +++++- .../team-collection.service.ts | 31 +- .../user-collection.service.ts | 41 +- packages/hoppscotch-common/locales/en.json | 28 +- .../hoppscotch-common/src/components.d.ts | 11 + .../documentation/CollectionStructure.vue | 9 +- .../documentation/EnvironmentPicker.vue | 191 ++++ .../collections/documentation/Preview.vue | 1 + .../documentation/PublishDocForm.vue | 169 +++ .../documentation/PublishDocModal.vue | 165 ++- .../PublishDocSnapshotPreview.vue | 406 +++++++ .../documentation/RequestPreview.vue | 38 +- .../collections/documentation/index.vue | 391 +++++-- .../documentation/sections/CurlView.vue | 16 + .../src/components/documentation/Content.vue | 46 +- .../src/components/documentation/Header.vue | 212 +++- .../gql/mutations/CreatePublishedDoc.graphql | 1 + .../gql/mutations/UpdatePublishedDoc.graphql | 1 + .../backend/gql/queries/PublishedDoc.graphql | 2 + .../gql/queries/TeamPublishedDocsList.graphql | 2 + .../gql/queries/UserPublishedDocsList.graphql | 2 + .../helpers/backend/queries/PublishedDocs.ts | 40 +- .../src/helpers/utils/EffectiveURL.ts | 7 +- .../src/pages/view/_id/_version.vue | 108 +- .../__tests__/documentation.service.spec.ts | 199 +++- .../src/services/documentation.service.ts | 101 +- .../hoppscotch-data/src/environment/index.ts | 87 +- 37 files changed, 3438 insertions(+), 477 deletions(-) create mode 100644 packages/hoppscotch-backend/prisma/migrations/20251207122817_add_slug_to_published_docs/migration.sql create mode 100644 packages/hoppscotch-backend/prisma/migrations/20260209063744_published_doc_environment/migration.sql delete mode 100644 packages/hoppscotch-backend/src/published-docs/published-docs.dto.ts create mode 100644 packages/hoppscotch-common/src/components/collections/documentation/EnvironmentPicker.vue create mode 100644 packages/hoppscotch-common/src/components/collections/documentation/PublishDocForm.vue create mode 100644 packages/hoppscotch-common/src/components/collections/documentation/PublishDocSnapshotPreview.vue diff --git a/packages/hoppscotch-backend/prisma/migrations/20251207122817_add_slug_to_published_docs/migration.sql b/packages/hoppscotch-backend/prisma/migrations/20251207122817_add_slug_to_published_docs/migration.sql new file mode 100644 index 00000000000..03ae84ca306 --- /dev/null +++ b/packages/hoppscotch-backend/prisma/migrations/20251207122817_add_slug_to_published_docs/migration.sql @@ -0,0 +1,31 @@ +-- Step 1: Add slug column as nullable first +ALTER TABLE "PublishedDocs" ADD COLUMN "slug" TEXT; + +-- Step 2: For backward compatibility, set slug = id for existing records +UPDATE "PublishedDocs" SET "slug" = "id" WHERE "slug" IS NULL; + +-- Step 3: Handle duplicates - for multiple published docs with same collection and version +-- Keep the latest one (most recent), delete all older ones +-- delete old duplicates are safe, as multiple published docs with same collection and version is not expected behavior till v2025.11.x +WITH ranked_docs AS ( + SELECT + id, + "collectionID", + version, + "createdOn", + ROW_NUMBER() OVER (PARTITION BY "collectionID", version ORDER BY "createdOn" DESC) as rn + FROM "PublishedDocs" +) +DELETE FROM "PublishedDocs" +WHERE id IN ( + SELECT id FROM ranked_docs WHERE rn > 1 +); + +-- Step 4: Now make slug NOT NULL +ALTER TABLE "PublishedDocs" ALTER COLUMN "slug" SET NOT NULL; + +-- CreateIndex +CREATE INDEX "PublishedDocs_collectionID_idx" ON "PublishedDocs"("collectionID"); + +-- CreateIndex +CREATE UNIQUE INDEX "PublishedDocs_slug_version_key" ON "PublishedDocs"("slug", "version"); diff --git a/packages/hoppscotch-backend/prisma/migrations/20260209063744_published_doc_environment/migration.sql b/packages/hoppscotch-backend/prisma/migrations/20260209063744_published_doc_environment/migration.sql new file mode 100644 index 00000000000..7c9d0aa02e2 --- /dev/null +++ b/packages/hoppscotch-backend/prisma/migrations/20260209063744_published_doc_environment/migration.sql @@ -0,0 +1,4 @@ +-- AlterTable +ALTER TABLE "PublishedDocs" ADD COLUMN "environmentID" TEXT, +ADD COLUMN "environmentName" TEXT, +ADD COLUMN "environmentVariables" JSONB; diff --git a/packages/hoppscotch-backend/prisma/schema.prisma b/packages/hoppscotch-backend/prisma/schema.prisma index 3fb074bb061..26a3b263059 100644 --- a/packages/hoppscotch-backend/prisma/schema.prisma +++ b/packages/hoppscotch-backend/prisma/schema.prisma @@ -297,18 +297,25 @@ model MockServerActivity { } model PublishedDocs { - id String @id @default(cuid()) - title String - collectionID String - creatorUid String - version String - autoSync Boolean - documentTree Json? // Optional if autoSync is true - workspaceType WorkspaceType - workspaceID String - metadata Json? - createdOn DateTime @default(now()) @db.Timestamptz(3) - updatedOn DateTime @updatedAt @db.Timestamptz(3) + id String @id @default(cuid()) + slug String + title String + collectionID String + creatorUid String + version String + autoSync Boolean + documentTree Json? // Optional if autoSync is true + workspaceType WorkspaceType + workspaceID String + environmentID String? + environmentName String? + environmentVariables Json? + metadata Json? + createdOn DateTime @default(now()) @db.Timestamptz(3) + updatedOn DateTime @updatedAt @db.Timestamptz(3) + + @@unique([slug, version]) + @@index([collectionID]) } enum WorkspaceType { diff --git a/packages/hoppscotch-backend/src/errors.ts b/packages/hoppscotch-backend/src/errors.ts index 5affb9f7644..723f013f87e 100644 --- a/packages/hoppscotch-backend/src/errors.ts +++ b/packages/hoppscotch-backend/src/errors.ts @@ -975,6 +975,13 @@ export const PUBLISHED_DOCS_UPDATE_FAILED = 'published_docs/update_failed'; */ export const PUBLISHED_DOCS_DELETION_FAILED = 'published_docs/deletion_failed'; +/** + * Published Docs invalid environment + * (PublishedDocsService) + */ +export const PUBLISHED_DOCS_INVALID_ENVIRONMENT = + 'published_docs/invalid_environment'; + /** * Published Docs not found * (PublishedDocsService) diff --git a/packages/hoppscotch-backend/src/published-docs/input-type.args.ts b/packages/hoppscotch-backend/src/published-docs/input-type.args.ts index 29f22cf871f..af3b9681b44 100644 --- a/packages/hoppscotch-backend/src/published-docs/input-type.args.ts +++ b/packages/hoppscotch-backend/src/published-docs/input-type.args.ts @@ -51,6 +51,15 @@ export class CreatePublishedDocsArgs { description: 'Metadata associated with the published document', }) metadata: string; + + @Field({ + name: 'environmentID', + description: + 'ID of the environment to associate with the published document', + nullable: true, + }) + @IsOptional() + environmentID?: string; } @InputType() @@ -60,6 +69,7 @@ export class UpdatePublishedDocsArgs { description: 'Title of the published document', nullable: true, }) + @IsOptional() title?: string; @Field({ @@ -80,6 +90,7 @@ export class UpdatePublishedDocsArgs { 'Whether the published document should auto-sync with the source', nullable: true, }) + @IsOptional() autoSync?: boolean; @Field({ @@ -87,5 +98,15 @@ export class UpdatePublishedDocsArgs { description: 'Metadata associated with the published document', nullable: true, }) + @IsOptional() metadata?: string; + + @Field({ + name: 'environmentID', + description: + 'ID of the environment to associate with the published document. Pass null to remove the environment.', + nullable: true, + }) + @IsOptional() + environmentID?: string; } diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.controller.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.controller.ts index c61e80c0993..25b07789451 100644 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.controller.ts +++ b/packages/hoppscotch-backend/src/published-docs/published-docs.controller.ts @@ -2,14 +2,12 @@ import { Controller, Get, Param, - Query, HttpCode, HttpStatus, UseGuards, } from '@nestjs/common'; import { ApiTags, ApiOperation, ApiResponse } from '@nestjs/swagger'; import { PublishedDocsService } from './published-docs.service'; -import { GetPublishedDocsQueryDto } from './published-docs.dto'; import * as E from 'fp-ts/Either'; import { throwHTTPErr } from 'src/utils'; import { PublishedDocs } from './published-docs.model'; @@ -21,12 +19,12 @@ import { ThrottlerBehindProxyGuard } from 'src/guards/throttler-behind-proxy.gua export class PublishedDocsController { constructor(private readonly publishedDocsService: PublishedDocsService) {} - @Get(':docId') + @Get(':slug') @HttpCode(HttpStatus.OK) @ApiOperation({ - summary: 'Get published documentation', + summary: 'Get latest published documentation by slug', description: - 'Returns published collection documentation in API-doc JSON format for unauthenticated users', + 'Returns the latest version of published collection documentation by slug for unauthenticated users.', }) @ApiResponse({ status: 200, @@ -37,13 +35,42 @@ export class PublishedDocsController { status: 404, description: 'Published documentation not found', }) - async getPublishedDocs( - @Param('docId') docId: string, - @Query() query: GetPublishedDocsQueryDto, + async getPublishedDocsBySlugLatest(@Param('slug') slug: string) { + const result = await this.publishedDocsService.getPublishedDocBySlugPublic( + slug, + null, + ); + + if (E.isLeft(result)) { + throwHTTPErr({ message: result.left, statusCode: HttpStatus.NOT_FOUND }); + } + + return result.right; + } + + @Get(':slug/:version') + @HttpCode(HttpStatus.OK) + @ApiOperation({ + summary: 'Get published documentation by slug and version', + description: + 'Returns published collection documentation by slug and version for unauthenticated users.', + }) + @ApiResponse({ + status: 200, + description: 'Successfully retrieved published documentation', + type: () => PublishedDocs, + }) + @ApiResponse({ + status: 404, + description: 'Published documentation not found', + }) + async getPublishedDocsBySlug( + @Param('slug') slug: string, + @Param('version') version: string, ) { - const result = await this.publishedDocsService.getPublishedDocByIDPublic( - docId, - query, + const result = await this.publishedDocsService.getPublishedDocBySlugPublic( + slug, + version, ); if (E.isLeft(result)) { diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.dto.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.dto.ts deleted file mode 100644 index baca56320e8..00000000000 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.dto.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IsEnum, IsOptional } from 'class-validator'; -import { ApiPropertyOptional } from '@nestjs/swagger'; - -export enum TreeLevel { - FULL = 'full', - FIRST_LEVEL = 'first_level', -} - -export class GetPublishedDocsQueryDto { - @ApiPropertyOptional({ - description: 'Specifies whether to return full tree or only first level', - enum: TreeLevel, - default: TreeLevel.FULL, - required: false, - }) - @IsOptional() - @IsEnum(TreeLevel) - tree?: TreeLevel = TreeLevel.FULL; -} diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.model.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.model.ts index 97c1c02cd87..08ee1b90753 100644 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.model.ts +++ b/packages/hoppscotch-backend/src/published-docs/published-docs.model.ts @@ -1,5 +1,69 @@ import { ObjectType, Field, ID } from '@nestjs/graphql'; import { ApiProperty } from '@nestjs/swagger'; +import { Expose, Type } from 'class-transformer'; + +@ObjectType() +export class PublishedDocsVersion { + @Field(() => ID, { + description: 'ID of the published document version', + }) + @ApiProperty({ + description: 'ID of the published document version', + example: 'doc_12345', + }) + @Expose() + id: string; + + @Field(() => String, { + description: 'Slug of the published document', + }) + @ApiProperty({ + description: 'Slug of the published document', + example: 'abc-123-uuid', + }) + @Expose() + slug: string; + + @Field(() => String, { + description: 'Version string', + }) + @ApiProperty({ + description: 'Version string', + example: '1.0.0', + }) + @Expose() + version: string; + + @Field(() => String, { + description: 'Title of the API documentation', + }) + @ApiProperty({ + description: 'Title of the API documentation', + example: 'API Documentation v1.0', + }) + @Expose() + title: string; + + @Field(() => Boolean, { + description: 'Indicates if the documentation is set to auto-sync', + }) + @ApiProperty({ + description: 'Indicates if the documentation is set to auto-sync', + example: true, + }) + @Expose() + autoSync: boolean; + + @Field(() => String, { + description: 'URL where the published API documentation can be accessed', + }) + @ApiProperty({ + description: 'URL where the published API documentation can be accessed', + example: 'https://docs.example.com/api/v1.0', + }) + @Expose() + url: string; +} @ObjectType() export class PublishedDocs { @@ -10,13 +74,27 @@ export class PublishedDocs { description: 'ID of the published API documentation', example: 'doc_12345', }) + @Expose() id: string; + @Field(() => ID, { + description: + 'Slug of the published API documentation (unique with version)', + }) + @ApiProperty({ + description: + 'Slug of the published API documentation (unique with version)', + example: 'my-api-docs', + }) + @Expose() + slug: string; + @Field({ description: 'Title of the published API documentation' }) @ApiProperty({ description: 'Title of the published API documentation', example: 'My API Documentation', }) + @Expose() title: string; @Field({ @@ -26,6 +104,7 @@ export class PublishedDocs { description: 'URL where the published API documentation can be accessed', example: 'https://docs.example.com/api', }) + @Expose() url: string; @Field({ description: 'Version of the published API documentation' }) @@ -33,6 +112,7 @@ export class PublishedDocs { description: 'Version of the published API documentation', example: '1.0.0', }) + @Expose() version: string; @Field({ description: 'Indicates if the documentation is set to auto-sync' }) @@ -40,6 +120,7 @@ export class PublishedDocs { description: 'Indicates if the documentation is set to auto-sync', example: true, }) + @Expose() autoSync: boolean; @Field({ @@ -50,6 +131,7 @@ export class PublishedDocs { example: '{"id": "string", "name": "string", "folders": [], "requests": [], "data": "string"}', }) + @Expose() documentTree: string; @Field({ @@ -79,13 +161,42 @@ export class PublishedDocs { description: 'Metadata of the documentation', example: '{"author": "John Doe", "tags": ["api", "rest"]}', }) + @Expose() metadata: string; + @Field({ + description: 'Name of the environment associated with the documentation', + nullable: true, + }) + @ApiProperty({ + description: 'Name of the environment associated with the documentation', + example: 'Production', + nullable: true, + }) + @Expose() + environmentName?: string; + + @Field({ + description: + 'Stringified JSON of the environment variables associated with the documentation', + nullable: true, + }) + @ApiProperty({ + description: + 'Stringified JSON of the environment variables associated with the documentation', + example: + '[{"key":"base_url","secret":false,"currentValue":"","initialValue":"http://hoppscotch.com"}]', + nullable: true, + }) + @Expose() + environmentVariables?: string; + @Field({ description: 'Timestamp when the documentation was created' }) @ApiProperty({ description: 'Timestamp when the documentation was created', example: '2024-01-01T00:00:00.000Z', }) + @Expose() createdOn: Date; @Field({ description: 'Timestamp when the documentation was last updated' }) @@ -93,7 +204,20 @@ export class PublishedDocs { description: 'Timestamp when the documentation was last updated', example: '2024-01-15T12:30:00.000Z', }) + @Expose() updatedOn: Date; + + @Field(() => [PublishedDocsVersion], { + description: 'All available versions of this published documentation', + nullable: true, + }) + @ApiProperty({ + description: 'All available versions of this published documentation', + type: [PublishedDocsVersion], + }) + @Expose() + @Type(() => PublishedDocsVersion) + versions?: PublishedDocsVersion[]; } @ObjectType() diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.resolver.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.resolver.ts index 11e72ec2c88..ecb263236f7 100644 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.resolver.ts +++ b/packages/hoppscotch-backend/src/published-docs/published-docs.resolver.ts @@ -9,7 +9,11 @@ import { Query, } from '@nestjs/graphql'; import { GqlThrottlerGuard } from 'src/guards/gql-throttler.guard'; -import { PublishedDocs, PublishedDocsCollection } from './published-docs.model'; +import { + PublishedDocs, + PublishedDocsCollection, + PublishedDocsVersion, +} from './published-docs.model'; import { GqlAuthGuard } from 'src/guards/gql-auth.guard'; import { GqlUser } from 'src/decorators/gql-user.decorator'; import { @@ -60,6 +64,20 @@ export class PublishedDocsResolver { return collection.right; } + @ResolveField(() => [PublishedDocsVersion], { + description: 'Returns all versions of the published document (same slug)', + }) + async versions( + @Parent() publishedDocs: PublishedDocs, + ): Promise { + const versions = await this.publishedDocsService.getPublishedDocsVersions( + publishedDocs.slug, + ); + + if (E.isLeft(versions)) throwErr(versions.left); + return versions.right; + } + // Queries @Query(() => PublishedDocs, { diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.service.spec.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.service.spec.ts index e532eb61945..5d7769f4c89 100644 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.service.spec.ts +++ b/packages/hoppscotch-backend/src/published-docs/published-docs.service.spec.ts @@ -4,6 +4,7 @@ import { PUBLISHED_DOCS_CREATION_FAILED, PUBLISHED_DOCS_DELETION_FAILED, PUBLISHED_DOCS_INVALID_COLLECTION, + PUBLISHED_DOCS_INVALID_ENVIRONMENT, PUBLISHED_DOCS_NOT_FOUND, PUBLISHED_DOCS_UPDATE_FAILED, TEAM_INVALID_ID, @@ -21,7 +22,6 @@ import { UpdatePublishedDocsArgs, } from './input-type.args'; import { TeamAccessRole } from 'src/team/team.model'; -import { TreeLevel } from './published-docs.dto'; import { ConfigService } from '@nestjs/config'; const mockPrisma = mockDeep(); @@ -53,6 +53,7 @@ const user: User = { const userPublishedDoc: DBPublishedDocs = { id: 'pub_doc_1', + slug: 'slug-collection-1', title: 'User API Documentation', version: '1.0.0', autoSync: true, @@ -62,12 +63,16 @@ const userPublishedDoc: DBPublishedDocs = { collectionID: 'collection_1', creatorUid: user.uid, metadata: {}, + environmentID: null, + environmentName: null, + environmentVariables: null, createdOn: currentTime, updatedOn: currentTime, }; const userPublishedDocCasted: PublishedDocs = { id: userPublishedDoc.id, + slug: userPublishedDoc.slug, title: userPublishedDoc.title, version: userPublishedDoc.version, autoSync: userPublishedDoc.autoSync, @@ -75,13 +80,16 @@ const userPublishedDocCasted: PublishedDocs = { workspaceType: userPublishedDoc.workspaceType, workspaceID: userPublishedDoc.workspaceID, metadata: JSON.stringify(userPublishedDoc.metadata), + environmentName: null, + environmentVariables: null, createdOn: userPublishedDoc.createdOn, updatedOn: userPublishedDoc.updatedOn, - url: `${mockConfigService.get('VITE_BASE_URL')}/view/${userPublishedDoc.id}/${userPublishedDoc.version}`, + url: `${mockConfigService.get('VITE_BASE_URL')}/view/${userPublishedDoc.slug}/${userPublishedDoc.version}`, }; const teamPublishedDoc: DBPublishedDocs = { id: 'pub_doc_2', + slug: 'slug-team-collection-1', title: 'Team API Documentation', version: '1.0.0', autoSync: true, @@ -91,12 +99,16 @@ const teamPublishedDoc: DBPublishedDocs = { collectionID: 'team_collection_1', creatorUid: user.uid, metadata: {}, + environmentID: null, + environmentName: null, + environmentVariables: null, createdOn: currentTime, updatedOn: currentTime, }; const teamPublishedDocCasted: PublishedDocs = { id: teamPublishedDoc.id, + slug: teamPublishedDoc.slug, title: teamPublishedDoc.title, version: teamPublishedDoc.version, autoSync: teamPublishedDoc.autoSync, @@ -104,9 +116,11 @@ const teamPublishedDocCasted: PublishedDocs = { workspaceType: teamPublishedDoc.workspaceType, workspaceID: teamPublishedDoc.workspaceID, metadata: JSON.stringify(teamPublishedDoc.metadata), + environmentName: null, + environmentVariables: null, createdOn: teamPublishedDoc.createdOn, updatedOn: teamPublishedDoc.updatedOn, - url: `${mockConfigService.get('VITE_BASE_URL')}/view/${teamPublishedDoc.id}/${teamPublishedDoc.version}`, + url: `${mockConfigService.get('VITE_BASE_URL')}/view/${teamPublishedDoc.slug}/${teamPublishedDoc.version}`, }; beforeEach(() => { @@ -597,6 +611,10 @@ describe('updatePublishedDoc', () => { test('should successfully update a published document with valid inputs', async () => { mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + // autoSync switching from true → false requires exporting collection snapshot + mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( + E.right({} as any), + ); mockPrisma.publishedDocs.update.mockResolvedValueOnce({ ...userPublishedDoc, title: updateArgs.title, @@ -658,6 +676,10 @@ describe('updatePublishedDoc', () => { test('should successfully update team published document when user has OWNER role', async () => { mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(teamPublishedDoc); mockPrisma.team.findFirst.mockResolvedValueOnce({ id: 'team_1' } as any); + // autoSync switching from true → false requires exporting collection snapshot + mockTeamCollectionService.exportCollectionToJSONObject.mockResolvedValueOnce( + E.right({} as any), + ); mockPrisma.publishedDocs.update.mockResolvedValueOnce({ ...teamPublishedDoc, title: updateArgs.title, @@ -675,6 +697,10 @@ describe('updatePublishedDoc', () => { test('should successfully update team published document when user has EDITOR role', async () => { mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(teamPublishedDoc); mockPrisma.team.findFirst.mockResolvedValueOnce({ id: 'team_1' } as any); + // autoSync switching from true → false requires exporting collection snapshot + mockTeamCollectionService.exportCollectionToJSONObject.mockResolvedValueOnce( + E.right({} as any), + ); mockPrisma.publishedDocs.update.mockResolvedValueOnce({ ...teamPublishedDoc, title: updateArgs.title, @@ -979,8 +1005,111 @@ describe('checkPublishedDocsAccess', () => { }); }); -describe('getPublishedDocByIDPublic', () => { - test('should return collection data when autoSync is enabled for user workspace', async () => { +describe('getPublishedDocsVersions', () => { + test('should return all versions for a given slug ordered by autoSync and createdOn', async () => { + const mockDbRecords = [ + { + id: 'pub_doc_1', + slug: 'slug-collection-1', + version: '1.0.0', + title: 'API Docs v1', + autoSync: true, + collectionID: 'coll_1', + creatorUid: 'user_1', + workspaceType: 'USER' as any, + workspaceID: 'workspace_1', + documentTree: { folders: [] }, + metadata: { description: 'v1' }, + environmentID: null, + environmentName: null, + environmentVariables: null, + createdOn: new Date(), + updatedOn: new Date(), + }, + { + id: 'pub_doc_2', + slug: 'slug-collection-1', + version: '2.0.0', + title: 'API Docs v2', + autoSync: true, + collectionID: 'coll_1', + creatorUid: 'user_1', + workspaceType: 'USER' as any, + workspaceID: 'workspace_1', + documentTree: { folders: [] }, + metadata: { description: 'v2' }, + environmentID: null, + environmentName: null, + environmentVariables: null, + createdOn: new Date(), + updatedOn: new Date(), + }, + { + id: 'pub_doc_3', + slug: 'slug-collection-1', + version: '3.0.0', + title: 'API Docs v3', + autoSync: false, + collectionID: 'coll_1', + creatorUid: 'user_1', + workspaceType: 'USER' as any, + workspaceID: 'workspace_1', + documentTree: { folders: [] }, + metadata: { description: 'v3' }, + environmentID: null, + environmentName: null, + environmentVariables: null, + createdOn: new Date(), + updatedOn: new Date(), + }, + ]; + + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce( + mockDbRecords as any, + ); + + const result = + await publishedDocsService.getPublishedDocsVersions('slug-collection-1'); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + // cast() adds versions array, stringifies documentTree/metadata, and adds url + expect(result.right).toHaveLength(3); + expect(result.right[0]).toMatchObject({ + id: 'pub_doc_1', + slug: 'slug-collection-1', + version: '1.0.0', + title: 'API Docs v1', + autoSync: true, + }); + expect(result.right[0].url).toContain('/view/slug-collection-1/1.0.0'); + expect(result.right[0].versions).toEqual([]); + } + }); + + test('should return PUBLISHED_DOCS_NOT_FOUND when no versions found', async () => { + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([]); + + const result = + await publishedDocsService.getPublishedDocsVersions('non-existent-slug'); + + expect(result).toEqualLeft(PUBLISHED_DOCS_NOT_FOUND); + }); + + test('should query with correct orderBy clause for autoSync priority', async () => { + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([]); + + await publishedDocsService.getPublishedDocsVersions('test-slug'); + + expect(mockPrisma.publishedDocs.findMany).toHaveBeenCalledWith({ + where: { slug: 'test-slug' }, + orderBy: [{ autoSync: 'desc' }, { createdOn: 'desc' }], + }); + }); +}); + +describe('getPublishedDocBySlugPublic', () => { + test('should return published document by slug and version with autoSync enabled', async () => { const collectionData = { id: 'collection_1', name: 'Test Collection', @@ -992,95 +1121,855 @@ describe('getPublishedDocByIDPublic', () => { ...userPublishedDoc, autoSync: true, }); + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + { + id: userPublishedDoc.id, + slug: userPublishedDoc.slug, + version: userPublishedDoc.version, + title: userPublishedDoc.title, + autoSync: userPublishedDoc.autoSync, + }, + ] as any); mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( E.right(collectionData as any), ); - const result = await publishedDocsService.getPublishedDocByIDPublic( + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', + ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.slug).toBe('slug-collection-1'); + expect(result.right.version).toBe('1.0.0'); + expect(result.right.documentTree).toBe(JSON.stringify(collectionData)); + } + }); + + test('should return published document with stored documentTree when autoSync is false', async () => { + const storedDocTree = { folders: [], requests: [] }; + + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ + ...userPublishedDoc, + autoSync: false, + documentTree: storedDocTree, + }); + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + { + id: userPublishedDoc.id, + slug: userPublishedDoc.slug, + version: userPublishedDoc.version, + title: userPublishedDoc.title, + autoSync: false, + }, + ] as any); + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', + ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.documentTree).toBe(JSON.stringify(storedDocTree)); + } + }); + + test('should throw PUBLISHED_DOCS_NOT_FOUND when slug and version combination not found', async () => { + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([]); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(null); + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'non-existent-slug', + '1.0.0', + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_NOT_FOUND); + }); + + test('should use unique constraint slug_version for lookup', async () => { + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + { + id: 'v1', + slug: 'test-slug', + version: '2.0.0', + title: 'V1', + autoSync: true, + }, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(null); + + await publishedDocsService.getPublishedDocBySlugPublic( + 'test-slug', + '2.0.0', + ); + + expect(mockPrisma.publishedDocs.findUnique).toHaveBeenCalledWith({ + where: { + slug_version: { + slug: 'test-slug', + version: '2.0.0', + }, + }, + }); + }); + + test('should fetch all versions for the slug', async () => { + const allVersions = [ + { + id: 'v1', + slug: 'test-slug', + version: '1.0.0', + title: 'V1', + autoSync: true, + }, + { + id: 'v2', + slug: 'test-slug', + version: '2.0.0', + title: 'V2', + autoSync: true, + }, + ]; + + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ + ...userPublishedDoc, + autoSync: false, + }); + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce(allVersions as any); + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'test-slug', + '1.0.0', + ); + + expect(E.isRight(result)).toBe(true); + }); + + test('should use first version as default when no version specified and versions exist', async () => { + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + { + id: 'v1', + slug: 'test-slug', + version: 'CURRENT', + title: 'V1', + autoSync: true, + }, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ + ...userPublishedDoc, + version: 'CURRENT', + autoSync: false, + }); + + await publishedDocsService.getPublishedDocBySlugPublic('test-slug', null); + + expect(mockPrisma.publishedDocs.findUnique).toHaveBeenCalledWith({ + where: { + slug_version: { + slug: 'test-slug', + version: 'CURRENT', + }, + }, + }); + }); +}); + +describe('createPublishedDoc - slug generation and race conditions', () => { + const createArgs: CreatePublishedDocsArgs = { + title: 'New API Documentation', + version: '1.0.0', + autoSync: true, + workspaceType: WorkspaceType.USER, + workspaceID: user.uid, + collectionID: 'collection_1', + metadata: '{}', + }; + + test('should generate new slug for first version of a collection', async () => { + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + // No existing docs for this collection + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.publishedDocs.create.mockResolvedValueOnce({ + ...userPublishedDoc, + slug: expect.any(String), + }); + + const result = await publishedDocsService.createPublishedDoc( + createArgs, + user, + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.findFirst).toHaveBeenCalledWith({ + where: { + collectionID: 'collection_1', + workspaceType: WorkspaceType.USER, + workspaceID: user.uid, + }, + orderBy: { + createdOn: 'asc', + }, + }); + }); + + test('should reuse existing slug for subsequent versions of same collection', async () => { + const existingSlug = 'existing-slug-abc'; + const existingDoc = { + ...userPublishedDoc, + slug: existingSlug, + version: '1.0.0', + }; + + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(existingDoc); + mockPrisma.publishedDocs.create.mockResolvedValueOnce({ + ...userPublishedDoc, + slug: existingSlug, + version: '2.0.0', + }); + + const result = await publishedDocsService.createPublishedDoc( + { ...createArgs, version: '2.0.0' }, + user, + ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.slug).toBe(existingSlug); + } + }); + + test('should retry on race condition (P2002 error) up to 3 times', async () => { + const uniqueConstraintError = { + code: 'P2002', + meta: { target: ['slug', 'version'] }, + }; + + mockPrisma.userCollection.findUnique.mockResolvedValue({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValue(null); + + // First two attempts fail with P2002, third succeeds + mockPrisma.publishedDocs.create + .mockRejectedValueOnce(uniqueConstraintError) + .mockRejectedValueOnce(uniqueConstraintError) + .mockResolvedValueOnce(userPublishedDoc); + + const result = await publishedDocsService.createPublishedDoc( + createArgs, + user, + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledTimes(3); + }); + + test('should fail after max retries (3 attempts)', async () => { + const uniqueConstraintError = { + code: 'P2002', + meta: { target: ['slug', 'version'] }, + }; + + mockPrisma.userCollection.findUnique.mockResolvedValue({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValue(null); + + // All attempts fail with P2002 + mockPrisma.publishedDocs.create.mockRejectedValue(uniqueConstraintError); + + const result = await publishedDocsService.createPublishedDoc( + createArgs, + user, + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_CREATION_FAILED); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledTimes(3); + }); + + test('should not retry on non-P2002 errors', async () => { + const otherError = new Error('Database connection failed'); + + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.publishedDocs.create.mockRejectedValueOnce(otherError); + + const result = await publishedDocsService.createPublishedDoc( + createArgs, + user, + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_CREATION_FAILED); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledTimes(1); + }); + + test('should store null documentTree when autoSync is true', async () => { + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.publishedDocs.create.mockResolvedValueOnce(userPublishedDoc); + + await publishedDocsService.createPublishedDoc( + { ...createArgs, autoSync: true }, + user, + ); + + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + documentTree: null, + }), + }), + ); + }); + + test('should fetch and store documentTree when autoSync is false', async () => { + const collectionData = { folders: [], requests: [] }; + + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( + E.right(collectionData as any), + ); + mockPrisma.publishedDocs.create.mockResolvedValueOnce({ + ...userPublishedDoc, + documentTree: collectionData, + }); + + await publishedDocsService.createPublishedDoc( + { ...createArgs, autoSync: false }, + user, + ); + + expect( + mockUserCollectionService.exportUserCollectionToJSONObject, + ).toHaveBeenCalledWith(user.uid, 'collection_1'); + }); +}); + +describe('createPublishedDoc - environment support', () => { + const createArgs: CreatePublishedDocsArgs = { + title: 'New API Documentation', + version: '1.0.0', + autoSync: true, + workspaceType: WorkspaceType.USER, + workspaceID: user.uid, + collectionID: 'collection_1', + metadata: '{}', + }; + + test('should create published doc with environment for user workspace', async () => { + const envData = { + id: 'env_1', + userUid: user.uid, + name: 'Production', + variables: [{ key: 'BASE_URL', value: 'https://api.example.com' }], + isGlobal: false, + }; + + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(envData as any); + mockPrisma.publishedDocs.create.mockResolvedValueOnce({ + ...userPublishedDoc, + environmentID: 'env_1', + environmentName: 'Production', + environmentVariables: envData.variables, + }); + + const result = await publishedDocsService.createPublishedDoc( + { ...createArgs, environmentID: 'env_1' }, + user, + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + environmentID: 'env_1', + environmentName: 'Production', + environmentVariables: envData.variables, + }), + }), + ); + }); + + test('should create published doc with environment for team workspace', async () => { + const teamArgs: CreatePublishedDocsArgs = { + ...createArgs, + workspaceType: WorkspaceType.TEAM, + workspaceID: 'team_1', + collectionID: 'team_collection_1', + environmentID: 'team_env_1', + }; + const envData = { + id: 'team_env_1', + teamID: 'team_1', + name: 'Staging', + variables: [{ key: 'API_KEY', value: 'abc123' }], + }; + + mockPrisma.team.findFirst.mockResolvedValueOnce({ id: 'team_1' } as any); + mockPrisma.teamCollection.findUnique.mockResolvedValueOnce({ + id: 'team_collection_1', + teamID: 'team_1', + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.teamEnvironment.findFirst.mockResolvedValueOnce(envData as any); + mockPrisma.publishedDocs.create.mockResolvedValueOnce({ + ...teamPublishedDoc, + environmentID: 'team_env_1', + environmentName: 'Staging', + environmentVariables: envData.variables, + }); + + const result = await publishedDocsService.createPublishedDoc( + teamArgs, + user, + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + environmentID: 'team_env_1', + environmentName: 'Staging', + environmentVariables: envData.variables, + }), + }), + ); + }); + + test('should return error when user environment ID is invalid', async () => { + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(null); + + const result = await publishedDocsService.createPublishedDoc( + { ...createArgs, environmentID: 'invalid_env' }, + user, + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + }); + + test('should return error when team environment ID is invalid', async () => { + const teamArgs: CreatePublishedDocsArgs = { + ...createArgs, + workspaceType: WorkspaceType.TEAM, + workspaceID: 'team_1', + collectionID: 'team_collection_1', + environmentID: 'invalid_env', + }; + + mockPrisma.team.findFirst.mockResolvedValueOnce({ id: 'team_1' } as any); + mockPrisma.teamCollection.findUnique.mockResolvedValueOnce({ + id: 'team_collection_1', + teamID: 'team_1', + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.teamEnvironment.findFirst.mockResolvedValueOnce(null); + + const result = await publishedDocsService.createPublishedDoc( + teamArgs, + user, + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + }); + + test('should create published doc without environment when environmentID is not provided', async () => { + mockPrisma.userCollection.findUnique.mockResolvedValueOnce({ + id: 'collection_1', + userUid: user.uid, + } as any); + mockPrisma.publishedDocs.findFirst.mockResolvedValueOnce(null); + mockPrisma.publishedDocs.create.mockResolvedValueOnce(userPublishedDoc); + + const result = await publishedDocsService.createPublishedDoc( + createArgs, + user, + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.create).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + environmentID: null, + environmentName: null, + environmentVariables: null, + }), + }), + ); + }); +}); + +describe('updatePublishedDoc - environment support', () => { + test('should update published doc with new environment', async () => { + const envData = { + id: 'env_2', + userUid: user.uid, + name: 'Staging', + variables: [{ key: 'API_URL', value: 'https://staging.example.com' }], + isGlobal: false, + }; + + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(envData as any); + mockPrisma.publishedDocs.update.mockResolvedValueOnce({ + ...userPublishedDoc, + environmentID: 'env_2', + environmentName: 'Staging', + environmentVariables: envData.variables, + }); + + const result = await publishedDocsService.updatePublishedDoc( userPublishedDoc.id, - { tree: TreeLevel.FULL }, + { environmentID: 'env_2' }, + user, + ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBe('Staging'); + expect(result.right.environmentVariables).toBe( + JSON.stringify(envData.variables), + ); + } + }); + + test('should remove environment when environmentID is set to null', async () => { + const docWithEnv = { + ...userPublishedDoc, + environmentID: 'env_1', + environmentName: 'Production', + environmentVariables: [ + { key: 'BASE_URL', value: 'https://api.example.com' }, + ], + }; + + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(docWithEnv); + mockPrisma.publishedDocs.update.mockResolvedValueOnce({ + ...docWithEnv, + environmentID: null, + environmentName: null, + environmentVariables: null, + }); + + const result = await publishedDocsService.updatePublishedDoc( + docWithEnv.id, + { environmentID: null }, + user, ); - expect(result).toMatchObject( - E.right({ - ...userPublishedDocCasted, - documentTree: JSON.stringify(collectionData), + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.publishedDocs.update).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + environmentID: null, + environmentName: null, + environmentVariables: null, + }), }), ); }); - test('should return collection data when autoSync is enabled for team workspace', async () => { + test('should return error when updating with invalid environment ID', async () => { + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(null); + + const result = await publishedDocsService.updatePublishedDoc( + userPublishedDoc.id, + { environmentID: 'invalid_env' }, + user, + ); + + expect(result).toEqualLeft(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + }); + + test('should not change environment when environmentID is not provided in update args', async () => { + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + mockPrisma.publishedDocs.update.mockResolvedValueOnce(userPublishedDoc); + + await publishedDocsService.updatePublishedDoc( + userPublishedDoc.id, + { title: 'Updated Title' }, + user, + ); + + expect(mockPrisma.publishedDocs.update).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + environmentID: undefined, + environmentName: undefined, + environmentVariables: undefined, + }), + }), + ); + }); + + test('should update environment for team published doc', async () => { + const envData = { + id: 'team_env_1', + teamID: 'team_1', + name: 'Team Staging', + variables: [{ key: 'TOKEN', value: 'xyz789' }], + }; + + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(teamPublishedDoc); + mockPrisma.team.findFirst.mockResolvedValueOnce({ id: 'team_1' } as any); + mockPrisma.teamEnvironment.findFirst.mockResolvedValueOnce(envData as any); + mockPrisma.publishedDocs.update.mockResolvedValueOnce({ + ...teamPublishedDoc, + environmentID: 'team_env_1', + environmentName: 'Team Staging', + environmentVariables: envData.variables, + }); + + const result = await publishedDocsService.updatePublishedDoc( + teamPublishedDoc.id, + { environmentID: 'team_env_1' }, + user, + ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBe('Team Staging'); + } + }); +}); + +describe('getPublishedDocBySlugPublic - environment support', () => { + test('should re-fetch environment when autoSync is true and environmentID is set', async () => { const collectionData = { - id: 'team_collection_1', - name: 'Team Test Collection', + id: 'collection_1', + name: 'Test Collection', folders: [], requests: [], }; - - mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ - ...teamPublishedDoc, + const envData = { + id: 'env_1', + userUid: user.uid, + name: 'Updated Env Name', + variables: [{ key: 'BASE_URL', value: 'https://updated.example.com' }], + isGlobal: false, + }; + const docWithEnv = { + ...userPublishedDoc, autoSync: true, - }); - mockTeamCollectionService.exportCollectionToJSONObject.mockResolvedValueOnce( + environmentID: 'env_1', + environmentName: 'Old Env Name', + environmentVariables: [ + { key: 'BASE_URL', value: 'https://old.example.com' }, + ], + }; + + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + docWithEnv, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(docWithEnv); + mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( E.right(collectionData as any), ); + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(envData as any); - const result = await publishedDocsService.getPublishedDocByIDPublic( - teamPublishedDoc.id, - { tree: TreeLevel.FULL }, + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', ); - expect(result).toMatchObject( - E.right({ - ...teamPublishedDocCasted, - documentTree: JSON.stringify(collectionData), - }), + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBe('Updated Env Name'); + expect(result.right.environmentVariables).toBe( + JSON.stringify(envData.variables), + ); + } + }); + + test('should not re-fetch environment when autoSync is false', async () => { + const docWithEnv = { + ...userPublishedDoc, + autoSync: false, + environmentID: 'env_1', + environmentName: 'Production', + environmentVariables: [ + { key: 'BASE_URL', value: 'https://api.example.com' }, + ], + }; + + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + docWithEnv, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(docWithEnv); + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', ); + + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBe('Production'); + expect(result.right.environmentVariables).toBe( + JSON.stringify(docWithEnv.environmentVariables), + ); + } + // Should not attempt to fetch environment + expect(mockPrisma.userEnvironment.findFirst).not.toHaveBeenCalled(); + expect(mockPrisma.teamEnvironment.findFirst).not.toHaveBeenCalled(); }); - test('should throw PUBLISHED_DOCS_NOT_FOUND when document ID is invalid', async () => { - mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(null); + test('should not re-fetch environment when autoSync is true but no environmentID', async () => { + const collectionData = { + id: 'collection_1', + name: 'Test Collection', + folders: [], + requests: [], + }; - const result = await publishedDocsService.getPublishedDocByIDPublic( - 'invalid_id', - { tree: TreeLevel.FULL }, + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + userPublishedDoc, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( + E.right(collectionData as any), ); - expect(result).toEqualLeft(PUBLISHED_DOCS_NOT_FOUND); + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', + ); + + expect(E.isRight(result)).toBe(true); + expect(mockPrisma.userEnvironment.findFirst).not.toHaveBeenCalled(); + expect(mockPrisma.teamEnvironment.findFirst).not.toHaveBeenCalled(); }); - test('should call exportUserCollectionToJSONObject with correct parameters', async () => { - mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ + test('should return error when re-fetch of environment fails', async () => { + const collectionData = { + id: 'collection_1', + name: 'Test Collection', + folders: [], + requests: [], + }; + const docWithEnv = { ...userPublishedDoc, autoSync: true, - }); + environmentID: 'env_deleted', + environmentName: 'Deleted Env', + environmentVariables: [{ key: 'OLD', value: 'data' }], + }; + + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + docWithEnv, + ] as any); + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(docWithEnv); mockUserCollectionService.exportUserCollectionToJSONObject.mockResolvedValueOnce( - E.right({} as any), + E.right(collectionData as any), ); + // Environment not found — fetchEnvironment returns Left + mockPrisma.userEnvironment.findFirst.mockResolvedValueOnce(null); - await publishedDocsService.getPublishedDocByIDPublic(userPublishedDoc.id, { - tree: TreeLevel.FULL, - } as any); + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', + ); - expect( - mockUserCollectionService.exportUserCollectionToJSONObject, - ).toHaveBeenCalledWith(user.uid, 'collection_1', true); + expect(result).toEqualLeft(PUBLISHED_DOCS_INVALID_ENVIRONMENT); }); - test('should call exportCollectionToJSONObject with correct parameters', async () => { + test('should return null environment fields when no environment is associated', async () => { + const storedDocTree = { folders: [], requests: [] }; + + mockPrisma.publishedDocs.findMany.mockResolvedValueOnce([ + userPublishedDoc, + ] as any); mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce({ - ...teamPublishedDoc, - autoSync: true, + ...userPublishedDoc, + autoSync: false, + documentTree: storedDocTree, }); - mockTeamCollectionService.exportCollectionToJSONObject.mockResolvedValueOnce( - E.right({} as any), + + const result = await publishedDocsService.getPublishedDocBySlugPublic( + 'slug-collection-1', + '1.0.0', ); - await publishedDocsService.getPublishedDocByIDPublic(teamPublishedDoc.id, { - tree: TreeLevel.FULL, - }); + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBeNull(); + expect(result.right.environmentVariables).toBeNull(); + } + }); +}); - expect( - mockTeamCollectionService.exportCollectionToJSONObject, - ).toHaveBeenCalledWith('team_1', 'team_collection_1', true); +describe('cast - environment stringification', () => { + test('should stringify environmentVariables in cast output', () => { + const docWithEnv: DBPublishedDocs = { + ...userPublishedDoc, + environmentID: 'env_1', + environmentName: 'Production', + environmentVariables: [ + { key: 'BASE_URL', value: 'https://api.example.com' }, + ], + }; + + // Access private cast via getPublishedDocByID which calls cast internally + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(docWithEnv); + + return publishedDocsService + .getPublishedDocByID(docWithEnv.id, user) + .then((result) => { + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBe('Production'); + expect(typeof result.right.environmentVariables).toBe('string'); + expect(result.right.environmentVariables).toBe( + JSON.stringify([ + { key: 'BASE_URL', value: 'https://api.example.com' }, + ]), + ); + } + }); + }); + + test('should return null environmentVariables when not set', () => { + mockPrisma.publishedDocs.findUnique.mockResolvedValueOnce(userPublishedDoc); + + return publishedDocsService + .getPublishedDocByID(userPublishedDoc.id, user) + .then((result) => { + expect(E.isRight(result)).toBe(true); + if (E.isRight(result)) { + expect(result.right.environmentName).toBeNull(); + expect(result.right.environmentVariables).toBeNull(); + } + }); }); }); diff --git a/packages/hoppscotch-backend/src/published-docs/published-docs.service.ts b/packages/hoppscotch-backend/src/published-docs/published-docs.service.ts index 43e5001f642..4b090c4de7c 100644 --- a/packages/hoppscotch-backend/src/published-docs/published-docs.service.ts +++ b/packages/hoppscotch-backend/src/published-docs/published-docs.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@nestjs/common'; +import * as crypto from 'crypto'; import { CreatePublishedDocsArgs, UpdatePublishedDocsArgs, @@ -12,6 +13,7 @@ import { PUBLISHED_DOCS_CREATION_FAILED, PUBLISHED_DOCS_DELETION_FAILED, PUBLISHED_DOCS_INVALID_COLLECTION, + PUBLISHED_DOCS_INVALID_ENVIRONMENT, PUBLISHED_DOCS_NOT_FOUND, PUBLISHED_DOCS_UPDATE_FAILED, TEAM_INVALID_COLL_ID, @@ -19,13 +21,16 @@ import { USER_COLL_NOT_FOUND, } from 'src/errors'; import * as E from 'fp-ts/Either'; -import { PublishedDocs } from './published-docs.model'; +import { PublishedDocs, PublishedDocsVersion } from './published-docs.model'; import { OffsetPaginationArgs } from 'src/types/input-types.args'; import { stringToJson } from 'src/utils'; import { UserCollectionService } from 'src/user-collection/user-collection.service'; import { TeamCollectionService } from 'src/team-collection/team-collection.service'; -import { GetPublishedDocsQueryDto, TreeLevel } from './published-docs.dto'; import { ConfigService } from '@nestjs/config'; +import { PrismaError } from 'src/prisma/prisma-error-codes'; +import { CollectionFolder } from 'src/types/CollectionFolder'; +import { plainToInstance } from 'class-transformer'; +import { JsonValue } from '@prisma/client/runtime/client'; @Injectable() export class PublishedDocsService { @@ -36,18 +41,83 @@ export class PublishedDocsService { private readonly configService: ConfigService, ) {} + /** + * Get or generate slug for a collection + * - For existing published docs with the same collectionID, reuse the slug + * - For new collections, generate a new UUID-based slug + */ + private async getOrGenerateSlug( + collectionID: string, + workspaceType: WorkspaceType, + workspaceID: string, + ): Promise { + // Check if there's already a published doc for this collection + const existingDoc = await this.prisma.publishedDocs.findFirst({ + where: { + collectionID, + workspaceType, + workspaceID, + }, + orderBy: { + createdOn: 'asc', // Get the oldest one + }, + }); + + // If exists, reuse its slug + if (existingDoc) { + return existingDoc.slug; + } + + // Otherwise, generate a new slug using crypto.randomUUID() + return crypto.randomUUID(); + } + /** * Cast database PublishedDocs to GraphQL PublishedDocs */ - private cast(doc: DbPublishedDocs): PublishedDocs { + private cast( + doc: DbPublishedDocs, + versions: PublishedDocsVersion[] = [], + ): PublishedDocs { return { ...doc, + versions, documentTree: JSON.stringify(doc.documentTree), metadata: JSON.stringify(doc.metadata), - url: `${this.configService.get('VITE_BASE_URL')}/view/${doc.id}/${doc.version}`, + environmentName: doc.environmentName ?? null, + environmentVariables: doc.environmentVariables + ? JSON.stringify(doc.environmentVariables) + : null, + url: `${this.configService.get('VITE_BASE_URL')}/view/${doc.slug}/${doc.version}`, }; } + /** + * Fetch environment by ID based on workspace type + * Returns the environment name and variables, or an error if not found + */ + private async fetchEnvironment( + environmentID: string, + workspaceType: WorkspaceType, + workspaceID: string, + ): Promise> { + if (workspaceType === WorkspaceType.TEAM) { + const env = await this.prisma.teamEnvironment.findFirst({ + where: { id: environmentID, teamID: workspaceID }, + }); + if (!env) return E.left(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + return E.right({ name: env.name, variables: env.variables }); + } else if (workspaceType === WorkspaceType.USER) { + const env = await this.prisma.userEnvironment.findFirst({ + where: { id: environmentID, userUid: workspaceID }, + }); + if (!env) return E.left(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + return E.right({ name: env.name ?? '', variables: env.variables }); + } + + return E.left(PUBLISHED_DOCS_INVALID_ENVIRONMENT); + } + /** * Check if user has access to a team with specific roles */ @@ -195,6 +265,21 @@ export class PublishedDocsService { return E.left(PUBLISHED_DOCS_INVALID_COLLECTION); } + /** + * (Field resolver) + * Get all versions of a published document by slug + */ + async getPublishedDocsVersions(slug: string) { + const allVersions = await this.prisma.publishedDocs.findMany({ + where: { slug }, + orderBy: [{ autoSync: 'desc' }, { createdOn: 'desc' }], + }); + + if (allVersions.length === 0) return E.left(PUBLISHED_DOCS_NOT_FOUND); + + return E.right(allVersions.map((doc) => this.cast(doc))); + } + /** * Get a published document by ID */ @@ -215,19 +300,29 @@ export class PublishedDocsService { } /** - * Get a published document by ID for public access (unauthenticated) - * @param id - The ID of the published document - * @param query - Query parameters specifying tree level + * Get a published document by slug and version for public access (unauthenticated) + * @param slug - The slug of the published document + * @param version - The version of the published document */ - async getPublishedDocByIDPublic( - id: string, - query: GetPublishedDocsQueryDto, + async getPublishedDocBySlugPublic( + slug: string, + version: string | null, ): Promise> { + const allVersions = await this.getPublishedDocsVersions(slug); + if (E.isLeft(allVersions)) return E.left(allVersions.left); + const publishedDocs = await this.prisma.publishedDocs.findUnique({ - where: { id }, + where: { + slug_version: { + slug, + version: version ? version : allVersions.right[0].version, // If version is not specified, get the latest version + }, + }, }); if (!publishedDocs) return E.left(PUBLISHED_DOCS_NOT_FOUND); + let docToReturn = publishedDocs; + // if autoSync is enabled, fetch from the collection directly if (publishedDocs.autoSync) { const collectionResult = @@ -235,12 +330,10 @@ export class PublishedDocsService { ? await this.userCollectionService.exportUserCollectionToJSONObject( publishedDocs.creatorUid, publishedDocs.collectionID, - query.tree === TreeLevel.FULL, ) : await this.teamCollectionService.exportCollectionToJSONObject( publishedDocs.workspaceID, publishedDocs.collectionID, - query.tree === TreeLevel.FULL, ); if (E.isLeft(collectionResult)) { @@ -258,15 +351,44 @@ export class PublishedDocsService { return E.left(collectionResult.left); } - return E.right( - this.cast({ - ...publishedDocs, - documentTree: JSON.parse(JSON.stringify(collectionResult.right)), - }), - ); + // Re-fetch environment if environmentID is set + let environmentName = publishedDocs.environmentName; + let environmentVariables = publishedDocs.environmentVariables; + + if (publishedDocs.environmentID) { + const workspaceID = + publishedDocs.workspaceType === WorkspaceType.USER + ? publishedDocs.creatorUid + : publishedDocs.workspaceID; + + const envResult = await this.fetchEnvironment( + publishedDocs.environmentID, + publishedDocs.workspaceType as WorkspaceType, + workspaceID, + ); + if (E.isLeft(envResult)) return E.left(envResult.left); + + if (E.isRight(envResult) && envResult.right) { + environmentName = envResult.right.name; + environmentVariables = envResult.right.variables; + } + } + + docToReturn = { + ...publishedDocs, + documentTree: collectionResult.right as unknown as JsonValue, + environmentName, + environmentVariables, + }; } - return E.right(this.cast(publishedDocs)); + return E.right( + plainToInstance( + PublishedDocs, + this.cast(docToReturn, allVersions.right), + { excludeExtraneousValues: true, enableCircularCheck: true }, + ), + ); } /** @@ -281,7 +403,7 @@ export class PublishedDocsService { if (docsToDelete.length > 0) { const idsToDelete = docsToDelete.map((doc) => doc.id); - this.prisma.publishedDocs.deleteMany({ + await this.prisma.publishedDocs.deleteMany({ where: { id: { in: idsToDelete } }, }); } @@ -383,7 +505,11 @@ export class PublishedDocsService { * @param args - Arguments for creating the published document * @param user - The user creating the published document */ - async createPublishedDoc(args: CreatePublishedDocsArgs, user: User) { + async createPublishedDoc( + args: CreatePublishedDocsArgs, + user: User, + retryCount: number = 0, + ): Promise> { try { // Validate workspace type and ID const workspaceValidation = await this.validateWorkspace(user, { @@ -408,25 +534,87 @@ export class PublishedDocsService { const metadata = stringToJson(args.metadata); if (E.isLeft(metadata)) return E.left(metadata.left); - // Create published document + // Get or generate slug for this collection + const workspaceID = + args.workspaceType === WorkspaceType.TEAM ? args.workspaceID : user.uid; + + // Get or generate slug + const slug = await this.getOrGenerateSlug( + args.collectionID, + args.workspaceType, + workspaceID, + ); + + let documentTree: CollectionFolder | null = null; + // If autoSync is disabled, fetch the latest collection data for snapshot + if (!args.autoSync) { + const collectionResult = + args.workspaceType === WorkspaceType.USER + ? await this.userCollectionService.exportUserCollectionToJSONObject( + user.uid, + args.collectionID, + ) + : await this.teamCollectionService.exportCollectionToJSONObject( + args.workspaceID, + args.collectionID, + ); + + if (E.isLeft(collectionResult)) { + return E.left(collectionResult.left); + } + + documentTree = collectionResult.right; + } + + // Fetch environment if environmentID is provided + let environmentName: string | null = null; + let environmentVariables: JsonValue | null = null; + + if (args.environmentID) { + const envResult = await this.fetchEnvironment( + args.environmentID, + args.workspaceType, + workspaceID, + ); + if (E.isLeft(envResult)) return E.left(envResult.left); + if (envResult.right) { + environmentName = envResult.right.name; + environmentVariables = envResult.right.variables; + } + } + + // Attempt to create the published document const newPublishedDoc = await this.prisma.publishedDocs.create({ data: { title: args.title, + slug: slug, collectionID: args.collectionID, creatorUid: user.uid, version: args.version, autoSync: args.autoSync, workspaceType: args.workspaceType, - workspaceID: - args.workspaceType === WorkspaceType.TEAM - ? args.workspaceID - : user.uid, + workspaceID: workspaceID, + documentTree: documentTree as unknown as JsonValue, metadata: metadata.right, + environmentID: args.environmentID ?? null, + environmentName, + environmentVariables, }, }); return E.right(this.cast(newPublishedDoc)); } catch (error) { + // Check if it's a unique constraint violation on [slug, version] + // Allow up to 3 total attempts (initial + 2 retries) + const maxRetries = 2; + if ( + error.code === PrismaError.UNIQUE_CONSTRAINT_VIOLATION && + retryCount < maxRetries + ) { + // Race condition detected: retry with fresh slug generation + return this.createPublishedDoc(args, user, retryCount + 1); + } + console.error('Error creating published document:', error); return E.left(PUBLISHED_DOCS_CREATION_FAILED); } @@ -464,6 +652,59 @@ export class PublishedDocsService { if (E.isLeft(metadata)) return E.left(metadata.left); } + // Determine documentTree based on autoSync value + let documentTree: CollectionFolder | null | undefined = undefined; // undefined = no change + + if (args.autoSync === true) { + // autoSync enabled → clear documentTree (will be generated dynamically) + documentTree = null; + } else if (args.autoSync === false && publishedDocs.autoSync === true) { + // Switching from autoSync true → false: generate a snapshot of the collection + const collectionResult = + publishedDocs.workspaceType === WorkspaceType.USER + ? await this.userCollectionService.exportUserCollectionToJSONObject( + publishedDocs.creatorUid, + publishedDocs.collectionID, + ) + : await this.teamCollectionService.exportCollectionToJSONObject( + publishedDocs.workspaceID, + publishedDocs.collectionID, + ); + + if (E.isLeft(collectionResult)) { + return E.left(collectionResult.left); + } + + documentTree = collectionResult.right; + } + + // Handle environment update if environmentID is provided + let environmentName: string | null | undefined = undefined; // undefined = no change + let environmentVariables: JsonValue | undefined = undefined; + let environmentID: string | null | undefined = undefined; + + if (args.environmentID !== undefined) { + if (args.environmentID === null) { + // Explicitly removing environment + environmentID = null; + environmentName = null; + environmentVariables = null; + } else { + // Fetch environment data + const envResult = await this.fetchEnvironment( + args.environmentID, + publishedDocs.workspaceType as WorkspaceType, + publishedDocs.workspaceID, + ); + if (E.isLeft(envResult)) return E.left(envResult.left); + if (envResult.right) { + environmentID = args.environmentID; + environmentName = envResult.right.name; + environmentVariables = envResult.right.variables; + } + } + } + // Update published document const updatedPublishedDoc = await this.prisma.publishedDocs.update({ where: { id }, @@ -471,8 +712,20 @@ export class PublishedDocsService { title: args.title, version: args.version, autoSync: args.autoSync, + documentTree: + documentTree !== undefined + ? (documentTree as unknown as JsonValue) + : undefined, metadata: metadata && E.isRight(metadata) ? metadata.right : undefined, + environmentID: + environmentID !== undefined ? environmentID : undefined, + environmentName: + environmentName !== undefined ? environmentName : undefined, + environmentVariables: + environmentVariables !== undefined + ? environmentVariables + : undefined, }, }); diff --git a/packages/hoppscotch-backend/src/team-collection/team-collection.service.ts b/packages/hoppscotch-backend/src/team-collection/team-collection.service.ts index b11b392e839..3f4e651197d 100644 --- a/packages/hoppscotch-backend/src/team-collection/team-collection.service.ts +++ b/packages/hoppscotch-backend/src/team-collection/team-collection.service.ts @@ -106,35 +106,32 @@ export class TeamCollectionService { * * @param teamID The Team ID * @param collectionID The Collection ID - * @param withChildren Whether to include child collections and their requests * @returns A JSON string containing all the contents of a collection */ async exportCollectionToJSONObject( teamID: string, collectionID: string, - withChildren: boolean = true, ): Promise | E.Left> { const collection = await this.getCollection(collectionID); if (E.isLeft(collection)) return E.left(TEAM_INVALID_COLL_ID); const childrenCollectionObjects = []; - if (withChildren) { - const childrenCollection = await this.prisma.teamCollection.findMany({ - where: { - teamID, - parentID: collectionID, - }, - orderBy: { - orderIndex: 'asc', - }, - }); - for (const coll of childrenCollection) { - const result = await this.exportCollectionToJSONObject(teamID, coll.id); - if (E.isLeft(result)) return E.left(result.left); + const childrenCollection = await this.prisma.teamCollection.findMany({ + where: { + teamID, + parentID: collectionID, + }, + orderBy: { + orderIndex: 'asc', + }, + }); - childrenCollectionObjects.push(result.right); - } + for (const coll of childrenCollection) { + const result = await this.exportCollectionToJSONObject(teamID, coll.id); + if (E.isLeft(result)) return E.left(result.left); + + childrenCollectionObjects.push(result.right); } const requests = await this.prisma.teamRequest.findMany({ diff --git a/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts b/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts index 66dc179d38c..4ab6e615584 100644 --- a/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts +++ b/packages/hoppscotch-backend/src/user-collection/user-collection.service.ts @@ -853,41 +853,38 @@ export class UserCollectionService { * * @param userUID The User UID * @param collectionID The Collection ID - * @param withChildren Whether to include child collections and their requests * @returns A JSON string containing all the contents of a collection */ async exportUserCollectionToJSONObject( userUID: string, collectionID: string, - withChildren: boolean = true, ): Promise | E.Right> { // Get Collection details const collection = await this.getUserCollection(collectionID); if (E.isLeft(collection)) return E.left(collection.left); const childrenCollectionObjects: CollectionFolder[] = []; - if (withChildren) { - // Get all child collections whose parentID === collectionID - const childCollectionList = await this.prisma.userCollection.findMany({ - where: { - parentID: collectionID, - userUid: userUID, - }, - orderBy: { - orderIndex: 'asc', - }, - }); - // Create a list of child collection and request data ready for export - for (const coll of childCollectionList) { - const result = await this.exportUserCollectionToJSONObject( - userUID, - coll.id, - ); - if (E.isLeft(result)) return E.left(result.left); + // Get all child collections whose parentID === collectionID + const childCollectionList = await this.prisma.userCollection.findMany({ + where: { + parentID: collectionID, + userUid: userUID, + }, + orderBy: { + orderIndex: 'asc', + }, + }); - childrenCollectionObjects.push(result.right); - } + // Create a list of child collection and request data ready for export + for (const coll of childCollectionList) { + const result = await this.exportUserCollectionToJSONObject( + userUID, + coll.id, + ); + if (E.isLeft(result)) return E.left(result.left); + + childrenCollectionObjects.push(result.right); } // Fetch all child requests that belong to collectionID diff --git a/packages/hoppscotch-common/locales/en.json b/packages/hoppscotch-common/locales/en.json index ced36197d23..b86e4a59883 100644 --- a/packages/hoppscotch-common/locales/en.json +++ b/packages/hoppscotch-common/locales/en.json @@ -533,7 +533,33 @@ "update_title": "Update Published Documentation", "url_copied": "URL copied to clipboard!", "view_published": "View Published Docs", - "view_title": "View Published Documentation" + "view_title": "Published Documentation Snapshot", + "versions": "Versions", + "create_new_version": "Create New Version", + "invalid_version": "Version must only contain alphanumeric characters, dots, and hyphens", + "snapshot_description": "This will snapshot the current documentation as this version", + "live": "Live", + "snapshot": "Snapshot", + "version_immutable": "Published versions are read-only snapshots", + "view_snapshot": "View Snapshot", + "current_version": "CURRENT", + "not_found": "Published documentation not found", + "no_doc_id": "No document ID provided", + "version_label": "v{version}", + "unpublish_version": "Unpublish this version", + "loading_snapshot": "Loading snapshot...", + "retry_snapshot": "Retry", + "sensitive_data_warning": "Please make sure no sensitive data is exposed in the published documentation.", + "snapshot_preview": "Snapshot Preview", + "snapshot_load_error": "Failed to load snapshot preview", + "snapshot_empty": "No requests or folders in this snapshot", + "snapshot_item_count": "{count} items", + "auto_sync_live_notice": "This version auto-syncs with the live collection", + "untitled_project": "Untitled Project", + "first_publish_hint": "Your documentation will be published as a live version that automatically stays in sync with your collection", + "environment": "Environment", + "no_environment": "No environment", + "environment_description": "Attach an environment to resolve variables in the published documentation" }, "request_opened_in_new_tab": "Request opened in new tab!", "response": { diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index 59d84ef4275..bc172409866 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -56,11 +56,14 @@ declare module 'vue' { CollectionsDocumentation: typeof import('./components/collections/documentation/index.vue')['default'] CollectionsDocumentationCollectionPreview: typeof import('./components/collections/documentation/CollectionPreview.vue')['default'] CollectionsDocumentationCollectionStructure: typeof import('./components/collections/documentation/CollectionStructure.vue')['default'] + CollectionsDocumentationEnvironmentPicker: typeof import('./components/collections/documentation/EnvironmentPicker.vue')['default'] CollectionsDocumentationFolderItem: typeof import('./components/collections/documentation/FolderItem.vue')['default'] CollectionsDocumentationLazyDocumentationItem: typeof import('./components/collections/documentation/LazyDocumentationItem.vue')['default'] CollectionsDocumentationMarkdownEditor: typeof import('./components/collections/documentation/MarkdownEditor.vue')['default'] CollectionsDocumentationPreview: typeof import('./components/collections/documentation/Preview.vue')['default'] + CollectionsDocumentationPublishDocForm: typeof import('./components/collections/documentation/PublishDocForm.vue')['default'] CollectionsDocumentationPublishDocModal: typeof import('./components/collections/documentation/PublishDocModal.vue')['default'] + CollectionsDocumentationPublishDocSnapshotPreview: typeof import('./components/collections/documentation/PublishDocSnapshotPreview.vue')['default'] CollectionsDocumentationRequestItem: typeof import('./components/collections/documentation/RequestItem.vue')['default'] CollectionsDocumentationRequestPreview: typeof import('./components/collections/documentation/RequestPreview.vue')['default'] CollectionsDocumentationSectionsAuth: typeof import('./components/collections/documentation/sections/Auth.vue')['default'] @@ -70,6 +73,7 @@ declare module 'vue' { CollectionsDocumentationSectionsRequestBody: typeof import('./components/collections/documentation/sections/RequestBody.vue')['default'] CollectionsDocumentationSectionsResponse: typeof import('./components/collections/documentation/sections/Response.vue')['default'] CollectionsDocumentationSectionsVariables: typeof import('./components/collections/documentation/sections/Variables.vue')['default'] + CollectionsDocumentationSnapshotPreview: typeof import('./components/collections/documentation/SnapshotPreview.vue')['default'] CollectionsEdit: typeof import('./components/collections/Edit.vue')['default'] CollectionsEditFolder: typeof import('./components/collections/EditFolder.vue')['default'] CollectionsEditRequest: typeof import('./components/collections/EditRequest.vue')['default'] @@ -166,6 +170,7 @@ declare module 'vue' { HoppSmartProgressRing: typeof import('@hoppscotch/ui')['HoppSmartProgressRing'] HoppSmartRadio: typeof import('@hoppscotch/ui')['HoppSmartRadio'] HoppSmartRadioGroup: typeof import('@hoppscotch/ui')['HoppSmartRadioGroup'] + HoppSmartSelectItem: typeof import('@hoppscotch/ui')['HoppSmartSelectItem'] HoppSmartSelectWrapper: typeof import('@hoppscotch/ui')['HoppSmartSelectWrapper'] HoppSmartSlideOver: typeof import('@hoppscotch/ui')['HoppSmartSlideOver'] HoppSmartSpinner: typeof import('@hoppscotch/ui')['HoppSmartSpinner'] @@ -231,15 +236,20 @@ declare module 'vue' { HttpTestTestResult: typeof import('./components/http/test/TestResult.vue')['default'] HttpURLEncodedParams: typeof import('./components/http/URLEncodedParams.vue')['default'] IconLucideActivity: typeof import('~icons/lucide/activity')['default'] + IconLucideAlertCircle: typeof import('~icons/lucide/alert-circle')['default'] IconLucideAlertTriangle: typeof import('~icons/lucide/alert-triangle')['default'] IconLucideArrowLeft: typeof import('~icons/lucide/arrow-left')['default'] IconLucideArrowUpRight: typeof import('~icons/lucide/arrow-up-right')['default'] + IconLucideBookOpen: typeof import('~icons/lucide/book-open')['default'] IconLucideBrush: typeof import('~icons/lucide/brush')['default'] + IconLucideCheck: typeof import('~icons/lucide/check')['default'] IconLucideCheckCircle: typeof import('~icons/lucide/check-circle')['default'] + IconLucideChevronDown: typeof import('~icons/lucide/chevron-down')['default'] IconLucideChevronRight: typeof import('~icons/lucide/chevron-right')['default'] IconLucideCircleCheck: typeof import('~icons/lucide/circle-check')['default'] IconLucideFileQuestion: typeof import('~icons/lucide/file-question')['default'] IconLucideFileText: typeof import('~icons/lucide/file-text')['default'] + IconLucideFileX: typeof import('~icons/lucide/file-x')['default'] IconLucideFolder: typeof import('~icons/lucide/folder')['default'] IconLucideFolderOpen: typeof import('~icons/lucide/folder-open')['default'] IconLucideGlobe: typeof import('~icons/lucide/globe')['default'] @@ -252,6 +262,7 @@ declare module 'vue' { IconLucideLock: typeof import('~icons/lucide/lock')['default'] IconLucideMinus: typeof import('~icons/lucide/minus')['default'] IconLucidePlusCircle: typeof import('~icons/lucide/plus-circle')['default'] + IconLucideRefreshCw: typeof import('~icons/lucide/refresh-cw')['default'] IconLucideRss: typeof import('~icons/lucide/rss')['default'] IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideTerminal: typeof import('~icons/lucide/terminal')['default'] diff --git a/packages/hoppscotch-common/src/components/collections/documentation/CollectionStructure.vue b/packages/hoppscotch-common/src/components/collections/documentation/CollectionStructure.vue index e8316e15796..9431c1d04db 100644 --- a/packages/hoppscotch-common/src/components/collections/documentation/CollectionStructure.vue +++ b/packages/hoppscotch-common/src/components/collections/documentation/CollectionStructure.vue @@ -2,14 +2,15 @@
@@ -28,7 +29,7 @@
@@ -97,10 +98,12 @@ const props = withDefaults( collection: HoppCollection initiallyExpanded?: boolean isDocModal?: boolean + compact?: boolean }>(), { initiallyExpanded: false, isDocModal: true, + compact: false, } ) diff --git a/packages/hoppscotch-common/src/components/collections/documentation/EnvironmentPicker.vue b/packages/hoppscotch-common/src/components/collections/documentation/EnvironmentPicker.vue new file mode 100644 index 00000000000..041ddbb0468 --- /dev/null +++ b/packages/hoppscotch-common/src/components/collections/documentation/EnvironmentPicker.vue @@ -0,0 +1,191 @@ + + + diff --git a/packages/hoppscotch-common/src/components/collections/documentation/Preview.vue b/packages/hoppscotch-common/src/components/collections/documentation/Preview.vue index 8d62885e34f..44a5e58962b 100644 --- a/packages/hoppscotch-common/src/components/collections/documentation/Preview.vue +++ b/packages/hoppscotch-common/src/components/collections/documentation/Preview.vue @@ -158,6 +158,7 @@
+
+
+ +
+ +
+ + + {{ t("documentation.publish.first_publish_hint") }} + +
+ + +
+ + + {{ t("documentation.publish.invalid_version") }} + + + {{ t("documentation.publish.snapshot_description") }} + +
+ + +
+ +
+ + {{ t("documentation.publish.auto_sync") }} + + + ({{ t("documentation.publish.auto_sync_description") }}) + +
+
+
+ + +
+ + {{ t("documentation.publish.environment") }} + +

+ {{ t("documentation.publish.environment_description") }} +

+

+ {{ t("documentation.publish.sensitive_data_warning") }} +

+ +
+ + +
+
+ + + +
+
+
+ + + diff --git a/packages/hoppscotch-common/src/components/collections/documentation/PublishDocModal.vue b/packages/hoppscotch-common/src/components/collections/documentation/PublishDocModal.vue index cb7255f1eed..9021c6a95ed 100644 --- a/packages/hoppscotch-common/src/components/collections/documentation/PublishDocModal.vue +++ b/packages/hoppscotch-common/src/components/collections/documentation/PublishDocModal.vue @@ -3,97 +3,41 @@ v-if="show" dialog :title="modalTitle" - styles="sm:max-w-2xl" + :styles="mode === 'view' ? 'sm:max-w-6xl' : 'sm:max-w-2xl'" @close="hideModal" >