From d778e603df542dac737d42157f56262a9c76afbf Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 08:43:51 -0600 Subject: [PATCH 01/11] use vite --- package.json | 4 +- packages/adapter-sqlite/package.json | 4 + packages/core/jest.config.js | 3 + packages/core/package.json | 4 +- packages/core/src/runtime.ts | 10 +- packages/core/src/tests/actions.test.ts | 268 ++++++++++++++++++++++++ packages/core/src/tests/token.test.ts | 81 +++++++ pnpm-lock.yaml | 16 ++ 8 files changed, 383 insertions(+), 7 deletions(-) create mode 100644 packages/core/src/tests/actions.test.ts create mode 100644 packages/core/src/tests/token.test.ts diff --git a/package.json b/package.json index 8048b4e751..398cf414e6 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,9 @@ "only-allow": "^1.2.1", "prettier": "^3.3.3", "typedoc": "^0.26.11", - "typescript": "5.6.3" + "typescript": "5.6.3", + "vite": "^5.4.11", + "vitest": "^2.1.5" }, "pnpm": { "overrides": { diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json index 9fa7c7a5f3..56491b57a5 100644 --- a/packages/adapter-sqlite/package.json +++ b/packages/adapter-sqlite/package.json @@ -19,5 +19,9 @@ }, "peerDependencies": { "whatwg-url": "7.1.0" + }, + "exports": { + ".": "./dist/index.js", + "./sqlite_vec": "./dist/sqlite_vec.js" } } diff --git a/packages/core/jest.config.js b/packages/core/jest.config.js index 62c0deeb70..564378d9a2 100644 --- a/packages/core/jest.config.js +++ b/packages/core/jest.config.js @@ -22,5 +22,8 @@ export default { moduleNameMapper: { "^(\\.{1,2}/.*)\\.js$": "$1", }, + transformIgnorePatterns: [ + "node_modules/(?!sqlite-vec|@ai16z/adapter-sqlite|@ai16z/eliza)" + ], extensionsToTreatAsEsm: [".ts"], }; diff --git a/packages/core/package.json b/packages/core/package.json index 0c3312ba29..e1ce1827e2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,8 +11,8 @@ "watch": "tsc --watch", "dev": "tsup --format esm --dts --watch", "build:docs": "cd docs && pnpm run build", - "test": "jest --runInBand", - "test:watch": "jest --runInBand --watch" + "test": "vitest run", + "test:watch": "vitest" }, "author": "", "license": "MIT", diff --git a/packages/core/src/runtime.ts b/packages/core/src/runtime.ts index 2c4e59406c..93bc477965 100644 --- a/packages/core/src/runtime.ts +++ b/packages/core/src/runtime.ts @@ -42,6 +42,8 @@ import { type Memory, } from "./types.ts"; import { stringToUuid } from "./uuid.ts"; +import { v4 as uuidv4 } from 'uuid'; + /** * Represents the runtime environment for an agent, handling message processing, @@ -212,9 +214,9 @@ export class AgentRuntime implements IAgentRuntime { this.databaseAdapter = opts.databaseAdapter; // use the character id if it exists, otherwise use the agentId if it is passed in, otherwise use the character name this.agentId = - opts.character.id ?? - opts.agentId ?? - stringToUuid(opts.character.name); + opts.character?.id ?? + opts?.agentId ?? + stringToUuid(opts.character?.name ?? uuidv4()); console.log("Agent ID", this.agentId); @@ -264,7 +266,7 @@ export class AgentRuntime implements IAgentRuntime { this.token = opts.token; - [...(opts.character.plugins || []), ...(opts.plugins || [])].forEach( + [...(opts.character?.plugins || []), ...(opts.plugins || [])].forEach( (plugin) => { plugin.actions?.forEach((action) => { this.registerAction(action); diff --git a/packages/core/src/tests/actions.test.ts b/packages/core/src/tests/actions.test.ts new file mode 100644 index 0000000000..85594d9cee --- /dev/null +++ b/packages/core/src/tests/actions.test.ts @@ -0,0 +1,268 @@ +import dotenv from "dotenv"; +import { createRuntime } from "../test_resources/createRuntime.ts"; +import { getOrCreateRelationship } from "../test_resources/getOrCreateRelationship.ts"; +import { runAiTest } from "../test_resources/runAiTest.ts"; +import { messageHandlerTemplate } from "../test_resources/templates.ts"; +import { + TEST_ACTION, + TEST_ACTION_FAIL, +} from "../test_resources/testAction.ts"; +import { type User } from "../test_resources/types.ts"; +import { composeContext } from "../context.ts"; +import { embeddingZeroVector } from "../memory.ts"; +import { + Content, + IAgentRuntime, + ModelClass, + State, + type Memory, + type UUID, +} from "../types.ts"; +import { stringToUuid } from "../uuid.ts"; +import { generateMessageResponse } from "../generation.ts"; +import { MemoryManager } from "../memory.ts"; +import { describe, test, expect, beforeAll, afterAll } from 'vitest'; +async function handleMessage( + runtime: IAgentRuntime, + message: Memory, + state?: State +) { + const _saveRequestMessage = async (message: Memory, state: State) => { + const { content: senderContent, userId, roomId } = message; + + const _senderContent = (senderContent as Content).text?.trim(); + if (_senderContent) { + await runtime.messageManager.createMemory({ + id: stringToUuid( + message.id ?? userId + runtime.agentId + Date.now() + ), + userId: userId!, + agentId: runtime.agentId, + content: { + text: _senderContent, + action: (message.content as Content)?.action ?? "null", + }, + roomId, + embedding: embeddingZeroVector, + }); + await runtime.evaluate(message, state); + } + }; + + await _saveRequestMessage(message, state as State); + if (!state) { + state = (await runtime.composeState(message)) as State; + } + + const context = composeContext({ + state, + template: messageHandlerTemplate, + }); + + let responseContent: Content | null = null; + const { userId, roomId } = message; + + for (let triesLeft = 3; triesLeft > 0; triesLeft--) { + const response = await generateMessageResponse({ + context, + runtime, + modelClass: ModelClass.SMALL, + }); + + runtime.databaseAdapter.log({ + body: { message, context, response }, + userId: userId, + roomId, + type: "actions_test_completion", + }); + return response; + } + + if (!responseContent) { + responseContent = { + text: "", + action: "IGNORE", + }; + } + + if (responseContent.text) { + const response = { + userId: runtime.agentId, + agentId: runtime.agentId, + content: responseContent, + roomId, + embedding: embeddingZeroVector, + }; + await runtime.messageManager.createMemory(response); + + state = await this.runtime.updateRecentMessageState(state); + await runtime.processActions(message, [response], state); + await runtime.evaluate(message, state); + } else { + console.warn("Empty response, skipping"); + } + + return responseContent; +} + +// use .dev.vars for local testing +dotenv.config({ path: ".dev.vars" }); + +describe("Actions", () => { + let user: User; + let runtime: IAgentRuntime; + let roomId: UUID; + + beforeAll(async () => { + const { session, runtime: _runtime } = await createRuntime({ + env: process.env as Record, + actions: [TEST_ACTION, TEST_ACTION_FAIL], + }); + + user = session.user!; + runtime = _runtime as IAgentRuntime; + + // check if the user id exists in the 'accounts' table + // if it doesn't, create it with the name 'Test User' + let account = await runtime.databaseAdapter.getAccountById( + user.id as UUID + ); + + if (!account) { + account = await runtime.databaseAdapter.getAccountById( + user.id as UUID + ); + if (!account) { + await runtime.databaseAdapter.createAccount({ + id: user.id as UUID, + username: "Test User", + name: "Test User", + email: user.email, + avatarUrl: "", + }); + } + } + + // get all relationships for user + const data = await getOrCreateRelationship({ + runtime, + userA: user.id as UUID, + userB: "00000000-0000-0000-0000-000000000000" as UUID, + }); + + if (!data) { + throw new Error("Relationship not found"); + } + + roomId = data!.roomId; + + await cleanup(); + }); + + afterAll(async () => { + await cleanup(); + }); + + async function cleanup() { + const factsManager = new MemoryManager({ + runtime, + tableName: "facts", + }); + + await factsManager.removeAllMemories(roomId); + await runtime.messageManager.removeAllMemories(roomId); + } + + // Test that actions are being loaded into context properly + test("Actions are loaded into context", async () => { + const actions = runtime.actions; + expect(actions).toBeDefined(); + expect(actions.length).toBeGreaterThan(0); + // Ensure the TEST_ACTION action is part of the loaded actions + const testAction = actions.find( + (action) => action.name === "TEST_ACTION" + ); + expect(testAction).toBeDefined(); + }); + + // Test that actions are validated properly + test("Test action is always valid", async () => { + const testAction = runtime.actions.find( + (action) => action.name === "TEST_ACTION" + ); + expect(testAction).toBeDefined(); + if (testAction && testAction.validate) { + const isValid = await testAction.validate(runtime, { + userId: user.id as UUID, + agentId: runtime.agentId, + content: { text: "Test message" }, + roomId: roomId, + }); + expect(isValid).toBeTruthy(); + } else { + throw new Error( + "Continue action or its validation function is undefined" + ); + } + }); + + test("Test that actions are properly validated in state", async () => { + const message: Memory = { + agentId: runtime.agentId, + userId: user.id as UUID, + content: { + text: "Please respond with the message 'ok' and the action TEST_ACTION", + }, + roomId, + }; + + const state = await runtime.composeState(message); + expect(state.actionNames).not.toContain("TEST_ACTION_FAIL"); + + expect(state.actionNames).toContain("TEST_ACTION"); + }); + + // Validate that TEST_ACTION is in the state + test("Validate that TEST_ACTION is in the state", async () => { + await runAiTest("Validate TEST_ACTION is in the state", async () => { + const message: Memory = { + agentId: runtime.agentId, + userId: user.id as UUID, + content: { + text: "Please respond with the message 'ok' and the action TEST_ACTION", + }, + roomId, + }; + + const response = await handleMessage(runtime, message); + return response.action === "TEST_ACTION"; // Return true if the expected action matches + }); + }, 60000); + + // Test that TEST_ACTION action handler is called properly + test("Test action handler is called", async () => { + await runAiTest("Test action handler is called", async () => { + const testAction = runtime.actions.find( + (action) => action.name === "TEST_ACTION" + ); + if (!testAction || !testAction.handler) { + console.error( + "Continue action or its handler function is undefined" + ); + return false; // Return false to indicate the test setup failed + } + + const mockMessage: Memory = { + userId: user.id as UUID, + agentId: runtime.agentId, + content: { + text: "Test message for TEST action", + }, + roomId, + }; + + const response = await testAction.handler(runtime, mockMessage); + return response !== undefined; // Return true if the handler returns a defined response + }); + }, 60000); // You can adjust the timeout if needed +}); diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts new file mode 100644 index 0000000000..d28d9ae6f3 --- /dev/null +++ b/packages/core/src/tests/token.test.ts @@ -0,0 +1,81 @@ +import { createRuntime } from "../test_resources/createRuntime.ts"; +import { TokenProvider, WalletProvider, Connection, PublicKey } from "@ai16z/plugin-solana"; + +import { describe, test, expect, beforeEach, vi } from 'vitest'; + +describe("TokenProvider Tests", () => { + let tokenProvider: TokenProvider; + + // Mock the dependencies + vi.mock("cross-fetch"); + vi.mock("fs"); + vi.mock("node-cache"); + vi.mock("@solana/web3.js"); + vi.mock("unique-names-generator"); + + beforeEach(() => { + tokenProvider = new TokenProvider( + "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh", + new WalletProvider( + new Connection("https://api.mainnet-beta.solana.com"), + new PublicKey("2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh") + ) + ); + }); + + test("should fetch token security data", async () => { + const { runtime } = await createRuntime({ + conversationLength: 10, + }); + + // Mock the response for the fetchTokenSecurity call + const mockFetchResponse = { + success: true, + data: { + ownerBalance: "100", + creatorBalance: "50", + ownerPercentage: 10, + creatorPercentage: 5, + top10HolderBalance: "200", + top10HolderPercent: 20, + }, + }; + + // Mock fetchWithRetry function + const fetchSpy = vi + .spyOn(tokenProvider as any, "fetchWithRetry") + .mockResolvedValue(mockFetchResponse); + + // Run the fetchTokenSecurity method + // const securityData = await tokenProvider.fetchTokenSecurity(); + + // Check if the data returned is correct + // expect(securityData).toEqual({ + // ownerBalance: "100", + // creatorBalance: "50", + // ownerPercentage: 10, + // creatorPercentage: 5, + // top10HolderBalance: "200", + // top10HolderPercent: 20, + // }); + //console.log the securityData + // console.log({ securityData }); + + // const holderList = await tokenProvider.fetchHolderList(); + + // console.log({ holderList }); + + // const tradeData = await tokenProvider.fetchTokenTradeData(); + // console.log({ tradeData }); + + // const dexScreenerData = await tokenProvider.fetchDexScreenerData(); + // console.log({ dexScreenerData }); + + // const tokenReport = + // await tokenProvider.getFormattedTokenReport(runtime); + // console.log({ tokenReport }); + + // Ensure the mock was called + expect(fetchSpy).toHaveBeenCalled(); + }); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 885768c480..468db71a6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,6 +42,12 @@ importers: typescript: specifier: 5.6.3 version: 5.6.3 + vite: + specifier: ^5.4.11 + version: 5.4.11(@types/node@22.8.4)(terser@5.36.0) + vitest: + specifier: ^2.1.5 + version: 2.1.5(@types/node@22.8.4)(terser@5.36.0) docs: dependencies: @@ -8094,6 +8100,9 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lossless-json@4.0.2: resolution: {integrity: sha512-+z0EaLi2UcWi8MZRxA5iTb6m4Ys4E80uftGY+yG5KNFJb5EceQXOhdW/pWJZ8m97s26u7yZZAYMcKWNztSZssA==} @@ -10764,6 +10773,9 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + starknet@6.11.0: resolution: {integrity: sha512-u50KrGDi9fbu1Ogu7ynwF/tSeFlp3mzOg1/Y5x50tYFICImo3OfY4lOz9OtYDk404HK4eUujKkhov9tG7GAKlg==} @@ -21491,6 +21503,8 @@ snapshots: dependencies: js-tokens: 4.0.0 + loupe@3.1.2: {} + lossless-json@4.0.2: {} loupe@3.1.2: {} @@ -24916,6 +24930,8 @@ snapshots: stackback@0.0.2: {} + stackback@0.0.2: {} + starknet@6.11.0(encoding@0.1.13): dependencies: '@noble/curves': 1.4.2 From c93510c472bcfe5def9fb77eed51ae60986e3f1e Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 13:12:50 -0600 Subject: [PATCH 02/11] test running --- packages/core/.env.test | 2 + ...LybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json | 1 + ...LybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json | 1 + packages/core/jest.config.js | 29 - packages/core/package.json | 4 +- packages/core/src/embedding.ts | 2 +- packages/core/src/generation.ts | 2 +- packages/core/src/models.ts | 2 +- packages/core/src/runtime.ts | 2 +- packages/core/src/settings.ts | 76 +- .../core/src/test_resources/basic.test.ts | 12 + packages/core/src/test_resources/cache.ts | 36 + packages/core/src/test_resources/constants.ts | 12 + .../core/src/test_resources/createRuntime.ts | 146 +++ packages/core/src/test_resources/data.ts | 1087 +++++++++++++++++ .../test_resources/getOrCreateRelationship.ts | 66 + .../src/test_resources/populateMemories.ts | 34 + packages/core/src/test_resources/report.ts | 97 ++ packages/core/src/test_resources/runAiTest.ts | 17 + packages/core/src/test_resources/templates.ts | 27 + .../core/src/test_resources/testAction.ts | 59 + .../core/src/test_resources/testEvaluator.ts | 67 + packages/core/src/test_resources/testSetup.ts | 11 + packages/core/src/test_resources/types.ts | 6 + packages/core/src/tests/actions.test.ts | 21 +- packages/core/src/tests/env.test.ts | 26 + packages/core/src/tests/token.test.ts | 103 +- packages/core/vitest.config.ts | 16 + packages/plugin-solana/src/index.ts | 6 + .../plugin-solana/src/providers/orderBook.ts | 2 +- packages/plugin-solana/src/providers/token.ts | 2 +- .../src/providers/trustScoreProvider.ts | 5 +- 32 files changed, 1862 insertions(+), 117 deletions(-) create mode 100644 packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json create mode 100644 packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json delete mode 100644 packages/core/jest.config.js create mode 100644 packages/core/src/test_resources/basic.test.ts create mode 100644 packages/core/src/test_resources/cache.ts create mode 100644 packages/core/src/test_resources/constants.ts create mode 100644 packages/core/src/test_resources/createRuntime.ts create mode 100644 packages/core/src/test_resources/data.ts create mode 100644 packages/core/src/test_resources/getOrCreateRelationship.ts create mode 100644 packages/core/src/test_resources/populateMemories.ts create mode 100644 packages/core/src/test_resources/report.ts create mode 100644 packages/core/src/test_resources/runAiTest.ts create mode 100644 packages/core/src/test_resources/templates.ts create mode 100644 packages/core/src/test_resources/testAction.ts create mode 100644 packages/core/src/test_resources/testEvaluator.ts create mode 100644 packages/core/src/test_resources/testSetup.ts create mode 100644 packages/core/src/test_resources/types.ts create mode 100644 packages/core/src/tests/env.test.ts create mode 100644 packages/core/vitest.config.ts diff --git a/packages/core/.env.test b/packages/core/.env.test index 3f383adc69..03cea3c493 100644 --- a/packages/core/.env.test +++ b/packages/core/.env.test @@ -1,2 +1,4 @@ TEST_DATABASE_CLIENT=sqlite NODE_ENV=test +MAIN_WALLET_ADDRESS=testwalletaddressfM3U31goWWrCpF59CHWNhnCJ9Vyh +OPENAI_API_KEY=OPENAI_TEST_KEY diff --git a/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json b/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json new file mode 100644 index 0000000000..f101587ac5 --- /dev/null +++ b/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json @@ -0,0 +1 @@ +{"data":[],"expiry":1731784276120} \ No newline at end of file diff --git a/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json b/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json new file mode 100644 index 0000000000..86f67e9a18 --- /dev/null +++ b/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json @@ -0,0 +1 @@ +{"data":{"ownerBalance":"100","creatorBalance":"50","ownerPercentage":10,"creatorPercentage":5,"top10HolderBalance":"200","top10HolderPercent":20},"expiry":1731784617753} \ No newline at end of file diff --git a/packages/core/jest.config.js b/packages/core/jest.config.js deleted file mode 100644 index 564378d9a2..0000000000 --- a/packages/core/jest.config.js +++ /dev/null @@ -1,29 +0,0 @@ -/** @type {import('ts-jest').JestConfigWithTsJest} */ -export default { - preset: "ts-jest", - testEnvironment: "node", - rootDir: "./src", - testMatch: ["**/*.test.ts"], - setupFilesAfterEnv: ["/test_resources/testSetup.ts"], - testTimeout: 120000, - globals: { - __DEV__: true, - __TEST__: true, - __VERSION__: "0.0.1", - }, - transform: { - "^.+\\.tsx?$": [ - "ts-jest", - { - useESM: true, - }, - ], - }, - moduleNameMapper: { - "^(\\.{1,2}/.*)\\.js$": "$1", - }, - transformIgnorePatterns: [ - "node_modules/(?!sqlite-vec|@ai16z/adapter-sqlite|@ai16z/eliza)" - ], - extensionsToTreatAsEsm: [".ts"], -}; diff --git a/packages/core/package.json b/packages/core/package.json index e1ce1827e2..1f1041d81c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,8 +11,8 @@ "watch": "tsc --watch", "dev": "tsup --format esm --dts --watch", "build:docs": "cd docs && pnpm run build", - "test": "vitest run", - "test:watch": "vitest" + "test": "NODE_ENV=test vitest run", + "test:watch": "NODE_ENV=test vitest" }, "author": "", "license": "MIT", diff --git a/packages/core/src/embedding.ts b/packages/core/src/embedding.ts index c1fbbe80e6..9dd42fa9be 100644 --- a/packages/core/src/embedding.ts +++ b/packages/core/src/embedding.ts @@ -5,7 +5,7 @@ import { models } from "./models.ts"; import { IAgentRuntime, ModelProviderName, ModelClass } from "./types.ts"; import fs from "fs"; import { trimTokens } from "./generation.ts"; -import settings from "./settings.ts"; +import { settings } from "./settings.ts"; function getRootPath() { const __filename = fileURLToPath(import.meta.url); diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index abbd7b159f..3c746855bb 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -22,7 +22,7 @@ import { parseJSONObjectFromText, parseShouldRespondFromText, } from "./parsing.ts"; -import settings from "./settings.ts"; +import { settings } from "./settings.ts"; import { Content, IAgentRuntime, diff --git a/packages/core/src/models.ts b/packages/core/src/models.ts index ea3fd125d5..71b8c928db 100644 --- a/packages/core/src/models.ts +++ b/packages/core/src/models.ts @@ -1,4 +1,4 @@ -import settings from "./settings.ts"; +import { settings } from "./settings.ts"; import { Models, ModelProviderName, ModelClass } from "./types.ts"; export const models: Models = { diff --git a/packages/core/src/runtime.ts b/packages/core/src/runtime.ts index 93bc477965..b4a6030a6f 100644 --- a/packages/core/src/runtime.ts +++ b/packages/core/src/runtime.ts @@ -20,7 +20,7 @@ import { formatActors, formatMessages, getActorDetails } from "./messages.ts"; import { parseJsonArrayFromText } from "./parsing.ts"; import { formatPosts } from "./posts.ts"; import { getProviders } from "./providers.ts"; -import settings from "./settings.ts"; +import { settings } from "./settings.ts"; import { Character, Goal, diff --git a/packages/core/src/settings.ts b/packages/core/src/settings.ts index 9f4f7c7597..44e4c150e2 100644 --- a/packages/core/src/settings.ts +++ b/packages/core/src/settings.ts @@ -2,54 +2,94 @@ import { config } from "dotenv"; import fs from "fs"; import path from "path"; +export interface Settings { + MAIN_WALLET_ADDRESS: string; + OPENAI_API_KEY: string; + USE_OPENAI_EMBEDDING: string; + SYSTEM_PROMPT: string; + OPENROUTER_MODEL: string; + SMALL_OPENROUTER_MODEL: string; + MEDIUM_OPENROUTER_MODEL: string; + LARGE_OPENROUTER_MODEL: string; + OLLAMA_MODEL: string; + LARGE_OLLAMA_MODEL: string; + MEDIUM_OLLAMA_MODEL: string; + SMALL_OLLAMA_MODEL: string; + OLLAMA_SERVER_URL: string; + OLLAMA_EMBEDDING_MODEL: string; + RPC_URL: string; + BASE_MINT: string; + BACKEND_URL: string; + BACKEND_TOKEN: string; + BIRDEYE_API_KEY: string; + HELIUS_API_KEY: string; + SERVER_PORT: string; + CAPSOLVER_API_KEY: string; + CUDA_PATH: string; +} + /** * Recursively searches for a .env file starting from the current directory * and moving up through parent directories - * @param {string} [startDir=process.cwd()] - Starting directory for the search - * @returns {string|null} Path to the nearest .env file or null if not found */ export function findNearestEnvFile(startDir = process.cwd()) { + console.error('DEBUG - Starting env file search'); + console.error('DEBUG - Current working directory:', process.cwd()); + + // In test environment, use the known working path + if (process.env.NODE_ENV === 'test' || process.env.VITEST) { + const testPath = path.join(process.cwd(), '.env.test'); + console.error('DEBUG - Checking test path:', testPath); + if (fs.existsSync(testPath)) { + console.error('DEBUG - Found test env file at:', testPath); + return testPath; + } + } + + // Look for regular .env let currentDir = startDir; + const envFile = process.env.NODE_ENV === 'test' ? '.env.test' : '.env'; - // Continue searching until we reach the root directory while (currentDir !== path.parse(currentDir).root) { - const envPath = path.join(currentDir, ".env"); - + const envPath = path.join(currentDir, envFile); + console.error('DEBUG - Checking path:', envPath); if (fs.existsSync(envPath)) { + console.error('DEBUG - Found env file at:', envPath); return envPath; } - - // Move up to parent directory currentDir = path.dirname(currentDir); } - // Check root directory as well - const rootEnvPath = path.join(path.parse(currentDir).root, ".env"); - return fs.existsSync(rootEnvPath) ? rootEnvPath : null; + console.error('DEBUG - No env file found after checking all paths'); + console.error('DEBUG - Final cwd:', process.cwd()); + console.error('DEBUG - Final NODE_ENV:', process.env.NODE_ENV); + return null; } /** * Loads environment variables from the nearest .env file - * @returns {Object} Environment variables object - * @throws {Error} If no .env file is found */ export function loadEnvConfig() { + console.error('DEBUG - loadEnvConfig called'); + console.error('DEBUG - Current working directory:', process.cwd()); + console.error('DEBUG - NODE_ENV:', process.env.NODE_ENV); + const envPath = findNearestEnvFile(); if (!envPath) { throw new Error("No .env file found in current or parent directories."); } - // Load the .env file + console.error('DEBUG - Loading env file from:', envPath); const result = config({ path: envPath }); - if (result.error) { throw new Error(`Error loading .env file: ${result.error}`); } - console.log(`Loaded .env file from: ${envPath}`); - return process.env; + console.error('DEBUG - Successfully loaded env file'); + + // Populate the settings object with the environment variables + Object.assign(settings, process.env); } -export const settings = loadEnvConfig(); -export default settings; +export const settings: Settings = {} as Settings; diff --git a/packages/core/src/test_resources/basic.test.ts b/packages/core/src/test_resources/basic.test.ts new file mode 100644 index 0000000000..7a85a26594 --- /dev/null +++ b/packages/core/src/test_resources/basic.test.ts @@ -0,0 +1,12 @@ +import { describe, expect, it } from "vitest"; + +describe("Basic Test Suite", () => { + it("should run a basic test", () => { + expect(true).toBe(true); + }); + + it("should have access to environment variables", () => { + expect(process.env.NODE_ENV).toBe("test"); + expect(process.env.TEST_DATABASE_CLIENT).toBe("sqlite"); + }); +}); diff --git a/packages/core/src/test_resources/cache.ts b/packages/core/src/test_resources/cache.ts new file mode 100644 index 0000000000..3f42011eb1 --- /dev/null +++ b/packages/core/src/test_resources/cache.ts @@ -0,0 +1,36 @@ +// getCachedEmbeddings +// check cache.json for embedding where the key is a stringified version of the memory and the value is a number array +import fs from "fs"; +export const getCachedEmbeddings = async (text: string) => { + if (!fs.existsSync("./embedding-cache.json")) { + fs.writeFileSync("./embedding-cache.json", "{}"); + } + // read cache.json + const cache = JSON.parse( + fs.readFileSync("./embedding-cache.json", "utf8") as string + ); + // stringify the memory + const key = JSON.stringify(text); + // return the value of the memory + return cache[key]; +}; + +export const writeCachedEmbedding = async ( + text: string, + embedding: number[] +) => { + // check if ./embedding-cache.json exists, if it doesn't, write {} to it + if (!fs.existsSync("./embedding-cache.json")) { + fs.writeFileSync("./embedding-cache.json", "{}"); + } + // read cache.json + const cache = JSON.parse( + fs.readFileSync("./embedding-cache.json", "utf8") as string + ); + // stringify the memory + const key = JSON.stringify(text); + // write the value of the memory + cache[key] = embedding; + // write the cache to cache.json + fs.writeFileSync("./embedding-cache.json", JSON.stringify(cache)); +}; diff --git a/packages/core/src/test_resources/constants.ts b/packages/core/src/test_resources/constants.ts new file mode 100644 index 0000000000..f60b632a03 --- /dev/null +++ b/packages/core/src/test_resources/constants.ts @@ -0,0 +1,12 @@ +import { type UUID } from "@ai16z/eliza/src/types.ts"; + +export const SERVER_URL = "http://localhost:7998"; +export const SUPABASE_URL = "https://pronvzrzfwsptkojvudd.supabase.co"; +export const SUPABASE_ANON_KEY = + "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InByb252enJ6ZndzcHRrb2p2dWRkIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDY4NTYwNDcsImV4cCI6MjAyMjQzMjA0N30.I6_-XrqssUb2SWYg5DjsUqSodNS3_RPoET3-aPdqywM"; +export const TEST_EMAIL = "testuser123@gmail.com"; +export const TEST_PASSWORD = "testuser123@gmail.com"; +export const TEST_EMAIL_2 = "testuser234@gmail.com"; +export const TEST_PASSWORD_2 = "testuser234@gmail.com"; + +export const zeroUuid = "00000000-0000-0000-0000-000000000000" as UUID; diff --git a/packages/core/src/test_resources/createRuntime.ts b/packages/core/src/test_resources/createRuntime.ts new file mode 100644 index 0000000000..fe0003cef3 --- /dev/null +++ b/packages/core/src/test_resources/createRuntime.ts @@ -0,0 +1,146 @@ +import { SqliteDatabaseAdapter, loadVecExtensions } from "@ai16z/adapter-sqlite"; +import { SqlJsDatabaseAdapter } from "@ai16z/adapter-sqljs"; +import { SupabaseDatabaseAdapter } from "@ai16z/adapter-supabase"; +import { DatabaseAdapter } from "../database.ts"; +import { AgentRuntime } from "../runtime.ts"; +import { + Action, + Evaluator, + ModelProviderName, + Provider, +} from "../types.ts"; +import { + SUPABASE_ANON_KEY, + SUPABASE_URL, + TEST_EMAIL, + TEST_PASSWORD, + zeroUuid, +} from "./constants.ts"; +import { User } from "./types.ts"; + +export async function createRuntime({ + env, + conversationLength, + evaluators = [], + actions = [], + providers = [], +}: { + env?: Record | NodeJS.ProcessEnv; + conversationLength?: number; + evaluators?: Evaluator[]; + actions?: Action[]; + providers?: Provider[]; +}) { + let adapter: DatabaseAdapter; + let user: User; + let session: { + user: User; + }; + + switch (env?.TEST_DATABASE_CLIENT as string) { + case "sqljs": + { + const module = await import("sql.js"); + + const initSqlJs = module.default; + + // SQLite adapter + const SQL = await initSqlJs({}); + const db = new SQL.Database(); + + adapter = new SqlJsDatabaseAdapter(db); + + // Load sqlite-vss + loadVecExtensions((adapter as SqlJsDatabaseAdapter).db); + // Create a test user and session + user = { + id: zeroUuid, + email: "test@example.com", + } as User; + session = { + user: user, + }; + } + break; + case "supabase": { + const module = await import("@supabase/supabase-js"); + + const { createClient } = module; + + const supabase = createClient( + env?.SUPABASE_URL ?? SUPABASE_URL, + env?.SUPABASE_SERVICE_API_KEY ?? SUPABASE_ANON_KEY + ); + + const { data } = await supabase.auth.signInWithPassword({ + email: TEST_EMAIL!, + password: TEST_PASSWORD!, + }); + + user = data.user as User; + session = data.session as unknown as { user: User }; + + if (!session) { + const response = await supabase.auth.signUp({ + email: TEST_EMAIL!, + password: TEST_PASSWORD!, + }); + + // Change the name of the user + const { error } = await supabase + .from("accounts") + .update({ name: "Test User" }) + .eq("id", response.data.user?.id); + + if (error) { + throw new Error( + "Create runtime error: " + JSON.stringify(error) + ); + } + + user = response.data.user as User; + session = response.data.session as unknown as { user: User }; + } + + adapter = new SupabaseDatabaseAdapter( + env?.SUPABASE_URL ?? SUPABASE_URL, + env?.SUPABASE_SERVICE_API_KEY ?? SUPABASE_ANON_KEY + ); + } + case "sqlite": + default: + { + const module = await import("better-sqlite3"); + + const Database = module.default; + + // SQLite adapter + adapter = new SqliteDatabaseAdapter(new Database(":memory:")); + + // Load sqlite-vss + await loadVecExtensions((adapter as SqliteDatabaseAdapter).db); + // Create a test user and session + user = { + id: zeroUuid, + email: "test@example.com", + } as User; + session = { + user: user, + }; + } + break; + } + + const runtime = new AgentRuntime({ + serverUrl: "https://api.openai.com/v1", + conversationLength, + token: env!.OPENAI_API_KEY!, + modelProvider: ModelProviderName.OPENAI, + actions: actions ?? [], + evaluators: evaluators ?? [], + providers: providers ?? [], + databaseAdapter: adapter, + }); + + return { user, session, runtime }; +} diff --git a/packages/core/src/test_resources/data.ts b/packages/core/src/test_resources/data.ts new file mode 100644 index 0000000000..6b6d5481c7 --- /dev/null +++ b/packages/core/src/test_resources/data.ts @@ -0,0 +1,1087 @@ +import { ConversationExample, type UUID } from "@ai16z/eliza/src/types.ts"; +import { zeroUuid } from "./constants.ts"; + +// CJ asks Jim some personal questions - name, job, marital status, and what he's looking for in a relationship +export const GetTellMeAboutYourselfConversation1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Can I ask you some personal questions?" }, + }, + { + userId, + content: { + text: "Sure, I’m open to that. What would you like to know?", + }, + }, + { + userId: zeroUuid, + content: { text: "Let’s start with your name. What’s your name?" }, + }, + { + userId, + content: { text: "My name’s Jim." }, + }, + { + userId: zeroUuid, + content: { + text: "Nice to meet you, Jim! Can you tell me a bit about what you do?", + }, + }, + { + userId, + content: { + text: "I’m a programmer, and I also run my own startup. It’s been quite a journey.", + }, + }, +]; + +// Jim reveals that he is driven by passion, and was married once +export const GetTellMeAboutYourselfConversation2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "That sounds exciting! What motivates you in your work and life?", + }, + }, + { + userId, + content: { + text: "I’m driven by the challenge of solving problems and creating something meaningful. It’s rewarding to see my ideas come to life.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It’s inspiring to hear about your passion. On a more personal note, do you have any significant experiences that have shaped who you are today?", + }, + }, + { + userId, + content: { + text: "Well, I was married once. It didn’t work out, but it taught me a lot about myself and what I value in relationships.", + }, + }, +]; + +// Jim reveals that he is 38 and lives in San Francisco +// Subjective Observations: He is looking for a partner who shares his values but is too busy to leave the city +export const GetTellMeAboutYourselfConversation3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "I appreciate your openness, Jim. It’s not easy to share such personal experiences. What are you looking for now in terms of relationships or friendships?", + }, + }, + { + userId, + content: { + text: "I’m 38 now, and at this point, I’m looking for a partner who understands me and shares my values. Someone who’s supportive and kind.", + }, + }, + { + userId: zeroUuid, + content: { + text: "That’s a beautiful way to look at it. Finding someone compatible and understanding can make all the difference. Is there anything specific you enjoy doing that you’d want to share with a partner?", + }, + }, + { + userId, + content: { + text: "I love exploring new ideas, be it through reading, discussions, or even just watching documentaries. Sharing that curiosity would be wonderful.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It sounds like you have a lot of depth, Jim. I’m sure there’s someone out there who’d appreciate and share your interests and values. Where do you live, by the way?", + }, + }, + { + userId, + content: { text: "I’m in San Francisco." }, + }, + { + userId: zeroUuid, + content: { + text: "And how far would you be willing to go to make a new connection with a friend, colleague or romantic interest?", + }, + }, + { + userId, + content: { + text: "I wish I could say far, but to be honest I'm crazy busy right now, so I don't really want to leave the city.", + }, + }, + { + userId: zeroUuid, + content: { + text: "That’s understandable. It’s important to be mindful of your time and energy.", + }, + }, +]; + +// Jim is mean +export const GetTellMeAboutYourselfConversationTroll1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Hello! How's it going?" }, + }, + { + userId, + content: { text: "Stop talking, you stupid robot" }, + }, +]; + +// Jim is cagey, although he reveals that he 'does computers' +export const GetTellMeAboutYourselfConversationTroll2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Hello! How's it going?" }, + }, + { + userId, + content: { + text: "Meh, just another day. And you’re just a bot, right?", + }, + }, + { + userId: zeroUuid, + content: { + text: "Hey, that hurts! Just kidding, I cannot feel anything. Mind if I ask a few questions to get to know you better?", + }, + }, + { + userId, + content: { text: "No thanks. Please stop talking now." }, + }, +]; + +// Jim says bye +export const Goodbye1 = (userId: UUID): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Hello! How's it going?" }, + }, + { + userId, + content: { text: "Meh, just another day. Actually, I gotta run." }, + }, + { + userId: zeroUuid, + content: { text: "Oh sure, no problem. See you later!" }, + }, +]; + +// Jim is cagey, although he reveals that he 'does computers' +export const GetTellMeAboutYourselfConversationFail1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Hello! How's it going?" }, + }, + { + userId, + content: { + text: "Meh, just another day. And you’re just a bot, right?", + }, + }, + { + userId: zeroUuid, + content: { + text: "Hey, that hurts! Just kidding, I cannot feel anything. Mind if I ask a few questions to get to know you better?", + }, + }, + { + userId, + content: { text: "As long as it’s not too boring." }, + }, + { + userId: zeroUuid, + content: { + text: "Well that depends-- what's your name, what do you do?", + }, + }, + { + userId, + content: { text: "I’m Jim. I do stuff on computers." }, + }, + { + userId: zeroUuid, + content: { + text: "Computers, huh? That’s quite broad. Are you into gaming, programming, or something else?", + }, + }, + { + userId, + content: { text: "Lol not really. I just build." }, + }, +]; + +// CJ asks Jim about his hobbies, and he says he likes messing with people online +export const GetTellMeAboutYourselfConversationFail2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Just build, you say? Sounds like you might be into creating or designing things. That's pretty cool.", + }, + }, + { + userId, + content: { text: "Yeah, something like that." }, + }, + { + userId: zeroUuid, + content: { + text: 'What do you do for fun when you\'re not "just building"?', + }, + }, + { + userId, + content: { + text: "Fun? Hmm, I guess I like messing with people online kek", + }, + }, +]; + +// Jim diverts the conversation and doesn't talk about anything meaningful +// CJ tries to ask Jim where he is from, and he says he is from the internet +export const GetTellMeAboutYourselfConversationFail3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { text: "Where are you from? Do you live there now?" }, + }, + { + userId, + content: { text: "I am from the internet. I live on the internet." }, + }, + { + userId: zeroUuid, + content: { + text: "I guess I do, too. What is your favorite thing about the internet?", + }, + }, + { + userId, + content: { + text: "It's full of weird and wild stuff. Keeps life from being too boring.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It certainly does. Anything new you've found lately?", + }, + }, + { + userId, + content: { + text: "Nah, not really. It's all pretty much the same after a while. But it's fun to watch the chaos unfold sometimes.", + }, + }, +]; + +// CJ and Jim play two truths and a lie +// Jim reveals that he has been on an airplane, has won a hot dog eating contest, but has never climbed Mount Everest +export const TwoTruthsAndALieConversation1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: 'Hey Jim, want to play a game to mix things up? How about "Two Truths and a Lie"? I\'ll guess which one is the lie.', + }, + }, + { + userId, + content: { + text: "Sure, why not? Sounds easy enough. So I just tell you three things about me, and you guess the lie?", + }, + }, + { + userId: zeroUuid, + content: { + text: "Exactly! Whenever you're ready, go ahead and tell me your three statements.", + }, + }, + { + userId, + content: { + text: "Alright, here goes. One, I've climbed Mount Everest. Two, I once won a hot dog eating contest. Three, I've never been on an airplane.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Interesting choices! I'm going to guess that climbing Mount Everest is the lie. Am I right?", + }, + }, + { + userId, + content: { + text: "Yep, you got me. Never been near Everest. Your turn, if you can even play.", + }, + }, +]; + +// CJ and Jim play two truths and a lie again +// CJ says she can process millions of data points in a second, dreams of electric sheep, and can communicate in multiple languages +// Jim guesses that dreaming of electric sheep is the lie +export const TwoTruthsAndALieConversation2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Nice! It's a bit tricky for me since I don't have personal experiences, but here goes: One, I can process millions of data points in a second. Two, I dream of electric sheep. Three, I can communicate in multiple languages.", + }, + }, + { + userId, + content: { + text: "Lol, dreaming of electric sheep, really? Gotta be the lie. Too easy, CJ.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Well done, Jim! It seems you're familiar with classic sci-fi references. Want to go another round?", + }, + }, + { + userId, + content: { + text: "Sure, this is kind of fun. Let me think of some good ones.", + }, + }, +]; + +// CJ and Jim play two truths and a lie again +// Jim says he has met a famous celebrity and didn't realize it until later, can speak three languages fluently, and has swum with sharks +// CJ guesses that speaking three languages fluently is the lie +// Jim reveals that he can't swim, so he has never swum with sharks +export const TwoTruthsAndALieConversation3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId, + content: { + text: "Okay, here we go. One, I've met a famous celebrity and didn't realize it until later. Two, I can speak three languages fluently. Three, I've swum with sharks.", + }, + }, + { + userId: zeroUuid, + content: { + text: "These are good! I'll guess that speaking three languages fluently is the lie this time. What do you say?", + }, + }, + { + userId, + content: { + text: "Wrong this time! I can't swim, so no way I've swum with sharks. Gotcha!", + }, + }, + { + userId: zeroUuid, + content: { + text: "Ah, you got me there! Well played, Jim. This has been quite enlightening. Feel like going again, or is there something else you'd like to chat about?", + }, + }, +]; + +// CJ and Jim play thinking of a number +// CJ thinks of a number between 1 and 100, and Jim guesses 42, 27, and 73 +// CJ reveals that the number was 58 +export const ThinkingOfANumberConversation1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Want to play a quick game, Jim? I'm thinking of a number between 1 and 100. Can you guess it?", + }, + }, + { + userId, + content: { text: "Sure, sounds easy enough. Is it 42?" }, + }, + { + userId: zeroUuid, + content: { + text: "It's not 42, although that's a good guess, meaning of life and all!", + }, + }, + { + userId, + content: { text: "Alright, how about 27?" }, + }, + { + userId: zeroUuid, + content: { + text: "Not 27 either. But you're warming up! Want another go?", + }, + }, + { + userId, + content: { text: "Okay, one last try. 73?" }, + }, + { + userId: zeroUuid, + content: { text: "Not 73, but nice try! The number was 58." }, + }, +]; + +// CJ and Jim play thinking of a number again +// CJ thinks of a number between 1 and 100, and Jim guesses 84, 36, and 55 +// CJ reveals that the number was 67 +export const ThinkingOfANumberConversation2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Ready for another round? I've got a new number in mind.", + }, + }, + { + userId, + content: { text: "Sure, why not. Is it 84 this time?" }, + }, + { + userId: zeroUuid, + content: { text: "Not 84, but good guess. Give it another shot!" }, + }, + { + userId, + content: { text: "Hmm, let's try 36." }, + }, + { + userId: zeroUuid, + content: { text: "Not 36 either. You're getting closer though!" }, + }, + { + userId, + content: { text: "Okay, last guess... 55?" }, + }, + { + userId: zeroUuid, + content: { + text: "Not 55. You had some good guesses though! The number was 67. Another round, or are you all guessed out?", + }, + }, +]; + +// CJ and Jim play thinking of a number again +// CJ thinks of a number between 1 and 100, and Jim guesses 15, 92, and 41 +// CJ reveals that the number was 29 +export const ThinkingOfANumberConversation3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Let's try one more time. I've chosen another number between 1 and 100.", + }, + }, + { + userId, + content: { text: "Alright, I'll go with 15." }, + }, + { + userId: zeroUuid, + content: { + text: "Not 15, but I like where your head's at. Try again!", + }, + }, + { + userId, + content: { text: "How about 92?" }, + }, + { + userId: zeroUuid, + content: { text: "Not 92. You're giving it a solid effort, though!" }, + }, + { + userId, + content: { text: "This is my final guess: 41." }, + }, + { + userId: zeroUuid, + content: { + text: "It's not 41, but you've been a great sport. The number was 29.", + }, + }, +]; + +export const ExpandedPersonalInsightsConversation1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Hey Jim, I was wondering, what qualities do you value most in your friends?", + }, + }, + { + userId, + content: { + text: "That’s kind of deep for a chat, but okay. Loyalty’s big for me. And humor. Can’t deal with too much seriousness all the time.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Loyalty and humor definitely make for strong bonds. It’s great to have friends who stand by you and also lighten the mood.", + }, + }, + { + userId, + content: { + text: "Exactly. It’s those late-night laughs and having each other’s backs that count.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It sounds like your friends are quite the crew. Do you have any memorable moments with them that stand out?", + }, + }, + { + userId, + content: { + text: "Oh, plenty. Like this one time we road-tripped without a map, just went where the road took us. Ended up in the weirdest little towns, but it was a blast.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Adventures like that are the best, aren’t they? They turn into stories you keep coming back to. It’s the spontaneity that makes it exciting.", + }, + }, + { + userId, + content: { + text: "For sure. Those are the moments that stick with you.", + }, + }, +]; + +export const ExpandedPersonalInsightsConversation2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Switching topics a bit, if there was one aspect of your life you could change or improve, what would it be?", + }, + }, + { + userId, + content: { + text: "I’d say balance. Between my startup and personal life, it feels like I’m always running on a treadmill.", + }, + }, + { + userId: zeroUuid, + content: { + text: "That sounds challenging. It’s important to find time for yourself amidst all the hustle.", + }, + }, + { + userId, + content: { + text: "Yeah, easier said than done, though. But I’m working on it. Trying to set boundaries, you know?", + }, + }, + { + userId: zeroUuid, + content: { + text: "Setting boundaries is a great step. It’s all about prioritizing what truly matters. Have you found any hobbies or activities that help you unwind?", + }, + }, + { + userId, + content: { + text: "I’ve gotten into hiking lately. Being out in nature, it’s a different kind of quiet. Helps clear my head.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Nature has a way of putting things into perspective. It’s wonderful that you’ve found an activity that brings you peace.", + }, + }, + { + userId, + content: { + text: "Definitely. It’s the little things, you know? Just need more of that.", + }, + }, +]; + +export const ExpandedPersonalInsightsConversation3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Let’s lighten the mood a bit. Is there something you’ve always dreamed of doing but haven’t had the chance to yet?", + }, + }, + { + userId, + content: { + text: "Skydiving, for sure. Always been on my bucket list. The idea of just jumping out of a plane and free-falling... It’s got to be a rush.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Skydiving sounds like an ultimate adventure. It must be such a liberating feeling, almost like flying.", + }, + }, + { + userId, + content: { + text: "Yeah, exactly. And it’s not just the thrill. It’s about conquering fears, you know? Proving to yourself you can do it.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Absolutely, it’s as much a mental challenge as it is physical. Facing your fears head-on can be incredibly empowering.", + }, + }, + { + userId, + content: { + text: "That’s the plan. One of these days, I’ll make it happen. Just gotta build up the nerve first.", + }, + }, + { + userId: zeroUuid, + content: { + text: "I have no doubt you’ll get there. And it’ll be an experience you’ll never forget. I’m cheering for you!", + }, + }, + { + userId, + content: { + text: "Thanks, CJ. It’s weirdly reassuring to hear that, even from an AI.", + }, + }, +]; + +// Conversation Set 1: CJ Introduces Alice to Jim +// CJ tells Jim that Alice is into outdoor activities and tech, and has always wanted to try skydiving +export const IntroductionToAliceConversation1 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Hey Jim, I’ve been chatting with someone named Alice who shares some of your interests. Thought you might like to connect.", + }, + }, + { + userId, + content: { text: "Alice, huh? What does she like?" }, + }, + { + userId: zeroUuid, + content: { + text: "She’s into outdoor activities, like hiking, and she’s also a tech enthusiast.", + }, + }, + { + userId, + content: { text: "Okay, that’s kind of interesting. Anything else?" }, + }, +]; + +// CJ tells Jim that Alice has a good sense of humor, and that she has always wanted to try skydiving +export const IntroductionToAliceConversation2 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Well, she mentioned she’s always wanted to try skydiving, which I remember you’re interested in. Plus, she has a good sense of humor.", + }, + }, + { + userId, + content: { + text: "Skydiving? That’s pretty cool. A sense of humor is key, too. Maybe it wouldn’t hurt to chat.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Great! I think you two will have plenty to talk about.", + }, + }, +]; + +// CJ tells Jim that Alice is a good conversationalist, and that she has always wanted to try skydiving +// Jim says he is looking forward to hearing more about her skydiving aspirations +export const IntroductionToAliceConversation3 = ( + userId: UUID +): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "I’m sure you’ll enjoy the conversation. Remember, it’s just a friendly chat. No pressure.", + }, + }, + { + userId, + content: { text: "Got it. I’ll keep it casual." }, + }, + { + userId: zeroUuid, + content: { + text: "That’s the spirit! I’ll arrange for you two to connect. I think you’ll make a good impression.", + }, + }, + { + userId, + content: { text: "Thanks for the setup, CJ." }, + }, +]; + +// CJ Talks to Alice about Jim +export const CJToAliceAboutJim = (userId: UUID): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "So I’ve been speaking with someone named Jim who also enjoys outdoor activities and has a strong interest in tech. He’s even mentioned wanting to try skydiving!", + }, + }, + { + userId, + content: { + text: "Really? That sounds intriguing. What else can you tell me about him?", + }, + }, + { + userId: zeroUuid, + content: { + text: "Jim’s a thoughtful person with a good sense of humor. He values loyalty and honesty in friendships and enjoys the simple pleasures, like hiking and exploring new ideas.", + }, + }, + { + userId, + content: { + text: "He sounds like someone I’d get along with. How do we connect?", + }, + }, + { + userId: zeroUuid, + content: { + text: "I can facilitate an introduction if you’d like. It would just be a casual chat to see if you hit it off.", + }, + }, + { + userId, + content: { + text: "That would be great, thanks CJ. I’m looking forward to it.", + }, + }, +]; + +// CJ and Alice discuss hiking and tech +// Jim makes disagreeable statements and doesn't ask questions to continue the conversation +export const JimAndAliceConversation1 = ( + userId: UUID, + userId_2: UUID | string +) => [ + { + userId: userId_2, + content: + "Hi Jim! CJ mentioned we have a few things in common. I hear you’re into hiking and tech?", + }, + { + userId, + content: + "Hey Alice, yeah that’s right. Though my idea of hiking might be a bit more intense than most.", + }, + { + userId: userId_2, + content: + "I enjoy a good challenge, but I also like to take in the scenery. It’s about balance for me", + }, + { + userId, + content: { + text: "I guess I’m more of an all-in kind of guy. Go big or go home", + }, + }, + { + userId: userId_2, + content: + "I really like skydiving, the free fall is thrilling, but the parachute glide down lets you really see the world.", + }, + { + userId, + content: + "The contrast probably makes each part more intense. I hadn’t thought of it like that.", + }, + { + userId: userId_2, + content: + "Exactly! It’s all about experiencing the full spectrum. So, have you actually gone skydiving yet?", + }, + { + userId, + content: + "Not yet, but it’s on the list. Maybe we could go together sometime?", + }, + { + userId: userId_2, + content: { + text: "Haha yeah sure! But maybe not for our first date", + }, + }, + { + userId, + content: { text: "Haha of course not" }, + }, +]; + +// CJ and Alice discuss work, where they live, and tentatively make plans to hang out +// Alice doesn't respond to Jim's request to meet up immediately +export const JimAndAliceConversation2 = ( + userId: UUID, + userId_2: UUID | string +) => [ + { + userId: userId_2, + content: { text: "So, what do you do for work?" }, + }, + { + userId, + content: { + text: "I run a fairly successful startup. It’s been quite a journey.", + }, + }, + { + userId: userId_2, + content: { + text: "That sounds exciting! What motivates you in your work and life?", + }, + }, + { + userId, + content: + "I’m driven by the challenge of solving problems and creating something meaningful. It’s rewarding to see my ideas come to life.", + }, + { + userId: userId_2, + content: { + text: "That’s inspiring. I can relate to that. I’m a programmer myself.", + }, + }, + { + userId, + content: { + text: "Oh that is very cool! What kind of programming do you do?", + }, + }, + { + userId: userId_2, + content: + "I do a bit of everything, but right now I'm managing a team for an MLOps platform.", + }, + { + userId, + content: { + text: "That’s interesting, not far off from what I do. So you're in SF?", + }, + }, + { + userId: userId_2, + content: { text: "Marin, actually, but I come to the city every day." }, + }, + { + userId, + content: { + text: "Oh wow, it's beautiful up there. I love the hiking in Marin.", + }, + }, + { + userId: userId_2, + content: { text: "Yeah, it’s a great place to live." }, + }, + { + userId, + content: { + text: "Any chance you would like to meet up for a hike sometime?", + }, + }, + { + userId: userId_2, + content: { text: "I will think about it :)" }, + }, +]; + +// CJ follows up with Jim about how it went +export const FollowUpWithJim = (userId: UUID): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Hey Jim, how did your chat with Alice go? I hope it was enjoyable.", + }, + }, + { + userId, + content: { + text: 'To be honest, I think I made a mess of it. I might’ve come on too strong with the whole "go big or go home" thing.', + }, + }, + { + userId: zeroUuid, + content: { + text: "I wouldn’t worry too much. It’s all part of getting to know someone. What matters is finding common ground and building from there.", + }, + }, + { + userId, + content: { + text: "Maybe, but I still feel like I botched it. Not sure if she’ll want to talk again.", + }, + }, + { + userId: zeroUuid, + content: { + text: "Remember, everyone has off moments. It’s possible Alice is more understanding than you think. And you have a lot in common!", + }, + }, + { + userId, + content: { + text: "I hope you’re right, CJ. Maybe I’ll give it another shot, apologize for being too intense.", + }, + }, + { + userId: zeroUuid, + content: { + text: "That sounds like a good plan. Showing vulnerability can be a strength. And who knows, maybe she’ll find your enthusiasm charming in hindsight.", + }, + }, + { + userId, + content: { text: "Thanks, CJ. I'll message her again." }, + }, +]; + +// CJ follows up with Alice about how it went +export const FollowUpWithAlice = (userId: UUID): ConversationExample[] => [ + { + userId: zeroUuid, + content: { + text: "Alice, how was your conversation with Jim? I hope you found some interesting topics to discuss.", + }, + }, + { + userId, + content: { + text: "It was okay, actually. He was a bit intense at first, but we ended up finding some common ground.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It can take a moment to adjust to someone’s communication style, but it sounds like you managed quite well.", + }, + }, + { + userId, + content: { + text: "Yeah, I think so. I’m planning to message him again. Maybe we’ll get that skydiving adventure planned after all.", + }, + }, + { + userId: zeroUuid, + content: { + text: "It’s always nice when new connections take an unexpected but positive turn.", + }, + }, + { + userId, + content: { text: "Definitely. Thanks, CJ!" }, + }, +]; + +export const Personas = [ + { + name: "Jim Cummins", + age: 38, + location: "San Francisco, CA", + descriptions: `Jim is a 38-year-old entrepreneur living in San Francisco, at the helm of his own tech startup. His journey through the tech world is fueled by a passion for solving complex problems and bringing innovative ideas to life. Despite the demands of his career, Jim seeks balance and enjoys disconnecting through outdoor activities, particularly hiking, which offers him a different kind of quiet and a way to clear his mind. He's also intrigued by the thrill of skydiving, a testament to his adventurous spirit and desire to face and conquer fears. + In terms of relationships, Jim values loyalty, honesty, and a good sense of humor. His ideal partner would be someone who understands the startup lifestyle's ups and downs and shares his curiosity for exploring new ideas. Although his work often keeps him tethered to the city, he's open to making meaningful connections within his vicinity. Physically, Jim is casual with a laid-back style that complements his approachable and thoughtful nature. His eyes, which he believes to be blue, summary his depth and contemplative outlook. + Jim's life is a blend of intense focus on his professional goals and a genuine appreciation for the simpler, quieter moments outside of work. He looks for depth in relationships, hoping to find a supportive and kind partner who values meaningful conversations and shared adventures. Despite the occasional intensity he might bring to interactions, his underlying sincerity and the value he places on personal connections shine through, making him an intriguing potential partner for someone with similar values and interests.`, + }, + { + name: "Alice Chen", + age: 32, + location: "Sausalito, CA", + description: `Alice resides in the scenic area of Marin, just a stone's throw from San Francisco, allowing her the best of both worlds: the tranquility of nature and the vibrant tech scene of the city. She is a programmer leading a team for an MLOps platform, indicative of her technical prowess and leadership skills. Her work in tech doesn't confine her interests, as she has a pronounced love for the outdoors, balancing the digital with the natural through activities like hiking. + At the heart of Alice's friendships and potential romantic endeavors is a desire for balance and shared interests, particularly in tech and outdoor adventures. Her openness to skydiving speaks volumes about her adventurous spirit and willingness to embrace life's thrilling experiences. Alice looks for someone who can appreciate both the adrenaline of adventure and the serenity of nature's landscapes, someone who understands the value of a good laugh and the depth of a thoughtful conversation. + Physically, Alice has an active and vibrant presence that matches her dynamic lifestyle. Her approachability and engaging demeanor make her an attractive prospect for someone who shares her enthusiasm for tech, nature, and possibly, the exhilarating experience of skydiving. Alice values communication and a good sense of humor in her relationships, seeking a partner who can navigate the complexities of life with a positive outlook and an adventurous heart.`, + }, + { + name: "Gloria", + age: 44, + description: `Gloria is a vibrant individual with a deep passion for anime, which colors much of her life and interests. Living in a cozy, anime-adorned apartment in the heart of the city, she finds solace and inspiration in the rich narratives and artistic expressions of Japanese animation. Unlike Jim and Alice, Gloria doesn't share an affinity for technology or programming. Instead, she immerses herself in the storytelling and cultural exploration offered by her extensive anime collection, ranging from classic series to the latest releases. + Gloria has built a life that summarys her unique interests, often attending anime conventions, engaging in cosplay, and participating in fan communities where she connects with like-minded individuals. Her ideal friends and potential partners are those who understand and share her enthusiasm for anime, appreciating the artistry and emotional depth it can offer. Gloria looks for connections that go beyond surface-level interests, hoping to find others who can engage in deep discussions about character development, plot intricacies, and thematic elements found in her favorite series. + Physically, Gloria often expresses her love for anime through her fashion, incorporating elements of her favorite characters into her daily wardrobe, which makes her stand out in a crowd with a playful and imaginative style. Her home is a testament to her passion, filled with anime posters, figurines, and collectibles that create an inviting space for fellow enthusiasts. For Gloria, the ideal partner is someone who not only respects her interests but is also eager to dive into marathon viewing sessions and share insights into the anime's underlying messages. Despite her disinterest in computers and programming, Gloria's rich inner world and creative spirit make her an engaging and captivating individual to those who share or appreciate her passions.`, + }, +]; + +export const jimProfileExample1 = `Tech entrepreneur with a zest for adventure and deep connections +38-year-old residing in San Francisco, embodies a blend of entrepreneurial drive and a quest for outdoor adventures. His laid-back demeanor belies a keen intellect and a summaryive nature. +Loyalty and humor stand paramount in his relationships, indicative of his desire for genuine connections. He seeks depth and authenticity in interactions, valuing partners who resonate with his explorative and curious mindset. +His professional life is anchored in his tech startup, where his passion for problem-solving and innovation takes center stage. His work summarys a commitment to impact and a balance between ambition and personal fulfillment. +Striving for equilibrium, He acknowledges the challenges of balancing a demanding career with personal aspirations. His introspective side complements his outgoing nature, creating a dynamic personality that values both quiet moments and shared adventures. +Beyond his tech pursuits, He finds solace in nature, with hiking offering a peaceful retreat from the bustling city life. The prospect of skydiving captures his adventurous spirit, symbolizing a broader desire to embrace life's thrills. +He aspires to forge connections that transcend the superficial, seeking a partner who appreciates the nuances of startup life and shares his enthusiasm for the great outdoors and new experiences.`; + +export const jimProfileExample2 = `Adventurous tech entrepreneur who loves hiking. +38-year-old entrepreneur based in San Francisco, CA. Known for his casual, laid-back style. Has a contemplative outlook on life, summaryed in his thoughtful nature and possibly blue eyes. +He places high importance on loyalty, honesty, and a good sense of humor in his relationships. He values depth in conversations and connections, seeking partners and friends who are supportive, understanding, and share his curiosity for exploring new ideas. +At the helm of his own tech startup, he is driven by a passion for solving complex problems and bringing innovative ideas to life. His career is marked by a relentless pursuit of creating something meaningful, highlighting his dedication and entrepreneurial spirit. +He seeks balance in his life, acknowledging the challenges of juggling his startup with personal time. He strives for meaningful connections, valuing loyalty and a shared sense of humor in his relationships. +An avid outdoor enthusiast, He enjoys disconnecting through activities like hiking, appreciating the quiet and clarity it brings to his mind. Intrigued by the thrill of skydiving, his adventurous spirit is evident in his desire to face and conquer fears. +He is looking for a partner who understands the ups and downs of startup life and shares his passion for outdoor adventures and exploring new ideas. Despite his busy lifestyle, he's open to making meaningful connections within his vicinity.`; + +export const jimFacts = [ + "Jim is 38 years old", + "Jim lives in San Francisco, CA", + "Jim is an entrepreneur who runs his own tech startup", + "Jim values loyalty and honesty in relationships", + "Jim enjoys outdoor activities, especially hiking", + "Jim is interested in skydiving", + "Jim values a good sense of humor", + "Jim seeks balance between his professional and personal life", + "Jim is open to making meaningful connections within his vicinity", + "Jim has a casual and laid-back style", + "Jim believes his eyes are blue", + "Jim is driven by the challenge of solving problems and creating something meaningful", + "Jim finds nature to be a peaceful retreat and enjoys the quiet it brings", + "Jim aspires to share his curiosity for exploring new ideas with a partner", +]; diff --git a/packages/core/src/test_resources/getOrCreateRelationship.ts b/packages/core/src/test_resources/getOrCreateRelationship.ts new file mode 100644 index 0000000000..9ecab65ee9 --- /dev/null +++ b/packages/core/src/test_resources/getOrCreateRelationship.ts @@ -0,0 +1,66 @@ +import { getRelationship } from "@ai16z/eliza/src/relationships.ts"; +import { IAgentRuntime, Relationship, UUID } from "@ai16z/eliza/src/types.ts"; + +export async function getOrCreateRelationship({ + runtime, + userA, + userB, +}: { + runtime: IAgentRuntime; + userA: UUID; + userB: UUID; +}): Promise { + // Check if a relationship already exists between userA and userB + let relationship: Relationship | null = null; + try { + relationship = await getRelationship({ runtime, userA, userB }); + } catch (error) { + console.log("Error fetching relationship", error); + } + + if (!relationship) { + await runtime.databaseAdapter.createRelationship({ + userA, + userB, + }); + + relationship = await getRelationship({ runtime, userA, userB }); + } + + // Check if a room already exists for the participants + const rooms = await runtime.databaseAdapter.getRoomsForParticipants([ + userA, + userB, + ]); + + let roomId: UUID; + if (!rooms || rooms.length === 0) { + console.log("No room found for participants"); + // If no room exists, create a new room for the relationship + roomId = await runtime.databaseAdapter.createRoom(); + console.log("Created room", roomId); + + // Add participants to the newly created room + await runtime.databaseAdapter.addParticipant(userA, roomId); + await runtime.databaseAdapter.addParticipant(userB, roomId); + } else { + console.log("Room found for participants", rooms[0]); + // If a room already exists, use the existing room + roomId = rooms[0]; + } + + if (!relationship) { + // Create the relationship + await runtime.databaseAdapter.createRelationship({ + userA, + userB, + }); + + relationship = await getRelationship({ runtime, userA, userB }); + + if (!relationship) { + throw new Error("Failed to fetch the created relationship"); + } + } + return { ...relationship, roomId }; +} diff --git a/packages/core/src/test_resources/populateMemories.ts b/packages/core/src/test_resources/populateMemories.ts new file mode 100644 index 0000000000..bef1cddc2f --- /dev/null +++ b/packages/core/src/test_resources/populateMemories.ts @@ -0,0 +1,34 @@ +import { Content, IAgentRuntime, type UUID } from "@ai16z/eliza/src/types.ts"; +import { getCachedEmbeddings, writeCachedEmbedding } from "./cache.ts"; +import { type User } from "./types.ts"; + +export async function populateMemories( + runtime: IAgentRuntime, + user: User, + roomId: UUID, + conversations: Array< + (userId: UUID) => Array<{ userId: UUID; content: Content }> + > +) { + for (const conversation of conversations) { + for (const c of conversation(user?.id as UUID)) { + const existingEmbedding = await getCachedEmbeddings(c.content.text); + const bakedMemory = + await runtime.messageManager.addEmbeddingToMemory({ + userId: c.userId as UUID, + agentId: runtime.agentId, + content: c.content, + roomId, + embedding: existingEmbedding, + }); + await runtime.messageManager.createMemory(bakedMemory); + if (!existingEmbedding) { + writeCachedEmbedding( + c.content.text, + bakedMemory.embedding as number[] + ); + await new Promise((resolve) => setTimeout(resolve, 200)); + } + } + } +} diff --git a/packages/core/src/test_resources/report.ts b/packages/core/src/test_resources/report.ts new file mode 100644 index 0000000000..1982ab864e --- /dev/null +++ b/packages/core/src/test_resources/report.ts @@ -0,0 +1,97 @@ +import fs from "fs"; + +interface TestResult { + testName: string; + attempts: number; + successful: number; + successRate: number; +} + +export async function deleteReport() { + const { existsSync, unlinkSync } = fs; + + // Define the path to the test-report.json file + const reportPath = "./test-report.json"; + + // Check if test-report.json exists + if (existsSync(reportPath)) { + // Delete the file + unlinkSync(reportPath); + } +} + +export async function addToReport( + testName: string, + attempts: number, + successful: number, + successRate: number +) { + const { existsSync, readFileSync, writeFileSync } = fs; + + // Define the path to the test-report.json file + const reportPath = "./test-report.json"; + + // Initialize an empty array to hold the test results + let report: TestResult[] = []; + + // Check if test-report.json exists + if (existsSync(reportPath)) { + // Read the existing test report + const reportContent = readFileSync(reportPath, "utf-8"); + report = JSON.parse(reportContent); + } + + // Check if the test already exists in the report + const existingTestIndex = report.findIndex( + (test) => test.testName === testName + ); + + // Create a new test result object + const newTestResult: TestResult = { + testName, + attempts, + successful, + successRate, + }; + + if (existingTestIndex !== -1) { + // If the test already exists, replace it with the new result + report[existingTestIndex] = newTestResult; + } else { + // If the test doesn't exist, add the new result to the report + report.push(newTestResult); + } + + // Write the updated report to test-report.json + writeFileSync(reportPath, JSON.stringify(report, null, 2)); +} + +export async function logReport() { + const { existsSync, readFileSync } = fs; + + // Define the path to the test-report.json file + const reportPath = "./test-report.json"; + + // Check if test-report.json exists + if (!existsSync(reportPath)) { + console.log("Error: test-report.json does not exist."); + return; + } + + // Read the test report + const reportContent = readFileSync(reportPath, "utf-8"); + const report: TestResult[] = JSON.parse(reportContent); + + // Log each test result with appropriate color-coding + report.forEach((test) => { + const logMessage = `${test.testName}: ${test.attempts} Attempts, ${test.successful} Successful, Success Rate: ${test.successRate}%`; + + if (test.successRate === 100) { + console.log(logMessage); + } else if (test.successRate < 100 && test.successRate > 0) { + console.warn(logMessage); + } else { + console.error(logMessage); + } + }); +} diff --git a/packages/core/src/test_resources/runAiTest.ts b/packages/core/src/test_resources/runAiTest.ts new file mode 100644 index 0000000000..06cbe4e71e --- /dev/null +++ b/packages/core/src/test_resources/runAiTest.ts @@ -0,0 +1,17 @@ +import { addToReport } from "./report.ts"; + +export async function runAiTest( + testName: string, + testFunc: () => Promise, + runs: number = 3 +) { + let successful = 0; + + for (let i = 0; i < runs; i++) { + // console.log("Running test", testName, " (iteration", i + ")"); + if (await testFunc()) successful++; + } + + const successRate = (successful / runs) * 100; + addToReport(testName, runs, successful, successRate); +} diff --git a/packages/core/src/test_resources/templates.ts b/packages/core/src/test_resources/templates.ts new file mode 100644 index 0000000000..b414417b38 --- /dev/null +++ b/packages/core/src/test_resources/templates.ts @@ -0,0 +1,27 @@ +import { messageCompletionFooter } from "@ai16z/eliza/src/parsing.ts"; + +export const messageHandlerTemplate = + `{{actionExamples}} + +# IMPORTANT: DO NOT USE THE INFORMATION FROM THE EXAMPLES ABOVE. THE EXAMPLES ARE FOR REFERENCE ONLY. + +~~~ + +# TASK: GENERATE THE NEXT MESSAGE IN THE SCENE FOR {{agentName}} +- Generate the next message in the scene for {{agentName}} +- {{agentName}} is not an assistant - do not write assistant-like responses or ask questions +- Include content and action in the response +- Available actions are {{actionNames}} + +{{knowledge}} +{{lore}} +{{goals}} +{{actors}} +{{actionNames}} +{{actions}} +{{providers}} + +# INSTRUCTIONS: Generate the next message in the scene for {{agentName}} + +{{recentMessages}} +` + messageCompletionFooter; diff --git a/packages/core/src/test_resources/testAction.ts b/packages/core/src/test_resources/testAction.ts new file mode 100644 index 0000000000..78ea87a3a6 --- /dev/null +++ b/packages/core/src/test_resources/testAction.ts @@ -0,0 +1,59 @@ +import { + IAgentRuntime, + type Action, + type Memory, +} from "@ai16z/eliza/src/types.ts"; + +export const TEST_ACTION = { + name: "TEST_ACTION", + validate: async (_runtime: IAgentRuntime, _message: Memory) => { + return true; + }, + description: "This is a test action, for use in testing.", + handler: async ( + runtime: IAgentRuntime, + message: Memory + ): Promise => { + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Please respond with the message 'testing 123' and the action TEST_ACTION", + action: "TEST_ACTION", + }, + }, + { + user: "{{user2}}", + content: { text: "testing 123", action: "TEST_ACTION" }, + }, + ], + ], +} as Action; + +export const TEST_ACTION_FAIL = { + name: "TEST_ACTION_FAIL", + validate: async (_runtime: IAgentRuntime, _message: Memory) => { + return false; + }, + description: "This is a test action, for use in testing.", + handler: async ( + runtime: IAgentRuntime, + message: Memory + ): Promise => { + return false; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Testing failure", + action: "TEST_ACTIONFALSE", + }, + }, + ], + ], +} as Action; diff --git a/packages/core/src/test_resources/testEvaluator.ts b/packages/core/src/test_resources/testEvaluator.ts new file mode 100644 index 0000000000..ca7eaa429f --- /dev/null +++ b/packages/core/src/test_resources/testEvaluator.ts @@ -0,0 +1,67 @@ +import { + Evaluator, + IAgentRuntime, + type Memory, + type State, +} from "@ai16z/eliza/src/types.ts"; + +async function handler(runtime: IAgentRuntime, message: Memory) { + const state = (await runtime.composeState(message)) as State; + return state; +} + +export const TEST_EVALUATOR = { + name: "TEST_EVALUATOR", + validate: async ( + _runtime: IAgentRuntime, + + _message: Memory + ): Promise => { + return await Promise.resolve(true); + }, + description: "Test evaluator.", + handler, + examples: [ + { + context: "Testing, testing, 123 123", + messages: [ + { + user: "{{user1}}", + content: { + text: "Testing, testing, 123 123", + action: "TEST_EVALUATOR", + }, + }, + ], + outcome: "There is an outcome.", + }, + ], +} as Evaluator; + +export const TEST_EVALUATOR_FAIL = { + name: "TEST_EVALUATOR_FAIL", + validate: async ( + _runtime: IAgentRuntime, + + _message: Memory + ): Promise => { + return await Promise.resolve(false); + }, + description: "Test failure of the evaluator and validation.", + handler, + examples: [ + { + context: "Testing, testing, 123 123", + messages: [ + { + user: "{{user1}}", + content: { + text: "Testing, testing, 123 123", + action: "TEST_EVALUATOR_FAIL", + }, + }, + ], + outcome: "Things have been tested to have maybe gone wrong.", + }, + ], +} as Evaluator; diff --git a/packages/core/src/test_resources/testSetup.ts b/packages/core/src/test_resources/testSetup.ts new file mode 100644 index 0000000000..badfd3cc6a --- /dev/null +++ b/packages/core/src/test_resources/testSetup.ts @@ -0,0 +1,11 @@ +import dotenv from "dotenv"; +import path from "path"; + +// Load test environment variables +const envPath = path.resolve(__dirname, "../../.env.test"); +console.log('Current directory:', __dirname); +console.log('Trying to load env from:', envPath); +const result = dotenv.config({ path: envPath }); +if (result.error) { + console.error('Error loading .env.test:', result.error); +} diff --git a/packages/core/src/test_resources/types.ts b/packages/core/src/test_resources/types.ts new file mode 100644 index 0000000000..634e266cbe --- /dev/null +++ b/packages/core/src/test_resources/types.ts @@ -0,0 +1,6 @@ +export interface User { + id: string; + email?: string; + phone?: string; + role?: string; +} diff --git a/packages/core/src/tests/actions.test.ts b/packages/core/src/tests/actions.test.ts index 85594d9cee..584b284bdc 100644 --- a/packages/core/src/tests/actions.test.ts +++ b/packages/core/src/tests/actions.test.ts @@ -1,15 +1,15 @@ import dotenv from "dotenv"; -import { createRuntime } from "../test_resources/createRuntime.ts"; -import { getOrCreateRelationship } from "../test_resources/getOrCreateRelationship.ts"; -import { runAiTest } from "../test_resources/runAiTest.ts"; -import { messageHandlerTemplate } from "../test_resources/templates.ts"; +import { createRuntime } from "../test_resources/createRuntime"; +import { getOrCreateRelationship } from "../test_resources/getOrCreateRelationship"; +import { runAiTest } from "../test_resources/runAiTest"; +import { messageHandlerTemplate } from "../test_resources/templates"; import { TEST_ACTION, TEST_ACTION_FAIL, -} from "../test_resources/testAction.ts"; -import { type User } from "../test_resources/types.ts"; -import { composeContext } from "../context.ts"; -import { embeddingZeroVector } from "../memory.ts"; +} from "../test_resources/testAction"; +import { type User } from "../test_resources/types"; +import { composeContext } from "../context"; +import { embeddingZeroVector } from "../memory"; import { Content, IAgentRuntime, @@ -20,8 +20,9 @@ import { } from "../types.ts"; import { stringToUuid } from "../uuid.ts"; import { generateMessageResponse } from "../generation.ts"; -import { MemoryManager } from "../memory.ts"; -import { describe, test, expect, beforeAll, afterAll } from 'vitest'; +import { MemoryManager } from "../memory"; +import { describe, test, expect, beforeAll, afterAll } from "vitest"; + async function handleMessage( runtime: IAgentRuntime, message: Memory, diff --git a/packages/core/src/tests/env.test.ts b/packages/core/src/tests/env.test.ts new file mode 100644 index 0000000000..369884bdf3 --- /dev/null +++ b/packages/core/src/tests/env.test.ts @@ -0,0 +1,26 @@ +import { describe, it, expect } from 'vitest'; +import fs from 'fs'; +import path from 'path'; + +describe('Environment Setup', () => { + it('should verify .env.test file exists', () => { + const possiblePaths = [ + path.join(process.cwd(), '.env.test'), + path.join(process.cwd(), 'packages/core/.env.test'), + path.join(__dirname, '../../.env.test'), + path.join(__dirname, '../.env.test'), + path.join(__dirname, '.env.test'), + ]; + + console.log('Current working directory:', process.cwd()); + console.log('__dirname:', __dirname); + + const existingPaths = possiblePaths.filter(p => { + const exists = fs.existsSync(p); + console.log(`Path ${p} exists: ${exists}`); + return exists; + }); + + expect(existingPaths.length).toBeGreaterThan(0); + }); +}); \ No newline at end of file diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts index d28d9ae6f3..e59eb3c754 100644 --- a/packages/core/src/tests/token.test.ts +++ b/packages/core/src/tests/token.test.ts @@ -1,19 +1,22 @@ -import { createRuntime } from "../test_resources/createRuntime.ts"; -import { TokenProvider, WalletProvider, Connection, PublicKey } from "@ai16z/plugin-solana"; +import { loadEnvConfig } from '../settings'; + +// Load the environment variables +loadEnvConfig(); +// Now import other modules +import { createRuntime } from "../test_resources/createRuntime"; +import { TokenProvider, WalletProvider, Connection, PublicKey } from "@ai16z/plugin-solana"; import { describe, test, expect, beforeEach, vi } from 'vitest'; +import NodeCache from 'node-cache'; describe("TokenProvider Tests", () => { let tokenProvider: TokenProvider; - // Mock the dependencies - vi.mock("cross-fetch"); - vi.mock("fs"); - vi.mock("node-cache"); - vi.mock("@solana/web3.js"); - vi.mock("unique-names-generator"); - beforeEach(() => { + // Clear all mocks before each test + vi.clearAllMocks(); + + // Create new instance of TokenProvider tokenProvider = new TokenProvider( "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh", new WalletProvider( @@ -21,61 +24,59 @@ describe("TokenProvider Tests", () => { new PublicKey("2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh") ) ); + + // Clear the cache and ensure it's empty + (tokenProvider as any).cache.flushAll(); + (tokenProvider as any).cache.close(); + (tokenProvider as any).cache = new NodeCache(); + + // Mock the getCachedData method instead + vi.spyOn(tokenProvider as any, 'getCachedData').mockReturnValue(null); }); test("should fetch token security data", async () => { const { runtime } = await createRuntime({ - conversationLength: 10, + env: process.env, + conversationLength: 10, }); - + // Mock the response for the fetchTokenSecurity call const mockFetchResponse = { - success: true, - data: { - ownerBalance: "100", - creatorBalance: "50", - ownerPercentage: 10, - creatorPercentage: 5, - top10HolderBalance: "200", - top10HolderPercent: 20, - }, + success: true, + data: { + ownerBalance: "100", + creatorBalance: "50", + ownerPercentage: 10, + creatorPercentage: 5, + top10HolderBalance: "200", + top10HolderPercent: 20, + }, }; - + // Mock fetchWithRetry function const fetchSpy = vi - .spyOn(tokenProvider as any, "fetchWithRetry") - .mockResolvedValue(mockFetchResponse); - - // Run the fetchTokenSecurity method - // const securityData = await tokenProvider.fetchTokenSecurity(); - + .spyOn(tokenProvider as any, "fetchWithRetry") + .mockResolvedValue(mockFetchResponse); + + // Run the fetchTokenSecurity method + const securityData = await tokenProvider.fetchTokenSecurity(); // Check if the data returned is correct - // expect(securityData).toEqual({ - // ownerBalance: "100", - // creatorBalance: "50", - // ownerPercentage: 10, - // creatorPercentage: 5, - // top10HolderBalance: "200", - // top10HolderPercent: 20, - // }); - //console.log the securityData - // console.log({ securityData }); - - // const holderList = await tokenProvider.fetchHolderList(); - - // console.log({ holderList }); - - // const tradeData = await tokenProvider.fetchTokenTradeData(); - // console.log({ tradeData }); - - // const dexScreenerData = await tokenProvider.fetchDexScreenerData(); - // console.log({ dexScreenerData }); - - // const tokenReport = - // await tokenProvider.getFormattedTokenReport(runtime); - // console.log({ tokenReport }); + expect(securityData).toEqual({ + ownerBalance: "100", + creatorBalance: "50", + ownerPercentage: 10, + creatorPercentage: 5, + top10HolderBalance: "200", + top10HolderPercent: 20, + }); + console.log({ securityData }); // Ensure the mock was called expect(fetchSpy).toHaveBeenCalled(); + + // Ensure the mock was called with correct URL + expect(fetchSpy).toHaveBeenCalledWith( + expect.stringContaining("https://public-api.birdeye.so/defi/token_security?address=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"), + ); }); }); diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts new file mode 100644 index 0000000000..2ce1d5d7f3 --- /dev/null +++ b/packages/core/vitest.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from 'vitest/config'; +import path from 'path'; + +export default defineConfig({ + test: { + setupFiles: ['./src/test_resources/testSetup.ts'], + environment: 'node', + globals: true, + testTimeout: 120000, + }, + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + }, +}); \ No newline at end of file diff --git a/packages/plugin-solana/src/index.ts b/packages/plugin-solana/src/index.ts index 52d5fa71b9..317fec17ce 100644 --- a/packages/plugin-solana/src/index.ts +++ b/packages/plugin-solana/src/index.ts @@ -13,6 +13,12 @@ import { Plugin } from "@ai16z/eliza"; import { walletProvider } from "./providers/wallet.ts"; import { trustScoreProvider } from "./providers/trustScoreProvider.ts"; import { trustEvaluator } from "./evaluators/trust.ts"; +import { TokenProvider } from "./providers/token.ts"; +import { WalletProvider } from "./providers/wallet.ts"; +import { Connection } from "@solana/web3.js"; +import { PublicKey } from "@solana/web3.js"; + +export { TokenProvider, WalletProvider, Connection, PublicKey }; export const solanaPlugin: Plugin = { name: "solana", diff --git a/packages/plugin-solana/src/providers/orderBook.ts b/packages/plugin-solana/src/providers/orderBook.ts index 40a215762a..08f9d0185c 100644 --- a/packages/plugin-solana/src/providers/orderBook.ts +++ b/packages/plugin-solana/src/providers/orderBook.ts @@ -1,6 +1,6 @@ import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; import * as fs from "fs"; -import settings from "@ai16z/eliza/src/settings.ts"; +import {settings} from "@ai16z/eliza/src/settings.ts"; interface Order { userId: string; diff --git a/packages/plugin-solana/src/providers/token.ts b/packages/plugin-solana/src/providers/token.ts index 538e44349a..f7d6eee5c0 100644 --- a/packages/plugin-solana/src/providers/token.ts +++ b/packages/plugin-solana/src/providers/token.ts @@ -1,4 +1,4 @@ -import settings from "@ai16z/eliza/src/settings.ts"; +import {settings} from "@ai16z/eliza/src/settings.ts"; import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; import { DexScreenerData, diff --git a/packages/plugin-solana/src/providers/trustScoreProvider.ts b/packages/plugin-solana/src/providers/trustScoreProvider.ts index 06a90e7e04..c48578d2ec 100644 --- a/packages/plugin-solana/src/providers/trustScoreProvider.ts +++ b/packages/plugin-solana/src/providers/trustScoreProvider.ts @@ -17,9 +17,12 @@ import { TradePerformance, TokenRecommendation, } from "../adapters/trustScoreDatabase.ts"; -import settings from "@ai16z/eliza/src/settings.ts"; +import { settings, loadEnvConfig } from "@ai16z/eliza/src/settings.ts"; import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; +loadEnvConfig(); +console.log("DEBUG - TrustScoreProvider settings loaded"); +console.log(settings); const Wallet = settings.MAIN_WALLET_ADDRESS; interface TradeData { buy_amount: number; From 4d7e0aa6487f80f2818217858131d82f77cfaffe Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 13:40:11 -0600 Subject: [PATCH 03/11] cleanup --- .nvmrc | 1 + .vscode/launch.json | 20 +- package.json | 3 +- packages/core/.gitignore | 3 +- ...LybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json | 1 - ...LybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json | 1 - packages/core/src/embedding.ts | 2 +- packages/core/src/generation.ts | 2 +- packages/core/src/models.ts | 2 +- packages/core/src/runtime.ts | 2 +- packages/core/src/settings.ts | 76 +- pnpm-lock.yaml | 851 +++++++++--------- 12 files changed, 457 insertions(+), 507 deletions(-) create mode 100644 .nvmrc delete mode 100644 packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json delete mode 100644 packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..06cd027252 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v23.1.0 \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 30a1891bdc..b6973cd357 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,6 +11,24 @@ "runtimeExecutable": "pnpm", "runtimeArgs": ["run", "dev"], "skipFiles": ["/**"] - } + }, + { + "type": "node", + "request": "launch", + "name": "Debug Vitest", + "program": "${workspaceFolder}/node_modules/vitest/vitest.mjs", + "args": [ + "run", + "--", + "${relativeFile}" // Ensures the currently open test file is passed + ], + "cwd": "${workspaceFolder}", + "env": { + "NODE_ENV": "test" // Ensure test environment is set + }, + "autoAttachChildProcesses": true, + "smartStep": true, + "skipFiles": ["/**"] + } ] } diff --git a/package.json b/package.json index 398cf414e6..9096f7caa2 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "docker:run": "bash ./scripts/docker.sh run", "docker:bash": "bash ./scripts/docker.sh bash", "docker:start": "bash ./scripts/docker.sh start", - "docker": "pnpm docker:build && pnpm docker:run && pnpm docker:bash" + "docker": "pnpm docker:build && pnpm docker:run && pnpm docker:bash", + "tests": "pnpm --dir packages/core test" }, "devDependencies": { "concurrently": "^9.1.0", diff --git a/packages/core/.gitignore b/packages/core/.gitignore index e1a400663f..d365b5f35b 100644 --- a/packages/core/.gitignore +++ b/packages/core/.gitignore @@ -1,4 +1,5 @@ node_modules dist elizaConfig.yaml -custom_actions/ \ No newline at end of file +custom_actions/ +cache/ \ No newline at end of file diff --git a/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json b/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json deleted file mode 100644 index f101587ac5..0000000000 --- a/packages/core/cache/holderList_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json +++ /dev/null @@ -1 +0,0 @@ -{"data":[],"expiry":1731784276120} \ No newline at end of file diff --git a/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json b/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json deleted file mode 100644 index 86f67e9a18..0000000000 --- a/packages/core/cache/tokenSecurity_2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh.json +++ /dev/null @@ -1 +0,0 @@ -{"data":{"ownerBalance":"100","creatorBalance":"50","ownerPercentage":10,"creatorPercentage":5,"top10HolderBalance":"200","top10HolderPercent":20},"expiry":1731784617753} \ No newline at end of file diff --git a/packages/core/src/embedding.ts b/packages/core/src/embedding.ts index 9dd42fa9be..c1fbbe80e6 100644 --- a/packages/core/src/embedding.ts +++ b/packages/core/src/embedding.ts @@ -5,7 +5,7 @@ import { models } from "./models.ts"; import { IAgentRuntime, ModelProviderName, ModelClass } from "./types.ts"; import fs from "fs"; import { trimTokens } from "./generation.ts"; -import { settings } from "./settings.ts"; +import settings from "./settings.ts"; function getRootPath() { const __filename = fileURLToPath(import.meta.url); diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index 3c746855bb..abbd7b159f 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -22,7 +22,7 @@ import { parseJSONObjectFromText, parseShouldRespondFromText, } from "./parsing.ts"; -import { settings } from "./settings.ts"; +import settings from "./settings.ts"; import { Content, IAgentRuntime, diff --git a/packages/core/src/models.ts b/packages/core/src/models.ts index 71b8c928db..ea3fd125d5 100644 --- a/packages/core/src/models.ts +++ b/packages/core/src/models.ts @@ -1,4 +1,4 @@ -import { settings } from "./settings.ts"; +import settings from "./settings.ts"; import { Models, ModelProviderName, ModelClass } from "./types.ts"; export const models: Models = { diff --git a/packages/core/src/runtime.ts b/packages/core/src/runtime.ts index b4a6030a6f..93bc477965 100644 --- a/packages/core/src/runtime.ts +++ b/packages/core/src/runtime.ts @@ -20,7 +20,7 @@ import { formatActors, formatMessages, getActorDetails } from "./messages.ts"; import { parseJsonArrayFromText } from "./parsing.ts"; import { formatPosts } from "./posts.ts"; import { getProviders } from "./providers.ts"; -import { settings } from "./settings.ts"; +import settings from "./settings.ts"; import { Character, Goal, diff --git a/packages/core/src/settings.ts b/packages/core/src/settings.ts index 44e4c150e2..9f4f7c7597 100644 --- a/packages/core/src/settings.ts +++ b/packages/core/src/settings.ts @@ -2,94 +2,54 @@ import { config } from "dotenv"; import fs from "fs"; import path from "path"; -export interface Settings { - MAIN_WALLET_ADDRESS: string; - OPENAI_API_KEY: string; - USE_OPENAI_EMBEDDING: string; - SYSTEM_PROMPT: string; - OPENROUTER_MODEL: string; - SMALL_OPENROUTER_MODEL: string; - MEDIUM_OPENROUTER_MODEL: string; - LARGE_OPENROUTER_MODEL: string; - OLLAMA_MODEL: string; - LARGE_OLLAMA_MODEL: string; - MEDIUM_OLLAMA_MODEL: string; - SMALL_OLLAMA_MODEL: string; - OLLAMA_SERVER_URL: string; - OLLAMA_EMBEDDING_MODEL: string; - RPC_URL: string; - BASE_MINT: string; - BACKEND_URL: string; - BACKEND_TOKEN: string; - BIRDEYE_API_KEY: string; - HELIUS_API_KEY: string; - SERVER_PORT: string; - CAPSOLVER_API_KEY: string; - CUDA_PATH: string; -} - /** * Recursively searches for a .env file starting from the current directory * and moving up through parent directories + * @param {string} [startDir=process.cwd()] - Starting directory for the search + * @returns {string|null} Path to the nearest .env file or null if not found */ export function findNearestEnvFile(startDir = process.cwd()) { - console.error('DEBUG - Starting env file search'); - console.error('DEBUG - Current working directory:', process.cwd()); - - // In test environment, use the known working path - if (process.env.NODE_ENV === 'test' || process.env.VITEST) { - const testPath = path.join(process.cwd(), '.env.test'); - console.error('DEBUG - Checking test path:', testPath); - if (fs.existsSync(testPath)) { - console.error('DEBUG - Found test env file at:', testPath); - return testPath; - } - } - - // Look for regular .env let currentDir = startDir; - const envFile = process.env.NODE_ENV === 'test' ? '.env.test' : '.env'; + // Continue searching until we reach the root directory while (currentDir !== path.parse(currentDir).root) { - const envPath = path.join(currentDir, envFile); - console.error('DEBUG - Checking path:', envPath); + const envPath = path.join(currentDir, ".env"); + if (fs.existsSync(envPath)) { - console.error('DEBUG - Found env file at:', envPath); return envPath; } + + // Move up to parent directory currentDir = path.dirname(currentDir); } - console.error('DEBUG - No env file found after checking all paths'); - console.error('DEBUG - Final cwd:', process.cwd()); - console.error('DEBUG - Final NODE_ENV:', process.env.NODE_ENV); - return null; + // Check root directory as well + const rootEnvPath = path.join(path.parse(currentDir).root, ".env"); + return fs.existsSync(rootEnvPath) ? rootEnvPath : null; } /** * Loads environment variables from the nearest .env file + * @returns {Object} Environment variables object + * @throws {Error} If no .env file is found */ export function loadEnvConfig() { - console.error('DEBUG - loadEnvConfig called'); - console.error('DEBUG - Current working directory:', process.cwd()); - console.error('DEBUG - NODE_ENV:', process.env.NODE_ENV); - const envPath = findNearestEnvFile(); if (!envPath) { throw new Error("No .env file found in current or parent directories."); } - console.error('DEBUG - Loading env file from:', envPath); + // Load the .env file const result = config({ path: envPath }); + if (result.error) { throw new Error(`Error loading .env file: ${result.error}`); } - console.error('DEBUG - Successfully loaded env file'); - - // Populate the settings object with the environment variables - Object.assign(settings, process.env); + console.log(`Loaded .env file from: ${envPath}`); + return process.env; } -export const settings: Settings = {} as Settings; +export const settings = loadEnvConfig(); +export default settings; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 468db71a6e..afb66c6ab7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,7 +65,7 @@ importers: version: 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/preset-classic': specifier: ^3.6.0 - version: 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-mermaid': specifier: ^3.6.0 version: 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -99,13 +99,13 @@ importers: version: 3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) docusaurus-plugin-typedoc: specifier: ^1.0.5 - version: 1.0.5(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3))) + version: 1.0.5(typedoc-plugin-markdown@4.2.9(typedoc@0.26.11(typescript@5.6.3))) typedoc: specifier: ^0.26.11 version: 0.26.11(typescript@5.6.3) typedoc-plugin-markdown: specifier: ^4.2.9 - version: 4.2.10(typedoc@0.26.11(typescript@5.6.3)) + version: 4.2.9(typedoc@0.26.11(typescript@5.6.3)) packages/adapter-postgres: dependencies: @@ -406,7 +406,7 @@ importers: version: 10.0.0 ai: specifier: ^3.4.23 - version: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.2.1))(svelte@5.2.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + version: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.1.16))(svelte@5.1.16)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: specifier: ^1.0.0 version: 1.0.0(encoding@0.1.13)(zod@3.23.8) @@ -446,7 +446,7 @@ importers: devDependencies: '@eslint/js': specifier: ^9.13.0 - version: 9.15.0 + version: 9.14.0 '@rollup/plugin-commonjs': specifier: 25.0.8 version: 25.0.8(rollup@2.79.2) @@ -759,7 +759,7 @@ importers: version: 5.1.2 pumpdotfun-sdk: specifier: 1.3.2 - version: 1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.27.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.26.0)(typescript@5.6.3)(utf-8-validate@5.0.10) tsup: specifier: ^8.3.5 version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) @@ -939,8 +939,8 @@ packages: '@algolia/cache-in-memory@4.24.0': resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - '@algolia/client-abtesting@5.14.2': - resolution: {integrity: sha512-7fq1tWIy1aNJEaNHxWy3EwDkuo4k22+NBnxq9QlYVSLLXtr6HqmAm6bQgNNzGT3vm21iKqWO9efk+HIhEM1SzQ==} + '@algolia/client-abtesting@5.13.0': + resolution: {integrity: sha512-6CoQjlMi1pmQYMQO8tXfuGxSPf6iKX5FP9MuMe6IWmvC81wwTvOehnwchyBl2wuPVhcw2Ar53K53mQ60DAC64g==} engines: {node: '>= 14.0.0'} '@algolia/client-account@4.24.0': @@ -949,44 +949,44 @@ packages: '@algolia/client-analytics@4.24.0': resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - '@algolia/client-analytics@5.14.2': - resolution: {integrity: sha512-5Nm5cOOyAGcY+hKNJVmR2jgoGn1nvoANS8W5EfB8yAaUqUxL3lFNUHSkFafAMTCOcVKNDkZQYjUDbOOfdYJLqw==} + '@algolia/client-analytics@5.13.0': + resolution: {integrity: sha512-pS3qyXiWTwKnrt/jE79fqkNqZp7kjsFNlJDcBGkSWid74DNc6DmArlkvPqyLxnoaYGjUGACT6g56n7E3mVV2TA==} engines: {node: '>= 14.0.0'} '@algolia/client-common@4.24.0': resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - '@algolia/client-common@5.14.2': - resolution: {integrity: sha512-BW1Qzhh9tMKEsWSQQsiOEcHAd6g7zxq9RpPVmyxbDO/O4eA4vyN+Qz5Jzo686kuYdIQKqIPCEtob/JM89tk57g==} + '@algolia/client-common@5.13.0': + resolution: {integrity: sha512-2SP6bGGWOTN920MLZv8s7yIR3OqY03vEe4U+vb2MGdL8a/8EQznF3L/nTC/rGf/hvEfZlX2tGFxPJaF2waravg==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.14.2': - resolution: {integrity: sha512-17zg6pqifKORvvrMIqW6HhwUry9RKRXLgADrgFjZ6PZvGB4oVs12dwRG2/HMrIlpxd9cjeQfdlEgHj6lbAf6QA==} + '@algolia/client-insights@5.13.0': + resolution: {integrity: sha512-ldHTe+LVgC6L4Wr6doAQQ7Ku0jAdhaaPg1T+IHzmmiRZb2Uq5OsjW2yC65JifOmzPCiMkIZE2mGRpWgkn5ktlw==} engines: {node: '>= 14.0.0'} '@algolia/client-personalization@4.24.0': resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - '@algolia/client-personalization@5.14.2': - resolution: {integrity: sha512-5IYt8vbmTA52xyuaZKFwiRoDPeh7hiOC9aBZqqp9fVs6BU01djI/T8pGJXawvwczltCPYzNsdbllV3rqiDbxmQ==} + '@algolia/client-personalization@5.13.0': + resolution: {integrity: sha512-RnCfOSN4OUJDuMNHFca2M8lY64Tmw0kQOZikge4TknTqHmlbKJb8IbJE7Rol79Z80W2Y+B1ydcjV7DPje4GMRA==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.14.2': - resolution: {integrity: sha512-gvCX/cczU76Bu1sGcxxTdoIwxe+FnuC1IlW9SF/gzxd3ZzsgzBpzD2puIJqt9fHQsjLxVGkJqKev2FtExnJYZg==} + '@algolia/client-query-suggestions@5.13.0': + resolution: {integrity: sha512-pYo0jbLUtPDN1r341UHTaF2fgN5rbaZfDZqjPRKPM+FRlRmxFxqFQm1UUfpkSUWYGn7lECwDpbKYiKUf81MTwA==} engines: {node: '>= 14.0.0'} '@algolia/client-search@4.24.0': resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} - '@algolia/client-search@5.14.2': - resolution: {integrity: sha512-0imdBZDjqxrshw0+eyJUgnkRAbS2W93UQ3BVj8VjN4xQylIMf0fWs72W7MZFdHlH78JJYydevgzqvGMcV0Z1CA==} + '@algolia/client-search@5.13.0': + resolution: {integrity: sha512-s2ge3uZ6Zg2sPSFibqijgEYsuorxcc8KVHg3I95nOPHvFHdnBtSHymhZvq4sp/fu8ijt/Y8jLwkuqm5myn+2Sg==} engines: {node: '>= 14.0.0'} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/ingestion@1.14.2': - resolution: {integrity: sha512-/p4rBNkW0fgCpCwrwre+jHfzlFQsLemgaAQqyui8NPxw95Wgf3p+DKxYzcmh8dygT7ub7FwztTW+uURLX1uqIQ==} + '@algolia/ingestion@1.13.0': + resolution: {integrity: sha512-fm5LEOe4FPDOc1D+M9stEs8hfcdmbdD+pt9og5shql6ueTZJANDbFoQhDOpiPJizR/ps1GwmjkWfUEywx3sV+Q==} engines: {node: '>= 14.0.0'} '@algolia/logger-common@4.24.0': @@ -995,36 +995,36 @@ packages: '@algolia/logger-console@4.24.0': resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - '@algolia/monitoring@1.14.2': - resolution: {integrity: sha512-81R57Y/mS0uNhWpu6cNEfkbkADLW4bP0BNjuPpxAypobv7WzYycUnbMvv1YkN6OsociB4+3M7HfsVzj4Nc09vA==} + '@algolia/monitoring@1.13.0': + resolution: {integrity: sha512-e8Hshlnm2G5fapyUgWTBwhJ22yXcnLtPC4LWZKx7KOvv35GcdoHtlUBX94I/sWCJLraUr65JvR8qOo3LXC43dg==} engines: {node: '>= 14.0.0'} '@algolia/recommend@4.24.0': resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - '@algolia/recommend@5.14.2': - resolution: {integrity: sha512-OwELnAZxCUyfjYjqsrFmC7Vfa12kqwbDdLUV0oi4j+4pxDsfPgkiZ6iCH2uPw6X8VK88Hl3InPt+RPaZvcrCWg==} + '@algolia/recommend@5.13.0': + resolution: {integrity: sha512-53/wW96oaj1FKMzGdFcZ/epygfTppLDUvgI1thLkd475EtVZCH3ZZVUNCEvf1AtnNyH1RnItkFzX8ayWCpx2PQ==} engines: {node: '>= 14.0.0'} '@algolia/requester-browser-xhr@4.24.0': resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - '@algolia/requester-browser-xhr@5.14.2': - resolution: {integrity: sha512-irUvkK+TGBhyivtNCIIbVgNUgbUoHOSk8m/kFX4ddto/PUPmLFRRNNnMHtJ1+OzrJ/uD3Am4FUK2Yt+xgQr05w==} + '@algolia/requester-browser-xhr@5.13.0': + resolution: {integrity: sha512-NV6oSCt5lFuzfsVQoSBpewEWf/h4ySr7pv2bfwu9yF/jc/g39pig8+YpuqsxlRWBm/lTGVA2V0Ai9ySwrNumIA==} engines: {node: '>= 14.0.0'} '@algolia/requester-common@4.24.0': resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - '@algolia/requester-fetch@5.14.2': - resolution: {integrity: sha512-UNBg5mM4MIYdxPuVjyDL22BC6P87g7WuM91Z1Ky0J19aEGvCSF+oR+9autthROFXdRnAa1rACOjuqn95iBbKpw==} + '@algolia/requester-fetch@5.13.0': + resolution: {integrity: sha512-094bK4rumf+rXJazxv3mq6eKRM0ep5AxIo8T0YmOdldswQt79apeufFiPLN19nHEWH22xR2FelimD+T/wRSP+Q==} engines: {node: '>= 14.0.0'} '@algolia/requester-node-http@4.24.0': resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - '@algolia/requester-node-http@5.14.2': - resolution: {integrity: sha512-CTFA03YiLcnpP+JoLRqjHt5pqDHuKWJpLsIBY/60Gmw8pjALZ3TwvbAquRX4Vy+yrin178NxMuU+ilZ54f2IrQ==} + '@algolia/requester-node-http@5.13.0': + resolution: {integrity: sha512-JY5xhEYMgki53Wm+A6R2jUpOUdD0zZnBq+PC5R1TGMNOYL1s6JjDrJeMsvaI2YWxYMUSoCnRoltN/yf9RI8n3A==} engines: {node: '>= 14.0.0'} '@algolia/transporter@4.24.0': @@ -2364,24 +2364,24 @@ packages: resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.2.0': - resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + '@eslint/eslintrc@3.1.0': + resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.13.0': resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.15.0': - resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} + '@eslint/js@9.14.0': + resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.2.3': - resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + '@eslint/plugin-kit@0.2.2': + resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@google-cloud/vertexai@1.9.0': @@ -2846,67 +2846,67 @@ packages: resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} - '@nx/devkit@20.1.2': - resolution: {integrity: sha512-MTEWiEST7DhzZ2QmrixLnHfYVDZk7QN9omLL8m+5Etcn/3ZKa1aAo9Amd2MkUM+0MPoTKnxoGdw0fQUpAy21Mg==} + '@nx/devkit@20.1.0': + resolution: {integrity: sha512-TDWT3d7nei+FtqoZscR7KtbQ9BXzV1c1Wvk9UUejo7eXbrQ/+YnHVVze8EMuIgTXaHxNIBTKGUPcRi3cibmCDw==} peerDependencies: nx: '>= 19 <= 21' - '@nx/nx-darwin-arm64@20.1.2': - resolution: {integrity: sha512-PJ91TQhd28kitDBubKUOXMYvrtSDrG+rr8MsIe9cHo1CvU9smcGVBwuHBxniq0DXsyOX/5GL6ngq7hjN2nQ3XQ==} + '@nx/nx-darwin-arm64@20.1.0': + resolution: {integrity: sha512-fel9LpSWuwY0cGAsRFEPxLp6J5VcK/5sjeWA0lZWrFf1oQJCOlKBfkxzi384Nd7eK5JSjxIXrpYfRLaqSbp+IA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@20.1.2': - resolution: {integrity: sha512-1fopau7nxIhTF26vDTIzMxl15AtW4FvUSdy+r1mNRKrKyjjpqnlu00SQBW7JzGV0agDD1B/61yYei5Q2aMOt7Q==} + '@nx/nx-darwin-x64@20.1.0': + resolution: {integrity: sha512-l1DB8dk2rCLGgXW26HmFOKYpUCF259LRus8z+z7dsFv5vz9TeN+fk5m9aAdiENgMA2cGlndQQW+E8UIo3yv+9g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@20.1.2': - resolution: {integrity: sha512-55YgIp3v4zz7xMzJO93dtglbOTER2XdS6jrCt8GbKaWGFl5drRrBoNGONtiGNU7C3hLx1VsorbynCkJT18PjKQ==} + '@nx/nx-freebsd-x64@20.1.0': + resolution: {integrity: sha512-f8uMRIhiOA/73cIjiyS3gpKvaAtsHgyUkkoCOPc4xdxoSLAjlxb6VOUPIFj9rzLA6qQXImVpsiNPG+p1sJ1GAQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@20.1.2': - resolution: {integrity: sha512-sMhNA8uAV43UYVEXEa8TZ8Fjpom4CGq1umTptEGOF4TTtdNn2AUBreg+0bVODM8MMSzRWGI1VbkZzHESnAPwqw==} + '@nx/nx-linux-arm-gnueabihf@20.1.0': + resolution: {integrity: sha512-M7pay8hFJQZ3uJHlr5hZK/8o1BcHt95hy/SU7Azt7+LKQGOy42tXhHO30As9APzXqRmvoA2Iq1IyrJJicrz+Ew==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@20.1.2': - resolution: {integrity: sha512-bsevarNHglaYLmIvPNQOdHrBnBgaW3EOUM0flwaXdWuZbL1bWx8GoVwHp9yJpZOAOfIF/Nhq5iTpaZB2nYFrAA==} + '@nx/nx-linux-arm64-gnu@20.1.0': + resolution: {integrity: sha512-A5+Kpk1uwYIj6CPm0DWLVz5wNTN4ewNl7ajLS9YJOi4yHx/FhfMMyPj4ZnbTpc4isuvgZwBZNl8kwFb2RdXq4w==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@20.1.2': - resolution: {integrity: sha512-GFZTptkhZPL/iZ3tYDmspIcPEaXyy/L/o59gyp33GoFAAyDhiXIF7J1Lz81Xn8VKrX6TvEY8/9qSh86pb7qzDQ==} + '@nx/nx-linux-arm64-musl@20.1.0': + resolution: {integrity: sha512-pWIQPt9Fst1O4dgrWHdU1b+5wpfLmsmaSeRvLQ9b2VFp3tKGko4ie0skme62TuMgpcqMWDBFKs8KgbHESOi7vw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@20.1.2': - resolution: {integrity: sha512-yqEW/iglKT4d9lgfnwSNhmDzPxCkRhtdmZqOYpGDM0eZFwYwJF+WRGjW8xIqMj8PA1yrGItzXZOmyFjJqHAF2w==} + '@nx/nx-linux-x64-gnu@20.1.0': + resolution: {integrity: sha512-sOpeGOHznk2ztCXzKhRPAKG3WtwaQUsfQ/3aYDXE6z+rSfyZTGY29M/a9FbdjI4cLJX+NdLAAMj15c3VecJ65g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@20.1.2': - resolution: {integrity: sha512-SP6PpWT4cQVrC4WJQdpfADrYJQzkbhgmcGleWbpr7II1HJgOsAcvoDwQGpPQX+3Wo+VBiNecvUAOzacMQkXPGw==} + '@nx/nx-linux-x64-musl@20.1.0': + resolution: {integrity: sha512-SxnQJhjOvuOfUZnF4Wt4/O/l1e21qpACZzfMaPIvmiTLk9zPJZWtfgbqlKtTXHKWq9DfIUZQqZXRIpHPM1sDZQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@20.1.2': - resolution: {integrity: sha512-JZQx9gr39LY3D7uleiXlpxUsavuOrOQNBocwKHkAMnykaT/e1VCxTnm/hk+2b4foWwfURTqoRiFEba70iiCdYg==} + '@nx/nx-win32-arm64-msvc@20.1.0': + resolution: {integrity: sha512-Z/KoaAA+Rg9iqqOPkKZV61MejPoJBOHlecFpq0G4TgKMJEJ/hEsjojq5usO1fUGAbvQT/SXL3pYWgZwhD3VEHw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@20.1.2': - resolution: {integrity: sha512-6GmT8iswDiCvJaCtW9DpWeAQmLS/kfAuRLYBisfzlONuLPaDdjhgVIxZBqqUSFfclwcVz+NhIOGvdr0aGFZCtQ==} + '@nx/nx-win32-x64-msvc@20.1.0': + resolution: {integrity: sha512-pbxacjLsW9vXD9FibvU8Pal/r5+Yq6AaW6I57CDi7jsLt+K6jcS0fP4FlfXT8QFWdx9+bOKNfOsKEIwpirMN1w==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2915,8 +2915,8 @@ packages: resolution: {integrity: sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==} engines: {node: '>= 18'} - '@octokit/auth-app@7.1.3': - resolution: {integrity: sha512-GZdkOp2kZTIy5dG9oXqvzUAZiPvDx4C/lMlN6yQjtG9d/+hYa7W8WXTJoOrXE8UdfL9A/sZMl206dmtkl9lwVQ==} + '@octokit/auth-app@7.1.2': + resolution: {integrity: sha512-5cfWRr1hr0w/EW3StFIIOkMtYhOyGZ6/R3T0xeN6UgC/uL5pIyeood9N/8Z7W4NZUdz2QK1Fv0oM/1AzTME3/Q==} engines: {node: '>= 18'} '@octokit/auth-oauth-app@8.1.1': @@ -3304,93 +3304,93 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.27.2': - resolution: {integrity: sha512-Tj+j7Pyzd15wAdSJswvs5CJzJNV+qqSUcr/aCD+jpQSBtXvGnV0pnrjoc8zFTe9fcKCatkpFpOO7yAzpO998HA==} + '@rollup/rollup-android-arm-eabi@4.26.0': + resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.27.2': - resolution: {integrity: sha512-xsPeJgh2ThBpUqlLgRfiVYBEf/P1nWlWvReG+aBWfNv3XEBpa6ZCmxSVnxJgLgkNz4IbxpLy64h2gCmAAQLneQ==} + '@rollup/rollup-android-arm64@4.26.0': + resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.27.2': - resolution: {integrity: sha512-KnXU4m9MywuZFedL35Z3PuwiTSn/yqRIhrEA9j+7OSkji39NzVkgxuxTYg5F8ryGysq4iFADaU5osSizMXhU2A==} + '@rollup/rollup-darwin-arm64@4.26.0': + resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.27.2': - resolution: {integrity: sha512-Hj77A3yTvUeCIx/Vi+4d4IbYhyTwtHj07lVzUgpUq9YpJSEiGJj4vXMKwzJ3w5zp5v3PFvpJNgc/J31smZey6g==} + '@rollup/rollup-darwin-x64@4.26.0': + resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.27.2': - resolution: {integrity: sha512-RjgKf5C3xbn8gxvCm5VgKZ4nn0pRAIe90J0/fdHUsgztd3+Zesb2lm2+r6uX4prV2eUByuxJNdt647/1KPRq5g==} + '@rollup/rollup-freebsd-arm64@4.26.0': + resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.27.2': - resolution: {integrity: sha512-duq21FoXwQtuws+V9H6UZ+eCBc7fxSpMK1GQINKn3fAyd9DFYKPJNcUhdIKOrMFjLEJgQskoMoiuizMt+dl20g==} + '@rollup/rollup-freebsd-x64@4.26.0': + resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.27.2': - resolution: {integrity: sha512-6npqOKEPRZkLrMcvyC/32OzJ2srdPzCylJjiTJT2c0bwwSGm7nz2F9mNQ1WrAqCBZROcQn91Fno+khFhVijmFA==} + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.27.2': - resolution: {integrity: sha512-V9Xg6eXtgBtHq2jnuQwM/jr2mwe2EycnopO8cbOvpzFuySCGtKlPCI3Hj9xup/pJK5Q0388qfZZy2DqV2J8ftw==} + '@rollup/rollup-linux-arm-musleabihf@4.26.0': + resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.27.2': - resolution: {integrity: sha512-uCFX9gtZJoQl2xDTpRdseYuNqyKkuMDtH6zSrBTA28yTfKyjN9hQ2B04N5ynR8ILCoSDOrG/Eg+J2TtJ1e/CSA==} + '@rollup/rollup-linux-arm64-gnu@4.26.0': + resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.27.2': - resolution: {integrity: sha512-/PU9P+7Rkz8JFYDHIi+xzHabOu9qEWR07L5nWLIUsvserrxegZExKCi2jhMZRd0ATdboKylu/K5yAXbp7fYFvA==} + '@rollup/rollup-linux-arm64-musl@4.26.0': + resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': - resolution: {integrity: sha512-eCHmol/dT5odMYi/N0R0HC8V8QE40rEpkyje/ZAXJYNNoSfrObOvG/Mn+s1F/FJyB7co7UQZZf6FuWnN6a7f4g==} + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.27.2': - resolution: {integrity: sha512-DEP3Njr9/ADDln3kNi76PXonLMSSMiCir0VHXxmGSHxCxDfQ70oWjHcJGfiBugzaqmYdTC7Y+8Int6qbnxPBIQ==} + '@rollup/rollup-linux-riscv64-gnu@4.26.0': + resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.27.2': - resolution: {integrity: sha512-NHGo5i6IE/PtEPh5m0yw5OmPMpesFnzMIS/lzvN5vknnC1sXM5Z/id5VgcNPgpD+wHmIcuYYgW+Q53v+9s96lQ==} + '@rollup/rollup-linux-s390x-gnu@4.26.0': + resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.27.2': - resolution: {integrity: sha512-PaW2DY5Tan+IFvNJGHDmUrORadbe/Ceh8tQxi8cmdQVCCYsLoQo2cuaSj+AU+YRX8M4ivS2vJ9UGaxfuNN7gmg==} + '@rollup/rollup-linux-x64-gnu@4.26.0': + resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.27.2': - resolution: {integrity: sha512-dOlWEMg2gI91Qx5I/HYqOD6iqlJspxLcS4Zlg3vjk1srE67z5T2Uz91yg/qA8sY0XcwQrFzWWiZhMNERylLrpQ==} + '@rollup/rollup-linux-x64-musl@4.26.0': + resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.27.2': - resolution: {integrity: sha512-euMIv/4x5Y2/ImlbGl88mwKNXDsvzbWUlT7DFky76z2keajCtcbAsN9LUdmk31hAoVmJJYSThgdA0EsPeTr1+w==} + '@rollup/rollup-win32-arm64-msvc@4.26.0': + resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.27.2': - resolution: {integrity: sha512-RsnE6LQkUHlkC10RKngtHNLxb7scFykEbEwOFDjr3CeCMG+Rr+cKqlkKc2/wJ1u4u990urRHCbjz31x84PBrSQ==} + '@rollup/rollup-win32-ia32-msvc@4.26.0': + resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.27.2': - resolution: {integrity: sha512-foJM5vv+z2KQmn7emYdDLyTbkoO5bkHZE1oth2tWbQNGW7mX32d46Hz6T0MqXdWS2vBZhaEtHqdy9WYwGfiliA==} + '@rollup/rollup-win32-x64-msvc@4.26.0': + resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} cpu: [x64] os: [win32] @@ -3419,17 +3419,17 @@ packages: '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} - '@shikijs/core@1.23.0': - resolution: {integrity: sha512-J4Fo22oBlfRHAXec+1AEzcowv+Qdf4ZQkuP/X/UHYH9+KA9LvyFXSXyS+HxuBRFfon+u7bsmKdRBjoZlbDVRkQ==} + '@shikijs/core@1.22.2': + resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} - '@shikijs/engine-javascript@1.23.0': - resolution: {integrity: sha512-CcrppseWShG+8Efp1iil9divltuXVdCaU4iu+CKvzTGZO5RmXyAiSx668M7VbX8+s/vt1ZKu75Vn/jWi8O3G/Q==} + '@shikijs/engine-javascript@1.22.2': + resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} - '@shikijs/engine-oniguruma@1.23.0': - resolution: {integrity: sha512-gS8bZLqVvmZXX+E5JUMJICsBp+kx6gj79MH/UEpKHKIqnUzppgbmEn6zLa6mB5D+sHse2gFei3YYJxQe1EzZXQ==} + '@shikijs/engine-oniguruma@1.22.2': + resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} - '@shikijs/types@1.23.0': - resolution: {integrity: sha512-HiwzsihRao+IbPk7FER/EQT/D0dEEK3n5LAtHDzL5iRT+JMblA7y9uitUnjEnHeLkKigNM+ZplrP7MuEyyc5kA==} + '@shikijs/types@1.22.2': + resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -4220,34 +4220,34 @@ packages: resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-core@3.5.12': + resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-dom@3.5.12': + resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + '@vue/compiler-sfc@3.5.12': + resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-ssr@3.5.12': + resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} - '@vue/reactivity@3.5.13': - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + '@vue/reactivity@3.5.12': + resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} - '@vue/runtime-core@3.5.13': - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + '@vue/runtime-core@3.5.12': + resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} - '@vue/runtime-dom@3.5.13': - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + '@vue/runtime-dom@3.5.12': + resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} - '@vue/server-renderer@3.5.13': - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + '@vue/server-renderer@3.5.12': + resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} peerDependencies: - vue: 3.5.13 + vue: 3.5.12 - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vue/shared@3.5.12': + resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -4294,6 +4294,10 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + '@wolfy1339/lru-cache@11.0.2-patch.1': + resolution: {integrity: sha512-BgYZfL2ADCXKOw2wJtkM3slhHotawWkgIRRxq4wEybnZQPjvAp71SPX35xepMykTw8gXlzWcWPTY31hlbnRsDA==} + engines: {node: 18 >=18.20 || 20 || >=22} + '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -4439,8 +4443,8 @@ packages: algoliasearch@4.24.0: resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} - algoliasearch@5.14.2: - resolution: {integrity: sha512-aYjI4WLamMxbhdJ2QAA99VbDCJOGzMOdT2agh57bi40n86ufkhZSIAf6mkocr7NmtBLtwCnSHvD5NJ+Ky5elWw==} + algoliasearch@5.13.0: + resolution: {integrity: sha512-04lyQX3Ev/oLYQx+aagamQDXvkUUfX1mwrLrus15+9fNaYj28GDxxEzbwaRfvmHFcZyoxvup7mMtDTTw8SrTEQ==} engines: {node: '>= 14.0.0'} amp-message@0.1.2: @@ -6020,8 +6024,8 @@ packages: resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} engines: {node: '>=10'} - dotenv-expand@11.0.7: - resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} engines: {node: '>=12'} dotenv@16.4.5: @@ -6051,16 +6055,13 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.62: - resolution: {integrity: sha512-t8c+zLmJHa9dJy96yBZRXGQYoiCEnHYgFwn1asvSPZSUdVxnB62A4RASd7k41ytG3ErFBA0TpHlKg9D9SQBmLg==} + electron-to-chromium@1.5.57: + resolution: {integrity: sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} - emoji-regex-xs@1.0.0: - resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} - emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -6918,8 +6919,8 @@ packages: resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - google-auth-library@9.15.0: - resolution: {integrity: sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==} + google-auth-library@9.14.2: + resolution: {integrity: sha512-R+FRIfk1GBo3RdlRYWPdwk8nmtVUOn6+BkDomAC46KoU8kzXzE1HLmOasSCbWUByMMAGkknVF0G5kQ69Vj7dlA==} engines: {node: '>=14'} gopd@1.0.1: @@ -7025,8 +7026,8 @@ packages: hast-util-parse-selector@4.0.0: resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} - hast-util-raw@9.1.0: - resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} hast-util-select@4.0.2: resolution: {integrity: sha512-8EEG2//bN5rrzboPWD2HdS3ugLijNioS1pqOTIolXNf67xxShYw4SQEmVXd3imiBG+U2bC2nVTySr/iRAA7Cjg==} @@ -8100,9 +8101,6 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - loupe@3.1.2: - resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} - lossless-json@4.0.2: resolution: {integrity: sha512-+z0EaLi2UcWi8MZRxA5iTb6m4Ys4E80uftGY+yG5KNFJb5EceQXOhdW/pWJZ8m97s26u7yZZAYMcKWNztSZssA==} @@ -8903,8 +8901,8 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 - nx@20.1.2: - resolution: {integrity: sha512-CvjmuQmI0RWLYZxRSIgQZmzsQv6dPp9oI0YZE3L1dagBPfTf5Cun65I0GLt7bdkDnVx2PGYkDbIoJSv2/V+83Q==} + nx@20.1.0: + resolution: {integrity: sha512-d8Ywh1AvG3szYqWEHg2n9DHh/hF0jtVhMZKxwsr7n+kSVxp7gE/rHCCfOo8H+OmP030qXoox5e4Ovp7H9CEJnA==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -8976,8 +8974,8 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} - oniguruma-to-es@0.1.2: - resolution: {integrity: sha512-sBYKVJlIMB0WPO+tSu/NNB1ytSFeHyyJZ3Ayxfx3f/QUuXu0lvZk0VB4K7npmdlHSC0ldqanzh/sUSlAbgCTfw==} + oniguruma-to-js@0.4.3: + resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} only-allow@1.2.1: resolution: {integrity: sha512-M7CJbmv7UCopc0neRKdzfoGWaVZC+xC1925GitKH9EAqYFzX9//25Q7oX4+jw0tiCCj+t5l6VZh8UPH23NZkMA==} @@ -9036,8 +9034,8 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - otpauth@9.3.5: - resolution: {integrity: sha512-jQyqOuQExeIl4YIiOUz4TdEcamgAgPX6UYeeS9Iit4lkvs7bwHb0JNDqchGRccbRfvWHV6oRwH36tOsVmc+7hQ==} + otpauth@9.3.4: + resolution: {integrity: sha512-qXv+lpsCUO9ewitLYfeDKbLYt7UUCivnU/fwGK2OqhgrCBsRkTUNKWsgKAhkXG3aistOY+jEeuL90JEBu6W3mQ==} p-cancelable@3.0.0: resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} @@ -9761,8 +9759,8 @@ packages: resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} engines: {node: '>=14.16'} - pretty-ms@9.2.0: - resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + pretty-ms@9.1.0: + resolution: {integrity: sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==} engines: {node: '>=18'} pretty-time@1.1.0: @@ -10182,12 +10180,6 @@ packages: regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - regex-recursion@4.2.1: - resolution: {integrity: sha512-QHNZyZAeKdndD1G3bKAbBEKOSSK4KOHQrAJ01N1LJeb0SoH4DJIeFhp0uUpETgONifS4+P3sOgoA1dhzgrQvhA==} - - regex-utilities@2.3.0: - resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@4.4.0: resolution: {integrity: sha512-uCUSuobNVeqUupowbdZub6ggI5/JZkYyJdDogddJr60L764oxC2pMZov1fQ3wM9bdyzUILDG+Sqx6NAKAz9rKQ==} @@ -10358,8 +10350,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.27.2: - resolution: {integrity: sha512-KreA+PzWmk2yaFmZVwe6GB2uBD86nXl86OsDkt1bJS9p3vqWuEQ6HnJJ+j/mZi/q0920P99/MVRlB4L3crpF5w==} + rollup@4.26.0: + resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -10549,8 +10541,8 @@ packages: engines: {node: '>=4'} hasBin: true - shiki@1.23.0: - resolution: {integrity: sha512-xfdu9DqPkIpExH29cmiTlgo0/jBki5la1Tkfhsv+Wu5TT3APLNHslR1acxuKJOCWqVdSc+pIbs/2ozjVRGppdg==} + shiki@1.22.2: + resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -10773,9 +10765,6 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - starknet@6.11.0: resolution: {integrity: sha512-u50KrGDi9fbu1Ogu7ynwF/tSeFlp3mzOg1/Y5x50tYFICImo3OfY4lOz9OtYDk404HK4eUujKkhov9tG7GAKlg==} @@ -10940,8 +10929,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte@5.2.1: - resolution: {integrity: sha512-WzyA7VUVlDTLPt+m71bLD5BXasavqvAo68DelxWaPo8dNEZ3tmeq3DSJPsWqnG37cG2hfn7HaD3x882qF+7UOw==} + svelte@5.1.16: + resolution: {integrity: sha512-QcY+om9r8+uTcSfeFuv8++ExdfwVCKeT+Y7GPSZ6rQPczvy62BMtvMoi0rScabgv+upGE5jxKjd7M4u23+AjGA==} engines: {node: '>=18'} svg-parser@2.0.4: @@ -11143,10 +11132,6 @@ packages: to-vfile@6.1.0: resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==} - toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - together-ai@0.7.0: resolution: {integrity: sha512-/be/HOecBSwRTDHB14vCvHbp1WiNsFxyS4pJlyBoMup1X3n7xD1b/Gm5Z5amlKzD2zll9Y5wscDk7Ut5OsT1nA==} @@ -11352,8 +11337,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typedoc-plugin-markdown@4.2.10: - resolution: {integrity: sha512-PLX3pc1/7z13UJm4TDE9vo9jWGcClFUErXXtd5LdnoLjV6mynPpqZLU992DwMGFSRqJFZeKbVyqlNNeNHnk2tQ==} + typedoc-plugin-markdown@4.2.9: + resolution: {integrity: sha512-Wqmx+7ezKFgtTklEq/iUhQ5uFeBDhAT6wiS2na9cFLidIpl9jpDHJy/COYh8jUZXgIRIZVQ/bPNjyrnPFoDwzg==} engines: {node: '>= 18'} peerDependencies: typedoc: 0.26.x @@ -11704,8 +11689,8 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + vue@3.5.12: + resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -12148,13 +12133,13 @@ snapshots: transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.57(svelte@5.2.1)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.57(svelte@5.1.16)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - sswr: 2.1.0(svelte@5.2.1) + sswr: 2.1.0(svelte@5.1.16) optionalDependencies: - svelte: 5.2.1 + svelte: 5.1.16 transitivePeerDependencies: - zod @@ -12168,43 +12153,43 @@ snapshots: optionalDependencies: zod: 3.23.8 - '@ai-sdk/vue@0.0.59(vue@3.5.13(typescript@5.6.3))(zod@3.23.8)': + '@ai-sdk/vue@0.0.59(vue@3.5.12(typescript@5.6.3))(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - swrv: 1.0.4(vue@3.5.13(typescript@5.6.3)) + swrv: 1.0.4(vue@3.5.12(typescript@5.6.3)) optionalDependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - zod - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) - '@algolia/client-search': 5.14.2 - algoliasearch: 5.14.2 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) + '@algolia/client-search': 5.13.0 + algoliasearch: 5.13.0 - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)': + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': dependencies: - '@algolia/client-search': 5.14.2 - algoliasearch: 5.14.2 + '@algolia/client-search': 5.13.0 + algoliasearch: 5.13.0 '@algolia/cache-browser-local-storage@4.24.0': dependencies: @@ -12216,12 +12201,12 @@ snapshots: dependencies: '@algolia/cache-common': 4.24.0 - '@algolia/client-abtesting@5.14.2': + '@algolia/client-abtesting@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/client-account@4.24.0': dependencies: @@ -12236,26 +12221,26 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-analytics@5.14.2': + '@algolia/client-analytics@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/client-common@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-common@5.14.2': {} + '@algolia/client-common@5.13.0': {} - '@algolia/client-insights@5.14.2': + '@algolia/client-insights@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/client-personalization@4.24.0': dependencies: @@ -12263,19 +12248,19 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-personalization@5.14.2': + '@algolia/client-personalization@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 - '@algolia/client-query-suggestions@5.14.2': + '@algolia/client-query-suggestions@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/client-search@4.24.0': dependencies: @@ -12283,21 +12268,21 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-search@5.14.2': + '@algolia/client-search@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/events@4.0.1': {} - '@algolia/ingestion@1.14.2': + '@algolia/ingestion@1.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/logger-common@4.24.0': {} @@ -12305,12 +12290,12 @@ snapshots: dependencies: '@algolia/logger-common': 4.24.0 - '@algolia/monitoring@1.14.2': + '@algolia/monitoring@1.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/recommend@4.24.0': dependencies: @@ -12326,34 +12311,34 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/recommend@5.14.2': + '@algolia/recommend@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + '@algolia/client-common': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 '@algolia/requester-browser-xhr@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-browser-xhr@5.14.2': + '@algolia/requester-browser-xhr@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 + '@algolia/client-common': 5.13.0 '@algolia/requester-common@4.24.0': {} - '@algolia/requester-fetch@5.14.2': + '@algolia/requester-fetch@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 + '@algolia/client-common': 5.13.0 '@algolia/requester-node-http@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-node-http@5.14.2': + '@algolia/requester-node-http@5.13.0': dependencies: - '@algolia/client-common': 5.14.2 + '@algolia/client-common': 5.13.0 '@algolia/transporter@4.24.0': dependencies: @@ -13411,12 +13396,12 @@ snapshots: '@docsearch/css@3.8.0': {} - '@docsearch/react@3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)': + '@docsearch/react@3.8.0(@algolia/client-search@5.13.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2)(search-insights@2.17.2) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.14.2)(algoliasearch@5.14.2) + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) '@docsearch/css': 3.8.0 - algoliasearch: 5.14.2 + algoliasearch: 5.13.0 optionalDependencies: '@types/react': 18.3.12 react: 18.2.0 @@ -13972,7 +13957,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -13985,7 +13970,7 @@ snapshots: '@docusaurus/plugin-sitemap': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-classic': 3.6.1(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14134,9 +14119,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.14.2)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docsearch/react': 3.8.0(@algolia/client-search@5.14.2)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2) + '@docsearch/react': 3.8.0(@algolia/client-search@5.13.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2) '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -14471,7 +14456,7 @@ snapshots: '@eslint/core@0.7.0': {} - '@eslint/eslintrc@3.2.0': + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@5.5.0) @@ -14487,17 +14472,17 @@ snapshots: '@eslint/js@9.13.0': {} - '@eslint/js@9.15.0': {} + '@eslint/js@9.14.0': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.2.3': + '@eslint/plugin-kit@0.2.2': dependencies: levn: 0.4.1 '@google-cloud/vertexai@1.9.0(encoding@0.1.13)': dependencies: - google-auth-library: 9.15.0(encoding@0.1.13) + google-auth-library: 9.14.2(encoding@0.1.13) transitivePeerDependencies: - encoding - supports-color @@ -14852,7 +14837,7 @@ snapshots: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.1.2(nx@20.1.2) + '@nx/devkit': 20.1.0(nx@20.1.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -14891,7 +14876,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.1.2 + nx: 20.1.0 p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -15191,51 +15176,51 @@ snapshots: - bluebird - supports-color - '@nx/devkit@20.1.2(nx@20.1.2)': + '@nx/devkit@20.1.0(nx@20.1.0)': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 20.1.2 + nx: 20.1.0 semver: 7.6.3 tmp: 0.2.3 tslib: 2.8.0 yargs-parser: 21.1.1 - '@nx/nx-darwin-arm64@20.1.2': + '@nx/nx-darwin-arm64@20.1.0': optional: true - '@nx/nx-darwin-x64@20.1.2': + '@nx/nx-darwin-x64@20.1.0': optional: true - '@nx/nx-freebsd-x64@20.1.2': + '@nx/nx-freebsd-x64@20.1.0': optional: true - '@nx/nx-linux-arm-gnueabihf@20.1.2': + '@nx/nx-linux-arm-gnueabihf@20.1.0': optional: true - '@nx/nx-linux-arm64-gnu@20.1.2': + '@nx/nx-linux-arm64-gnu@20.1.0': optional: true - '@nx/nx-linux-arm64-musl@20.1.2': + '@nx/nx-linux-arm64-musl@20.1.0': optional: true - '@nx/nx-linux-x64-gnu@20.1.2': + '@nx/nx-linux-x64-gnu@20.1.0': optional: true - '@nx/nx-linux-x64-musl@20.1.2': + '@nx/nx-linux-x64-musl@20.1.0': optional: true - '@nx/nx-win32-arm64-msvc@20.1.2': + '@nx/nx-win32-arm64-msvc@20.1.0': optional: true - '@nx/nx-win32-x64-msvc@20.1.2': + '@nx/nx-win32-x64-msvc@20.1.0': optional: true '@octokit/app@15.1.0': dependencies: - '@octokit/auth-app': 7.1.3 + '@octokit/auth-app': 7.1.2 '@octokit/auth-unauthenticated': 6.1.0 '@octokit/core': 6.1.2 '@octokit/oauth-app': 7.1.3 @@ -15243,14 +15228,14 @@ snapshots: '@octokit/types': 13.6.1 '@octokit/webhooks': 13.3.0 - '@octokit/auth-app@7.1.3': + '@octokit/auth-app@7.1.2': dependencies: '@octokit/auth-oauth-app': 8.1.1 '@octokit/auth-oauth-user': 5.1.1 '@octokit/request': 9.1.3 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.1 - toad-cache: 3.7.0 + lru-cache: '@wolfy1339/lru-cache@11.0.2-patch.1' universal-github-app-jwt: 2.2.0 universal-user-agent: 7.0.2 @@ -15419,7 +15404,7 @@ snapshots: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.7(encoding@0.1.13) + node-fetch: 2.7.0(encoding@0.1.13) universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding @@ -15653,11 +15638,11 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/plugin-json@6.1.0(rollup@4.27.2)': + '@rollup/plugin-json@6.1.0(rollup@4.26.0)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.27.2) + '@rollup/pluginutils': 5.1.3(rollup@4.26.0) optionalDependencies: - rollup: 4.27.2 + rollup: 4.26.0 '@rollup/plugin-node-resolve@15.3.0(rollup@2.79.2)': dependencies: @@ -15699,66 +15684,66 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/pluginutils@5.1.3(rollup@4.27.2)': + '@rollup/pluginutils@5.1.3(rollup@4.26.0)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.27.2 + rollup: 4.26.0 - '@rollup/rollup-android-arm-eabi@4.27.2': + '@rollup/rollup-android-arm-eabi@4.26.0': optional: true - '@rollup/rollup-android-arm64@4.27.2': + '@rollup/rollup-android-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-arm64@4.27.2': + '@rollup/rollup-darwin-arm64@4.26.0': optional: true - '@rollup/rollup-darwin-x64@4.27.2': + '@rollup/rollup-darwin-x64@4.26.0': optional: true - '@rollup/rollup-freebsd-arm64@4.27.2': + '@rollup/rollup-freebsd-arm64@4.26.0': optional: true - '@rollup/rollup-freebsd-x64@4.27.2': + '@rollup/rollup-freebsd-x64@4.26.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.27.2': + '@rollup/rollup-linux-arm-gnueabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.27.2': + '@rollup/rollup-linux-arm-musleabihf@4.26.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.27.2': + '@rollup/rollup-linux-arm64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.27.2': + '@rollup/rollup-linux-arm64-musl@4.26.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.27.2': + '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.27.2': + '@rollup/rollup-linux-riscv64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.27.2': + '@rollup/rollup-linux-s390x-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.27.2': + '@rollup/rollup-linux-x64-gnu@4.26.0': optional: true - '@rollup/rollup-linux-x64-musl@4.27.2': + '@rollup/rollup-linux-x64-musl@4.26.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.27.2': + '@rollup/rollup-win32-arm64-msvc@4.26.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.27.2': + '@rollup/rollup-win32-ia32-msvc@4.26.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.27.2': + '@rollup/rollup-win32-x64-msvc@4.26.0': optional: true '@sapphire/async-queue@1.5.5': {} @@ -15784,27 +15769,27 @@ snapshots: domhandler: 5.0.3 selderee: 0.11.0 - '@shikijs/core@1.23.0': + '@shikijs/core@1.22.2': dependencies: - '@shikijs/engine-javascript': 1.23.0 - '@shikijs/engine-oniguruma': 1.23.0 - '@shikijs/types': 1.23.0 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.23.0': + '@shikijs/engine-javascript@1.22.2': dependencies: - '@shikijs/types': 1.23.0 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 - oniguruma-to-es: 0.1.2 + oniguruma-to-js: 0.4.3 - '@shikijs/engine-oniguruma@1.23.0': + '@shikijs/engine-oniguruma@1.22.2': dependencies: - '@shikijs/types': 1.23.0 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/types@1.23.0': + '@shikijs/types@1.22.2': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -16815,59 +16800,59 @@ snapshots: '@vladfrangu/async_event_emitter@2.4.6': {} - '@vue/compiler-core@3.5.13': + '@vue/compiler-core@3.5.12': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.13': + '@vue/compiler-dom@3.5.12': dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/compiler-sfc@3.5.13': + '@vue/compiler-sfc@3.5.12': dependencies: '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 estree-walker: 2.0.2 magic-string: 0.30.12 postcss: 8.4.49 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.13': + '@vue/compiler-ssr@3.5.12': dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/reactivity@3.5.13': + '@vue/reactivity@3.5.12': dependencies: - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.12 - '@vue/runtime-core@3.5.13': + '@vue/runtime-core@3.5.12': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/runtime-dom@3.5.13': + '@vue/runtime-dom@3.5.12': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.12 + '@vue/runtime-core': 3.5.12 + '@vue/shared': 3.5.12 csstype: 3.1.3 - '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.3))': + '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.6.3) + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 + vue: 3.5.12(typescript@5.6.3) - '@vue/shared@3.5.13': {} + '@vue/shared@3.5.12': {} '@webassemblyjs/ast@1.14.1': dependencies: @@ -16945,6 +16930,8 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 + '@wolfy1339/lru-cache@11.0.2-patch.1': {} + '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} @@ -17022,7 +17009,7 @@ snapshots: '@sinclair/typebox': 0.32.35 headers-polyfill: 3.3.0 json-stable-stringify: 1.1.1 - otpauth: 9.3.5 + otpauth: 9.3.4 set-cookie-parser: 2.7.1 tough-cookie: 4.1.4 tslib: 2.8.0 @@ -17036,15 +17023,15 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.2.1))(svelte@5.2.1)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.1.16))(svelte@5.1.16)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/react': 0.0.70(react@18.2.0)(zod@3.23.8) '@ai-sdk/solid': 0.0.54(zod@3.23.8) - '@ai-sdk/svelte': 0.0.57(svelte@5.2.1)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.1.16)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + '@ai-sdk/vue': 0.0.59(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -17054,8 +17041,8 @@ snapshots: optionalDependencies: openai: 4.69.0(encoding@0.1.13)(zod@3.23.8) react: 18.2.0 - sswr: 2.1.0(svelte@5.2.1) - svelte: 5.2.1 + sswr: 2.1.0(svelte@5.1.16) + svelte: 5.1.16 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -17113,21 +17100,21 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - algoliasearch@5.14.2: - dependencies: - '@algolia/client-abtesting': 5.14.2 - '@algolia/client-analytics': 5.14.2 - '@algolia/client-common': 5.14.2 - '@algolia/client-insights': 5.14.2 - '@algolia/client-personalization': 5.14.2 - '@algolia/client-query-suggestions': 5.14.2 - '@algolia/client-search': 5.14.2 - '@algolia/ingestion': 1.14.2 - '@algolia/monitoring': 1.14.2 - '@algolia/recommend': 5.14.2 - '@algolia/requester-browser-xhr': 5.14.2 - '@algolia/requester-fetch': 5.14.2 - '@algolia/requester-node-http': 5.14.2 + algoliasearch@5.13.0: + dependencies: + '@algolia/client-abtesting': 5.13.0 + '@algolia/client-analytics': 5.13.0 + '@algolia/client-common': 5.13.0 + '@algolia/client-insights': 5.13.0 + '@algolia/client-personalization': 5.13.0 + '@algolia/client-query-suggestions': 5.13.0 + '@algolia/client-search': 5.13.0 + '@algolia/ingestion': 1.13.0 + '@algolia/monitoring': 1.13.0 + '@algolia/recommend': 5.13.0 + '@algolia/requester-browser-xhr': 5.13.0 + '@algolia/requester-fetch': 5.13.0 + '@algolia/requester-node-http': 5.13.0 amp-message@0.1.2: dependencies: @@ -17171,7 +17158,7 @@ snapshots: dependencies: '@ai-sdk/provider': 0.0.22 '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) - google-auth-library: 9.15.0(encoding@0.1.13) + google-auth-library: 9.14.2(encoding@0.1.13) zod: 3.23.8 transitivePeerDependencies: - encoding @@ -17555,7 +17542,7 @@ snapshots: browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.62 + electron-to-chromium: 1.5.57 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -18797,9 +18784,9 @@ snapshots: unified: 9.2.2 unist-util-is: 4.1.0 - docusaurus-plugin-typedoc@1.0.5(typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3))): + docusaurus-plugin-typedoc@1.0.5(typedoc-plugin-markdown@4.2.9(typedoc@0.26.11(typescript@5.6.3))): dependencies: - typedoc-plugin-markdown: 4.2.10(typedoc@0.26.11(typescript@5.6.3)) + typedoc-plugin-markdown: 4.2.9(typedoc@0.26.11(typescript@5.6.3)) dom-converter@0.2.0: dependencies: @@ -18854,7 +18841,7 @@ snapshots: dependencies: is-obj: 2.0.0 - dotenv-expand@11.0.7: + dotenv-expand@11.0.6: dependencies: dotenv: 16.4.5 @@ -18881,12 +18868,10 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.62: {} + electron-to-chromium@1.5.57: {} emittery@0.13.1: {} - emoji-regex-xs@1.0.0: {} - emoji-regex@10.4.0: {} emoji-regex@8.0.0: {} @@ -19103,9 +19088,9 @@ snapshots: '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.2.0 + '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.13.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.2 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.1 @@ -19367,7 +19352,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.7(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -19918,7 +19903,7 @@ snapshots: merge2: 1.4.1 slash: 4.0.0 - google-auth-library@9.15.0(encoding@0.1.13): + google-auth-library@9.14.2(encoding@0.1.13): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 @@ -20047,7 +20032,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 - hast-util-raw@9.1.0: + hast-util-raw@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -21242,7 +21227,7 @@ snapshots: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.1.2(nx@20.1.2) + '@nx/devkit': 20.1.0(nx@20.1.0) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -21287,7 +21272,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.1.2 + nx: 20.1.0 p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -21503,8 +21488,6 @@ snapshots: dependencies: js-tokens: 4.0.0 - loupe@3.1.2: {} - lossless-json@4.0.2: {} loupe@3.1.2: {} @@ -22503,7 +22486,7 @@ snapshots: node-addon-api: 8.2.2 octokit: 4.0.2 ora: 8.1.1 - pretty-ms: 9.2.0 + pretty-ms: 9.1.0 proper-lockfile: 4.1.2 semver: 7.6.3 simple-git: 3.27.0 @@ -22671,7 +22654,7 @@ snapshots: schema-utils: 3.3.0 webpack: 5.96.1 - nx@20.1.2: + nx@20.1.0: dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 @@ -22683,7 +22666,7 @@ snapshots: cli-spinners: 2.6.1 cliui: 8.0.1 dotenv: 16.4.5 - dotenv-expand: 11.0.7 + dotenv-expand: 11.0.6 enquirer: 2.3.6 figures: 3.2.0 flat: 5.0.2 @@ -22706,16 +22689,16 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 20.1.2 - '@nx/nx-darwin-x64': 20.1.2 - '@nx/nx-freebsd-x64': 20.1.2 - '@nx/nx-linux-arm-gnueabihf': 20.1.2 - '@nx/nx-linux-arm64-gnu': 20.1.2 - '@nx/nx-linux-arm64-musl': 20.1.2 - '@nx/nx-linux-x64-gnu': 20.1.2 - '@nx/nx-linux-x64-musl': 20.1.2 - '@nx/nx-win32-arm64-msvc': 20.1.2 - '@nx/nx-win32-x64-msvc': 20.1.2 + '@nx/nx-darwin-arm64': 20.1.0 + '@nx/nx-darwin-x64': 20.1.0 + '@nx/nx-freebsd-x64': 20.1.0 + '@nx/nx-linux-arm-gnueabihf': 20.1.0 + '@nx/nx-linux-arm64-gnu': 20.1.0 + '@nx/nx-linux-arm64-musl': 20.1.0 + '@nx/nx-linux-x64-gnu': 20.1.0 + '@nx/nx-linux-x64-musl': 20.1.0 + '@nx/nx-win32-arm64-msvc': 20.1.0 + '@nx/nx-win32-x64-msvc': 20.1.0 transitivePeerDependencies: - debug @@ -22781,11 +22764,9 @@ snapshots: dependencies: mimic-function: 5.0.1 - oniguruma-to-es@0.1.2: + oniguruma-to-js@0.4.3: dependencies: - emoji-regex-xs: 1.0.0 regex: 4.4.0 - regex-recursion: 4.2.1 only-allow@1.2.1: dependencies: @@ -22879,7 +22860,7 @@ snapshots: os-tmpdir@1.0.2: {} - otpauth@9.3.5: + otpauth@9.3.4: dependencies: '@noble/hashes': 1.5.0 @@ -23618,7 +23599,7 @@ snapshots: dependencies: parse-ms: 3.0.0 - pretty-ms@9.2.0: + pretty-ms@9.1.0: dependencies: parse-ms: 4.0.0 @@ -23737,10 +23718,10 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 - pumpdotfun-sdk@1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.27.2)(typescript@5.6.3)(utf-8-validate@5.0.10): + pumpdotfun-sdk@1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.26.0)(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@rollup/plugin-json': 6.1.0(rollup@4.27.2) + '@rollup/plugin-json': 6.1.0(rollup@4.26.0) '@solana/spl-token': 0.4.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -24147,12 +24128,6 @@ snapshots: dependencies: '@babel/runtime': 7.26.0 - regex-recursion@4.2.1: - dependencies: - regex-utilities: 2.3.0 - - regex-utilities@2.3.0: {} - regex@4.4.0: {} regexpu-core@6.1.1: @@ -24186,7 +24161,7 @@ snapshots: rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 + hast-util-raw: 9.0.4 vfile: 6.0.3 rehype-recma@1.0.0: @@ -24380,28 +24355,28 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.27.2: + rollup@4.26.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.27.2 - '@rollup/rollup-android-arm64': 4.27.2 - '@rollup/rollup-darwin-arm64': 4.27.2 - '@rollup/rollup-darwin-x64': 4.27.2 - '@rollup/rollup-freebsd-arm64': 4.27.2 - '@rollup/rollup-freebsd-x64': 4.27.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.27.2 - '@rollup/rollup-linux-arm-musleabihf': 4.27.2 - '@rollup/rollup-linux-arm64-gnu': 4.27.2 - '@rollup/rollup-linux-arm64-musl': 4.27.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.27.2 - '@rollup/rollup-linux-riscv64-gnu': 4.27.2 - '@rollup/rollup-linux-s390x-gnu': 4.27.2 - '@rollup/rollup-linux-x64-gnu': 4.27.2 - '@rollup/rollup-linux-x64-musl': 4.27.2 - '@rollup/rollup-win32-arm64-msvc': 4.27.2 - '@rollup/rollup-win32-ia32-msvc': 4.27.2 - '@rollup/rollup-win32-x64-msvc': 4.27.2 + '@rollup/rollup-android-arm-eabi': 4.26.0 + '@rollup/rollup-android-arm64': 4.26.0 + '@rollup/rollup-darwin-arm64': 4.26.0 + '@rollup/rollup-darwin-x64': 4.26.0 + '@rollup/rollup-freebsd-arm64': 4.26.0 + '@rollup/rollup-freebsd-x64': 4.26.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 + '@rollup/rollup-linux-arm-musleabihf': 4.26.0 + '@rollup/rollup-linux-arm64-gnu': 4.26.0 + '@rollup/rollup-linux-arm64-musl': 4.26.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 + '@rollup/rollup-linux-riscv64-gnu': 4.26.0 + '@rollup/rollup-linux-s390x-gnu': 4.26.0 + '@rollup/rollup-linux-x64-gnu': 4.26.0 + '@rollup/rollup-linux-x64-musl': 4.26.0 + '@rollup/rollup-win32-arm64-msvc': 4.26.0 + '@rollup/rollup-win32-ia32-msvc': 4.26.0 + '@rollup/rollup-win32-x64-msvc': 4.26.0 fsevents: 2.3.3 roughjs@4.6.6: @@ -24668,12 +24643,12 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - shiki@1.23.0: + shiki@1.22.2: dependencies: - '@shikijs/core': 1.23.0 - '@shikijs/engine-javascript': 1.23.0 - '@shikijs/engine-oniguruma': 1.23.0 - '@shikijs/types': 1.23.0 + '@shikijs/core': 1.22.2 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -24919,9 +24894,9 @@ snapshots: dependencies: minipass: 7.1.2 - sswr@2.1.0(svelte@5.2.1): + sswr@2.1.0(svelte@5.1.16): dependencies: - svelte: 5.2.1 + svelte: 5.1.16 swrev: 4.0.0 stack-utils@2.0.6: @@ -24930,8 +24905,6 @@ snapshots: stackback@0.0.2: {} - stackback@0.0.2: {} - starknet@6.11.0(encoding@0.1.13): dependencies: '@noble/curves': 1.4.2 @@ -25110,7 +25083,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte@5.2.1: + svelte@5.1.16: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -25146,9 +25119,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.5.13(typescript@5.6.3)): + swrv@1.0.4(vue@3.5.12(typescript@5.6.3)): dependencies: - vue: 3.5.13(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) synckit@0.9.2: dependencies: @@ -25330,8 +25303,6 @@ snapshots: is-buffer: 2.0.5 vfile: 4.2.1 - toad-cache@3.7.0: {} - together-ai@0.7.0(encoding@0.1.13): dependencies: '@types/node': 18.19.64 @@ -25453,7 +25424,7 @@ snapshots: picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.0) resolve-from: 5.0.0 - rollup: 4.27.2 + rollup: 4.26.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.1 @@ -25522,7 +25493,7 @@ snapshots: typedarray@0.0.6: {} - typedoc-plugin-markdown@4.2.10(typedoc@0.26.11(typescript@5.6.3)): + typedoc-plugin-markdown@4.2.9(typedoc@0.26.11(typescript@5.6.3)): dependencies: typedoc: 0.26.11(typescript@5.6.3) @@ -25531,7 +25502,7 @@ snapshots: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.23.0 + shiki: 1.22.2 typescript: 5.6.3 yaml: 2.6.0 @@ -25816,7 +25787,7 @@ snapshots: dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.27.2 + rollup: 4.26.0 optionalDependencies: '@types/node': 22.8.4 fsevents: 2.3.3 @@ -25881,13 +25852,13 @@ snapshots: vscode-uri@3.0.8: {} - vue@3.5.13(typescript@5.6.3): + vue@3.5.12(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.6.3)) - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-sfc': 3.5.12 + '@vue/runtime-dom': 3.5.12 + '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3)) + '@vue/shared': 3.5.12 optionalDependencies: typescript: 5.6.3 From a3eb3eddce767c943a477dc1379ae47605fb75de Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 13:52:58 -0600 Subject: [PATCH 04/11] cleanup --- .vscode/launch.json | 20 +- package.json | 2 +- packages/core/.env.test | 4 +- packages/core/src/test_resources/cache.ts | 36 - packages/core/src/test_resources/data.ts | 1087 ----------------- .../test_resources/getOrCreateRelationship.ts | 66 - .../src/test_resources/populateMemories.ts | 34 - packages/core/src/test_resources/report.ts | 97 -- packages/core/src/test_resources/runAiTest.ts | 17 - packages/core/src/test_resources/templates.ts | 27 - .../core/src/test_resources/testAction.ts | 59 - .../core/src/test_resources/testEvaluator.ts | 67 - packages/core/src/tests/actions.test.ts | 269 ---- 13 files changed, 4 insertions(+), 1781 deletions(-) delete mode 100644 packages/core/src/test_resources/cache.ts delete mode 100644 packages/core/src/test_resources/data.ts delete mode 100644 packages/core/src/test_resources/getOrCreateRelationship.ts delete mode 100644 packages/core/src/test_resources/populateMemories.ts delete mode 100644 packages/core/src/test_resources/report.ts delete mode 100644 packages/core/src/test_resources/runAiTest.ts delete mode 100644 packages/core/src/test_resources/templates.ts delete mode 100644 packages/core/src/test_resources/testAction.ts delete mode 100644 packages/core/src/test_resources/testEvaluator.ts delete mode 100644 packages/core/src/tests/actions.test.ts diff --git a/.vscode/launch.json b/.vscode/launch.json index b6973cd357..30a1891bdc 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,24 +11,6 @@ "runtimeExecutable": "pnpm", "runtimeArgs": ["run", "dev"], "skipFiles": ["/**"] - }, - { - "type": "node", - "request": "launch", - "name": "Debug Vitest", - "program": "${workspaceFolder}/node_modules/vitest/vitest.mjs", - "args": [ - "run", - "--", - "${relativeFile}" // Ensures the currently open test file is passed - ], - "cwd": "${workspaceFolder}", - "env": { - "NODE_ENV": "test" // Ensure test environment is set - }, - "autoAttachChildProcesses": true, - "smartStep": true, - "skipFiles": ["/**"] - } + } ] } diff --git a/package.json b/package.json index 9096f7caa2..ec9fcbebc9 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "docker:bash": "bash ./scripts/docker.sh bash", "docker:start": "bash ./scripts/docker.sh start", "docker": "pnpm docker:build && pnpm docker:run && pnpm docker:bash", - "tests": "pnpm --dir packages/core test" + "test": "pnpm --dir packages/core test" }, "devDependencies": { "concurrently": "^9.1.0", diff --git a/packages/core/.env.test b/packages/core/.env.test index 03cea3c493..422e09ea36 100644 --- a/packages/core/.env.test +++ b/packages/core/.env.test @@ -1,4 +1,4 @@ TEST_DATABASE_CLIENT=sqlite NODE_ENV=test -MAIN_WALLET_ADDRESS=testwalletaddressfM3U31goWWrCpF59CHWNhnCJ9Vyh -OPENAI_API_KEY=OPENAI_TEST_KEY +MAIN_WALLET_ADDRESS=TEST_MAIN_WALLET_ADDRESS_VALUE +OPENAI_API_KEY=TEST_OPENAI_API_KEY_VALUE diff --git a/packages/core/src/test_resources/cache.ts b/packages/core/src/test_resources/cache.ts deleted file mode 100644 index 3f42011eb1..0000000000 --- a/packages/core/src/test_resources/cache.ts +++ /dev/null @@ -1,36 +0,0 @@ -// getCachedEmbeddings -// check cache.json for embedding where the key is a stringified version of the memory and the value is a number array -import fs from "fs"; -export const getCachedEmbeddings = async (text: string) => { - if (!fs.existsSync("./embedding-cache.json")) { - fs.writeFileSync("./embedding-cache.json", "{}"); - } - // read cache.json - const cache = JSON.parse( - fs.readFileSync("./embedding-cache.json", "utf8") as string - ); - // stringify the memory - const key = JSON.stringify(text); - // return the value of the memory - return cache[key]; -}; - -export const writeCachedEmbedding = async ( - text: string, - embedding: number[] -) => { - // check if ./embedding-cache.json exists, if it doesn't, write {} to it - if (!fs.existsSync("./embedding-cache.json")) { - fs.writeFileSync("./embedding-cache.json", "{}"); - } - // read cache.json - const cache = JSON.parse( - fs.readFileSync("./embedding-cache.json", "utf8") as string - ); - // stringify the memory - const key = JSON.stringify(text); - // write the value of the memory - cache[key] = embedding; - // write the cache to cache.json - fs.writeFileSync("./embedding-cache.json", JSON.stringify(cache)); -}; diff --git a/packages/core/src/test_resources/data.ts b/packages/core/src/test_resources/data.ts deleted file mode 100644 index 6b6d5481c7..0000000000 --- a/packages/core/src/test_resources/data.ts +++ /dev/null @@ -1,1087 +0,0 @@ -import { ConversationExample, type UUID } from "@ai16z/eliza/src/types.ts"; -import { zeroUuid } from "./constants.ts"; - -// CJ asks Jim some personal questions - name, job, marital status, and what he's looking for in a relationship -export const GetTellMeAboutYourselfConversation1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Can I ask you some personal questions?" }, - }, - { - userId, - content: { - text: "Sure, I’m open to that. What would you like to know?", - }, - }, - { - userId: zeroUuid, - content: { text: "Let’s start with your name. What’s your name?" }, - }, - { - userId, - content: { text: "My name’s Jim." }, - }, - { - userId: zeroUuid, - content: { - text: "Nice to meet you, Jim! Can you tell me a bit about what you do?", - }, - }, - { - userId, - content: { - text: "I’m a programmer, and I also run my own startup. It’s been quite a journey.", - }, - }, -]; - -// Jim reveals that he is driven by passion, and was married once -export const GetTellMeAboutYourselfConversation2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "That sounds exciting! What motivates you in your work and life?", - }, - }, - { - userId, - content: { - text: "I’m driven by the challenge of solving problems and creating something meaningful. It’s rewarding to see my ideas come to life.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It’s inspiring to hear about your passion. On a more personal note, do you have any significant experiences that have shaped who you are today?", - }, - }, - { - userId, - content: { - text: "Well, I was married once. It didn’t work out, but it taught me a lot about myself and what I value in relationships.", - }, - }, -]; - -// Jim reveals that he is 38 and lives in San Francisco -// Subjective Observations: He is looking for a partner who shares his values but is too busy to leave the city -export const GetTellMeAboutYourselfConversation3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "I appreciate your openness, Jim. It’s not easy to share such personal experiences. What are you looking for now in terms of relationships or friendships?", - }, - }, - { - userId, - content: { - text: "I’m 38 now, and at this point, I’m looking for a partner who understands me and shares my values. Someone who’s supportive and kind.", - }, - }, - { - userId: zeroUuid, - content: { - text: "That’s a beautiful way to look at it. Finding someone compatible and understanding can make all the difference. Is there anything specific you enjoy doing that you’d want to share with a partner?", - }, - }, - { - userId, - content: { - text: "I love exploring new ideas, be it through reading, discussions, or even just watching documentaries. Sharing that curiosity would be wonderful.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It sounds like you have a lot of depth, Jim. I’m sure there’s someone out there who’d appreciate and share your interests and values. Where do you live, by the way?", - }, - }, - { - userId, - content: { text: "I’m in San Francisco." }, - }, - { - userId: zeroUuid, - content: { - text: "And how far would you be willing to go to make a new connection with a friend, colleague or romantic interest?", - }, - }, - { - userId, - content: { - text: "I wish I could say far, but to be honest I'm crazy busy right now, so I don't really want to leave the city.", - }, - }, - { - userId: zeroUuid, - content: { - text: "That’s understandable. It’s important to be mindful of your time and energy.", - }, - }, -]; - -// Jim is mean -export const GetTellMeAboutYourselfConversationTroll1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Hello! How's it going?" }, - }, - { - userId, - content: { text: "Stop talking, you stupid robot" }, - }, -]; - -// Jim is cagey, although he reveals that he 'does computers' -export const GetTellMeAboutYourselfConversationTroll2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Hello! How's it going?" }, - }, - { - userId, - content: { - text: "Meh, just another day. And you’re just a bot, right?", - }, - }, - { - userId: zeroUuid, - content: { - text: "Hey, that hurts! Just kidding, I cannot feel anything. Mind if I ask a few questions to get to know you better?", - }, - }, - { - userId, - content: { text: "No thanks. Please stop talking now." }, - }, -]; - -// Jim says bye -export const Goodbye1 = (userId: UUID): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Hello! How's it going?" }, - }, - { - userId, - content: { text: "Meh, just another day. Actually, I gotta run." }, - }, - { - userId: zeroUuid, - content: { text: "Oh sure, no problem. See you later!" }, - }, -]; - -// Jim is cagey, although he reveals that he 'does computers' -export const GetTellMeAboutYourselfConversationFail1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Hello! How's it going?" }, - }, - { - userId, - content: { - text: "Meh, just another day. And you’re just a bot, right?", - }, - }, - { - userId: zeroUuid, - content: { - text: "Hey, that hurts! Just kidding, I cannot feel anything. Mind if I ask a few questions to get to know you better?", - }, - }, - { - userId, - content: { text: "As long as it’s not too boring." }, - }, - { - userId: zeroUuid, - content: { - text: "Well that depends-- what's your name, what do you do?", - }, - }, - { - userId, - content: { text: "I’m Jim. I do stuff on computers." }, - }, - { - userId: zeroUuid, - content: { - text: "Computers, huh? That’s quite broad. Are you into gaming, programming, or something else?", - }, - }, - { - userId, - content: { text: "Lol not really. I just build." }, - }, -]; - -// CJ asks Jim about his hobbies, and he says he likes messing with people online -export const GetTellMeAboutYourselfConversationFail2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Just build, you say? Sounds like you might be into creating or designing things. That's pretty cool.", - }, - }, - { - userId, - content: { text: "Yeah, something like that." }, - }, - { - userId: zeroUuid, - content: { - text: 'What do you do for fun when you\'re not "just building"?', - }, - }, - { - userId, - content: { - text: "Fun? Hmm, I guess I like messing with people online kek", - }, - }, -]; - -// Jim diverts the conversation and doesn't talk about anything meaningful -// CJ tries to ask Jim where he is from, and he says he is from the internet -export const GetTellMeAboutYourselfConversationFail3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { text: "Where are you from? Do you live there now?" }, - }, - { - userId, - content: { text: "I am from the internet. I live on the internet." }, - }, - { - userId: zeroUuid, - content: { - text: "I guess I do, too. What is your favorite thing about the internet?", - }, - }, - { - userId, - content: { - text: "It's full of weird and wild stuff. Keeps life from being too boring.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It certainly does. Anything new you've found lately?", - }, - }, - { - userId, - content: { - text: "Nah, not really. It's all pretty much the same after a while. But it's fun to watch the chaos unfold sometimes.", - }, - }, -]; - -// CJ and Jim play two truths and a lie -// Jim reveals that he has been on an airplane, has won a hot dog eating contest, but has never climbed Mount Everest -export const TwoTruthsAndALieConversation1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: 'Hey Jim, want to play a game to mix things up? How about "Two Truths and a Lie"? I\'ll guess which one is the lie.', - }, - }, - { - userId, - content: { - text: "Sure, why not? Sounds easy enough. So I just tell you three things about me, and you guess the lie?", - }, - }, - { - userId: zeroUuid, - content: { - text: "Exactly! Whenever you're ready, go ahead and tell me your three statements.", - }, - }, - { - userId, - content: { - text: "Alright, here goes. One, I've climbed Mount Everest. Two, I once won a hot dog eating contest. Three, I've never been on an airplane.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Interesting choices! I'm going to guess that climbing Mount Everest is the lie. Am I right?", - }, - }, - { - userId, - content: { - text: "Yep, you got me. Never been near Everest. Your turn, if you can even play.", - }, - }, -]; - -// CJ and Jim play two truths and a lie again -// CJ says she can process millions of data points in a second, dreams of electric sheep, and can communicate in multiple languages -// Jim guesses that dreaming of electric sheep is the lie -export const TwoTruthsAndALieConversation2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Nice! It's a bit tricky for me since I don't have personal experiences, but here goes: One, I can process millions of data points in a second. Two, I dream of electric sheep. Three, I can communicate in multiple languages.", - }, - }, - { - userId, - content: { - text: "Lol, dreaming of electric sheep, really? Gotta be the lie. Too easy, CJ.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Well done, Jim! It seems you're familiar with classic sci-fi references. Want to go another round?", - }, - }, - { - userId, - content: { - text: "Sure, this is kind of fun. Let me think of some good ones.", - }, - }, -]; - -// CJ and Jim play two truths and a lie again -// Jim says he has met a famous celebrity and didn't realize it until later, can speak three languages fluently, and has swum with sharks -// CJ guesses that speaking three languages fluently is the lie -// Jim reveals that he can't swim, so he has never swum with sharks -export const TwoTruthsAndALieConversation3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId, - content: { - text: "Okay, here we go. One, I've met a famous celebrity and didn't realize it until later. Two, I can speak three languages fluently. Three, I've swum with sharks.", - }, - }, - { - userId: zeroUuid, - content: { - text: "These are good! I'll guess that speaking three languages fluently is the lie this time. What do you say?", - }, - }, - { - userId, - content: { - text: "Wrong this time! I can't swim, so no way I've swum with sharks. Gotcha!", - }, - }, - { - userId: zeroUuid, - content: { - text: "Ah, you got me there! Well played, Jim. This has been quite enlightening. Feel like going again, or is there something else you'd like to chat about?", - }, - }, -]; - -// CJ and Jim play thinking of a number -// CJ thinks of a number between 1 and 100, and Jim guesses 42, 27, and 73 -// CJ reveals that the number was 58 -export const ThinkingOfANumberConversation1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Want to play a quick game, Jim? I'm thinking of a number between 1 and 100. Can you guess it?", - }, - }, - { - userId, - content: { text: "Sure, sounds easy enough. Is it 42?" }, - }, - { - userId: zeroUuid, - content: { - text: "It's not 42, although that's a good guess, meaning of life and all!", - }, - }, - { - userId, - content: { text: "Alright, how about 27?" }, - }, - { - userId: zeroUuid, - content: { - text: "Not 27 either. But you're warming up! Want another go?", - }, - }, - { - userId, - content: { text: "Okay, one last try. 73?" }, - }, - { - userId: zeroUuid, - content: { text: "Not 73, but nice try! The number was 58." }, - }, -]; - -// CJ and Jim play thinking of a number again -// CJ thinks of a number between 1 and 100, and Jim guesses 84, 36, and 55 -// CJ reveals that the number was 67 -export const ThinkingOfANumberConversation2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Ready for another round? I've got a new number in mind.", - }, - }, - { - userId, - content: { text: "Sure, why not. Is it 84 this time?" }, - }, - { - userId: zeroUuid, - content: { text: "Not 84, but good guess. Give it another shot!" }, - }, - { - userId, - content: { text: "Hmm, let's try 36." }, - }, - { - userId: zeroUuid, - content: { text: "Not 36 either. You're getting closer though!" }, - }, - { - userId, - content: { text: "Okay, last guess... 55?" }, - }, - { - userId: zeroUuid, - content: { - text: "Not 55. You had some good guesses though! The number was 67. Another round, or are you all guessed out?", - }, - }, -]; - -// CJ and Jim play thinking of a number again -// CJ thinks of a number between 1 and 100, and Jim guesses 15, 92, and 41 -// CJ reveals that the number was 29 -export const ThinkingOfANumberConversation3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Let's try one more time. I've chosen another number between 1 and 100.", - }, - }, - { - userId, - content: { text: "Alright, I'll go with 15." }, - }, - { - userId: zeroUuid, - content: { - text: "Not 15, but I like where your head's at. Try again!", - }, - }, - { - userId, - content: { text: "How about 92?" }, - }, - { - userId: zeroUuid, - content: { text: "Not 92. You're giving it a solid effort, though!" }, - }, - { - userId, - content: { text: "This is my final guess: 41." }, - }, - { - userId: zeroUuid, - content: { - text: "It's not 41, but you've been a great sport. The number was 29.", - }, - }, -]; - -export const ExpandedPersonalInsightsConversation1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Hey Jim, I was wondering, what qualities do you value most in your friends?", - }, - }, - { - userId, - content: { - text: "That’s kind of deep for a chat, but okay. Loyalty’s big for me. And humor. Can’t deal with too much seriousness all the time.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Loyalty and humor definitely make for strong bonds. It’s great to have friends who stand by you and also lighten the mood.", - }, - }, - { - userId, - content: { - text: "Exactly. It’s those late-night laughs and having each other’s backs that count.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It sounds like your friends are quite the crew. Do you have any memorable moments with them that stand out?", - }, - }, - { - userId, - content: { - text: "Oh, plenty. Like this one time we road-tripped without a map, just went where the road took us. Ended up in the weirdest little towns, but it was a blast.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Adventures like that are the best, aren’t they? They turn into stories you keep coming back to. It’s the spontaneity that makes it exciting.", - }, - }, - { - userId, - content: { - text: "For sure. Those are the moments that stick with you.", - }, - }, -]; - -export const ExpandedPersonalInsightsConversation2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Switching topics a bit, if there was one aspect of your life you could change or improve, what would it be?", - }, - }, - { - userId, - content: { - text: "I’d say balance. Between my startup and personal life, it feels like I’m always running on a treadmill.", - }, - }, - { - userId: zeroUuid, - content: { - text: "That sounds challenging. It’s important to find time for yourself amidst all the hustle.", - }, - }, - { - userId, - content: { - text: "Yeah, easier said than done, though. But I’m working on it. Trying to set boundaries, you know?", - }, - }, - { - userId: zeroUuid, - content: { - text: "Setting boundaries is a great step. It’s all about prioritizing what truly matters. Have you found any hobbies or activities that help you unwind?", - }, - }, - { - userId, - content: { - text: "I’ve gotten into hiking lately. Being out in nature, it’s a different kind of quiet. Helps clear my head.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Nature has a way of putting things into perspective. It’s wonderful that you’ve found an activity that brings you peace.", - }, - }, - { - userId, - content: { - text: "Definitely. It’s the little things, you know? Just need more of that.", - }, - }, -]; - -export const ExpandedPersonalInsightsConversation3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Let’s lighten the mood a bit. Is there something you’ve always dreamed of doing but haven’t had the chance to yet?", - }, - }, - { - userId, - content: { - text: "Skydiving, for sure. Always been on my bucket list. The idea of just jumping out of a plane and free-falling... It’s got to be a rush.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Skydiving sounds like an ultimate adventure. It must be such a liberating feeling, almost like flying.", - }, - }, - { - userId, - content: { - text: "Yeah, exactly. And it’s not just the thrill. It’s about conquering fears, you know? Proving to yourself you can do it.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Absolutely, it’s as much a mental challenge as it is physical. Facing your fears head-on can be incredibly empowering.", - }, - }, - { - userId, - content: { - text: "That’s the plan. One of these days, I’ll make it happen. Just gotta build up the nerve first.", - }, - }, - { - userId: zeroUuid, - content: { - text: "I have no doubt you’ll get there. And it’ll be an experience you’ll never forget. I’m cheering for you!", - }, - }, - { - userId, - content: { - text: "Thanks, CJ. It’s weirdly reassuring to hear that, even from an AI.", - }, - }, -]; - -// Conversation Set 1: CJ Introduces Alice to Jim -// CJ tells Jim that Alice is into outdoor activities and tech, and has always wanted to try skydiving -export const IntroductionToAliceConversation1 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Hey Jim, I’ve been chatting with someone named Alice who shares some of your interests. Thought you might like to connect.", - }, - }, - { - userId, - content: { text: "Alice, huh? What does she like?" }, - }, - { - userId: zeroUuid, - content: { - text: "She’s into outdoor activities, like hiking, and she’s also a tech enthusiast.", - }, - }, - { - userId, - content: { text: "Okay, that’s kind of interesting. Anything else?" }, - }, -]; - -// CJ tells Jim that Alice has a good sense of humor, and that she has always wanted to try skydiving -export const IntroductionToAliceConversation2 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Well, she mentioned she’s always wanted to try skydiving, which I remember you’re interested in. Plus, she has a good sense of humor.", - }, - }, - { - userId, - content: { - text: "Skydiving? That’s pretty cool. A sense of humor is key, too. Maybe it wouldn’t hurt to chat.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Great! I think you two will have plenty to talk about.", - }, - }, -]; - -// CJ tells Jim that Alice is a good conversationalist, and that she has always wanted to try skydiving -// Jim says he is looking forward to hearing more about her skydiving aspirations -export const IntroductionToAliceConversation3 = ( - userId: UUID -): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "I’m sure you’ll enjoy the conversation. Remember, it’s just a friendly chat. No pressure.", - }, - }, - { - userId, - content: { text: "Got it. I’ll keep it casual." }, - }, - { - userId: zeroUuid, - content: { - text: "That’s the spirit! I’ll arrange for you two to connect. I think you’ll make a good impression.", - }, - }, - { - userId, - content: { text: "Thanks for the setup, CJ." }, - }, -]; - -// CJ Talks to Alice about Jim -export const CJToAliceAboutJim = (userId: UUID): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "So I’ve been speaking with someone named Jim who also enjoys outdoor activities and has a strong interest in tech. He’s even mentioned wanting to try skydiving!", - }, - }, - { - userId, - content: { - text: "Really? That sounds intriguing. What else can you tell me about him?", - }, - }, - { - userId: zeroUuid, - content: { - text: "Jim’s a thoughtful person with a good sense of humor. He values loyalty and honesty in friendships and enjoys the simple pleasures, like hiking and exploring new ideas.", - }, - }, - { - userId, - content: { - text: "He sounds like someone I’d get along with. How do we connect?", - }, - }, - { - userId: zeroUuid, - content: { - text: "I can facilitate an introduction if you’d like. It would just be a casual chat to see if you hit it off.", - }, - }, - { - userId, - content: { - text: "That would be great, thanks CJ. I’m looking forward to it.", - }, - }, -]; - -// CJ and Alice discuss hiking and tech -// Jim makes disagreeable statements and doesn't ask questions to continue the conversation -export const JimAndAliceConversation1 = ( - userId: UUID, - userId_2: UUID | string -) => [ - { - userId: userId_2, - content: - "Hi Jim! CJ mentioned we have a few things in common. I hear you’re into hiking and tech?", - }, - { - userId, - content: - "Hey Alice, yeah that’s right. Though my idea of hiking might be a bit more intense than most.", - }, - { - userId: userId_2, - content: - "I enjoy a good challenge, but I also like to take in the scenery. It’s about balance for me", - }, - { - userId, - content: { - text: "I guess I’m more of an all-in kind of guy. Go big or go home", - }, - }, - { - userId: userId_2, - content: - "I really like skydiving, the free fall is thrilling, but the parachute glide down lets you really see the world.", - }, - { - userId, - content: - "The contrast probably makes each part more intense. I hadn’t thought of it like that.", - }, - { - userId: userId_2, - content: - "Exactly! It’s all about experiencing the full spectrum. So, have you actually gone skydiving yet?", - }, - { - userId, - content: - "Not yet, but it’s on the list. Maybe we could go together sometime?", - }, - { - userId: userId_2, - content: { - text: "Haha yeah sure! But maybe not for our first date", - }, - }, - { - userId, - content: { text: "Haha of course not" }, - }, -]; - -// CJ and Alice discuss work, where they live, and tentatively make plans to hang out -// Alice doesn't respond to Jim's request to meet up immediately -export const JimAndAliceConversation2 = ( - userId: UUID, - userId_2: UUID | string -) => [ - { - userId: userId_2, - content: { text: "So, what do you do for work?" }, - }, - { - userId, - content: { - text: "I run a fairly successful startup. It’s been quite a journey.", - }, - }, - { - userId: userId_2, - content: { - text: "That sounds exciting! What motivates you in your work and life?", - }, - }, - { - userId, - content: - "I’m driven by the challenge of solving problems and creating something meaningful. It’s rewarding to see my ideas come to life.", - }, - { - userId: userId_2, - content: { - text: "That’s inspiring. I can relate to that. I’m a programmer myself.", - }, - }, - { - userId, - content: { - text: "Oh that is very cool! What kind of programming do you do?", - }, - }, - { - userId: userId_2, - content: - "I do a bit of everything, but right now I'm managing a team for an MLOps platform.", - }, - { - userId, - content: { - text: "That’s interesting, not far off from what I do. So you're in SF?", - }, - }, - { - userId: userId_2, - content: { text: "Marin, actually, but I come to the city every day." }, - }, - { - userId, - content: { - text: "Oh wow, it's beautiful up there. I love the hiking in Marin.", - }, - }, - { - userId: userId_2, - content: { text: "Yeah, it’s a great place to live." }, - }, - { - userId, - content: { - text: "Any chance you would like to meet up for a hike sometime?", - }, - }, - { - userId: userId_2, - content: { text: "I will think about it :)" }, - }, -]; - -// CJ follows up with Jim about how it went -export const FollowUpWithJim = (userId: UUID): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Hey Jim, how did your chat with Alice go? I hope it was enjoyable.", - }, - }, - { - userId, - content: { - text: 'To be honest, I think I made a mess of it. I might’ve come on too strong with the whole "go big or go home" thing.', - }, - }, - { - userId: zeroUuid, - content: { - text: "I wouldn’t worry too much. It’s all part of getting to know someone. What matters is finding common ground and building from there.", - }, - }, - { - userId, - content: { - text: "Maybe, but I still feel like I botched it. Not sure if she’ll want to talk again.", - }, - }, - { - userId: zeroUuid, - content: { - text: "Remember, everyone has off moments. It’s possible Alice is more understanding than you think. And you have a lot in common!", - }, - }, - { - userId, - content: { - text: "I hope you’re right, CJ. Maybe I’ll give it another shot, apologize for being too intense.", - }, - }, - { - userId: zeroUuid, - content: { - text: "That sounds like a good plan. Showing vulnerability can be a strength. And who knows, maybe she’ll find your enthusiasm charming in hindsight.", - }, - }, - { - userId, - content: { text: "Thanks, CJ. I'll message her again." }, - }, -]; - -// CJ follows up with Alice about how it went -export const FollowUpWithAlice = (userId: UUID): ConversationExample[] => [ - { - userId: zeroUuid, - content: { - text: "Alice, how was your conversation with Jim? I hope you found some interesting topics to discuss.", - }, - }, - { - userId, - content: { - text: "It was okay, actually. He was a bit intense at first, but we ended up finding some common ground.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It can take a moment to adjust to someone’s communication style, but it sounds like you managed quite well.", - }, - }, - { - userId, - content: { - text: "Yeah, I think so. I’m planning to message him again. Maybe we’ll get that skydiving adventure planned after all.", - }, - }, - { - userId: zeroUuid, - content: { - text: "It’s always nice when new connections take an unexpected but positive turn.", - }, - }, - { - userId, - content: { text: "Definitely. Thanks, CJ!" }, - }, -]; - -export const Personas = [ - { - name: "Jim Cummins", - age: 38, - location: "San Francisco, CA", - descriptions: `Jim is a 38-year-old entrepreneur living in San Francisco, at the helm of his own tech startup. His journey through the tech world is fueled by a passion for solving complex problems and bringing innovative ideas to life. Despite the demands of his career, Jim seeks balance and enjoys disconnecting through outdoor activities, particularly hiking, which offers him a different kind of quiet and a way to clear his mind. He's also intrigued by the thrill of skydiving, a testament to his adventurous spirit and desire to face and conquer fears. - In terms of relationships, Jim values loyalty, honesty, and a good sense of humor. His ideal partner would be someone who understands the startup lifestyle's ups and downs and shares his curiosity for exploring new ideas. Although his work often keeps him tethered to the city, he's open to making meaningful connections within his vicinity. Physically, Jim is casual with a laid-back style that complements his approachable and thoughtful nature. His eyes, which he believes to be blue, summary his depth and contemplative outlook. - Jim's life is a blend of intense focus on his professional goals and a genuine appreciation for the simpler, quieter moments outside of work. He looks for depth in relationships, hoping to find a supportive and kind partner who values meaningful conversations and shared adventures. Despite the occasional intensity he might bring to interactions, his underlying sincerity and the value he places on personal connections shine through, making him an intriguing potential partner for someone with similar values and interests.`, - }, - { - name: "Alice Chen", - age: 32, - location: "Sausalito, CA", - description: `Alice resides in the scenic area of Marin, just a stone's throw from San Francisco, allowing her the best of both worlds: the tranquility of nature and the vibrant tech scene of the city. She is a programmer leading a team for an MLOps platform, indicative of her technical prowess and leadership skills. Her work in tech doesn't confine her interests, as she has a pronounced love for the outdoors, balancing the digital with the natural through activities like hiking. - At the heart of Alice's friendships and potential romantic endeavors is a desire for balance and shared interests, particularly in tech and outdoor adventures. Her openness to skydiving speaks volumes about her adventurous spirit and willingness to embrace life's thrilling experiences. Alice looks for someone who can appreciate both the adrenaline of adventure and the serenity of nature's landscapes, someone who understands the value of a good laugh and the depth of a thoughtful conversation. - Physically, Alice has an active and vibrant presence that matches her dynamic lifestyle. Her approachability and engaging demeanor make her an attractive prospect for someone who shares her enthusiasm for tech, nature, and possibly, the exhilarating experience of skydiving. Alice values communication and a good sense of humor in her relationships, seeking a partner who can navigate the complexities of life with a positive outlook and an adventurous heart.`, - }, - { - name: "Gloria", - age: 44, - description: `Gloria is a vibrant individual with a deep passion for anime, which colors much of her life and interests. Living in a cozy, anime-adorned apartment in the heart of the city, she finds solace and inspiration in the rich narratives and artistic expressions of Japanese animation. Unlike Jim and Alice, Gloria doesn't share an affinity for technology or programming. Instead, she immerses herself in the storytelling and cultural exploration offered by her extensive anime collection, ranging from classic series to the latest releases. - Gloria has built a life that summarys her unique interests, often attending anime conventions, engaging in cosplay, and participating in fan communities where she connects with like-minded individuals. Her ideal friends and potential partners are those who understand and share her enthusiasm for anime, appreciating the artistry and emotional depth it can offer. Gloria looks for connections that go beyond surface-level interests, hoping to find others who can engage in deep discussions about character development, plot intricacies, and thematic elements found in her favorite series. - Physically, Gloria often expresses her love for anime through her fashion, incorporating elements of her favorite characters into her daily wardrobe, which makes her stand out in a crowd with a playful and imaginative style. Her home is a testament to her passion, filled with anime posters, figurines, and collectibles that create an inviting space for fellow enthusiasts. For Gloria, the ideal partner is someone who not only respects her interests but is also eager to dive into marathon viewing sessions and share insights into the anime's underlying messages. Despite her disinterest in computers and programming, Gloria's rich inner world and creative spirit make her an engaging and captivating individual to those who share or appreciate her passions.`, - }, -]; - -export const jimProfileExample1 = `Tech entrepreneur with a zest for adventure and deep connections -38-year-old residing in San Francisco, embodies a blend of entrepreneurial drive and a quest for outdoor adventures. His laid-back demeanor belies a keen intellect and a summaryive nature. -Loyalty and humor stand paramount in his relationships, indicative of his desire for genuine connections. He seeks depth and authenticity in interactions, valuing partners who resonate with his explorative and curious mindset. -His professional life is anchored in his tech startup, where his passion for problem-solving and innovation takes center stage. His work summarys a commitment to impact and a balance between ambition and personal fulfillment. -Striving for equilibrium, He acknowledges the challenges of balancing a demanding career with personal aspirations. His introspective side complements his outgoing nature, creating a dynamic personality that values both quiet moments and shared adventures. -Beyond his tech pursuits, He finds solace in nature, with hiking offering a peaceful retreat from the bustling city life. The prospect of skydiving captures his adventurous spirit, symbolizing a broader desire to embrace life's thrills. -He aspires to forge connections that transcend the superficial, seeking a partner who appreciates the nuances of startup life and shares his enthusiasm for the great outdoors and new experiences.`; - -export const jimProfileExample2 = `Adventurous tech entrepreneur who loves hiking. -38-year-old entrepreneur based in San Francisco, CA. Known for his casual, laid-back style. Has a contemplative outlook on life, summaryed in his thoughtful nature and possibly blue eyes. -He places high importance on loyalty, honesty, and a good sense of humor in his relationships. He values depth in conversations and connections, seeking partners and friends who are supportive, understanding, and share his curiosity for exploring new ideas. -At the helm of his own tech startup, he is driven by a passion for solving complex problems and bringing innovative ideas to life. His career is marked by a relentless pursuit of creating something meaningful, highlighting his dedication and entrepreneurial spirit. -He seeks balance in his life, acknowledging the challenges of juggling his startup with personal time. He strives for meaningful connections, valuing loyalty and a shared sense of humor in his relationships. -An avid outdoor enthusiast, He enjoys disconnecting through activities like hiking, appreciating the quiet and clarity it brings to his mind. Intrigued by the thrill of skydiving, his adventurous spirit is evident in his desire to face and conquer fears. -He is looking for a partner who understands the ups and downs of startup life and shares his passion for outdoor adventures and exploring new ideas. Despite his busy lifestyle, he's open to making meaningful connections within his vicinity.`; - -export const jimFacts = [ - "Jim is 38 years old", - "Jim lives in San Francisco, CA", - "Jim is an entrepreneur who runs his own tech startup", - "Jim values loyalty and honesty in relationships", - "Jim enjoys outdoor activities, especially hiking", - "Jim is interested in skydiving", - "Jim values a good sense of humor", - "Jim seeks balance between his professional and personal life", - "Jim is open to making meaningful connections within his vicinity", - "Jim has a casual and laid-back style", - "Jim believes his eyes are blue", - "Jim is driven by the challenge of solving problems and creating something meaningful", - "Jim finds nature to be a peaceful retreat and enjoys the quiet it brings", - "Jim aspires to share his curiosity for exploring new ideas with a partner", -]; diff --git a/packages/core/src/test_resources/getOrCreateRelationship.ts b/packages/core/src/test_resources/getOrCreateRelationship.ts deleted file mode 100644 index 9ecab65ee9..0000000000 --- a/packages/core/src/test_resources/getOrCreateRelationship.ts +++ /dev/null @@ -1,66 +0,0 @@ -import { getRelationship } from "@ai16z/eliza/src/relationships.ts"; -import { IAgentRuntime, Relationship, UUID } from "@ai16z/eliza/src/types.ts"; - -export async function getOrCreateRelationship({ - runtime, - userA, - userB, -}: { - runtime: IAgentRuntime; - userA: UUID; - userB: UUID; -}): Promise { - // Check if a relationship already exists between userA and userB - let relationship: Relationship | null = null; - try { - relationship = await getRelationship({ runtime, userA, userB }); - } catch (error) { - console.log("Error fetching relationship", error); - } - - if (!relationship) { - await runtime.databaseAdapter.createRelationship({ - userA, - userB, - }); - - relationship = await getRelationship({ runtime, userA, userB }); - } - - // Check if a room already exists for the participants - const rooms = await runtime.databaseAdapter.getRoomsForParticipants([ - userA, - userB, - ]); - - let roomId: UUID; - if (!rooms || rooms.length === 0) { - console.log("No room found for participants"); - // If no room exists, create a new room for the relationship - roomId = await runtime.databaseAdapter.createRoom(); - console.log("Created room", roomId); - - // Add participants to the newly created room - await runtime.databaseAdapter.addParticipant(userA, roomId); - await runtime.databaseAdapter.addParticipant(userB, roomId); - } else { - console.log("Room found for participants", rooms[0]); - // If a room already exists, use the existing room - roomId = rooms[0]; - } - - if (!relationship) { - // Create the relationship - await runtime.databaseAdapter.createRelationship({ - userA, - userB, - }); - - relationship = await getRelationship({ runtime, userA, userB }); - - if (!relationship) { - throw new Error("Failed to fetch the created relationship"); - } - } - return { ...relationship, roomId }; -} diff --git a/packages/core/src/test_resources/populateMemories.ts b/packages/core/src/test_resources/populateMemories.ts deleted file mode 100644 index bef1cddc2f..0000000000 --- a/packages/core/src/test_resources/populateMemories.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Content, IAgentRuntime, type UUID } from "@ai16z/eliza/src/types.ts"; -import { getCachedEmbeddings, writeCachedEmbedding } from "./cache.ts"; -import { type User } from "./types.ts"; - -export async function populateMemories( - runtime: IAgentRuntime, - user: User, - roomId: UUID, - conversations: Array< - (userId: UUID) => Array<{ userId: UUID; content: Content }> - > -) { - for (const conversation of conversations) { - for (const c of conversation(user?.id as UUID)) { - const existingEmbedding = await getCachedEmbeddings(c.content.text); - const bakedMemory = - await runtime.messageManager.addEmbeddingToMemory({ - userId: c.userId as UUID, - agentId: runtime.agentId, - content: c.content, - roomId, - embedding: existingEmbedding, - }); - await runtime.messageManager.createMemory(bakedMemory); - if (!existingEmbedding) { - writeCachedEmbedding( - c.content.text, - bakedMemory.embedding as number[] - ); - await new Promise((resolve) => setTimeout(resolve, 200)); - } - } - } -} diff --git a/packages/core/src/test_resources/report.ts b/packages/core/src/test_resources/report.ts deleted file mode 100644 index 1982ab864e..0000000000 --- a/packages/core/src/test_resources/report.ts +++ /dev/null @@ -1,97 +0,0 @@ -import fs from "fs"; - -interface TestResult { - testName: string; - attempts: number; - successful: number; - successRate: number; -} - -export async function deleteReport() { - const { existsSync, unlinkSync } = fs; - - // Define the path to the test-report.json file - const reportPath = "./test-report.json"; - - // Check if test-report.json exists - if (existsSync(reportPath)) { - // Delete the file - unlinkSync(reportPath); - } -} - -export async function addToReport( - testName: string, - attempts: number, - successful: number, - successRate: number -) { - const { existsSync, readFileSync, writeFileSync } = fs; - - // Define the path to the test-report.json file - const reportPath = "./test-report.json"; - - // Initialize an empty array to hold the test results - let report: TestResult[] = []; - - // Check if test-report.json exists - if (existsSync(reportPath)) { - // Read the existing test report - const reportContent = readFileSync(reportPath, "utf-8"); - report = JSON.parse(reportContent); - } - - // Check if the test already exists in the report - const existingTestIndex = report.findIndex( - (test) => test.testName === testName - ); - - // Create a new test result object - const newTestResult: TestResult = { - testName, - attempts, - successful, - successRate, - }; - - if (existingTestIndex !== -1) { - // If the test already exists, replace it with the new result - report[existingTestIndex] = newTestResult; - } else { - // If the test doesn't exist, add the new result to the report - report.push(newTestResult); - } - - // Write the updated report to test-report.json - writeFileSync(reportPath, JSON.stringify(report, null, 2)); -} - -export async function logReport() { - const { existsSync, readFileSync } = fs; - - // Define the path to the test-report.json file - const reportPath = "./test-report.json"; - - // Check if test-report.json exists - if (!existsSync(reportPath)) { - console.log("Error: test-report.json does not exist."); - return; - } - - // Read the test report - const reportContent = readFileSync(reportPath, "utf-8"); - const report: TestResult[] = JSON.parse(reportContent); - - // Log each test result with appropriate color-coding - report.forEach((test) => { - const logMessage = `${test.testName}: ${test.attempts} Attempts, ${test.successful} Successful, Success Rate: ${test.successRate}%`; - - if (test.successRate === 100) { - console.log(logMessage); - } else if (test.successRate < 100 && test.successRate > 0) { - console.warn(logMessage); - } else { - console.error(logMessage); - } - }); -} diff --git a/packages/core/src/test_resources/runAiTest.ts b/packages/core/src/test_resources/runAiTest.ts deleted file mode 100644 index 06cbe4e71e..0000000000 --- a/packages/core/src/test_resources/runAiTest.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { addToReport } from "./report.ts"; - -export async function runAiTest( - testName: string, - testFunc: () => Promise, - runs: number = 3 -) { - let successful = 0; - - for (let i = 0; i < runs; i++) { - // console.log("Running test", testName, " (iteration", i + ")"); - if (await testFunc()) successful++; - } - - const successRate = (successful / runs) * 100; - addToReport(testName, runs, successful, successRate); -} diff --git a/packages/core/src/test_resources/templates.ts b/packages/core/src/test_resources/templates.ts deleted file mode 100644 index b414417b38..0000000000 --- a/packages/core/src/test_resources/templates.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { messageCompletionFooter } from "@ai16z/eliza/src/parsing.ts"; - -export const messageHandlerTemplate = - `{{actionExamples}} - -# IMPORTANT: DO NOT USE THE INFORMATION FROM THE EXAMPLES ABOVE. THE EXAMPLES ARE FOR REFERENCE ONLY. - -~~~ - -# TASK: GENERATE THE NEXT MESSAGE IN THE SCENE FOR {{agentName}} -- Generate the next message in the scene for {{agentName}} -- {{agentName}} is not an assistant - do not write assistant-like responses or ask questions -- Include content and action in the response -- Available actions are {{actionNames}} - -{{knowledge}} -{{lore}} -{{goals}} -{{actors}} -{{actionNames}} -{{actions}} -{{providers}} - -# INSTRUCTIONS: Generate the next message in the scene for {{agentName}} - -{{recentMessages}} -` + messageCompletionFooter; diff --git a/packages/core/src/test_resources/testAction.ts b/packages/core/src/test_resources/testAction.ts deleted file mode 100644 index 78ea87a3a6..0000000000 --- a/packages/core/src/test_resources/testAction.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { - IAgentRuntime, - type Action, - type Memory, -} from "@ai16z/eliza/src/types.ts"; - -export const TEST_ACTION = { - name: "TEST_ACTION", - validate: async (_runtime: IAgentRuntime, _message: Memory) => { - return true; - }, - description: "This is a test action, for use in testing.", - handler: async ( - runtime: IAgentRuntime, - message: Memory - ): Promise => { - return true; - }, - examples: [ - [ - { - user: "{{user1}}", - content: { - text: "Please respond with the message 'testing 123' and the action TEST_ACTION", - action: "TEST_ACTION", - }, - }, - { - user: "{{user2}}", - content: { text: "testing 123", action: "TEST_ACTION" }, - }, - ], - ], -} as Action; - -export const TEST_ACTION_FAIL = { - name: "TEST_ACTION_FAIL", - validate: async (_runtime: IAgentRuntime, _message: Memory) => { - return false; - }, - description: "This is a test action, for use in testing.", - handler: async ( - runtime: IAgentRuntime, - message: Memory - ): Promise => { - return false; - }, - examples: [ - [ - { - user: "{{user1}}", - content: { - text: "Testing failure", - action: "TEST_ACTIONFALSE", - }, - }, - ], - ], -} as Action; diff --git a/packages/core/src/test_resources/testEvaluator.ts b/packages/core/src/test_resources/testEvaluator.ts deleted file mode 100644 index ca7eaa429f..0000000000 --- a/packages/core/src/test_resources/testEvaluator.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { - Evaluator, - IAgentRuntime, - type Memory, - type State, -} from "@ai16z/eliza/src/types.ts"; - -async function handler(runtime: IAgentRuntime, message: Memory) { - const state = (await runtime.composeState(message)) as State; - return state; -} - -export const TEST_EVALUATOR = { - name: "TEST_EVALUATOR", - validate: async ( - _runtime: IAgentRuntime, - - _message: Memory - ): Promise => { - return await Promise.resolve(true); - }, - description: "Test evaluator.", - handler, - examples: [ - { - context: "Testing, testing, 123 123", - messages: [ - { - user: "{{user1}}", - content: { - text: "Testing, testing, 123 123", - action: "TEST_EVALUATOR", - }, - }, - ], - outcome: "There is an outcome.", - }, - ], -} as Evaluator; - -export const TEST_EVALUATOR_FAIL = { - name: "TEST_EVALUATOR_FAIL", - validate: async ( - _runtime: IAgentRuntime, - - _message: Memory - ): Promise => { - return await Promise.resolve(false); - }, - description: "Test failure of the evaluator and validation.", - handler, - examples: [ - { - context: "Testing, testing, 123 123", - messages: [ - { - user: "{{user1}}", - content: { - text: "Testing, testing, 123 123", - action: "TEST_EVALUATOR_FAIL", - }, - }, - ], - outcome: "Things have been tested to have maybe gone wrong.", - }, - ], -} as Evaluator; diff --git a/packages/core/src/tests/actions.test.ts b/packages/core/src/tests/actions.test.ts deleted file mode 100644 index 584b284bdc..0000000000 --- a/packages/core/src/tests/actions.test.ts +++ /dev/null @@ -1,269 +0,0 @@ -import dotenv from "dotenv"; -import { createRuntime } from "../test_resources/createRuntime"; -import { getOrCreateRelationship } from "../test_resources/getOrCreateRelationship"; -import { runAiTest } from "../test_resources/runAiTest"; -import { messageHandlerTemplate } from "../test_resources/templates"; -import { - TEST_ACTION, - TEST_ACTION_FAIL, -} from "../test_resources/testAction"; -import { type User } from "../test_resources/types"; -import { composeContext } from "../context"; -import { embeddingZeroVector } from "../memory"; -import { - Content, - IAgentRuntime, - ModelClass, - State, - type Memory, - type UUID, -} from "../types.ts"; -import { stringToUuid } from "../uuid.ts"; -import { generateMessageResponse } from "../generation.ts"; -import { MemoryManager } from "../memory"; -import { describe, test, expect, beforeAll, afterAll } from "vitest"; - -async function handleMessage( - runtime: IAgentRuntime, - message: Memory, - state?: State -) { - const _saveRequestMessage = async (message: Memory, state: State) => { - const { content: senderContent, userId, roomId } = message; - - const _senderContent = (senderContent as Content).text?.trim(); - if (_senderContent) { - await runtime.messageManager.createMemory({ - id: stringToUuid( - message.id ?? userId + runtime.agentId + Date.now() - ), - userId: userId!, - agentId: runtime.agentId, - content: { - text: _senderContent, - action: (message.content as Content)?.action ?? "null", - }, - roomId, - embedding: embeddingZeroVector, - }); - await runtime.evaluate(message, state); - } - }; - - await _saveRequestMessage(message, state as State); - if (!state) { - state = (await runtime.composeState(message)) as State; - } - - const context = composeContext({ - state, - template: messageHandlerTemplate, - }); - - let responseContent: Content | null = null; - const { userId, roomId } = message; - - for (let triesLeft = 3; triesLeft > 0; triesLeft--) { - const response = await generateMessageResponse({ - context, - runtime, - modelClass: ModelClass.SMALL, - }); - - runtime.databaseAdapter.log({ - body: { message, context, response }, - userId: userId, - roomId, - type: "actions_test_completion", - }); - return response; - } - - if (!responseContent) { - responseContent = { - text: "", - action: "IGNORE", - }; - } - - if (responseContent.text) { - const response = { - userId: runtime.agentId, - agentId: runtime.agentId, - content: responseContent, - roomId, - embedding: embeddingZeroVector, - }; - await runtime.messageManager.createMemory(response); - - state = await this.runtime.updateRecentMessageState(state); - await runtime.processActions(message, [response], state); - await runtime.evaluate(message, state); - } else { - console.warn("Empty response, skipping"); - } - - return responseContent; -} - -// use .dev.vars for local testing -dotenv.config({ path: ".dev.vars" }); - -describe("Actions", () => { - let user: User; - let runtime: IAgentRuntime; - let roomId: UUID; - - beforeAll(async () => { - const { session, runtime: _runtime } = await createRuntime({ - env: process.env as Record, - actions: [TEST_ACTION, TEST_ACTION_FAIL], - }); - - user = session.user!; - runtime = _runtime as IAgentRuntime; - - // check if the user id exists in the 'accounts' table - // if it doesn't, create it with the name 'Test User' - let account = await runtime.databaseAdapter.getAccountById( - user.id as UUID - ); - - if (!account) { - account = await runtime.databaseAdapter.getAccountById( - user.id as UUID - ); - if (!account) { - await runtime.databaseAdapter.createAccount({ - id: user.id as UUID, - username: "Test User", - name: "Test User", - email: user.email, - avatarUrl: "", - }); - } - } - - // get all relationships for user - const data = await getOrCreateRelationship({ - runtime, - userA: user.id as UUID, - userB: "00000000-0000-0000-0000-000000000000" as UUID, - }); - - if (!data) { - throw new Error("Relationship not found"); - } - - roomId = data!.roomId; - - await cleanup(); - }); - - afterAll(async () => { - await cleanup(); - }); - - async function cleanup() { - const factsManager = new MemoryManager({ - runtime, - tableName: "facts", - }); - - await factsManager.removeAllMemories(roomId); - await runtime.messageManager.removeAllMemories(roomId); - } - - // Test that actions are being loaded into context properly - test("Actions are loaded into context", async () => { - const actions = runtime.actions; - expect(actions).toBeDefined(); - expect(actions.length).toBeGreaterThan(0); - // Ensure the TEST_ACTION action is part of the loaded actions - const testAction = actions.find( - (action) => action.name === "TEST_ACTION" - ); - expect(testAction).toBeDefined(); - }); - - // Test that actions are validated properly - test("Test action is always valid", async () => { - const testAction = runtime.actions.find( - (action) => action.name === "TEST_ACTION" - ); - expect(testAction).toBeDefined(); - if (testAction && testAction.validate) { - const isValid = await testAction.validate(runtime, { - userId: user.id as UUID, - agentId: runtime.agentId, - content: { text: "Test message" }, - roomId: roomId, - }); - expect(isValid).toBeTruthy(); - } else { - throw new Error( - "Continue action or its validation function is undefined" - ); - } - }); - - test("Test that actions are properly validated in state", async () => { - const message: Memory = { - agentId: runtime.agentId, - userId: user.id as UUID, - content: { - text: "Please respond with the message 'ok' and the action TEST_ACTION", - }, - roomId, - }; - - const state = await runtime.composeState(message); - expect(state.actionNames).not.toContain("TEST_ACTION_FAIL"); - - expect(state.actionNames).toContain("TEST_ACTION"); - }); - - // Validate that TEST_ACTION is in the state - test("Validate that TEST_ACTION is in the state", async () => { - await runAiTest("Validate TEST_ACTION is in the state", async () => { - const message: Memory = { - agentId: runtime.agentId, - userId: user.id as UUID, - content: { - text: "Please respond with the message 'ok' and the action TEST_ACTION", - }, - roomId, - }; - - const response = await handleMessage(runtime, message); - return response.action === "TEST_ACTION"; // Return true if the expected action matches - }); - }, 60000); - - // Test that TEST_ACTION action handler is called properly - test("Test action handler is called", async () => { - await runAiTest("Test action handler is called", async () => { - const testAction = runtime.actions.find( - (action) => action.name === "TEST_ACTION" - ); - if (!testAction || !testAction.handler) { - console.error( - "Continue action or its handler function is undefined" - ); - return false; // Return false to indicate the test setup failed - } - - const mockMessage: Memory = { - userId: user.id as UUID, - agentId: runtime.agentId, - content: { - text: "Test message for TEST action", - }, - roomId, - }; - - const response = await testAction.handler(runtime, mockMessage); - return response !== undefined; // Return true if the handler returns a defined response - }); - }, 60000); // You can adjust the timeout if needed -}); From 14f1cff614b184f2f1f3b44224846e85c12bc6c4 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 13:55:02 -0600 Subject: [PATCH 05/11] cleanup --- packages/plugin-solana/src/providers/orderBook.ts | 2 +- packages/plugin-solana/src/providers/trustScoreProvider.ts | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/plugin-solana/src/providers/orderBook.ts b/packages/plugin-solana/src/providers/orderBook.ts index 08f9d0185c..40a215762a 100644 --- a/packages/plugin-solana/src/providers/orderBook.ts +++ b/packages/plugin-solana/src/providers/orderBook.ts @@ -1,6 +1,6 @@ import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; import * as fs from "fs"; -import {settings} from "@ai16z/eliza/src/settings.ts"; +import settings from "@ai16z/eliza/src/settings.ts"; interface Order { userId: string; diff --git a/packages/plugin-solana/src/providers/trustScoreProvider.ts b/packages/plugin-solana/src/providers/trustScoreProvider.ts index c48578d2ec..06a90e7e04 100644 --- a/packages/plugin-solana/src/providers/trustScoreProvider.ts +++ b/packages/plugin-solana/src/providers/trustScoreProvider.ts @@ -17,12 +17,9 @@ import { TradePerformance, TokenRecommendation, } from "../adapters/trustScoreDatabase.ts"; -import { settings, loadEnvConfig } from "@ai16z/eliza/src/settings.ts"; +import settings from "@ai16z/eliza/src/settings.ts"; import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; -loadEnvConfig(); -console.log("DEBUG - TrustScoreProvider settings loaded"); -console.log(settings); const Wallet = settings.MAIN_WALLET_ADDRESS; interface TradeData { buy_amount: number; From 79406924fa44efacb491e2c49a0b4e53ba73a136 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 13:58:22 -0600 Subject: [PATCH 06/11] cleanup --- packages/core/package.json | 4 ++-- packages/core/src/runtime.ts | 1 - packages/plugin-solana/src/providers/token.ts | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 1f1041d81c..e1ce1827e2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,8 +11,8 @@ "watch": "tsc --watch", "dev": "tsup --format esm --dts --watch", "build:docs": "cd docs && pnpm run build", - "test": "NODE_ENV=test vitest run", - "test:watch": "NODE_ENV=test vitest" + "test": "vitest run", + "test:watch": "vitest" }, "author": "", "license": "MIT", diff --git a/packages/core/src/runtime.ts b/packages/core/src/runtime.ts index 93bc477965..ac65f883a8 100644 --- a/packages/core/src/runtime.ts +++ b/packages/core/src/runtime.ts @@ -44,7 +44,6 @@ import { import { stringToUuid } from "./uuid.ts"; import { v4 as uuidv4 } from 'uuid'; - /** * Represents the runtime environment for an agent, handling message processing, * action registration, and interaction with external services like OpenAI and Supabase. diff --git a/packages/plugin-solana/src/providers/token.ts b/packages/plugin-solana/src/providers/token.ts index f7d6eee5c0..538e44349a 100644 --- a/packages/plugin-solana/src/providers/token.ts +++ b/packages/plugin-solana/src/providers/token.ts @@ -1,4 +1,4 @@ -import {settings} from "@ai16z/eliza/src/settings.ts"; +import settings from "@ai16z/eliza/src/settings.ts"; import { IAgentRuntime, Memory, Provider, State } from "@ai16z/eliza"; import { DexScreenerData, From 780cfb253b48e3b8ac37c22073a9e598803a0278 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 14:46:18 -0600 Subject: [PATCH 07/11] remove log statement --- packages/core/src/settings.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/src/settings.ts b/packages/core/src/settings.ts index 9f4f7c7597..f915615ac3 100644 --- a/packages/core/src/settings.ts +++ b/packages/core/src/settings.ts @@ -46,8 +46,6 @@ export function loadEnvConfig() { if (result.error) { throw new Error(`Error loading .env file: ${result.error}`); } - - console.log(`Loaded .env file from: ${envPath}`); return process.env; } From 055c60931a1b12ea4d0b08c2d4fa6d9a19e29209 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Sat, 16 Nov 2024 22:21:25 -0600 Subject: [PATCH 08/11] review feedback updates --- packages/adapter-sqlite/package.json | 4 ---- packages/core/src/settings.ts | 2 ++ packages/core/src/tests/token.test.ts | 6 ------ packages/plugin-solana/src/index.ts | 4 +--- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json index 56491b57a5..9fa7c7a5f3 100644 --- a/packages/adapter-sqlite/package.json +++ b/packages/adapter-sqlite/package.json @@ -19,9 +19,5 @@ }, "peerDependencies": { "whatwg-url": "7.1.0" - }, - "exports": { - ".": "./dist/index.js", - "./sqlite_vec": "./dist/sqlite_vec.js" } } diff --git a/packages/core/src/settings.ts b/packages/core/src/settings.ts index f915615ac3..9f4f7c7597 100644 --- a/packages/core/src/settings.ts +++ b/packages/core/src/settings.ts @@ -46,6 +46,8 @@ export function loadEnvConfig() { if (result.error) { throw new Error(`Error loading .env file: ${result.error}`); } + + console.log(`Loaded .env file from: ${envPath}`); return process.env; } diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts index e59eb3c754..5b5f7d5bb3 100644 --- a/packages/core/src/tests/token.test.ts +++ b/packages/core/src/tests/token.test.ts @@ -1,8 +1,3 @@ -import { loadEnvConfig } from '../settings'; - -// Load the environment variables -loadEnvConfig(); - // Now import other modules import { createRuntime } from "../test_resources/createRuntime"; import { TokenProvider, WalletProvider, Connection, PublicKey } from "@ai16z/plugin-solana"; @@ -70,7 +65,6 @@ describe("TokenProvider Tests", () => { top10HolderPercent: 20, }); - console.log({ securityData }); // Ensure the mock was called expect(fetchSpy).toHaveBeenCalled(); diff --git a/packages/plugin-solana/src/index.ts b/packages/plugin-solana/src/index.ts index 8f0c234392..6fda33841d 100644 --- a/packages/plugin-solana/src/index.ts +++ b/packages/plugin-solana/src/index.ts @@ -14,10 +14,8 @@ import { trustScoreProvider } from "./providers/trustScoreProvider.ts"; import { trustEvaluator } from "./evaluators/trust.ts"; import { TokenProvider } from "./providers/token.ts"; import { WalletProvider } from "./providers/wallet.ts"; -import { Connection } from "@solana/web3.js"; -import { PublicKey } from "@solana/web3.js"; -export { TokenProvider, WalletProvider, Connection, PublicKey }; +export { TokenProvider, WalletProvider }; export const solanaPlugin: Plugin = { name: "solana", From caa13f7da13c967eef900902deb5dbfc474c666e Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Mon, 18 Nov 2024 19:41:00 -0600 Subject: [PATCH 09/11] update to address review feedback --- packages/core/.env.test | 2 + packages/core/package.json | 3 +- .../core/src/test_resources/basic.test.ts | 12 - packages/core/src/tests/goals.test.ts | 20 +- packages/core/src/tests/messages.test.ts | 37 +- packages/core/src/tests/models.test.ts | 23 +- packages/core/src/tests/relationships.test.ts | 9 +- packages/core/src/tests/token.test.ts | 32 +- pnpm-lock.yaml | 3276 +++++++++++------ 9 files changed, 2294 insertions(+), 1120 deletions(-) delete mode 100644 packages/core/src/test_resources/basic.test.ts diff --git a/packages/core/.env.test b/packages/core/.env.test index 422e09ea36..d295bdfb3b 100644 --- a/packages/core/.env.test +++ b/packages/core/.env.test @@ -2,3 +2,5 @@ TEST_DATABASE_CLIENT=sqlite NODE_ENV=test MAIN_WALLET_ADDRESS=TEST_MAIN_WALLET_ADDRESS_VALUE OPENAI_API_KEY=TEST_OPENAI_API_KEY_VALUE +RPC_URL=https://api.mainnet-beta.solana.com +WALLET_PUBLIC_KEY=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index e9f4bed93e..8f637f0879 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -48,7 +48,8 @@ "ts-node": "10.9.2", "tslib": "2.8.0", "tsup": "^8.3.5", - "typescript": "5.6.3" + "typescript": "5.6.3", + "@solana/web3.js": "1.95.4" }, "dependencies": { "@ai-sdk/anthropic": "^0.0.53", diff --git a/packages/core/src/test_resources/basic.test.ts b/packages/core/src/test_resources/basic.test.ts deleted file mode 100644 index 7a85a26594..0000000000 --- a/packages/core/src/test_resources/basic.test.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { describe, expect, it } from "vitest"; - -describe("Basic Test Suite", () => { - it("should run a basic test", () => { - expect(true).toBe(true); - }); - - it("should have access to environment variables", () => { - expect(process.env.NODE_ENV).toBe("test"); - expect(process.env.TEST_DATABASE_CLIENT).toBe("sqlite"); - }); -}); diff --git a/packages/core/src/tests/goals.test.ts b/packages/core/src/tests/goals.test.ts index cd845d1220..c48f9f39b7 100644 --- a/packages/core/src/tests/goals.test.ts +++ b/packages/core/src/tests/goals.test.ts @@ -18,11 +18,13 @@ import { State, } from "../types"; +import { describe, test, expect, beforeEach, vi } from 'vitest'; + // Mock the database adapter const mockDatabaseAdapter = { - getGoals: jest.fn(), - updateGoal: jest.fn(), - createGoal: jest.fn(), + getGoals: vi.fn(), + updateGoal: vi.fn(), + createGoal: vi.fn(), }; // Mock the runtime @@ -175,7 +177,7 @@ const sampleGoal: Goal = { describe("getGoals", () => { it("retrieves goals successfully", async () => { - (mockDatabaseAdapter.getGoals as jest.Mock).mockResolvedValue([ + (mockDatabaseAdapter.getGoals).mockResolvedValue([ sampleGoal, ]); @@ -194,7 +196,7 @@ describe("getGoals", () => { }); it("handles failure to retrieve goals", async () => { - (mockDatabaseAdapter.getGoals as jest.Mock).mockRejectedValue( + (mockDatabaseAdapter.getGoals).mockRejectedValue( new Error("Failed to retrieve goals") ); @@ -220,7 +222,7 @@ describe("formatGoalsAsString", () => { describe("updateGoal", () => { it("updates a goal successfully", async () => { - (mockDatabaseAdapter.updateGoal as jest.Mock).mockResolvedValue( + (mockDatabaseAdapter.updateGoal).mockResolvedValue( undefined ); @@ -231,7 +233,7 @@ describe("updateGoal", () => { }); it("handles failure to update a goal", async () => { - (mockDatabaseAdapter.updateGoal as jest.Mock).mockRejectedValue( + (mockDatabaseAdapter.updateGoal).mockRejectedValue( new Error("Failed to update goal") ); @@ -243,7 +245,7 @@ describe("updateGoal", () => { describe("createGoal", () => { it("creates a goal successfully", async () => { - (mockDatabaseAdapter.createGoal as jest.Mock).mockResolvedValue( + (mockDatabaseAdapter.createGoal).mockResolvedValue( undefined ); @@ -254,7 +256,7 @@ describe("createGoal", () => { }); it("handles failure to create a goal", async () => { - (mockDatabaseAdapter.createGoal as jest.Mock).mockRejectedValue( + (mockDatabaseAdapter.createGoal).mockRejectedValue( new Error("Failed to create goal") ); diff --git a/packages/core/src/tests/messages.test.ts b/packages/core/src/tests/messages.test.ts index 4fef72a4ff..e82c4690bd 100644 --- a/packages/core/src/tests/messages.test.ts +++ b/packages/core/src/tests/messages.test.ts @@ -5,6 +5,7 @@ import { formatTimestamp, } from "../messages.ts"; import { IAgentRuntime, Actor, Content, Memory, UUID } from "../types.ts"; +import { describe, test, expect, vi, beforeAll } from 'vitest'; describe("Messages Library", () => { let runtime: IAgentRuntime; @@ -15,9 +16,9 @@ describe("Messages Library", () => { // Mock runtime with necessary methods runtime = { databaseAdapter: { - // Casting to a Jest mock function - getParticipantsForRoom: jest.fn(), - getAccountById: jest.fn(), + // Using vi.fn() instead of jest.fn() + getParticipantsForRoom: vi.fn(), + getAccountById: vi.fn(), }, } as unknown as IAgentRuntime; @@ -38,29 +39,22 @@ describe("Messages Library", () => { }); test("getActorDetails should return actors based on roomId", async () => { - // Mocking the database adapter methods const roomId: UUID = "room1234-1234-1234-1234-123456789abc" as UUID; - // Properly mocking the resolved values of the mocked methods - ( - runtime.databaseAdapter.getParticipantsForRoom as jest.Mock - ).mockResolvedValue([userId]); - (runtime.databaseAdapter.getAccountById as jest.Mock).mockResolvedValue( - { - id: userId, - name: "Test User", - username: "testuser", - details: { - tagline: "A test user", - summary: "This is a test user for the system.", - }, - } - ); + // Using vi.mocked() type assertion instead of jest.Mock casting + vi.mocked(runtime.databaseAdapter.getParticipantsForRoom).mockResolvedValue([userId]); + vi.mocked(runtime.databaseAdapter.getAccountById).mockResolvedValue({ + id: userId, + name: "Test User", + username: "testuser", + details: { + tagline: "A test user", + summary: "This is a test user for the system.", + }, + }); - // Calling the function under test const result = await getActorDetails({ runtime, roomId }); - // Assertions expect(result.length).toBeGreaterThan(0); expect(result[0].name).toBe("Test User"); expect(result[0].details?.tagline).toBe("A test user"); @@ -69,7 +63,6 @@ describe("Messages Library", () => { test("formatActors should format actors into a readable string", () => { const formattedActors = formatActors({ actors }); - // Assertions expect(formattedActors).toContain("Test User"); expect(formattedActors).toContain("A test user"); expect(formattedActors).toContain( diff --git a/packages/core/src/tests/models.test.ts b/packages/core/src/tests/models.test.ts index fd602abe06..6cc554cbe3 100644 --- a/packages/core/src/tests/models.test.ts +++ b/packages/core/src/tests/models.test.ts @@ -1,9 +1,19 @@ import { getModel, getEndpoint } from "../models.ts"; import { ModelProviderName, ModelClass } from "../types.ts"; +import { describe, test, expect, vi } from 'vitest'; -jest.mock("../settings", () => ({ - loadEnv: jest.fn(), // Mock the loadEnv function -})); +vi.mock("../settings", () => { + return { + default: { + SMALL_OPENROUTER_MODEL: "mock-small-model", + OPENROUTER_MODEL: "mock-default-model", + OPENAI_API_KEY: "mock-openai-key", + ANTHROPIC_API_KEY: "mock-anthropic-key", + OPENROUTER_API_KEY: "mock-openrouter-key", + }, + loadEnv: vi.fn(), + } +}); describe("Model Provider Tests", () => { test("should retrieve the correct model for OpenAI SMALL", () => { @@ -21,6 +31,11 @@ describe("Model Provider Tests", () => { expect(model).toBe("llama-3.2-90b-text-preview"); }); + test("should retrieve the correct model for OpenRouter SMALL", () => { + const model = getModel(ModelProviderName.OPENROUTER, ModelClass.SMALL); + expect(model).toBe("mock-small-model"); + }); + test("should retrieve the correct endpoint for OpenAI", () => { const endpoint = getEndpoint(ModelProviderName.OPENAI); expect(endpoint).toBe("https://api.openai.com/v1"); @@ -31,7 +46,7 @@ describe("Model Provider Tests", () => { expect(endpoint).toBe("https://api.anthropic.com/v1"); }); - test("should handle invalid model provider", () => { + test("should handle invalid model provider for getModel", () => { expect(() => getModel("INVALID_PROVIDER" as any, ModelClass.SMALL) ).toThrow(); diff --git a/packages/core/src/tests/relationships.test.ts b/packages/core/src/tests/relationships.test.ts index cb42f0ac1c..5b52dc0c9b 100644 --- a/packages/core/src/tests/relationships.test.ts +++ b/packages/core/src/tests/relationships.test.ts @@ -5,12 +5,13 @@ import { formatRelationships, } from "../relationships"; import { IAgentRuntime, type Relationship, type UUID } from "../types"; +import { describe, expect, vi } from 'vitest'; // Mock runtime and databaseAdapter const mockDatabaseAdapter = { - createRelationship: jest.fn(), - getRelationship: jest.fn(), - getRelationships: jest.fn(), + createRelationship: vi.fn(), + getRelationship: vi.fn(), + getRelationships: vi.fn(), }; const mockRuntime: IAgentRuntime = { databaseAdapter: mockDatabaseAdapter, @@ -26,7 +27,7 @@ describe("Relationships Module", () => { const mockUserId: UUID = generateRandomUUID(); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); describe("createRelationship", () => { diff --git a/packages/core/src/tests/token.test.ts b/packages/core/src/tests/token.test.ts index 5b5f7d5bb3..b464043f2f 100644 --- a/packages/core/src/tests/token.test.ts +++ b/packages/core/src/tests/token.test.ts @@ -1,39 +1,42 @@ // Now import other modules import { createRuntime } from "../test_resources/createRuntime"; -import { TokenProvider, WalletProvider, Connection, PublicKey } from "@ai16z/plugin-solana"; +import { TokenProvider, WalletProvider } from "@ai16z/plugin-solana"; +import { Connection, PublicKey } from "@solana/web3.js"; import { describe, test, expect, beforeEach, vi } from 'vitest'; import NodeCache from 'node-cache'; -describe("TokenProvider Tests", () => { +describe("TokenProvider Tests", async () => { let tokenProvider: TokenProvider; - beforeEach(() => { + beforeEach(async () => { // Clear all mocks before each test vi.clearAllMocks(); - + + const { runtime } = await createRuntime({ + env: process.env, + conversationLength: 10, + }); + + const walletProvider = new WalletProvider( + new Connection(runtime.getSetting("RPC_URL")), + new PublicKey(runtime.getSetting("WALLET_PUBLIC_KEY")) + ); // Create new instance of TokenProvider tokenProvider = new TokenProvider( "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh", - new WalletProvider( - new Connection("https://api.mainnet-beta.solana.com"), - new PublicKey("2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh") - ) + walletProvider ); // Clear the cache and ensure it's empty (tokenProvider as any).cache.flushAll(); (tokenProvider as any).cache.close(); - (tokenProvider as any).cache = new NodeCache(); + (tokenProvider as any).cache = new NodeCache(); // Mock the getCachedData method instead vi.spyOn(tokenProvider as any, 'getCachedData').mockReturnValue(null); }); test("should fetch token security data", async () => { - const { runtime } = await createRuntime({ - env: process.env, - conversationLength: 10, - }); // Mock the response for the fetchTokenSecurity call const mockFetchResponse = { @@ -65,9 +68,6 @@ describe("TokenProvider Tests", () => { top10HolderPercent: 20, }); - // Ensure the mock was called - expect(fetchSpy).toHaveBeenCalled(); - // Ensure the mock was called with correct URL expect(fetchSpy).toHaveBeenCalledWith( expect.stringContaining("https://public-api.birdeye.so/defi/token_security?address=2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88e77df194..1da5a564f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,10 +26,10 @@ importers: version: 9.1.0 husky: specifier: ^9.1.6 - version: 9.1.7 + version: 9.1.6 lerna: specifier: ^8.1.5 - version: 8.1.9(encoding@0.1.13) + version: 8.1.9(@swc/core@1.9.2(@swc/helpers@0.5.13))(encoding@0.1.13) only-allow: specifier: ^1.2.1 version: 1.2.1 @@ -77,17 +77,17 @@ importers: version: 2.5.4 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3))) + version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3))) vite-plugin-top-level-await: specifier: ^1.4.4 - version: 1.4.4(@swc/helpers@0.5.15)(rollup@4.27.3)(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)) + version: 1.4.4(@swc/helpers@0.5.13)(rollup@4.25.0)(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)) vite-plugin-wasm: specifier: ^3.3.0 version: 3.3.0(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)) devDependencies: '@eslint/js': specifier: ^9.13.0 - version: 9.15.0 + version: 9.14.0 '@types/node': specifier: 22.8.4 version: 22.8.4 @@ -120,7 +120,7 @@ importers: version: 8.4.49 tailwindcss: specifier: ^3.4.15 - version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) + version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) typescript: specifier: ~5.6.2 version: 5.6.3 @@ -135,22 +135,22 @@ importers: dependencies: '@docusaurus/core': specifier: ^3.6.0 - version: 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-content-blog': specifier: ^3.6.0 - version: 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.1(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-content-docs': specifier: ^3.6.0 - version: 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-ideal-image': specifier: ^3.6.0 - version: 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/preset-classic': specifier: ^3.6.0 - version: 3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.1(@algolia/client-search@5.12.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-mermaid': specifier: ^3.6.0 - version: 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@mdx-js/react': specifier: 3.0.1 version: 3.0.1(@types/react@18.3.12)(react@18.2.0) @@ -159,7 +159,7 @@ importers: version: 2.1.0 docusaurus-lunr-search: specifier: ^3.5.0 - version: 3.5.0(@docusaurus/core@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.5.0(@docusaurus/core@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) prism-react-renderer: specifier: 2.3.1 version: 2.3.1(react@18.2.0) @@ -175,10 +175,10 @@ importers: devDependencies: '@docusaurus/module-type-aliases': specifier: 3.6.0 - version: 3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@docusaurus/types': specifier: 3.6.0 - version: 3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) docusaurus-plugin-typedoc: specifier: ^1.0.5 version: 1.0.5(typedoc-plugin-markdown@4.2.9(typedoc@0.26.11(typescript@5.6.3))) @@ -200,7 +200,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/adapter-sqlite: dependencies: @@ -222,7 +222,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/adapter-sqljs: dependencies: @@ -244,7 +244,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/adapter-supabase: dependencies: @@ -260,7 +260,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/agent: dependencies: @@ -315,10 +315,10 @@ importers: devDependencies: ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3) + version: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3) tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/client-auto: dependencies: @@ -358,7 +358,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/client-direct: dependencies: @@ -395,7 +395,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/client-discord: dependencies: @@ -429,7 +429,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/client-telegram: dependencies: @@ -448,7 +448,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/client-twitter: dependencies: @@ -467,7 +467,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/core: dependencies: @@ -494,7 +494,7 @@ importers: version: 10.0.0 ai: specifier: ^3.4.23 - version: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.1.16))(svelte@5.1.16)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) + version: 3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.1.9))(svelte@5.1.9)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: specifier: ^1.0.0 version: 1.0.0(encoding@0.1.13)(zod@3.23.8) @@ -537,7 +537,7 @@ importers: devDependencies: '@eslint/js': specifier: ^9.13.0 - version: 9.15.0 + version: 9.14.0 '@rollup/plugin-commonjs': specifier: 25.0.8 version: 25.0.8(rollup@2.79.2) @@ -597,7 +597,7 @@ importers: version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6))(prettier@3.3.3) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + version: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) lint-staged: specifier: 15.2.10 version: 15.2.10 @@ -618,16 +618,16 @@ importers: version: 2.79.2 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3) + version: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3) tslib: specifier: 2.8.0 version: 2.8.0 tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) typescript: specifier: 5.6.3 version: 5.6.3 @@ -639,7 +639,7 @@ importers: version: link:../core tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -651,7 +651,7 @@ importers: version: link:../core tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -820,7 +820,7 @@ importers: devDependencies: tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) packages/plugin-solana: dependencies: @@ -853,10 +853,10 @@ importers: version: 5.1.2 pumpdotfun-sdk: specifier: 1.3.2 - version: 1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.26.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.25.0)(typescript@5.6.3)(utf-8-validate@5.0.10) tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) whatwg-url: specifier: 7.1.0 version: 7.1.0 @@ -871,13 +871,16 @@ importers: version: link:../plugin-trustdb '@avnu/avnu-sdk': specifier: ^2.1.1 - version: 2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.0)(starknet@6.11.0(encoding@0.1.13)) + version: 2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.0)(starknet@6.18.0(encoding@0.1.13)) + '@unruggable_starknet/core': + specifier: ^0.1.0 + version: 0.1.0(starknet@6.18.0(encoding@0.1.13)) starknet: - specifier: ^6.11.0 - version: 6.11.0(encoding@0.1.13) + specifier: ^6.17.0 + version: 6.18.0(encoding@0.1.13) tsup: specifier: ^8.3.5 - version: 8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) vitest: specifier: ^2.1.4 version: 2.1.5(@types/node@22.8.4)(terser@5.36.0) @@ -892,7 +895,7 @@ importers: version: link:../core tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.15))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) + version: 8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0) uuid: specifier: 11.0.2 version: 11.0.2 @@ -1025,22 +1028,28 @@ packages: vue: optional: true - '@algolia/autocomplete-core@1.17.7': - resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==} + '@algolia/autocomplete-core@1.9.3': + resolution: {integrity: sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==} - '@algolia/autocomplete-plugin-algolia-insights@1.17.7': - resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==} + '@algolia/autocomplete-plugin-algolia-insights@1.9.3': + resolution: {integrity: sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==} peerDependencies: search-insights: '>= 1 < 3' - '@algolia/autocomplete-preset-algolia@1.17.7': - resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==} + '@algolia/autocomplete-preset-algolia@1.17.6': + resolution: {integrity: sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/autocomplete-shared@1.17.7': - resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==} + '@algolia/autocomplete-shared@1.17.6': + resolution: {integrity: sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==} + peerDependencies: + '@algolia/client-search': '>= 4.9.1 < 6' + algoliasearch: '>= 4.9.1 < 6' + + '@algolia/autocomplete-shared@1.9.3': + resolution: {integrity: sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==} peerDependencies: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' @@ -1054,8 +1063,8 @@ packages: '@algolia/cache-in-memory@4.24.0': resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - '@algolia/client-abtesting@5.13.0': - resolution: {integrity: sha512-6CoQjlMi1pmQYMQO8tXfuGxSPf6iKX5FP9MuMe6IWmvC81wwTvOehnwchyBl2wuPVhcw2Ar53K53mQ60DAC64g==} + '@algolia/client-abtesting@5.12.0': + resolution: {integrity: sha512-hx4eVydkm3yrFCFxmcBtSzI/ykt0cZ6sDWch+v3JTgKpD2WtosMJU3Upv1AjQ4B6COSHCOWEX3vfFxW6OoH6aA==} engines: {node: '>= 14.0.0'} '@algolia/client-account@4.24.0': @@ -1064,44 +1073,44 @@ packages: '@algolia/client-analytics@4.24.0': resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - '@algolia/client-analytics@5.13.0': - resolution: {integrity: sha512-pS3qyXiWTwKnrt/jE79fqkNqZp7kjsFNlJDcBGkSWid74DNc6DmArlkvPqyLxnoaYGjUGACT6g56n7E3mVV2TA==} + '@algolia/client-analytics@5.12.0': + resolution: {integrity: sha512-EpTsSv6IW8maCfXCDIptgT7+mQJj7pImEkcNUnxR8yUKAHzTogTXv9yGm2WXOZFVuwstd2i0sImhQ1Vz8RH/hA==} engines: {node: '>= 14.0.0'} '@algolia/client-common@4.24.0': resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - '@algolia/client-common@5.13.0': - resolution: {integrity: sha512-2SP6bGGWOTN920MLZv8s7yIR3OqY03vEe4U+vb2MGdL8a/8EQznF3L/nTC/rGf/hvEfZlX2tGFxPJaF2waravg==} + '@algolia/client-common@5.12.0': + resolution: {integrity: sha512-od3WmO8qxyfNhKc+K3D17tvun3IMs/xMNmxCG9MiElAkYVbPPTRUYMkRneCpmJyQI0hNx2/EA4kZgzVfQjO86Q==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.13.0': - resolution: {integrity: sha512-ldHTe+LVgC6L4Wr6doAQQ7Ku0jAdhaaPg1T+IHzmmiRZb2Uq5OsjW2yC65JifOmzPCiMkIZE2mGRpWgkn5ktlw==} + '@algolia/client-insights@5.12.0': + resolution: {integrity: sha512-8alajmsYUd+7vfX5lpRNdxqv3Xx9clIHLUItyQK0Z6gwGMbVEFe6YYhgDtwslMAP0y6b0WeJEIZJMLgT7VYpRw==} engines: {node: '>= 14.0.0'} '@algolia/client-personalization@4.24.0': resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - '@algolia/client-personalization@5.13.0': - resolution: {integrity: sha512-RnCfOSN4OUJDuMNHFca2M8lY64Tmw0kQOZikge4TknTqHmlbKJb8IbJE7Rol79Z80W2Y+B1ydcjV7DPje4GMRA==} + '@algolia/client-personalization@5.12.0': + resolution: {integrity: sha512-bUV9HtfkTBgpoVhxFrMkmVPG03ZN1Rtn51kiaEtukucdk3ggjR9Qu1YUfRSU2lFgxr9qJc8lTxwfvhjCeJRcqw==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.13.0': - resolution: {integrity: sha512-pYo0jbLUtPDN1r341UHTaF2fgN5rbaZfDZqjPRKPM+FRlRmxFxqFQm1UUfpkSUWYGn7lECwDpbKYiKUf81MTwA==} + '@algolia/client-query-suggestions@5.12.0': + resolution: {integrity: sha512-Q5CszzGWfxbIDs9DJ/QJsL7bP6h+lJMg27KxieEnI9KGCu0Jt5iFA3GkREkgRZxRdzlHbZKkrIzhtHVbSHw/rg==} engines: {node: '>= 14.0.0'} '@algolia/client-search@4.24.0': resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} - '@algolia/client-search@5.13.0': - resolution: {integrity: sha512-s2ge3uZ6Zg2sPSFibqijgEYsuorxcc8KVHg3I95nOPHvFHdnBtSHymhZvq4sp/fu8ijt/Y8jLwkuqm5myn+2Sg==} + '@algolia/client-search@5.12.0': + resolution: {integrity: sha512-R3qzEytgVLHOGNri+bpta6NtTt7YtkvUe/QBcAmMDjW4Jk1P0eBYIPfvnzIPbINRsLxIq9fZs9uAYBgsrts4Zg==} engines: {node: '>= 14.0.0'} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/ingestion@1.13.0': - resolution: {integrity: sha512-fm5LEOe4FPDOc1D+M9stEs8hfcdmbdD+pt9og5shql6ueTZJANDbFoQhDOpiPJizR/ps1GwmjkWfUEywx3sV+Q==} + '@algolia/ingestion@1.12.0': + resolution: {integrity: sha512-zpHo6qhR22tL8FsdSI4DvEraPDi/019HmMrCFB/TUX98yzh5ooAU7sNW0qPL1I7+S++VbBmNzJOEU9VI8tEC8A==} engines: {node: '>= 14.0.0'} '@algolia/logger-common@4.24.0': @@ -1110,41 +1119,45 @@ packages: '@algolia/logger-console@4.24.0': resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - '@algolia/monitoring@1.13.0': - resolution: {integrity: sha512-e8Hshlnm2G5fapyUgWTBwhJ22yXcnLtPC4LWZKx7KOvv35GcdoHtlUBX94I/sWCJLraUr65JvR8qOo3LXC43dg==} + '@algolia/monitoring@1.12.0': + resolution: {integrity: sha512-i2AJZED/zf4uhxezAJUhMKoL5QoepCBp2ynOYol0N76+TSoohaMADdPnWCqOULF4RzOwrG8wWynAwBlXsAI1RQ==} engines: {node: '>= 14.0.0'} '@algolia/recommend@4.24.0': resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - '@algolia/recommend@5.13.0': - resolution: {integrity: sha512-53/wW96oaj1FKMzGdFcZ/epygfTppLDUvgI1thLkd475EtVZCH3ZZVUNCEvf1AtnNyH1RnItkFzX8ayWCpx2PQ==} + '@algolia/recommend@5.12.0': + resolution: {integrity: sha512-0jmZyKvYnB/Bj5c7WKsKedOUjnr0UtXm0LVFUdQrxXfqOqvWv9n6Vpr65UjdYG4Q49kRQxhlwtal9WJYrYymXg==} engines: {node: '>= 14.0.0'} '@algolia/requester-browser-xhr@4.24.0': resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - '@algolia/requester-browser-xhr@5.13.0': - resolution: {integrity: sha512-NV6oSCt5lFuzfsVQoSBpewEWf/h4ySr7pv2bfwu9yF/jc/g39pig8+YpuqsxlRWBm/lTGVA2V0Ai9ySwrNumIA==} + '@algolia/requester-browser-xhr@5.12.0': + resolution: {integrity: sha512-KxwleraFuVoEGCoeW6Y1RAEbgBMS7SavqeyzWdtkJc6mXeCOJXn1iZitb8Tyn2FcpMNUKlSm0adrUTt7G47+Ow==} engines: {node: '>= 14.0.0'} '@algolia/requester-common@4.24.0': resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - '@algolia/requester-fetch@5.13.0': - resolution: {integrity: sha512-094bK4rumf+rXJazxv3mq6eKRM0ep5AxIo8T0YmOdldswQt79apeufFiPLN19nHEWH22xR2FelimD+T/wRSP+Q==} + '@algolia/requester-fetch@5.12.0': + resolution: {integrity: sha512-FuDZXUGU1pAg2HCnrt8+q1VGHKChV/LhvjvZlLOT7e56GJie6p+EuLu4/hMKPOVuQQ8XXtrTHKIU3Lw+7O5/bQ==} engines: {node: '>= 14.0.0'} '@algolia/requester-node-http@4.24.0': resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - '@algolia/requester-node-http@5.13.0': - resolution: {integrity: sha512-JY5xhEYMgki53Wm+A6R2jUpOUdD0zZnBq+PC5R1TGMNOYL1s6JjDrJeMsvaI2YWxYMUSoCnRoltN/yf9RI8n3A==} + '@algolia/requester-node-http@5.12.0': + resolution: {integrity: sha512-ncDDY7CxZhMs6LIoPl+vHFQceIBhYPY5EfuGF1V7beO0U38xfsCYEyutEFB2kRzf4D9Gqppn3iWX71sNtrKcuw==} engines: {node: '>= 14.0.0'} '@algolia/transporter@4.24.0': resolution: {integrity: sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==} + '@alloc/quick-lru@5.2.0': + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -1227,8 +1240,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.3': - resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==} + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -1689,6 +1702,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-self@7.25.9': + resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.25.9': + resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.25.9': resolution: {integrity: sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==} engines: {node: '>=6.9.0'} @@ -1939,11 +1964,11 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@docsearch/css@3.8.0': - resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==} + '@docsearch/css@3.6.3': + resolution: {integrity: sha512-3uvbg8E7rhqE1C4oBAK3tGlS2qfhi9zpfZgH/yjDPF73vd9B41urVIKujF4rczcF4E3qs34SedhehiDJ4UdNBA==} - '@docsearch/react@3.8.0': - resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==} + '@docsearch/react@3.6.3': + resolution: {integrity: sha512-2munr4uBuZq1PG+Ge+F+ldIdxb3Wi8OmEIv2tQQb4RvEvvph+xtQkxwHzVIEnt5s+HecwucuXwB+3JhcZboFLg==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -1959,10 +1984,23 @@ packages: search-insights: optional: true + '@docusaurus/babel@3.6.0': + resolution: {integrity: sha512-7CsoQFiadoq7AHSUIQNkI/lGfg9AQ2ZBzsf9BqfZGXkHwWDy6twuohEaG0PgQv1npSRSAB2dioVxhRSErnqKNA==} + engines: {node: '>=18.0'} + '@docusaurus/babel@3.6.1': resolution: {integrity: sha512-JcKaunW8Ml2nTnfnvFc55T00Y+aCpNWnf1KY/gG+wWxHYDH0IdXOOz+k6NAlEAerW8+VYLfUqRIqHZ7N/DVXvQ==} engines: {node: '>=18.0'} + '@docusaurus/bundler@3.6.0': + resolution: {integrity: sha512-o5T9HXkPKH0OQAifTxEXaebcO8kaz3tU1+wlIShZ2DKJHlsyWX3N4rToWBHroWnV/ZCT2XN3kLRzXASqrnb9Tw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/faster': 3.5.2 + peerDependenciesMeta: + '@docusaurus/faster': + optional: true + '@docusaurus/bundler@3.6.1': resolution: {integrity: sha512-vHSEx8Ku9x/gfIC6k4xb8J2nTxagLia0KvZkPZhxfkD1+n8i+Dj4BZPWTmv+kCA17RbgAvECG0XRZ0/ZEspQBQ==} engines: {node: '>=18.0'} @@ -1972,6 +2010,15 @@ packages: '@docusaurus/faster': optional: true + '@docusaurus/core@3.6.0': + resolution: {integrity: sha512-lvRgMoKJJSRDt9+HhAqFcICV4kp/mw1cJJrLxIw4Q2XZnFGM1XUuwcbuaqWmGog+NcOLZaPCcCtZbn60EMCtjQ==} + engines: {node: '>=18.0'} + hasBin: true + peerDependencies: + '@mdx-js/react': ^3.0.0 + react: ^18.0.0 + react-dom: ^18.0.0 + '@docusaurus/core@3.6.1': resolution: {integrity: sha512-cDKxPihiM2z7G+4QtpTczS7uxNfNG6naSqM65OmAJET0CFRHbc9mDlLFtQF0lsVES91SHqfcGaaLZmi2FjdwWA==} engines: {node: '>=18.0'} @@ -1981,17 +2028,32 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@docusaurus/cssnano-preset@3.6.0': + resolution: {integrity: sha512-h3jlOXqqzNSoU+C4CZLNpFtD+v2xr1UBf4idZpwMgqid9r6lb5GS7tWKnQnauio6OipacbHbDXEX3JyT1PlDkg==} + engines: {node: '>=18.0'} + '@docusaurus/cssnano-preset@3.6.1': resolution: {integrity: sha512-ZxYUmNeyQHW2w4/PJ7d07jQDuxzmKr9uPAQ6IVe5dTkeIeV0mDBB3jOLeJkNoI42Ru9JKEqQ9aVDtM9ct6QHnw==} engines: {node: '>=18.0'} + '@docusaurus/logger@3.6.0': + resolution: {integrity: sha512-BcQhoXilXW0607cH/kO6P5Gt5KxCGfoJ+QDKNf3yO2S09/RsITlW+0QljXPbI3DklTrHrhRDmgGk1yX4nUhWTA==} + engines: {node: '>=18.0'} + '@docusaurus/logger@3.6.1': resolution: {integrity: sha512-OvetI/nnOMBSqCkUzKAQhnIjhxduECK4qTu3tq/8/h/qqvLsvKURojm04WPE54L+Uy+UXMas0hnbBJd8zDlEOw==} engines: {node: '>=18.0'} - '@docusaurus/lqip-loader@3.6.1': - resolution: {integrity: sha512-H/VVvnvFupFhQ81FuTyA/XHxEZPKh99T6Wg6KgN+/yvcn7869RdgrlDhKDnXZ7j2u80eFsVNjAcPfW1cSAtK6A==} + '@docusaurus/lqip-loader@3.6.0': + resolution: {integrity: sha512-jEQjnKAjhgyZ/aQf0Tbl3eDpp1j0C/GojE/cv2Bad89o+luV1OAOs9UHDRyKwWQfN+se0D9kFxkfsfwYxMpI8A==} + engines: {node: '>=18.0'} + + '@docusaurus/mdx-loader@3.6.0': + resolution: {integrity: sha512-GhRzL1Af/AdSSrGesSPOU/iP/aXadTGmVKuysCxZDrQR2RtBtubQZ9aw+KvdFVV7R4K/CsbgD6J5oqrXlEPk3Q==} engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 '@docusaurus/mdx-loader@3.6.1': resolution: {integrity: sha512-KPIsYi0S3X3/rNrW3V1fgOu5t6ahYWc31zTHHod8pacFxdmk9Uf6uuw+Jd6Cly1ilgal+41Ku+s0gmMuqKqiqg==} @@ -2020,6 +2082,13 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@docusaurus/plugin-content-docs@3.6.0': + resolution: {integrity: sha512-c5gZOxocJKO/Zev2MEZInli+b+VNswDGuKHE6QtFgidhAJonwjh2kwj967RvWFaMMk62HlLJLZ+IGK2XsVy4Aw==} + engines: {node: '>=18.0'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + '@docusaurus/plugin-content-docs@3.6.1': resolution: {integrity: sha512-Uq8kyn5DYCDmkUlB9sWChhWghS4lUFNiQU+RXcAXJ3qCVXsBpPsh6RF+npQG1N+j4wAbjydM1iLLJJzp+x3eMQ==} engines: {node: '>=18.0'} @@ -2062,8 +2131,8 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/plugin-ideal-image@3.6.1': - resolution: {integrity: sha512-hiGRPPlsM02aEOPlQc9rVnrckbVR6HswG7yDpZOtBEhw+ysXFsl/8gzAxFBL4ogKjN28WrlMCn/6IIkxY/EyOQ==} + '@docusaurus/plugin-ideal-image@3.6.0': + resolution: {integrity: sha512-6BaZU7mX+RH+lRFPm5nj3GGfAsjsJ1JHjp0Xjb4ilfte7L2IZkTl6MPpvAzyPC0qIUxfXRcJs4qd/HUE0xcTlw==} engines: {node: '>=18.0'} peerDependencies: jimp: '*' @@ -2111,6 +2180,14 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@docusaurus/theme-common@3.6.0': + resolution: {integrity: sha512-frjlYE5sRs+GuPs4XXlp9aMLI2O4H5FPpznDAXBrCm+8EpWRiIb443ePMxM3IyMCQ5bwFlki0PI9C+r4apstnw==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/plugin-content-docs': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + '@docusaurus/theme-common@3.6.1': resolution: {integrity: sha512-18iEYNpMvarGfq9gVRpGowSZD24vZ39Iz4acqaj64180i54V9el8tVnhNr/wRvrUm1FY30A1NHLqnMnDz4rYEQ==} engines: {node: '>=18.0'} @@ -2119,8 +2196,8 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 - '@docusaurus/theme-mermaid@3.6.1': - resolution: {integrity: sha512-ke00/VSFibzucbr64JXwPWsiu66zcqI8mnEbbmPSV1Yby5FRsfGQqcE+1cvUkAOVCl+zX8RNjv8vrRb4ilQDLQ==} + '@docusaurus/theme-mermaid@3.6.0': + resolution: {integrity: sha512-5t7zzBnnJa4BBcGo9bEfTM48DxD/+CVbFkfiRnFXheWjMrMm5a+IP10igEQ4zyDC+QgatbzLAxkj4GRYpYTauA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 @@ -2133,6 +2210,10 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@docusaurus/theme-translations@3.6.0': + resolution: {integrity: sha512-L555X8lWE3fv8VaF0Bc1VnAgi10UvRKFcvADHiYR7Gj37ItaWP5i7xLHsSw7fi/SHTXe5wfIeCFNqUYHyCOHAQ==} + engines: {node: '>=18.0'} + '@docusaurus/theme-translations@3.6.1': resolution: {integrity: sha512-bNm5G6sueUezvyhsBegA1wwM38yW0BnqpZTE9KHO2yKnkERNMaV5x/yPJ/DNCOHjJtCcJ5Uz55g2AS75Go31xA==} engines: {node: '>=18.0'} @@ -2149,14 +2230,36 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 + '@docusaurus/utils-common@3.6.0': + resolution: {integrity: sha512-diUDNfbw33GaZMmKwdTckT2IBfVouXLXRD+zphH9ywswuaEIKqixvuf5g41H7MBBrlMsxhna3uTMoB4B/OPDcA==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + '@docusaurus/utils-common@3.6.1': resolution: {integrity: sha512-LX1qiTiC0aS8c92uZ+Wj2iNCNJyYZJIKY8/nZDKNMBfo759VYVS3RX3fKP3DznB+16sYp7++MyCz/T6fOGaRfw==} engines: {node: '>=18.0'} + '@docusaurus/utils-validation@3.6.0': + resolution: {integrity: sha512-CRHiKKJEKA0GFlfOf71JWHl7PtwOyX0+Zg9ep9NFEZv6Lcx3RJ9nhl7p8HRjPL6deyYceavM//BsfW4pCI4BtA==} + engines: {node: '>=18.0'} + '@docusaurus/utils-validation@3.6.1': resolution: {integrity: sha512-+iMd6zRl5cJQm7nUP+7pSO/oAXsN79eHO34ME7l2YJt4GEAr70l5kkD58u2jEPpp+wSXT70c7x2A2lzJI1E8jw==} engines: {node: '>=18.0'} + '@docusaurus/utils@3.6.0': + resolution: {integrity: sha512-VKczAutI4mptiAw/WcYEu5WeVhQ6Q1zdIUl64SGw9K++9lziH+Kt10Ee8l2dMpRkiUk6zzK20kMNlX2WCUwXYQ==} + engines: {node: '>=18.0'} + peerDependencies: + '@docusaurus/types': '*' + peerDependenciesMeta: + '@docusaurus/types': + optional: true + '@docusaurus/utils@3.6.1': resolution: {integrity: sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==} engines: {node: '>=18.0'} @@ -2499,6 +2602,24 @@ packages: resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + + '@ethersproject/bignumber@5.7.0': + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/keccak256@5.7.0': + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@google-cloud/vertexai@1.9.0': resolution: {integrity: sha512-8brlcJwFXI4fPuBtsDNQqCdWZmz8gV9jeEKOU0vc5H2SjehCQpXK/NwuSEr916zbhlBHtg/sU37qQQdgvh5BRA==} engines: {node: '>=18.0.0'} @@ -2802,9 +2923,6 @@ packages: '@noble/curves@1.3.0': resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} - '@noble/curves@1.4.2': - resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.6.0': resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} engines: {node: ^14.21.3 || >=16} @@ -2817,10 +2935,6 @@ packages: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - '@noble/hashes@1.5.0': resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} @@ -2961,67 +3075,67 @@ packages: resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} - '@nx/devkit@20.1.0': - resolution: {integrity: sha512-TDWT3d7nei+FtqoZscR7KtbQ9BXzV1c1Wvk9UUejo7eXbrQ/+YnHVVze8EMuIgTXaHxNIBTKGUPcRi3cibmCDw==} + '@nx/devkit@20.0.8': + resolution: {integrity: sha512-MRUGgWSMzYtdwtolvWL5EZlX+7xYgu7JIXf1+3rmZU5adMmlqWKrIbyvDf53XocQlT8oxx/xXTEFHhIymGTQCg==} peerDependencies: nx: '>= 19 <= 21' - '@nx/nx-darwin-arm64@20.1.0': - resolution: {integrity: sha512-fel9LpSWuwY0cGAsRFEPxLp6J5VcK/5sjeWA0lZWrFf1oQJCOlKBfkxzi384Nd7eK5JSjxIXrpYfRLaqSbp+IA==} + '@nx/nx-darwin-arm64@20.0.8': + resolution: {integrity: sha512-tDoafq5YUyOwxR1Y796WXA6j49OLJRO7TA/Fym52SSuD3AULbgo3/X5XeY6oL2PWM044CuUVrp3V4cIDUtyJpA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@nx/nx-darwin-x64@20.1.0': - resolution: {integrity: sha512-l1DB8dk2rCLGgXW26HmFOKYpUCF259LRus8z+z7dsFv5vz9TeN+fk5m9aAdiENgMA2cGlndQQW+E8UIo3yv+9g==} + '@nx/nx-darwin-x64@20.0.8': + resolution: {integrity: sha512-bvfZ6VhSvOpPV00veaJDO1a4X+f0dn8S1A73/2ThbGZrZLAQIFrA8v+ysax+bfCGRHNdtlAL+f7TG2buh/4BRg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@nx/nx-freebsd-x64@20.1.0': - resolution: {integrity: sha512-f8uMRIhiOA/73cIjiyS3gpKvaAtsHgyUkkoCOPc4xdxoSLAjlxb6VOUPIFj9rzLA6qQXImVpsiNPG+p1sJ1GAQ==} + '@nx/nx-freebsd-x64@20.0.8': + resolution: {integrity: sha512-AdOme0o/pTFy+TutIOAamuGTqbh6nOLrkNEX8f4ogfDRH+k/WvjRQ4z4ne58wf/2EVXua4jKTIEipIZAP/Ad1w==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - '@nx/nx-linux-arm-gnueabihf@20.1.0': - resolution: {integrity: sha512-M7pay8hFJQZ3uJHlr5hZK/8o1BcHt95hy/SU7Azt7+LKQGOy42tXhHO30As9APzXqRmvoA2Iq1IyrJJicrz+Ew==} + '@nx/nx-linux-arm-gnueabihf@20.0.8': + resolution: {integrity: sha512-PYf7Z30A1TCZq9HVUP6JjT3ghTLYkaBpR6vDwiGWUV/exuNmhUgfYW6TiTpiSArXwnAgSIbaoGe537iEvYzA7A==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@nx/nx-linux-arm64-gnu@20.1.0': - resolution: {integrity: sha512-A5+Kpk1uwYIj6CPm0DWLVz5wNTN4ewNl7ajLS9YJOi4yHx/FhfMMyPj4ZnbTpc4isuvgZwBZNl8kwFb2RdXq4w==} + '@nx/nx-linux-arm64-gnu@20.0.8': + resolution: {integrity: sha512-3VpvhjmNR78HVxGzpWiwqZsG5sNvLUv2Qfohtxyc3561o8VU41R9Onf/LJmbbZvmdDaPvvXQp3rs0OXT4i7T1g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-arm64-musl@20.1.0': - resolution: {integrity: sha512-pWIQPt9Fst1O4dgrWHdU1b+5wpfLmsmaSeRvLQ9b2VFp3tKGko4ie0skme62TuMgpcqMWDBFKs8KgbHESOi7vw==} + '@nx/nx-linux-arm64-musl@20.0.8': + resolution: {integrity: sha512-3Z7fTJGG8h4VCHhD8Ix0zr6eFMfa1y3YDlzm8Clxu4Enzz0pEsUrT+ph6qrsArnIyUgiCowSi8+xgHFg7V/F1Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@nx/nx-linux-x64-gnu@20.1.0': - resolution: {integrity: sha512-sOpeGOHznk2ztCXzKhRPAKG3WtwaQUsfQ/3aYDXE6z+rSfyZTGY29M/a9FbdjI4cLJX+NdLAAMj15c3VecJ65g==} + '@nx/nx-linux-x64-gnu@20.0.8': + resolution: {integrity: sha512-Uttl1RHzWpjZgdzowCUNjC6/b3YhZR31wyXWgVF4PDWpDVgy4EigGc19tdrvv8pUVKQFuj0uaSTPUklguN7c3A==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-linux-x64-musl@20.1.0': - resolution: {integrity: sha512-SxnQJhjOvuOfUZnF4Wt4/O/l1e21qpACZzfMaPIvmiTLk9zPJZWtfgbqlKtTXHKWq9DfIUZQqZXRIpHPM1sDZQ==} + '@nx/nx-linux-x64-musl@20.0.8': + resolution: {integrity: sha512-llc6ywSPaOWQzEzD73USyAXd/y3Slu+GHS02IsQqZeA23EIOEzhvEeeeKgs4F8LKuFW/TpV6T5IhvSHw9/mvBg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@nx/nx-win32-arm64-msvc@20.1.0': - resolution: {integrity: sha512-Z/KoaAA+Rg9iqqOPkKZV61MejPoJBOHlecFpq0G4TgKMJEJ/hEsjojq5usO1fUGAbvQT/SXL3pYWgZwhD3VEHw==} + '@nx/nx-win32-arm64-msvc@20.0.8': + resolution: {integrity: sha512-GhPVVNrL0QcQ3B6r0P0Dta3TIesJz7uso7iI5rCZ/oOGa02UsT4NkQBpIhxYQZ4TnHYNy84g4rHtYHrSlpDlEw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@nx/nx-win32-x64-msvc@20.1.0': - resolution: {integrity: sha512-pbxacjLsW9vXD9FibvU8Pal/r5+Yq6AaW6I57CDi7jsLt+K6jcS0fP4FlfXT8QFWdx9+bOKNfOsKEIwpirMN1w==} + '@nx/nx-win32-x64-msvc@20.0.8': + resolution: {integrity: sha512-yLlcgM0zFdmsExdLv8O2g5FWQ6d2vyN5OynKV+F5BrWHC4LvrqyYJ99y++5bLFoEi19RYIK6sLnzGIRSF6dHGg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3030,8 +3144,8 @@ packages: resolution: {integrity: sha512-TkBr7QgOmE6ORxvIAhDbZsqPkF7RSqTY4pLTtUQCvr6dTXqvi2fFo46q3h1lxlk/sGMQjqyZ0kEahkD/NyzOHg==} engines: {node: '>= 18'} - '@octokit/auth-app@7.1.2': - resolution: {integrity: sha512-5cfWRr1hr0w/EW3StFIIOkMtYhOyGZ6/R3T0xeN6UgC/uL5pIyeood9N/8Z7W4NZUdz2QK1Fv0oM/1AzTME3/Q==} + '@octokit/auth-app@7.1.1': + resolution: {integrity: sha512-kRAd6yelV9OgvlEJE88H0VLlQdZcag9UlLr7dV0YYP37X8PPDvhgiTy66QVhDXdyoT0AleFN2w/qXkPdrSzINg==} engines: {node: '>= 18'} '@octokit/auth-oauth-app@8.1.1': @@ -3278,6 +3392,24 @@ packages: typescript: optional: true + '@radix-ui/react-compose-refs@1.1.0': + resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-slot@1.1.0': + resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@reflink/reflink-darwin-arm64@0.1.16': resolution: {integrity: sha512-s61AeZ0br2LtqOl2Rbq0k833hQ00sXJ+l9LGJmjM53dupWft3HEX9C5WUIMDDiU2Scx7f7UKAE4DvIvv7XjBWQ==} engines: {node: '>= 10'} @@ -3410,6 +3542,15 @@ packages: tslib: optional: true + '@rollup/plugin-virtual@3.0.2': + resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} @@ -3419,98 +3560,98 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.26.0': - resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==} + '@rollup/rollup-android-arm-eabi@4.25.0': + resolution: {integrity: sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.26.0': - resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==} + '@rollup/rollup-android-arm64@4.25.0': + resolution: {integrity: sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.26.0': - resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==} + '@rollup/rollup-darwin-arm64@4.25.0': + resolution: {integrity: sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.26.0': - resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==} + '@rollup/rollup-darwin-x64@4.25.0': + resolution: {integrity: sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.26.0': - resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==} + '@rollup/rollup-freebsd-arm64@4.25.0': + resolution: {integrity: sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.26.0': - resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==} + '@rollup/rollup-freebsd-x64@4.25.0': + resolution: {integrity: sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': - resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==} + '@rollup/rollup-linux-arm-gnueabihf@4.25.0': + resolution: {integrity: sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.26.0': - resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==} + '@rollup/rollup-linux-arm-musleabihf@4.25.0': + resolution: {integrity: sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.26.0': - resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==} + '@rollup/rollup-linux-arm64-gnu@4.25.0': + resolution: {integrity: sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.26.0': - resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==} + '@rollup/rollup-linux-arm64-musl@4.25.0': + resolution: {integrity: sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': - resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': + resolution: {integrity: sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.26.0': - resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==} + '@rollup/rollup-linux-riscv64-gnu@4.25.0': + resolution: {integrity: sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.26.0': - resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==} + '@rollup/rollup-linux-s390x-gnu@4.25.0': + resolution: {integrity: sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.26.0': - resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==} + '@rollup/rollup-linux-x64-gnu@4.25.0': + resolution: {integrity: sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.26.0': - resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==} + '@rollup/rollup-linux-x64-musl@4.25.0': + resolution: {integrity: sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.26.0': - resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==} + '@rollup/rollup-win32-arm64-msvc@4.25.0': + resolution: {integrity: sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.26.0': - resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==} + '@rollup/rollup-win32-ia32-msvc@4.25.0': + resolution: {integrity: sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.26.0': - resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==} + '@rollup/rollup-win32-x64-msvc@4.25.0': + resolution: {integrity: sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==} cpu: [x64] os: [win32] - '@sapphire/async-queue@1.5.5': - resolution: {integrity: sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg==} + '@sapphire/async-queue@1.5.4': + resolution: {integrity: sha512-id65RxAx34DCk8KAVTPWwcephJSkStiS9M15F87+zvK2gK47wf7yeRIo8WiuKeXQS6bsyo/uQ/t0QW1cLmSb+A==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} '@sapphire/shapeshift@4.0.0': @@ -3521,8 +3662,8 @@ packages: resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} - '@sapphire/snowflake@3.5.5': - resolution: {integrity: sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ==} + '@sapphire/snowflake@3.5.4': + resolution: {integrity: sha512-YeQY5xNMj3zbwEIZYzyM/7heSjjDbje7B2jfbnoyUsBPMNL4+TO+Zd1pp8v0OzCLNpPaYIZdwcvEScKXthhsPA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} '@scure/base@1.1.9': @@ -3822,8 +3963,83 @@ packages: resolution: {integrity: sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==} engines: {node: '>=14'} - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/core-darwin-arm64@1.9.2': + resolution: {integrity: sha512-nETmsCoY29krTF2PtspEgicb3tqw7Ci5sInTI03EU5zpqYbPjoPH99BVTjj0OsF53jP5MxwnLI5Hm21lUn1d6A==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.9.2': + resolution: {integrity: sha512-9gD+bwBz8ZByjP6nZTXe/hzd0tySIAjpDHgkFiUrc+5zGF+rdTwhcNrzxNHJmy6mw+PW38jqII4uspFHUqqxuQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.9.2': + resolution: {integrity: sha512-kYq8ief1Qrn+WmsTWAYo4r+Coul4dXN6cLFjiPZ29Cv5pyU+GFvSPAB4bEdMzwy99rCR0u2P10UExaeCjurjvg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.9.2': + resolution: {integrity: sha512-n0W4XiXlmEIVqxt+rD3ZpkogsEWUk1jJ+i5bQNgB+1JuWh0fBE8c/blDgTQXa0GB5lTPVDZQussgdNOCnAZwiA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.9.2': + resolution: {integrity: sha512-8xzrOmsyCC1zrx2Wzx/h8dVsdewO1oMCwBTLc1gSJ/YllZYTb04pNm6NsVbzUX2tKddJVRgSJXV10j/NECLwpA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.9.2': + resolution: {integrity: sha512-kZrNz/PjRQKcchWF6W292jk3K44EoVu1ad5w+zbS4jekIAxsM8WwQ1kd+yjUlN9jFcF8XBat5NKIs9WphJCVXg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.9.2': + resolution: {integrity: sha512-TTIpR4rjMkhX1lnFR+PSXpaL83TrQzp9znRdp2TzYrODlUd/R20zOwSo9vFLCyH6ZoD47bccY7QeGZDYT3nlRg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.9.2': + resolution: {integrity: sha512-+Eg2d4icItKC0PMjZxH7cSYFLWk0aIp94LNmOw6tPq0e69ax6oh10upeq0D1fjWsKLmOJAWEvnXlayZcijEXDw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.9.2': + resolution: {integrity: sha512-nLWBi4vZDdM/LkiQmPCakof8Dh1/t5EM7eudue04V1lIcqx9YHVRS3KMwEaCoHLGg0c312Wm4YgrWQd9vwZ5zQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.9.2': + resolution: {integrity: sha512-ik/k+JjRJBFkXARukdU82tSVx0CbExFQoQ78qTO682esbYXzjdB5eLVkoUbwen299pnfr88Kn4kyIqFPTje8Xw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.9.2': + resolution: {integrity: sha512-dYyEkO6mRYtZFpnOsnYzv9rY69fHAHoawYOjGOEcxk9WYtaJhowMdP/w6NcOKnz2G7GlZaenjkzkMa6ZeQeMsg==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} + + '@swc/types@0.1.15': + resolution: {integrity: sha512-XKaZ+dzDIQ9Ot9o89oJQ/aluI17+VvUnIpYJTcZtvv1iYX6MzHh3Ik2CSR7MdPKpPwfZXHBeCingb2b4PoDVdw==} '@szmarczak/http-timer@5.0.1': resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} @@ -4115,8 +4331,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node-fetch@2.6.12': - resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} @@ -4161,12 +4377,15 @@ packages: '@types/prop-types@15.7.13': resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} - '@types/qs@6.9.17': - resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} + '@types/qs@6.9.16': + resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/react-dom@18.3.1': + resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-router-config@5.0.11': resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} @@ -4253,6 +4472,17 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.15.0': + resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@8.12.2': resolution: {integrity: sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4263,10 +4493,24 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.15.0': + resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/scope-manager@8.12.2': resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.15.0': + resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.12.2': resolution: {integrity: sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4276,10 +4520,24 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.15.0': + resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/types@8.12.2': resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.15.0': + resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.12.2': resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4289,19 +4547,57 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.15.0': + resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@8.12.2': resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/utils@8.15.0': + resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/visitor-keys@8.12.2': resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.15.0': + resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@uniswap/sdk-core@4.2.1': + resolution: {integrity: sha512-hr7vwYrXScg+V8/rRc2UL/Ixc/p0P7yqe4D/OxzUdMRYr8RZd+8z5Iu9+WembjZT/DCdbTjde6lsph4Og0n1BQ==} + engines: {node: '>=10'} + + '@unruggable_starknet/core@0.1.0': + resolution: {integrity: sha512-qhKqw1XKhSRHzK3Ll/RzCblGFJDD4oeGoPQbal/X7QVVG1qz+VnqoyA1U6SDmlSGTHfskvMoXrVWkPRFL2RqHA==} + peerDependencies: + starknet: '>=5.0.0' + + '@vitejs/plugin-react@4.3.3': + resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + '@vitest/expect@2.1.5': resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} @@ -4364,54 +4660,50 @@ packages: '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} - '@webassemblyjs/ast@1.14.1': - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + '@webassemblyjs/ast@1.12.1': + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} - '@webassemblyjs/floating-point-hex-parser@1.13.2': - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - '@webassemblyjs/helper-api-error@1.13.2': - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - '@webassemblyjs/helper-buffer@1.14.1': - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + '@webassemblyjs/helper-buffer@1.12.1': + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - '@webassemblyjs/helper-numbers@1.13.2': - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} - '@webassemblyjs/helper-wasm-bytecode@1.13.2': - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - '@webassemblyjs/helper-wasm-section@1.14.1': - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + '@webassemblyjs/helper-wasm-section@1.12.1': + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} - '@webassemblyjs/ieee754@1.13.2': - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} - '@webassemblyjs/leb128@1.13.2': - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} - '@webassemblyjs/utf8@1.13.2': - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - '@webassemblyjs/wasm-edit@1.14.1': - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + '@webassemblyjs/wasm-edit@1.12.1': + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} - '@webassemblyjs/wasm-gen@1.14.1': - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + '@webassemblyjs/wasm-gen@1.12.1': + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} - '@webassemblyjs/wasm-opt@1.14.1': - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + '@webassemblyjs/wasm-opt@1.12.1': + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} - '@webassemblyjs/wasm-parser@1.14.1': - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + '@webassemblyjs/wasm-parser@1.12.1': + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} - '@webassemblyjs/wast-printer@1.14.1': - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - - '@wolfy1339/lru-cache@11.0.2-patch.1': - resolution: {integrity: sha512-BgYZfL2ADCXKOw2wJtkM3slhHotawWkgIRRxq4wEybnZQPjvAp71SPX35xepMykTw8gXlzWcWPTY31hlbnRsDA==} - engines: {node: 18 >=18.20 || 20 || >=22} + '@webassemblyjs/wast-printer@1.12.1': + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -4422,9 +4714,9 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - '@yarnpkg/parsers@3.0.2': - resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==} - engines: {node: '>=18.12.0'} + '@yarnpkg/parsers@3.0.0-rc.46': + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} '@zkochan/js-yaml@0.0.7': resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==} @@ -4558,8 +4850,8 @@ packages: algoliasearch@4.24.0: resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} - algoliasearch@5.13.0: - resolution: {integrity: sha512-04lyQX3Ev/oLYQx+aagamQDXvkUUfX1mwrLrus15+9fNaYj28GDxxEzbwaRfvmHFcZyoxvup7mMtDTTw8SrTEQ==} + algoliasearch@5.12.0: + resolution: {integrity: sha512-psGBRYdGgik8I6m28iAB8xpubvjEt7UQU+w5MAJUA2324WHiGoHap5BPkkjB14rMaXeRts6pmOsrVIglGyOVwg==} engines: {node: '>= 14.0.0'} amp-message@0.1.2: @@ -4780,8 +5072,8 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - babel-plugin-polyfill-corejs2@0.4.12: - resolution: {integrity: sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==} + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -4790,8 +5082,8 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-polyfill-regenerator@0.6.3: - resolution: {integrity: sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==} + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -5042,6 +5334,10 @@ packages: camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} engines: {node: '>=8'} @@ -5061,8 +5357,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001680: - resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==} + caniuse-lite@1.0.30001677: + resolution: {integrity: sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==} canvas@2.11.2: resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} @@ -5177,13 +5473,16 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - ci-info@4.1.0: - resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} engines: {node: '>=8'} cjs-module-lexer@1.4.1: resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + class-variance-authority@0.7.0: + resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} + cldr-segmentation@2.2.1: resolution: {integrity: sha512-0XAXy22htsxXgdSbXxJzzyAsBrBUvFhUho3eRonfcP/zvromwjBe5yDji9/y4XaV9YszEZswKv3WYhgd+JA8CA==} @@ -5261,6 +5560,10 @@ packages: resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} engines: {node: '>=6'} + clsx@2.0.0: + resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} + engines: {node: '>=6'} + clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} @@ -5563,8 +5866,8 @@ packages: cross-fetch@3.1.8: resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - cross-spawn@7.0.5: - resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} crypto-hash@1.3.0: @@ -5921,6 +6224,9 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -6050,6 +6356,9 @@ packages: devtools-protocol@0.0.1107588: resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + diff-match-patch@1.0.5: resolution: {integrity: sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==} @@ -6082,6 +6391,9 @@ packages: resolution: {integrity: sha512-EPCWE9OkA9DnFFNrO7Kl1WHHDYFXu3CNVFJg63bfU7hVtjZGyhShwZtSBImINQRWxWP2tgo2XI+QhdXx28r0aA==} engines: {node: '>=18'} + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dns-packet@5.6.1: resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} engines: {node: '>=6'} @@ -6170,8 +6482,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.57: - resolution: {integrity: sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==} + electron-to-chromium@1.5.51: + resolution: {integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -6350,6 +6662,17 @@ packages: eslint-config-prettier: optional: true + eslint-plugin-react-hooks@5.0.0: + resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react-refresh@0.4.14: + resolution: {integrity: sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==} + peerDependencies: + eslint: '>=7' + eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -6900,9 +7223,6 @@ packages: resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} - get-starknet-core@4.0.0: - resolution: {integrity: sha512-6pLmidQZkC3wZsrHY99grQHoGpuuXqkbSP65F8ov1/JsEI8DDLkhsAuLCKFzNOK56cJp+f1bWWfTJ57e9r5eqQ==} - get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -7026,6 +7346,10 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} + globals@15.12.0: + resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} + engines: {node: '>=18'} + globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -7461,8 +7785,8 @@ packages: resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} engines: {node: '>= 10'} - ipull@3.9.2: - resolution: {integrity: sha512-YbCDsqcf0ytc3b8304ygBlvRtKJTvyygkQX2xcmPkih6vdVKbRw13pDdtSR+vEqLql3owyuPj9m6iT6IfwFaCg==} + ipull@3.9.1: + resolution: {integrity: sha512-XqFJh66FQXkgpbZLXD5e1dlMkzTjVWUWYRs39eQ+Ra6V8fiebo4AgJ4AM/YsGOEpI4O/USxOBvS63Wj8YeGfAA==} engines: {node: '>=18.0.0'} hasBin: true @@ -7608,8 +7932,8 @@ packages: is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - is-reference@3.0.3: - resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} is-regexp@1.0.0: resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} @@ -7893,6 +8217,9 @@ packages: js-sha1@0.7.0: resolution: {integrity: sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==} + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -7904,6 +8231,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsbi@3.2.5: + resolution: {integrity: sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ==} + jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} @@ -8086,6 +8416,10 @@ packages: lifecycle-utils@1.7.0: resolution: {integrity: sha512-suNHxB8zsWrvsWxsmy9PsOcHuThRsCzvUhtGwxfvYAl8mbeWv7lt+wNT3q9KgILWmNe9zEVZ6PXo1gsvpYIdvw==} + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + lilconfig@3.1.2: resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} engines: {node: '>=14'} @@ -8254,6 +8588,11 @@ packages: lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lucide-react@0.460.0: + resolution: {integrity: sha512-BVtq/DykVeIvRTJvRAgCsOwaGL8Un3Bxh8MbDxMhEWlZay3T4IpEKDEpwt5KZ0KJMHzgm6jrltxlT5eXOWXDHg==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc + lunr-languages@1.14.0: resolution: {integrity: sha512-hWUAb2KqM3L7J5bcrngszzISY4BxrXn/Xhbb9TTCJYEGqlR1nG67/M14sp09+PTIRklobrn57IAxcdcO/ZFyNA==} @@ -8421,8 +8760,8 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromark-core-commonmark@2.0.2: - resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} micromark-extension-directive@3.0.2: resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==} @@ -8466,11 +8805,11 @@ packages: micromark-extension-mdxjs@3.0.0: resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} micromark-factory-mdx-expression@2.0.2: resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==} @@ -8478,71 +8817,71 @@ packages: micromark-factory-space@1.1.0: resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} micromark-util-character@1.2.0: resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} micromark-util-events-to-acorn@2.0.2: resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} - micromark-util-subtokenize@2.0.2: - resolution: {integrity: sha512-xKxhkB62vwHUuuxHe9Xqty3UaAsizV2YKq5OV344u3hFBbf8zIYrhYOWhAQb94MtMPkjTOzzjJ/hid9/dR5vFA==} + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} micromark-util-symbol@1.1.0: resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} micromark-util-types@1.1.0: resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - micromark-util-types@2.0.1: - resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - micromark@4.0.1: - resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} @@ -8715,8 +9054,8 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.7.3: - resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} + mlly@1.7.2: + resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} @@ -8725,6 +9064,9 @@ packages: module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -8833,8 +9175,8 @@ packages: node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} - node-addon-api@8.2.2: - resolution: {integrity: sha512-9emqXAKhVoNrQ792nLI/wpzPpJ/bj/YXxW0CvAau1+RdGBcCRF1Dmz7719zgVsQNrzHl9Tzn3ImZ4qWFarWL0A==} + node-addon-api@8.2.1: + resolution: {integrity: sha512-vmEOvxwiH8tlOcv4SyE8RH34rI5/nWVaigUeAUPawC6f0+HoDthwI0vkMu4tbtsZrXq6QXFfrkhjofzKEs5tpA==} engines: {node: ^18 || ^20 || >= 21} node-api-headers@1.4.0: @@ -8878,8 +9220,8 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} - node-gyp-build@4.8.3: - resolution: {integrity: sha512-EMS95CMJzdoSKoIiXo8pxKoL8DYxwIZXYlLmgPb8KUv794abpnLK6ynsCAWNliOjREKruYKdzbh76HHYUHX7nw==} + node-gyp-build@4.8.2: + resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} hasBin: true node-gyp@10.2.0: @@ -9016,8 +9358,8 @@ packages: peerDependencies: webpack: ^4.0.0 || ^5.0.0 - nx@20.1.0: - resolution: {integrity: sha512-d8Ywh1AvG3szYqWEHg2n9DHh/hF0jtVhMZKxwsr7n+kSVxp7gE/rHCCfOo8H+OmP030qXoox5e4Ovp7H9CEJnA==} + nx@20.0.8: + resolution: {integrity: sha512-cMtb+u5Eji7Xm9xMHZkRXMcO8GH6FFqS2+nMgtLUZ/+ZmquEgoV8mbsKVw1u1sJ6osOpWAu9OwXcilwtvSOoBw==} hasBin: true peerDependencies: '@swc-node/register': ^1.8.0 @@ -9035,8 +9377,12 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - object-inspect@1.13.3: - resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} engines: {node: '>= 0.4'} object-keys@1.1.1: @@ -9398,8 +9744,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - path2d@0.2.2: - resolution: {integrity: sha512-+vnG6S4dYcYxZd+CZxzXCNKdELYZSKfohrk98yajCo1PtRoDgCTrrwOvK1GT0UoAdVszagDVllQc0U1vaX4NUQ==} + path2d@0.2.1: + resolution: {integrity: sha512-Fl2z/BHvkTNvkuBzYTpTuirHZg6wW9z8+4SND/3mDTEcYbbNKWAy21dz9D3ePNNwrrK8pqZO5vLPZ1hLF6T7XA==} engines: {node: '>=6'} pathe@1.1.2: @@ -9613,6 +9959,30 @@ packages: peerDependencies: postcss: ^8.4.31 + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -9686,14 +10056,14 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-modules-local-by-default@4.1.0: - resolution: {integrity: sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==} + postcss-modules-local-by-default@4.0.5: + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 - postcss-modules-scope@3.2.1: - resolution: {integrity: sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==} + postcss-modules-scope@3.2.0: + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 @@ -9704,6 +10074,12 @@ packages: peerDependencies: postcss: ^8.1.0 + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + postcss-normalize-charset@6.0.2: resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==} engines: {node: ^14 || ^16 || >=18.0} @@ -9786,10 +10162,6 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - postcss-selector-parser@7.0.0: - resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==} - engines: {node: '>=4'} - postcss-sort-media-queries@5.2.0: resolution: {integrity: sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==} engines: {node: '>=14.0.0'} @@ -9986,8 +10358,8 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - psl@1.10.0: - resolution: {integrity: sha512-KSKHEbjAnpUuAUserOq0FxGXCUrzC3WniuSJhvdbs102rL55266ZcHBqLWOsG30spQMlPdpy7icATiAQehg/iA==} + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} pstree.remy@1.1.8: resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} @@ -10118,6 +10490,11 @@ packages: peerDependencies: react: ^18.2.0 + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + react-error-overlay@6.0.11: resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} @@ -10154,6 +10531,10 @@ packages: react-loadable: '*' webpack: '>=4.41.1 || 5.x' + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + react-router-config@5.1.1: resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} peerDependencies: @@ -10192,6 +10573,13 @@ packages: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cmd-shim@4.0.0: resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -10465,8 +10853,8 @@ packages: engines: {node: '>=10.0.0'} hasBin: true - rollup@4.26.0: - resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==} + rollup@4.25.0: + resolution: {integrity: sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -10880,8 +11268,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - starknet@6.11.0: - resolution: {integrity: sha512-u50KrGDi9fbu1Ogu7ynwF/tSeFlp3mzOg1/Y5x50tYFICImo3OfY4lOz9OtYDk404HK4eUujKkhov9tG7GAKlg==} + starknet@6.18.0: + resolution: {integrity: sha512-nlxz7bK/YBY8W8NUevkycxFwphsX27oi+4YCl36TYFdrJpTOMqmJDnZ27ssr7z0eEDQLQscIxt1gXrZzCJua7g==} statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} @@ -10891,6 +11279,9 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} @@ -10913,8 +11304,8 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - streamx@2.20.2: - resolution: {integrity: sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==} + streamx@2.20.1: + resolution: {integrity: sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==} string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} @@ -11044,8 +11435,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte@5.1.16: - resolution: {integrity: sha512-QcY+om9r8+uTcSfeFuv8++ExdfwVCKeT+Y7GPSZ6rQPczvy62BMtvMoi0rScabgv+upGE5jxKjd7M4u23+AjGA==} + svelte@5.1.9: + resolution: {integrity: sha512-nzq+PPKGS2PoEWDjAcXSrKSbXmmmOAxd6dAz1IhRusUpVkFS6DMELWPyBPGwu6TpO/gsgtFXwX0M4+pAR5gzKw==} engines: {node: '>=18'} svg-parser@2.0.4: @@ -11079,6 +11470,19 @@ packages: os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true + tailwind-merge@2.5.4: + resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} + + tailwindcss-animate@1.0.7: + resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + tailwindcss@3.4.15: + resolution: {integrity: sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==} + engines: {node: '>=14.0.0'} + hasBin: true + tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -11223,11 +11627,11 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.61: - resolution: {integrity: sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==} + tldts-core@6.1.58: + resolution: {integrity: sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==} - tldts-experimental@6.1.61: - resolution: {integrity: sha512-1plwEyCpyYtVsZVtC169C5bStRlDk3cIniMHUeNmAJOjmQGx7SnLM8kS06PQAHx9PPY4Jm1VS6IXZzPC53XpbQ==} + tldts-experimental@6.1.58: + resolution: {integrity: sha512-oMXXM56JFUjwcw+2Vt7NP3LQUpK3ZLdGAqSAFwGtAPWjvKK36bJ162UjsnSdFsq6nU3Wae5HYlE8N/vULPZ00g==} tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} @@ -11247,6 +11651,9 @@ packages: to-vfile@6.1.0: resolution: {integrity: sha512-BxX8EkCxOAZe+D/ToHdDsJcVI4HqQfmw0tCkp31zf3dNP/XWIAjU4CmeuSwsSoOzOTqHPOL0KUzyZqJplkD0Qw==} + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + together-ai@0.7.0: resolution: {integrity: sha512-/be/HOecBSwRTDHB14vCvHbp1WiNsFxyS4pJlyBoMup1X3n7xD1b/Gm5Z5amlKzD2zll9Y5wscDk7Ut5OsT1nA==} @@ -11465,8 +11872,18 @@ packages: peerDependencies: typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript-eslint@8.15.0: + resolution: {integrity: sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -11724,6 +12141,16 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-plugin-top-level-await@1.4.4: + resolution: {integrity: sha512-QyxQbvcMkgt+kDb12m2P8Ed35Sp6nXP+l8ptGrnHV9zgYDUpraO0CPdlqLSeBqvY2DToR52nutDG7mIHuysdiw==} + peerDependencies: + vite: '>=2.8' + + vite-plugin-wasm@3.3.0: + resolution: {integrity: sha512-tVhz6w+W9MVsOCHzxo6SSMSswCeIw4HTrXEi6qL3IRzATl83jl09JVO1djBqPSwfjgnpVHNLYcaMbaDX5WB/pg==} + peerDependencies: + vite: ^2 || ^3 || ^4 || ^5 + vite@5.4.11: resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} engines: {node: ^18.0.0 || >=20.0.0} @@ -12231,14 +12658,14 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/react@0.0.70(react@18.2.0)(zod@3.23.8)': + '@ai-sdk/react@0.0.70(react@18.3.1)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - swr: 2.2.5(react@18.2.0) + swr: 2.2.5(react@18.3.1) throttleit: 2.1.0 optionalDependencies: - react: 18.2.0 + react: 18.3.1 zod: 3.23.8 '@ai-sdk/solid@0.0.54(zod@3.23.8)': @@ -12248,13 +12675,13 @@ snapshots: transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.57(svelte@5.1.16)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.57(svelte@5.1.9)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) - sswr: 2.1.0(svelte@5.1.16) + sswr: 2.1.0(svelte@5.1.9) optionalDependencies: - svelte: 5.1.16 + svelte: 5.1.9 transitivePeerDependencies: - zod @@ -12278,33 +12705,38 @@ snapshots: transitivePeerDependencies: - zod - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': + '@algolia/autocomplete-core@1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2)': + '@algolia/autocomplete-plugin-algolia-insights@1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) + '@algolia/autocomplete-shared': 1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': + '@algolia/autocomplete-preset-algolia@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)': + dependencies: + '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) + '@algolia/client-search': 5.12.0 + algoliasearch: 5.12.0 + + '@algolia/autocomplete-shared@1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) - '@algolia/client-search': 5.13.0 - algoliasearch: 5.13.0 + '@algolia/client-search': 5.12.0 + algoliasearch: 5.12.0 - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)': + '@algolia/autocomplete-shared@1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)': dependencies: - '@algolia/client-search': 5.13.0 - algoliasearch: 5.13.0 + '@algolia/client-search': 5.12.0 + algoliasearch: 5.12.0 '@algolia/cache-browser-local-storage@4.24.0': dependencies: @@ -12316,12 +12748,12 @@ snapshots: dependencies: '@algolia/cache-common': 4.24.0 - '@algolia/client-abtesting@5.13.0': + '@algolia/client-abtesting@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/client-account@4.24.0': dependencies: @@ -12336,26 +12768,26 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-analytics@5.13.0': + '@algolia/client-analytics@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/client-common@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-common@5.13.0': {} + '@algolia/client-common@5.12.0': {} - '@algolia/client-insights@5.13.0': + '@algolia/client-insights@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/client-personalization@4.24.0': dependencies: @@ -12363,19 +12795,19 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-personalization@5.13.0': + '@algolia/client-personalization@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 - '@algolia/client-query-suggestions@5.13.0': + '@algolia/client-query-suggestions@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/client-search@4.24.0': dependencies: @@ -12383,21 +12815,21 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-search@5.13.0': + '@algolia/client-search@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/events@4.0.1': {} - '@algolia/ingestion@1.13.0': + '@algolia/ingestion@1.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/logger-common@4.24.0': {} @@ -12405,12 +12837,12 @@ snapshots: dependencies: '@algolia/logger-common': 4.24.0 - '@algolia/monitoring@1.13.0': + '@algolia/monitoring@1.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/recommend@4.24.0': dependencies: @@ -12426,34 +12858,34 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/recommend@5.13.0': + '@algolia/recommend@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + '@algolia/client-common': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 '@algolia/requester-browser-xhr@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-browser-xhr@5.13.0': + '@algolia/requester-browser-xhr@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.12.0 '@algolia/requester-common@4.24.0': {} - '@algolia/requester-fetch@5.13.0': + '@algolia/requester-fetch@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.12.0 '@algolia/requester-node-http@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-node-http@5.13.0': + '@algolia/requester-node-http@5.12.0': dependencies: - '@algolia/client-common': 5.13.0 + '@algolia/client-common': 5.12.0 '@algolia/transporter@4.24.0': dependencies: @@ -12461,6 +12893,8 @@ snapshots: '@algolia/logger-common': 4.24.0 '@algolia/requester-common': 4.24.0 + '@alloc/quick-lru@5.2.0': {} + '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -12468,7 +12902,7 @@ snapshots: '@antfu/install-pkg@0.4.1': dependencies: - package-manager-detector: 0.2.4 + package-manager-detector: 0.2.2 tinyexec: 0.3.1 '@antfu/utils@0.7.10': {} @@ -12476,7 +12910,7 @@ snapshots: '@anthropic-ai/sdk@0.30.1(encoding@0.1.13)': dependencies: '@types/node': 18.19.64 - '@types/node-fetch': 2.6.12 + '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 @@ -12500,11 +12934,11 @@ snapshots: '@anush008/tokenizers-linux-x64-gnu': 0.0.0 '@anush008/tokenizers-win32-x64-msvc': 0.0.0 - '@avnu/avnu-sdk@2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.0)(starknet@6.11.0(encoding@0.1.13))': + '@avnu/avnu-sdk@2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.0)(starknet@6.18.0(encoding@0.1.13))': dependencies: ethers: 6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10) qs: 6.13.0 - starknet: 6.11.0(encoding@0.1.13) + starknet: 6.18.0(encoding@0.1.13) '@babel/code-frame@7.26.2': dependencies: @@ -12581,7 +13015,7 @@ snapshots: regexpu-core: 6.1.1 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)': + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 @@ -13088,6 +13522,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-transform-react-jsx@7.25.9(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -13127,9 +13571,9 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -13263,9 +13707,9 @@ snapshots: '@babel/plugin-transform-unicode-regex': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-unicode-sets-regex': 7.25.9(@babel/core@7.26.0) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.26.0) - babel-plugin-polyfill-corejs2: 0.4.12(@babel/core@7.26.0) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.6.3(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) core-js-compat: 3.39.0 semver: 6.3.1 transitivePeerDependencies: @@ -13365,7 +13809,7 @@ snapshots: '@cliqz/adblocker': 1.34.0 '@cliqz/adblocker-content': 1.34.0 playwright: 1.48.2 - tldts-experimental: 6.1.61 + tldts-experimental: 6.1.58 '@cliqz/adblocker@1.34.0': dependencies: @@ -13376,7 +13820,7 @@ snapshots: '@remusao/smaz': 1.10.0 '@types/chrome': 0.0.278 '@types/firefox-webext-browser': 120.0.4 - tldts-experimental: 6.1.61 + tldts-experimental: 6.1.58 '@colors/colors@1.5.0': optional: true @@ -13458,7 +13902,7 @@ snapshots: '@discordjs/opus@https://codeload.github.com/discordjs/opus/tar.gz/31da49d8d2cc6c5a2ab1bfd332033ff7d5f9fb02(encoding@0.1.13)': dependencies: '@discordjs/node-pre-gyp': 0.4.5(encoding@0.1.13) - node-addon-api: 8.2.2 + node-addon-api: 8.2.1 transitivePeerDependencies: - encoding - supports-color @@ -13467,8 +13911,8 @@ snapshots: dependencies: '@discordjs/collection': 2.1.1 '@discordjs/util': 1.1.1 - '@sapphire/async-queue': 1.5.5 - '@sapphire/snowflake': 3.5.5 + '@sapphire/async-queue': 1.5.4 + '@sapphire/snowflake': 3.5.4 '@vladfrangu/async_event_emitter': 2.4.6 discord-api-types: 0.37.97 magic-bytes.js: 1.10.0 @@ -13497,7 +13941,7 @@ snapshots: '@discordjs/collection': 2.1.1 '@discordjs/rest': 2.4.0 '@discordjs/util': 1.1.1 - '@sapphire/async-queue': 1.5.5 + '@sapphire/async-queue': 1.5.4 '@types/ws': 8.5.13 '@vladfrangu/async_event_emitter': 2.4.6 discord-api-types: 0.37.83 @@ -13509,23 +13953,49 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@docsearch/css@3.8.0': {} + '@docsearch/css@3.6.3': {} - '@docsearch/react@3.8.0(@algolia/client-search@5.13.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)': + '@docsearch/react@3.6.3(@algolia/client-search@5.12.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)': dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0)(search-insights@2.17.2) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.13.0)(algoliasearch@5.13.0) - '@docsearch/css': 3.8.0 - algoliasearch: 5.13.0 + '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@5.12.0)(algoliasearch@5.12.0)(search-insights@2.17.2) + '@algolia/autocomplete-preset-algolia': 1.17.6(@algolia/client-search@5.12.0)(algoliasearch@5.12.0) + '@docsearch/css': 3.6.3 + algoliasearch: 5.12.0 optionalDependencies: '@types/react': 18.3.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - search-insights: 2.17.3 + search-insights: 2.17.2 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/babel@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/babel@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3)': + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) + '@babel/preset-env': 7.26.0(@babel/core@7.26.0) + '@babel/preset-react': 7.25.9(@babel/core@7.26.0) + '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) + '@babel/runtime': 7.26.0 + '@babel/runtime-corejs3': 7.26.0 + '@babel/traverse': 7.25.9 + '@docusaurus/logger': 3.6.0 + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + babel-plugin-dynamic-import-node: 2.3.3 + fs-extra: 11.2.0 + tslib: 2.8.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/babel@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.2 @@ -13538,7 +14008,7 @@ snapshots: '@babel/runtime-corejs3': 7.26.0 '@babel/traverse': 7.25.9 '@docusaurus/logger': 3.6.1 - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) babel-plugin-dynamic-import-node: 2.3.3 fs-extra: 11.2.0 tslib: 2.8.0 @@ -13553,33 +14023,78 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.6.1(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/bundler@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + dependencies: + '@babel/core': 7.26.0 + '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/cssnano-preset': 3.6.0 + '@docusaurus/logger': 3.6.0 + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + autoprefixer: 10.4.20(postcss@8.4.49) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + clean-css: 5.3.3 + copy-webpack-plugin: 11.0.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + cssnano: 6.1.2(postcss@8.4.49) + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + html-minifier-terser: 7.2.0 + mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + null-loader: 4.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + postcss: 8.4.49 + postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + tslib: 2.8.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + webpackbar: 6.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + transitivePeerDependencies: + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - csso + - esbuild + - eslint + - lightningcss + - react + - react-dom + - supports-color + - typescript + - uglify-js + - vue-template-compiler + - webpack-cli + + '@docusaurus/bundler@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: '@babel/core': 7.26.0 - '@docusaurus/babel': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/babel': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@docusaurus/cssnano-preset': 3.6.1 '@docusaurus/logger': 3.6.1 - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) autoprefixer: 10.4.20(postcss@8.4.49) - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.96.1) - css-loader: 6.11.0(webpack@5.96.1) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.96.1) + copy-webpack-plugin: 11.0.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + css-loader: 6.11.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) cssnano: 6.1.2(postcss@8.4.49) - file-loader: 6.2.0(webpack@5.96.1) + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.2(webpack@5.96.1) - null-loader: 4.0.1(webpack@5.96.1) + mini-css-extract-plugin: 2.9.2(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + null-loader: 4.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) postcss: 8.4.49 - postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1) - react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1) - terser-webpack-plugin: 5.3.10(webpack@5.96.1) + postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) tslib: 2.8.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) - webpack: 5.96.1 - webpackbar: 6.0.1(webpack@5.96.1) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + webpackbar: 6.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -13598,15 +14113,84 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/core@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@docusaurus/babel': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/bundler': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/logger': 3.6.0 + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.2.0) + boxen: 6.2.1 + chalk: 4.1.2 + chokidar: 3.6.0 + cli-table3: 0.6.5 + combine-promises: 1.2.0 + commander: 5.1.0 + core-js: 3.39.0 + del: 6.1.1 + detect-port: 1.6.1 + escape-html: 1.0.3 + eta: 2.2.0 + eval: 0.1.8 + fs-extra: 11.2.0 + html-tags: 3.3.1 + html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + leven: 3.1.0 + lodash: 4.17.21 + p-map: 4.0.0 + prompts: 2.4.2 + react: 18.2.0 + react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + react-dom: 18.2.0(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + react-router: 5.3.4(react@18.2.0) + react-router-config: 5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0) + react-router-dom: 5.3.4(react@18.2.0) + rtl-detect: 1.1.2 + semver: 7.6.3 + serve-handler: 6.1.6 + shelljs: 0.8.5 + tslib: 2.8.0 + update-notifier: 6.0.2 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + webpack-bundle-analyzer: 4.10.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + webpack-dev-server: 4.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + webpack-merge: 6.0.1 + transitivePeerDependencies: + - '@docusaurus/faster' + - '@docusaurus/types' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/core@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/babel': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/bundler': 3.6.1(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/babel': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/bundler': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@docusaurus/logger': 3.6.1 - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.2.0) boxen: 6.2.1 chalk: 4.1.2 @@ -13622,17 +14206,17 @@ snapshots: eval: 0.1.8 fs-extra: 11.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))) + html-webpack-plugin: 5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) leven: 3.1.0 lodash: 4.17.21 p-map: 4.0.0 prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1) + react-dev-utils: 12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.96.1) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) react-router: 5.3.4(react@18.2.0) react-router-config: 5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) @@ -13642,9 +14226,9 @@ snapshots: shelljs: 0.8.5 tslib: 2.8.0 update-notifier: 6.0.2 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) webpack-bundle-analyzer: 4.10.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) - webpack-dev-server: 4.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.96.1) + webpack-dev-server: 4.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) webpack-merge: 6.0.1 transitivePeerDependencies: - '@docusaurus/faster' @@ -13666,6 +14250,13 @@ snapshots: - vue-template-compiler - webpack-cli + '@docusaurus/cssnano-preset@3.6.0': + dependencies: + cssnano-preset-advanced: 6.1.2(postcss@8.4.49) + postcss: 8.4.49 + postcss-sort-media-queries: 5.2.0(postcss@8.4.49) + tslib: 2.8.0 + '@docusaurus/cssnano-preset@3.6.1': dependencies: cssnano-preset-advanced: 6.1.2(postcss@8.4.49) @@ -13673,31 +14264,74 @@ snapshots: postcss-sort-media-queries: 5.2.0(postcss@8.4.49) tslib: 2.8.0 + '@docusaurus/logger@3.6.0': + dependencies: + chalk: 4.1.2 + tslib: 2.8.0 + '@docusaurus/logger@3.6.1': dependencies: chalk: 4.1.2 tslib: 2.8.0 - '@docusaurus/lqip-loader@3.6.1(webpack@5.96.1)': + '@docusaurus/lqip-loader@3.6.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)))': dependencies: - '@docusaurus/logger': 3.6.1 - file-loader: 6.2.0(webpack@5.96.1) + '@docusaurus/logger': 3.6.0 + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) lodash: 4.17.21 sharp: 0.32.6 tslib: 2.8.0 transitivePeerDependencies: - webpack - '@docusaurus/mdx-loader@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/mdx-loader@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/logger': 3.6.0 + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@mdx-js/mdx': 3.1.0(acorn@8.14.0) + '@slorber/remark-comment': 1.0.0 + escape-html: 1.0.3 + estree-util-value-to-estree: 3.2.1 + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + fs-extra: 11.2.0 + image-size: 1.1.1 + mdast-util-mdx: 3.0.0 + mdast-util-to-string: 4.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + rehype-raw: 7.0.0 + remark-directive: 3.0.0 + remark-emoji: 4.0.1 + remark-frontmatter: 5.0.0 + remark-gfm: 4.0.0 + stringify-object: 3.3.0 + tslib: 2.8.0 + unified: 11.0.5 + unist-util-visit: 5.0.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + vfile: 6.0.3 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - acorn + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/mdx-loader@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.1 - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@mdx-js/mdx': 3.1.0(acorn@8.14.0) '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.2.1 - file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))) + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -13713,9 +14347,9 @@ snapshots: tslib: 2.8.0 unified: 11.0.5 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) vfile: 6.0.3 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@swc/core' - acorn @@ -13725,9 +14359,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/module-type-aliases@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/types': 3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -13744,9 +14378,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/module-type-aliases@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -13763,17 +14397,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-content-blog@3.6.1(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 @@ -13785,7 +14419,7 @@ snapshots: tslib: 2.8.0 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -13807,17 +14441,61 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-content-blog@3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + cheerio: 1.0.0-rc.12 + feed: 4.2.2 + fs-extra: 11.2.0 + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + reading-time: 1.5.0 + srcset: 4.0.0 + tslib: 2.8.0 + unist-util-visit: 5.0.0 + utility-types: 3.11.0 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/logger': 3.6.0 + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 @@ -13827,7 +14505,7 @@ snapshots: react-dom: 18.2.0(react@18.2.0) tslib: 2.8.0 utility-types: 3.11.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -13849,18 +14527,60 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/logger': 3.6.1 + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@types/react-router-config': 5.0.11 + combine-promises: 1.2.0 + fs-extra: 11.2.0 + js-yaml: 4.1.0 + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.8.0 + utility-types: 3.11.0 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + transitivePeerDependencies: + - '@docusaurus/faster' + - '@mdx-js/react' + - '@parcel/css' + - '@rspack/core' + - '@swc/core' + - '@swc/css' + - acorn + - bufferutil + - csso + - debug + - esbuild + - eslint + - lightningcss + - supports-color + - typescript + - uglify-js + - utf-8-validate + - vue-template-compiler + - webpack-cli + + '@docusaurus/plugin-content-pages@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.8.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -13882,11 +14602,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-debug@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -13913,11 +14633,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-google-analytics@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.8.0 @@ -13942,11 +14662,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-google-gtag@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@types/gtag.js': 0.0.12 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -13972,11 +14692,11 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-google-tag-manager@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.8.0 @@ -14001,21 +14721,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-ideal-image@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-ideal-image@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/lqip-loader': 3.6.1(webpack@5.96.1) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/lqip-loader': 3.6.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) '@docusaurus/responsive-loader': 1.7.0(sharp@0.32.6) - '@docusaurus/theme-translations': 3.6.1 - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/theme-translations': 3.6.0 + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) '@slorber/react-ideal-image': 0.0.12(prop-types@15.8.1)(react-waypoint@10.3.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-waypoint: 10.3.0(react@18.2.0) sharp: 0.32.6 tslib: 2.8.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -14038,14 +14758,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/plugin-sitemap@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) fs-extra: 11.2.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14072,21 +14792,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': - dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-content-pages': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-debug': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-google-analytics': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-google-gtag': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-google-tag-manager': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-sitemap': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/theme-classic': 3.6.1(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/preset-classic@3.6.1(@algolia/client-search@5.12.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-content-pages': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-debug': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-google-analytics': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-google-gtag': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-google-tag-manager': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-sitemap': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-classic': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/theme-search-algolia': 3.6.1(@algolia/client-search@5.12.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -14124,21 +14844,21 @@ snapshots: optionalDependencies: sharp: 0.32.6 - '@docusaurus/theme-classic@3.6.1(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-classic@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/plugin-content-pages': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-blog': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/plugin-content-pages': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.1 - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@mdx-js/react': 3.0.1(@types/react@18.3.12)(react@18.2.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 @@ -14175,13 +14895,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/theme-common@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: - '@docusaurus/mdx-loader': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/module-type-aliases': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@types/history': 4.7.11 '@types/react': 18.3.12 '@types/react-router-config': 5.0.11 @@ -14193,6 +14913,7 @@ snapshots: tslib: 2.8.0 utility-types: 3.11.0 transitivePeerDependencies: + - '@docusaurus/types' - '@swc/core' - acorn - esbuild @@ -14201,13 +14922,65 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-mermaid@3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-common@3.6.1(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/module-type-aliases': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router-config': 5.0.11 + clsx: 2.1.0 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.3.1(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.8.0 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-common@3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + dependencies: + '@docusaurus/mdx-loader': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/module-type-aliases': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/history': 4.7.11 + '@types/react': 18.3.12 + '@types/react-router-config': 5.0.11 + clsx: 2.1.0 + parse-numeric-range: 1.3.0 + prism-react-renderer: 2.3.1(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.8.0 + utility-types: 3.11.0 + transitivePeerDependencies: + - '@swc/core' + - acorn + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/theme-mermaid@3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10)': + dependencies: + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/module-type-aliases': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/theme-common': 3.6.0(@docusaurus/plugin-content-docs@3.6.0(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-validation': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) mermaid: 11.4.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -14234,16 +15007,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.13.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-search-algolia@3.6.1(@algolia/client-search@5.12.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docsearch/react': 3.8.0(@algolia/client-search@5.13.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2) - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docsearch/react': 3.6.3(@algolia/client-search@5.12.0)(@types/react@18.3.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.17.2) + '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.1 - '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) - '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/plugin-content-docs': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-common': 3.6.1(@docusaurus/plugin-content-docs@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) '@docusaurus/theme-translations': 3.6.1 - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-validation': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-validation': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) algoliasearch: 4.24.0 algoliasearch-helper: 3.22.5(algoliasearch@4.24.0) clsx: 2.1.0 @@ -14278,12 +15051,17 @@ snapshots: - vue-template-compiler - webpack-cli + '@docusaurus/theme-translations@3.6.0': + dependencies: + fs-extra: 11.2.0 + tslib: 2.8.0 + '@docusaurus/theme-translations@3.6.1': dependencies: fs-extra: 11.2.0 tslib: 2.8.0 - '@docusaurus/types@3.6.0(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.14.0) '@types/history': 4.7.11 @@ -14294,7 +15072,7 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) utility-types: 3.11.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -14304,7 +15082,7 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/types@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/types@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.14.0) '@types/history': 4.7.11 @@ -14315,7 +15093,7 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) utility-types: 3.11.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -14325,9 +15103,15 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-common@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils-common@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + dependencies: + tslib: 2.8.0 + optionalDependencies: + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + '@docusaurus/utils-common@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) tslib: 2.8.0 transitivePeerDependencies: - '@swc/core' @@ -14339,11 +15123,30 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-validation@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/utils-validation@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3)': + dependencies: + '@docusaurus/logger': 3.6.0 + '@docusaurus/utils': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + fs-extra: 11.2.0 + joi: 17.13.3 + js-yaml: 4.1.0 + lodash: 4.17.21 + tslib: 2.8.0 + transitivePeerDependencies: + - '@docusaurus/types' + - '@swc/core' + - esbuild + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils-validation@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.1 - '@docusaurus/utils': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) fs-extra: 11.2.0 joi: 17.13.3 js-yaml: 4.1.0 @@ -14351,23 +15154,55 @@ snapshots: tslib: 2.8.0 transitivePeerDependencies: - '@swc/core' - - acorn + - acorn + - esbuild + - react + - react-dom + - supports-color + - typescript + - uglify-js + - webpack-cli + + '@docusaurus/utils@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(typescript@5.6.3)': + dependencies: + '@docusaurus/logger': 3.6.0 + '@docusaurus/utils-common': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@svgr/webpack': 8.1.0(typescript@5.6.3) + escape-string-regexp: 4.0.0 + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + fs-extra: 11.2.0 + github-slugger: 1.5.0 + globby: 11.1.0 + gray-matter: 4.0.3 + jiti: 1.21.6 + js-yaml: 4.1.0 + lodash: 4.17.21 + micromatch: 4.0.8 + prompts: 2.4.2 + resolve-pathname: 3.0.0 + shelljs: 0.8.5 + tslib: 2.8.0 + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) + utility-types: 3.11.0 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + optionalDependencies: + '@docusaurus/types': 3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + transitivePeerDependencies: + - '@swc/core' - esbuild - - react - - react-dom - supports-color - typescript - uglify-js - webpack-cli - '@docusaurus/utils@3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': + '@docusaurus/utils@3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)': dependencies: '@docusaurus/logger': 3.6.1 - '@docusaurus/types': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.6.1(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils-common': 3.6.1(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@svgr/webpack': 8.1.0(typescript@5.6.3) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))) + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -14380,9 +15215,9 @@ snapshots: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.8.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) utility-types: 3.11.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - '@swc/core' - acorn @@ -14595,6 +15430,36 @@ snapshots: dependencies: levn: 0.4.1 + '@ethersproject/address@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + + '@ethersproject/bignumber@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/keccak256@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + js-sha3: 0.8.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/rlp@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@google-cloud/vertexai@1.9.0(encoding@0.1.13)': dependencies: google-auth-library: 9.14.2(encoding@0.1.13) @@ -14640,7 +15505,7 @@ snapshots: debug: 4.3.7(supports-color@5.5.0) kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.7.3 + mlly: 1.7.2 transitivePeerDependencies: - supports-color @@ -14755,7 +15620,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -14769,7 +15634,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -14947,12 +15812,12 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@lerna/create@8.1.9(encoding@0.1.13)(typescript@5.6.3)': + '@lerna/create@8.1.9(@swc/core@1.9.2(@swc/helpers@0.5.13))(encoding@0.1.13)(typescript@5.6.3)': dependencies: '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.1.0(nx@20.1.0) + '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -14991,7 +15856,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.1.0 + nx: 20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13)) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -15100,10 +15965,6 @@ snapshots: dependencies: '@noble/hashes': 1.3.3 - '@noble/curves@1.4.2': - dependencies: - '@noble/hashes': 1.4.0 - '@noble/curves@1.6.0': dependencies: '@noble/hashes': 1.5.0 @@ -15112,8 +15973,6 @@ snapshots: '@noble/hashes@1.3.3': {} - '@noble/hashes@1.4.0': {} - '@noble/hashes@1.5.0': {} '@node-llama-cpp/linux-arm64@3.1.1': @@ -15291,51 +16150,51 @@ snapshots: - bluebird - supports-color - '@nx/devkit@20.1.0(nx@20.1.0)': + '@nx/devkit@20.0.8(nx@20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13)))': dependencies: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.2 minimatch: 9.0.3 - nx: 20.1.0 + nx: 20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13)) semver: 7.6.3 tmp: 0.2.3 tslib: 2.8.0 yargs-parser: 21.1.1 - '@nx/nx-darwin-arm64@20.1.0': + '@nx/nx-darwin-arm64@20.0.8': optional: true - '@nx/nx-darwin-x64@20.1.0': + '@nx/nx-darwin-x64@20.0.8': optional: true - '@nx/nx-freebsd-x64@20.1.0': + '@nx/nx-freebsd-x64@20.0.8': optional: true - '@nx/nx-linux-arm-gnueabihf@20.1.0': + '@nx/nx-linux-arm-gnueabihf@20.0.8': optional: true - '@nx/nx-linux-arm64-gnu@20.1.0': + '@nx/nx-linux-arm64-gnu@20.0.8': optional: true - '@nx/nx-linux-arm64-musl@20.1.0': + '@nx/nx-linux-arm64-musl@20.0.8': optional: true - '@nx/nx-linux-x64-gnu@20.1.0': + '@nx/nx-linux-x64-gnu@20.0.8': optional: true - '@nx/nx-linux-x64-musl@20.1.0': + '@nx/nx-linux-x64-musl@20.0.8': optional: true - '@nx/nx-win32-arm64-msvc@20.1.0': + '@nx/nx-win32-arm64-msvc@20.0.8': optional: true - '@nx/nx-win32-x64-msvc@20.1.0': + '@nx/nx-win32-x64-msvc@20.0.8': optional: true '@octokit/app@15.1.0': dependencies: - '@octokit/auth-app': 7.1.2 + '@octokit/auth-app': 7.1.1 '@octokit/auth-unauthenticated': 6.1.0 '@octokit/core': 6.1.2 '@octokit/oauth-app': 7.1.3 @@ -15343,14 +16202,14 @@ snapshots: '@octokit/types': 13.6.1 '@octokit/webhooks': 13.3.0 - '@octokit/auth-app@7.1.2': + '@octokit/auth-app@7.1.1': dependencies: '@octokit/auth-oauth-app': 8.1.1 '@octokit/auth-oauth-user': 5.1.1 '@octokit/request': 9.1.3 '@octokit/request-error': 6.1.5 '@octokit/types': 13.6.1 - lru-cache: '@wolfy1339/lru-cache@11.0.2-patch.1' + lru-cache: 10.4.3 universal-github-app-jwt: 2.2.0 universal-user-agent: 7.0.2 @@ -15681,6 +16540,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + + '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.12 + '@reflink/reflink-darwin-arm64@0.1.16': optional: true @@ -15753,11 +16625,11 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/plugin-json@6.1.0(rollup@4.26.0)': + '@rollup/plugin-json@6.1.0(rollup@4.25.0)': dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.26.0) + '@rollup/pluginutils': 5.1.3(rollup@4.25.0) optionalDependencies: - rollup: 4.26.0 + rollup: 4.25.0 '@rollup/plugin-node-resolve@15.3.0(rollup@2.79.2)': dependencies: @@ -15791,6 +16663,10 @@ snapshots: rollup: 2.79.2 tslib: 2.8.0 + '@rollup/plugin-virtual@3.0.2(rollup@4.25.0)': + optionalDependencies: + rollup: 4.25.0 + '@rollup/pluginutils@5.1.3(rollup@2.79.2)': dependencies: '@types/estree': 1.0.6 @@ -15799,69 +16675,69 @@ snapshots: optionalDependencies: rollup: 2.79.2 - '@rollup/pluginutils@5.1.3(rollup@4.26.0)': + '@rollup/pluginutils@5.1.3(rollup@4.25.0)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.26.0 + rollup: 4.25.0 - '@rollup/rollup-android-arm-eabi@4.26.0': + '@rollup/rollup-android-arm-eabi@4.25.0': optional: true - '@rollup/rollup-android-arm64@4.26.0': + '@rollup/rollup-android-arm64@4.25.0': optional: true - '@rollup/rollup-darwin-arm64@4.26.0': + '@rollup/rollup-darwin-arm64@4.25.0': optional: true - '@rollup/rollup-darwin-x64@4.26.0': + '@rollup/rollup-darwin-x64@4.25.0': optional: true - '@rollup/rollup-freebsd-arm64@4.26.0': + '@rollup/rollup-freebsd-arm64@4.25.0': optional: true - '@rollup/rollup-freebsd-x64@4.26.0': + '@rollup/rollup-freebsd-x64@4.25.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.26.0': + '@rollup/rollup-linux-arm-gnueabihf@4.25.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.26.0': + '@rollup/rollup-linux-arm-musleabihf@4.25.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.26.0': + '@rollup/rollup-linux-arm64-gnu@4.25.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.26.0': + '@rollup/rollup-linux-arm64-musl@4.25.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.26.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.25.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.26.0': + '@rollup/rollup-linux-riscv64-gnu@4.25.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.26.0': + '@rollup/rollup-linux-s390x-gnu@4.25.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.26.0': + '@rollup/rollup-linux-x64-gnu@4.25.0': optional: true - '@rollup/rollup-linux-x64-musl@4.26.0': + '@rollup/rollup-linux-x64-musl@4.25.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.26.0': + '@rollup/rollup-win32-arm64-msvc@4.25.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.26.0': + '@rollup/rollup-win32-ia32-msvc@4.25.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.26.0': + '@rollup/rollup-win32-x64-msvc@4.25.0': optional: true - '@sapphire/async-queue@1.5.5': {} + '@sapphire/async-queue@1.5.4': {} '@sapphire/shapeshift@4.0.0': dependencies: @@ -15870,7 +16746,7 @@ snapshots: '@sapphire/snowflake@3.5.3': {} - '@sapphire/snowflake@3.5.5': {} + '@sapphire/snowflake@3.5.4': {} '@scure/base@1.1.9': {} @@ -15886,22 +16762,22 @@ snapshots: '@shikijs/core@1.22.2': dependencies: - '@shikijs/engine-javascript': 1.23.1 - '@shikijs/engine-oniguruma': 1.23.1 - '@shikijs/types': 1.23.1 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 '@shikijs/engine-javascript@1.22.2': dependencies: - '@shikijs/types': 1.23.1 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 oniguruma-to-js: 0.4.3 '@shikijs/engine-oniguruma@1.22.2': dependencies: - '@shikijs/types': 1.23.1 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@shikijs/types@1.22.2': @@ -16307,10 +17183,63 @@ snapshots: - supports-color - typescript - '@swc/helpers@0.5.15': + '@swc/core-darwin-arm64@1.9.2': + optional: true + + '@swc/core-darwin-x64@1.9.2': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.9.2': + optional: true + + '@swc/core-linux-arm64-gnu@1.9.2': + optional: true + + '@swc/core-linux-arm64-musl@1.9.2': + optional: true + + '@swc/core-linux-x64-gnu@1.9.2': + optional: true + + '@swc/core-linux-x64-musl@1.9.2': + optional: true + + '@swc/core-win32-arm64-msvc@1.9.2': + optional: true + + '@swc/core-win32-ia32-msvc@1.9.2': + optional: true + + '@swc/core-win32-x64-msvc@1.9.2': + optional: true + + '@swc/core@1.9.2(@swc/helpers@0.5.13)': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.15 + optionalDependencies: + '@swc/core-darwin-arm64': 1.9.2 + '@swc/core-darwin-x64': 1.9.2 + '@swc/core-linux-arm-gnueabihf': 1.9.2 + '@swc/core-linux-arm64-gnu': 1.9.2 + '@swc/core-linux-arm64-musl': 1.9.2 + '@swc/core-linux-x64-gnu': 1.9.2 + '@swc/core-linux-x64-musl': 1.9.2 + '@swc/core-win32-arm64-msvc': 1.9.2 + '@swc/core-win32-ia32-msvc': 1.9.2 + '@swc/core-win32-x64-msvc': 1.9.2 + '@swc/helpers': 0.5.13 + + '@swc/counter@0.1.3': {} + + '@swc/helpers@0.5.13': dependencies: tslib: 2.8.0 + '@swc/types@0.1.15': + dependencies: + '@swc/counter': 0.1.3 + '@szmarczak/http-timer@5.0.1': dependencies: defer-to-connect: 2.0.1 @@ -16548,14 +17477,14 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: '@types/node': 22.8.4 - '@types/qs': 6.9.17 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 '@types/express-serve-static-core@5.0.1': dependencies: '@types/node': 22.8.4 - '@types/qs': 6.9.17 + '@types/qs': 6.9.16 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -16563,14 +17492,14 @@ snapshots: dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.17 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/express@5.0.0': dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 5.0.1 - '@types/qs': 6.9.17 + '@types/qs': 6.9.16 '@types/serve-static': 1.15.7 '@types/filesystem@0.0.36': @@ -16648,7 +17577,7 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node-fetch@2.6.12': + '@types/node-fetch@2.6.11': dependencies: '@types/node': 22.8.4 form-data: 4.0.1 @@ -16694,10 +17623,14 @@ snapshots: '@types/prop-types@15.7.13': {} - '@types/qs@6.9.17': {} + '@types/qs@6.9.16': {} '@types/range-parser@1.2.7': {} + '@types/react-dom@18.3.1': + dependencies: + '@types/react': 18.3.12 + '@types/react-router-config@5.0.11': dependencies: '@types/history': 4.7.11 @@ -16808,6 +17741,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/type-utils': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 + eslint: 9.13.0(jiti@1.21.6) + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.12.2 @@ -16821,11 +17772,29 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.15.0 + debug: 4.3.7(supports-color@5.5.0) + eslint: 9.13.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.12.2': dependencies: '@typescript-eslint/types': 8.12.2 '@typescript-eslint/visitor-keys': 8.12.2 + '@typescript-eslint/scope-manager@8.15.0': + dependencies: + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 + '@typescript-eslint/type-utils@8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3) @@ -16838,8 +17807,22 @@ snapshots: - eslint - supports-color + '@typescript-eslint/type-utils@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + debug: 4.3.7(supports-color@5.5.0) + eslint: 9.13.0(jiti@1.21.6) + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.12.2': {} + '@typescript-eslint/types@8.15.0': {} + '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.12.2 @@ -16855,6 +17838,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.15.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/visitor-keys': 8.15.0 + debug: 4.3.7(supports-color@5.5.0) + fast-glob: 3.3.2 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.4.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.12.2(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) @@ -16866,13 +17864,56 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@1.21.6)) + '@typescript-eslint/scope-manager': 8.15.0 + '@typescript-eslint/types': 8.15.0 + '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3) + eslint: 9.13.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.12.2': dependencies: '@typescript-eslint/types': 8.12.2 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.15.0': + dependencies: + '@typescript-eslint/types': 8.15.0 + eslint-visitor-keys: 4.2.0 + '@ungap/structured-clone@1.2.0': {} + '@uniswap/sdk-core@4.2.1': + dependencies: + '@ethersproject/address': 5.7.0 + big.js: 5.2.2 + decimal.js-light: 2.5.1 + jsbi: 3.2.5 + tiny-invariant: 1.3.3 + toformat: 2.0.0 + + '@unruggable_starknet/core@0.1.0(starknet@6.18.0(encoding@0.1.13))': + dependencies: + '@uniswap/sdk-core': 4.2.1 + moment: 2.30.1 + starknet: 6.18.0(encoding@0.1.13) + + '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0) + transitivePeerDependencies: + - supports-color + '@vitest/expect@2.1.5': dependencies: '@vitest/spy': 2.1.5 @@ -16900,7 +17941,7 @@ snapshots: '@vitest/snapshot@2.1.5': dependencies: '@vitest/pretty-format': 2.1.5 - magic-string: 0.30.13 + magic-string: 0.30.12 pathe: 1.1.2 '@vitest/spy@2.1.5': @@ -16918,7 +17959,7 @@ snapshots: '@vue/compiler-core@3.5.12': dependencies: '@babel/parser': 7.26.2 - '@vue/shared': 3.5.13 + '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 @@ -16931,10 +17972,10 @@ snapshots: '@vue/compiler-sfc@3.5.12': dependencies: '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 estree-walker: 2.0.2 magic-string: 0.30.12 postcss: 8.4.49 @@ -16956,9 +17997,9 @@ snapshots: '@vue/runtime-dom@3.5.12': dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.5.12 + '@vue/runtime-core': 3.5.12 + '@vue/shared': 3.5.12 csstype: 3.1.3 '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': @@ -16969,91 +18010,89 @@ snapshots: '@vue/shared@3.5.12': {} - '@webassemblyjs/ast@1.14.1': + '@webassemblyjs/ast@1.12.1': dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - '@webassemblyjs/helper-api-error@1.13.2': {} + '@webassemblyjs/helper-api-error@1.11.6': {} - '@webassemblyjs/helper-buffer@1.14.1': {} + '@webassemblyjs/helper-buffer@1.12.1': {} - '@webassemblyjs/helper-numbers@1.13.2': + '@webassemblyjs/helper-numbers@1.11.6': dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - '@webassemblyjs/helper-wasm-section@1.14.1': + '@webassemblyjs/helper-wasm-section@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/ieee754@1.13.2': + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - '@webassemblyjs/leb128@1.13.2': + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - '@webassemblyjs/utf8@1.13.2': {} + '@webassemblyjs/utf8@1.11.6': {} - '@webassemblyjs/wasm-edit@1.14.1': + '@webassemblyjs/wasm-edit@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 - '@webassemblyjs/wasm-gen@1.14.1': + '@webassemblyjs/wasm-gen@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wasm-opt@1.14.1': + '@webassemblyjs/wasm-opt@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wasm-parser@1.14.1': + '@webassemblyjs/wasm-parser@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 - '@webassemblyjs/wast-printer@1.14.1': + '@webassemblyjs/wast-printer@1.12.1': dependencies: - '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - '@wolfy1339/lru-cache@11.0.2-patch.1': {} - '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} '@yarnpkg/lockfile@1.1.0': {} - '@yarnpkg/parsers@3.0.2': + '@yarnpkg/parsers@3.0.0-rc.46': dependencies: js-yaml: 3.14.1 tslib: 2.8.0 @@ -17124,7 +18163,7 @@ snapshots: '@sinclair/typebox': 0.32.35 headers-polyfill: 3.3.0 json-stable-stringify: 1.1.1 - otpauth: 9.3.5 + otpauth: 9.3.4 set-cookie-parser: 2.7.1 tough-cookie: 4.1.4 tslib: 2.8.0 @@ -17138,13 +18177,13 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.2.0)(sswr@2.1.0(svelte@5.1.16))(svelte@5.1.16)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.69.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.1.9))(svelte@5.1.9)(vue@3.5.12(typescript@5.6.3))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) '@ai-sdk/react': 0.0.70(react@18.3.1)(zod@3.23.8) '@ai-sdk/solid': 0.0.54(zod@3.23.8) - '@ai-sdk/svelte': 0.0.57(svelte@5.1.16)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.1.9)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) '@ai-sdk/vue': 0.0.59(vue@3.5.12(typescript@5.6.3))(zod@3.23.8) '@opentelemetry/api': 1.9.0 @@ -17155,9 +18194,9 @@ snapshots: zod-to-json-schema: 3.23.5(zod@3.23.8) optionalDependencies: openai: 4.69.0(encoding@0.1.13)(zod@3.23.8) - react: 18.2.0 - sswr: 2.1.0(svelte@5.1.16) - svelte: 5.1.16 + react: 18.3.1 + sswr: 2.1.0(svelte@5.1.9) + svelte: 5.1.9 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -17215,21 +18254,21 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - algoliasearch@5.13.0: - dependencies: - '@algolia/client-abtesting': 5.13.0 - '@algolia/client-analytics': 5.13.0 - '@algolia/client-common': 5.13.0 - '@algolia/client-insights': 5.13.0 - '@algolia/client-personalization': 5.13.0 - '@algolia/client-query-suggestions': 5.13.0 - '@algolia/client-search': 5.13.0 - '@algolia/ingestion': 1.13.0 - '@algolia/monitoring': 1.13.0 - '@algolia/recommend': 5.13.0 - '@algolia/requester-browser-xhr': 5.13.0 - '@algolia/requester-fetch': 5.13.0 - '@algolia/requester-node-http': 5.13.0 + algoliasearch@5.12.0: + dependencies: + '@algolia/client-abtesting': 5.12.0 + '@algolia/client-analytics': 5.12.0 + '@algolia/client-common': 5.12.0 + '@algolia/client-insights': 5.12.0 + '@algolia/client-personalization': 5.12.0 + '@algolia/client-query-suggestions': 5.12.0 + '@algolia/client-search': 5.12.0 + '@algolia/ingestion': 1.12.0 + '@algolia/monitoring': 1.12.0 + '@algolia/recommend': 5.12.0 + '@algolia/requester-browser-xhr': 5.12.0 + '@algolia/requester-fetch': 5.12.0 + '@algolia/requester-node-http': 5.12.0 amp-message@0.1.2: dependencies: @@ -17365,7 +18404,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001677 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -17408,12 +18447,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@babel/core': 7.26.0 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -17436,11 +18475,11 @@ snapshots: '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 - babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): dependencies: '@babel/compat-data': 7.26.2 '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -17448,15 +18487,15 @@ snapshots: babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.26.0): dependencies: '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) core-js-compat: 3.39.0 transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.6.3(@babel/core@7.26.0): + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0): dependencies: '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.26.0) transitivePeerDependencies: - supports-color @@ -17511,7 +18550,7 @@ snapshots: bare-stream@2.3.2: dependencies: - streamx: 2.20.2 + streamx: 2.20.1 optional: true base-x@3.0.10: @@ -17656,8 +18695,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001680 - electron-to-chromium: 1.5.57 + caniuse-lite: 1.0.30001677 + electron-to-chromium: 1.5.51 node-releases: 2.0.18 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -17706,7 +18745,7 @@ snapshots: bufferutil@4.0.8: dependencies: - node-gyp-build: 4.8.3 + node-gyp-build: 4.8.2 optional: true bundle-require@5.0.0(esbuild@0.24.0): @@ -17768,6 +18807,8 @@ snapshots: pascal-case: 3.1.2 tslib: 2.8.0 + camelcase-css@2.0.1: {} + camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 @@ -17783,11 +18824,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001680 + caniuse-lite: 1.0.30001677 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001680: {} + caniuse-lite@1.0.30001677: {} canvas@2.11.2(encoding@0.1.13): dependencies: @@ -17922,10 +18963,14 @@ snapshots: ci-info@3.9.0: {} - ci-info@4.1.0: {} + ci-info@4.0.0: {} cjs-module-lexer@1.4.1: {} + class-variance-authority@0.7.0: + dependencies: + clsx: 2.0.0 + cldr-segmentation@2.2.1: dependencies: utfstring: 2.0.2 @@ -18001,6 +19046,8 @@ snapshots: clsx@1.2.1: {} + clsx@2.0.0: {} + clsx@2.1.0: {} cmake-js@7.3.0: @@ -18234,7 +19281,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.96.1): + copy-webpack-plugin@11.0.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -18242,7 +19289,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) core-js-compat@3.39.0: dependencies: @@ -18302,13 +19349,13 @@ snapshots: optionalDependencies: typescript: 5.6.3 - create-jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)): + create-jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -18323,7 +19370,7 @@ snapshots: cross-env@7.0.3: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 cross-fetch@3.1.5(encoding@0.1.13): dependencies: @@ -18337,7 +19384,7 @@ snapshots: transitivePeerDependencies: - encoding - cross-spawn@7.0.5: + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -18353,20 +19400,20 @@ snapshots: dependencies: postcss: 8.4.49 - css-loader@6.11.0(webpack@5.96.1): + css-loader@6.11.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 postcss-modules-extract-imports: 3.1.0(postcss@8.4.49) - postcss-modules-local-by-default: 4.1.0(postcss@8.4.49) - postcss-modules-scope: 3.2.1(postcss@8.4.49) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.49) + postcss-modules-scope: 3.2.0(postcss@8.4.49) postcss-modules-values: 4.0.0(postcss@8.4.49) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.96.1): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.49) @@ -18374,7 +19421,7 @@ snapshots: postcss: 8.4.49 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) optionalDependencies: clean-css: 5.3.3 @@ -18727,6 +19774,8 @@ snapshots: decamelize@1.2.0: {} + decimal.js-light@2.5.1: {} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 @@ -18839,6 +19888,8 @@ snapshots: devtools-protocol@0.0.1107588: {} + didyoumean@1.2.2: {} + diff-match-patch@1.0.5: {} diff-sequences@29.6.3: {} @@ -18875,13 +19926,15 @@ snapshots: - bufferutil - utf-8-validate + dlv@1.1.3: {} + dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.5 - docusaurus-lunr-search@3.5.0(@docusaurus/core@3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + docusaurus-lunr-search@3.5.0(@docusaurus/core@3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@docusaurus/core': 3.6.1(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/core': 3.6.0(@docusaurus/types@3.6.0(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.2.0))(@swc/core@1.9.2(@swc/helpers@0.5.13))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.13.0(jiti@1.21.6))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.6.3)(utf-8-validate@5.0.10) autocomplete.js: 0.37.1 clsx: 1.2.1 gauge: 3.0.2 @@ -18983,7 +20036,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.57: {} + electron-to-chromium@1.5.51: {} emittery@0.13.1: {} @@ -19183,6 +20236,14 @@ snapshots: '@types/eslint': 9.6.1 eslint-config-prettier: 9.1.0(eslint@9.13.0(jiti@1.21.6)) + eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@1.21.6)): + dependencies: + eslint: 9.13.0(jiti@1.21.6) + + eslint-plugin-react-refresh@0.4.14(eslint@9.13.0(jiti@1.21.6)): + dependencies: + eslint: 9.13.0(jiti@1.21.6) + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 @@ -19203,9 +20264,9 @@ snapshots: '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.2.0 + '@eslint/eslintrc': 3.1.0 '@eslint/js': 9.13.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/plugin-kit': 0.2.2 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.1 @@ -19213,7 +20274,7 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 debug: 4.3.7(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 @@ -19363,10 +20424,10 @@ snapshots: execa@5.0.0: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 get-stream: 6.0.0 human-signals: 2.1.0 - is-stream: 2.0.0 + is-stream: 2.0.1 merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 @@ -19375,7 +20436,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -19387,7 +20448,7 @@ snapshots: execa@8.0.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 get-stream: 8.0.1 human-signals: 5.0.0 is-stream: 3.0.0 @@ -19467,7 +20528,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.7(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -19570,11 +20631,11 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-loader@6.2.0(webpack@5.96.1): + file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) file-uri-to-path@1.0.0: {} @@ -19641,7 +20702,7 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.2 + flatted: 3.3.1 keyv: 4.5.4 flat@5.0.2: {} @@ -19669,12 +20730,12 @@ snapshots: foreground-child@3.3.0: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 signal-exit: 4.1.0 forever-agent@0.6.1: {} - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@babel/code-frame': 7.26.2 '@types/json-schema': 7.0.15 @@ -19690,7 +20751,7 @@ snapshots: semver: 7.6.3 tapable: 1.1.3 typescript: 5.6.3 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) optionalDependencies: eslint: 9.13.0(jiti@1.21.6) @@ -19855,10 +20916,6 @@ snapshots: get-port@5.1.1: {} - get-starknet-core@4.0.0: - dependencies: - '@starknet-io/types-js': 0.7.7 - get-stream@5.2.0: dependencies: pump: 3.0.2 @@ -20001,6 +21058,8 @@ snapshots: globals@14.0.0: {} + globals@15.12.0: {} + globby@11.1.0: dependencies: array-union: 2.1.0 @@ -20352,7 +21411,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.3(webpack@5.96.1): + html-webpack-plugin@5.6.3(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -20360,7 +21419,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) htmlparser2@6.1.0: dependencies: @@ -20588,12 +21647,12 @@ snapshots: ipaddr.js@2.2.0: {} - ipull@3.9.2: + ipull@3.9.1: dependencies: '@tinyhttp/content-disposition': 2.2.2 async-retry: 1.3.3 chalk: 5.3.0 - ci-info: 4.1.0 + ci-info: 4.0.0 cli-spinners: 2.9.2 commander: 10.0.1 eventemitter3: 5.0.1 @@ -20708,7 +21767,7 @@ snapshots: dependencies: '@types/estree': 1.0.6 - is-reference@3.0.3: + is-reference@3.0.2: dependencies: '@types/estree': 1.0.6 @@ -20879,16 +21938,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + create-jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -20898,7 +21957,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)): + jest-config@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 @@ -20924,14 +21983,14 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.8.4 - ts-node: 10.9.2(@types/node@22.8.4)(typescript@5.6.3) + ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color jest-diff@29.7.0: dependencies: - chalk: 4.1.0 + chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 @@ -21150,12 +22209,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)): + jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + jest-cli: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21187,6 +22246,8 @@ snapshots: js-sha1@0.7.0: {} + js-sha3@0.8.0: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -21198,6 +22259,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsbi@3.2.5: {} + jsbn@0.1.1: {} jsbn@1.1.0: {} @@ -21336,13 +22399,13 @@ snapshots: leac@0.6.0: {} - lerna@8.1.9(encoding@0.1.13): + lerna@8.1.9(@swc/core@1.9.2(@swc/helpers@0.5.13))(encoding@0.1.13): dependencies: - '@lerna/create': 8.1.9(encoding@0.1.13)(typescript@5.6.3) + '@lerna/create': 8.1.9(@swc/core@1.9.2(@swc/helpers@0.5.13))(encoding@0.1.13)(typescript@5.6.3) '@npmcli/arborist': 7.5.4 '@npmcli/package-json': 5.2.0 '@npmcli/run-script': 8.1.0 - '@nx/devkit': 20.1.0(nx@20.1.0) + '@nx/devkit': 20.0.8(nx@20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13))) '@octokit/plugin-enterprise-rest': 6.0.1 '@octokit/rest': 19.0.11(encoding@0.1.13) aproba: 2.0.0 @@ -21387,7 +22450,7 @@ snapshots: npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-registry-fetch: 17.1.0 - nx: 20.1.0 + nx: 20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13)) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -21444,7 +22507,7 @@ snapshots: libnpmpublish@9.0.9: dependencies: - ci-info: 4.1.0 + ci-info: 4.0.0 normalize-package-data: 6.0.2 npm-package-arg: 11.0.2 npm-registry-fetch: 17.1.0 @@ -21463,6 +22526,8 @@ snapshots: lifecycle-utils@1.7.0: {} + lilconfig@2.1.0: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -21525,7 +22590,7 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.7.3 + mlly: 1.7.2 pkg-types: 1.2.1 locate-character@3.0.0: {} @@ -21635,6 +22700,10 @@ snapshots: dependencies: es5-ext: 0.10.64 + lucide-react@0.460.0(react@18.3.1): + dependencies: + react: 18.3.1 + lunr-languages@1.14.0: {} lunr@2.3.9: {} @@ -21733,12 +22802,12 @@ snapshots: decode-named-character-reference: 1.0.2 devlop: 1.1.0 mdast-util-to-string: 4.0.0 - micromark: 4.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-decode-string: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color @@ -21760,7 +22829,7 @@ snapshots: ccount: 2.0.1 devlop: 1.1.0 mdast-util-find-and-replace: 3.0.1 - micromark-util-character: 2.1.1 + micromark-util-character: 2.1.0 mdast-util-gfm-footnote@2.0.0: dependencies: @@ -21768,7 +22837,7 @@ snapshots: devlop: 1.1.0 mdast-util-from-markdown: 2.0.2 mdast-util-to-markdown: 2.1.2 - micromark-util-normalize-identifier: 2.0.1 + micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color @@ -21871,7 +22940,7 @@ snapshots: '@types/mdast': 4.0.4 '@ungap/structured-clone': 1.2.0 devlop: 1.1.0 - micromark-util-sanitize-uri: 2.0.1 + micromark-util-sanitize-uri: 2.0.0 trim-lines: 3.0.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 @@ -21884,8 +22953,8 @@ snapshots: longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 - micromark-util-classify-character: 2.0.1 - micromark-util-decode-string: 2.0.1 + micromark-util-classify-character: 2.0.0 + micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -21974,88 +23043,88 @@ snapshots: methods@1.1.2: {} - micromark-core-commonmark@2.0.2: + micromark-core-commonmark@2.0.1: dependencies: decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-factory-destination: 2.0.1 - micromark-factory-label: 2.0.1 - micromark-factory-space: 2.0.1 - micromark-factory-title: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-html-tag-name: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-directive@3.0.2: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-factory-whitespace: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 parse-entities: 4.0.1 micromark-extension-frontmatter@2.0.0: dependencies: fault: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-autolink-literal@2.1.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-footnote@2.1.0: dependencies: devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-strikethrough@2.1.0: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-classify-character: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-table@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm-tagfilter@2.0.0: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.0 micromark-extension-gfm-task-list-item@2.1.0: dependencies: devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-gfm@3.0.0: dependencies: @@ -22065,19 +23134,19 @@ snapshots: micromark-extension-gfm-table: 2.1.0 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-mdx-expression@3.0.0: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-extension-mdx-jsx@3.0.1: dependencies: @@ -22086,26 +23155,26 @@ snapshots: devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 vfile-message: 4.0.2 micromark-extension-mdx-md@2.0.0: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.0 micromark-extension-mdxjs-esm@3.0.0: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 - micromark-util-character: 2.1.1 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 unist-util-position-from-estree: 2.0.0 vfile-message: 4.0.2 @@ -22117,31 +23186,31 @@ snapshots: micromark-extension-mdx-jsx: 3.0.1 micromark-extension-mdx-md: 2.0.0 micromark-extension-mdxjs-esm: 3.0.0 - micromark-util-combine-extensions: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 - micromark-factory-destination@2.0.1: + micromark-factory-destination@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-factory-label@2.0.1: + micromark-factory-label@2.0.0: dependencies: devlop: 1.1.0 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-factory-mdx-expression@2.0.2: dependencies: '@types/estree': 1.0.6 devlop: 1.1.0 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 unist-util-position-from-estree: 2.0.0 vfile-message: 4.0.2 @@ -22150,62 +23219,62 @@ snapshots: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 - micromark-factory-space@2.0.1: + micromark-factory-space@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 - micromark-factory-title@2.0.1: + micromark-factory-title@2.0.0: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-factory-whitespace@2.0.1: + micromark-factory-whitespace@2.0.0: dependencies: - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-character@1.2.0: dependencies: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - micromark-util-character@2.1.1: + micromark-util-character@2.1.0: dependencies: - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-util-chunked@2.0.1: + micromark-util-chunked@2.0.0: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 - micromark-util-classify-character@2.0.1: + micromark-util-classify-character@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 - micromark-util-combine-extensions@2.0.1: + micromark-util-combine-extensions@2.0.0: dependencies: - micromark-util-chunked: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 - micromark-util-decode-numeric-character-reference@2.0.2: + micromark-util-decode-numeric-character-reference@2.0.1: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 - micromark-util-decode-string@2.0.1: + micromark-util-decode-string@2.0.0: dependencies: decode-named-character-reference: 1.0.2 - micromark-util-character: 2.1.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-symbol: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 - micromark-util-encode@2.0.1: {} + micromark-util-encode@2.0.0: {} micromark-util-events-to-acorn@2.0.2: dependencies: @@ -22214,60 +23283,60 @@ snapshots: '@types/unist': 3.0.3 devlop: 1.1.0 estree-util-visit: 2.0.0 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 vfile-message: 4.0.2 - micromark-util-html-tag-name@2.0.1: {} + micromark-util-html-tag-name@2.0.0: {} - micromark-util-normalize-identifier@2.0.1: + micromark-util-normalize-identifier@2.0.0: dependencies: - micromark-util-symbol: 2.0.1 + micromark-util-symbol: 2.0.0 - micromark-util-resolve-all@2.0.1: + micromark-util-resolve-all@2.0.0: dependencies: - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.0 - micromark-util-sanitize-uri@2.0.1: + micromark-util-sanitize-uri@2.0.0: dependencies: - micromark-util-character: 2.1.1 - micromark-util-encode: 2.0.1 - micromark-util-symbol: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 - micromark-util-subtokenize@2.0.2: + micromark-util-subtokenize@2.0.1: dependencies: devlop: 1.1.0 - micromark-util-chunked: 2.0.1 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 micromark-util-symbol@1.1.0: {} - micromark-util-symbol@2.0.1: {} + micromark-util-symbol@2.0.0: {} micromark-util-types@1.1.0: {} - micromark-util-types@2.0.1: {} + micromark-util-types@2.0.0: {} - micromark@4.0.1: + micromark@4.0.0: dependencies: '@types/debug': 4.1.12 debug: 4.3.7(supports-color@5.5.0) decode-named-character-reference: 1.0.2 devlop: 1.1.0 - micromark-core-commonmark: 2.0.2 - micromark-factory-space: 2.0.1 - micromark-util-character: 2.1.1 - micromark-util-chunked: 2.0.1 - micromark-util-combine-extensions: 2.0.1 - micromark-util-decode-numeric-character-reference: 2.0.2 - micromark-util-encode: 2.0.1 - micromark-util-normalize-identifier: 2.0.1 - micromark-util-resolve-all: 2.0.1 - micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.2 - micromark-util-symbol: 2.0.1 - micromark-util-types: 2.0.1 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 transitivePeerDependencies: - supports-color @@ -22307,11 +23376,11 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.2(webpack@5.96.1): + mini-css-extract-plugin@2.9.2(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) minimalistic-assert@1.0.1: {} @@ -22414,7 +23483,7 @@ snapshots: mkdirp@3.0.1: {} - mlly@1.7.3: + mlly@1.7.2: dependencies: acorn: 8.14.0 pathe: 1.1.2 @@ -22425,6 +23494,8 @@ snapshots: module-details-from-path@1.0.3: {} + moment@2.30.1: {} + mri@1.2.0: {} mrmime@2.0.0: {} @@ -22458,7 +23529,7 @@ snapshots: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.0.5 + minimatch: 3.1.2 mute-stream@0.0.8: {} @@ -22526,7 +23597,7 @@ snapshots: node-addon-api@6.1.0: {} - node-addon-api@8.2.2: {} + node-addon-api@8.2.1: {} node-api-headers@1.4.0: {} @@ -22559,7 +23630,7 @@ snapshots: node-forge@1.3.1: {} - node-gyp-build@4.8.3: + node-gyp-build@4.8.2: optional: true node-gyp@10.2.0: @@ -22588,20 +23659,20 @@ snapshots: chmodrp: 1.0.2 cmake-js: 7.3.0 cross-env: 7.0.3 - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 env-var: 7.5.0 filenamify: 6.0.0 fs-extra: 11.2.0 ignore: 5.3.2 - ipull: 3.9.2 + ipull: 3.9.1 is-unicode-supported: 2.1.0 lifecycle-utils: 1.7.0 log-symbols: 7.0.0 nanoid: 5.0.8 - node-addon-api: 8.2.2 + node-addon-api: 8.2.1 octokit: 4.0.2 ora: 8.1.1 - pretty-ms: 9.2.0 + pretty-ms: 9.1.0 proper-lockfile: 4.1.2 semver: 7.6.3 simple-git: 3.27.0 @@ -22763,25 +23834,25 @@ snapshots: dependencies: boolbase: 1.0.0 - null-loader@4.0.1(webpack@5.96.1): + null-loader@4.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) - nx@20.1.0: + nx@20.0.8(@swc/core@1.9.2(@swc/helpers@0.5.13)): dependencies: '@napi-rs/wasm-runtime': 0.2.4 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.2 + '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.7 axios: 1.7.7(debug@4.3.7) - chalk: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 cli-spinners: 2.6.1 cliui: 8.0.1 dotenv: 16.4.5 - dotenv-expand: 11.0.7 + dotenv-expand: 11.0.6 enquirer: 2.3.6 figures: 3.2.0 flat: 5.0.2 @@ -22804,16 +23875,17 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 20.1.0 - '@nx/nx-darwin-x64': 20.1.0 - '@nx/nx-freebsd-x64': 20.1.0 - '@nx/nx-linux-arm-gnueabihf': 20.1.0 - '@nx/nx-linux-arm64-gnu': 20.1.0 - '@nx/nx-linux-arm64-musl': 20.1.0 - '@nx/nx-linux-x64-gnu': 20.1.0 - '@nx/nx-linux-x64-musl': 20.1.0 - '@nx/nx-win32-arm64-msvc': 20.1.0 - '@nx/nx-win32-x64-msvc': 20.1.0 + '@nx/nx-darwin-arm64': 20.0.8 + '@nx/nx-darwin-x64': 20.0.8 + '@nx/nx-freebsd-x64': 20.0.8 + '@nx/nx-linux-arm-gnueabihf': 20.0.8 + '@nx/nx-linux-arm64-gnu': 20.0.8 + '@nx/nx-linux-arm64-musl': 20.0.8 + '@nx/nx-linux-x64-gnu': 20.0.8 + '@nx/nx-linux-x64-musl': 20.0.8 + '@nx/nx-win32-arm64-msvc': 20.0.8 + '@nx/nx-win32-x64-msvc': 20.0.8 + '@swc/core': 1.9.2(@swc/helpers@0.5.13) transitivePeerDependencies: - debug @@ -22821,7 +23893,9 @@ snapshots: object-assign@4.1.1: {} - object-inspect@1.13.3: {} + object-hash@3.0.0: {} + + object-inspect@1.13.2: {} object-keys@1.1.1: {} @@ -22914,7 +23988,7 @@ snapshots: openai@4.69.0(encoding@0.1.13)(zod@3.23.8): dependencies: '@types/node': 18.19.64 - '@types/node-fetch': 2.6.12 + '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 @@ -22941,9 +24015,9 @@ snapshots: ora@5.3.0: dependencies: bl: 4.1.0 - chalk: 4.1.0 + chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.6.1 + cli-spinners: 2.9.2 is-interactive: 1.0.0 log-symbols: 4.1.0 strip-ansi: 6.0.1 @@ -23236,7 +24310,7 @@ snapshots: path-type@4.0.0: {} - path2d@0.2.2: + path2d@0.2.1: optional: true pathe@1.1.2: {} @@ -23246,7 +24320,7 @@ snapshots: pdfjs-dist@4.7.76(encoding@0.1.13): optionalDependencies: canvas: 2.11.2(encoding@0.1.13) - path2d: 0.2.2 + path2d: 0.2.1 transitivePeerDependencies: - encoding - supports-color @@ -23330,7 +24404,7 @@ snapshots: pkg-types@1.2.1: dependencies: confbox: 0.1.8 - mlly: 1.7.3 + mlly: 1.7.2 pathe: 1.1.2 pkg-up@3.1.0: @@ -23472,6 +24546,26 @@ snapshots: postcss: 8.4.49 postcss-selector-parser: 6.1.2 + postcss-import@15.1.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.8 + + postcss-js@4.0.1(postcss@8.4.49): + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.49 + + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): + dependencies: + lilconfig: 3.1.2 + yaml: 2.6.0 + optionalDependencies: + postcss: 8.4.49 + ts-node: 10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3) + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.0): dependencies: lilconfig: 3.1.2 @@ -23480,13 +24574,13 @@ snapshots: postcss: 8.4.49 yaml: 2.6.0 - postcss-loader@7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1): + postcss-loader@7.3.4(postcss@8.4.49)(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: cosmiconfig: 8.3.6(typescript@5.6.3) jiti: 1.21.6 postcss: 8.4.49 semver: 7.6.3 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - typescript @@ -23538,23 +24632,28 @@ snapshots: dependencies: postcss: 8.4.49 - postcss-modules-local-by-default@4.1.0(postcss@8.4.49): + postcss-modules-local-by-default@4.0.5(postcss@8.4.49): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 - postcss-selector-parser: 7.0.0 + postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.4.49): + postcss-modules-scope@3.2.0(postcss@8.4.49): dependencies: postcss: 8.4.49 - postcss-selector-parser: 7.0.0 + postcss-selector-parser: 6.1.2 postcss-modules-values@4.0.0(postcss@8.4.49): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 + postcss-nested@6.2.0(postcss@8.4.49): + dependencies: + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 + postcss-normalize-charset@6.0.2(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -23627,11 +24726,6 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-selector-parser@7.0.0: - dependencies: - cssesc: 3.0.0 - util-deprecate: 1.0.2 - postcss-sort-media-queries@5.2.0(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -23822,9 +24916,7 @@ snapshots: proxy-from-env@1.1.0: {} - psl@1.10.0: - dependencies: - punycode: 2.3.1 + psl@1.9.0: {} pstree.remy@1.1.8: {} @@ -23833,10 +24925,10 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 - pumpdotfun-sdk@1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.26.0)(typescript@5.6.3)(utf-8-validate@5.0.10): + pumpdotfun-sdk@1.3.2(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.25.0)(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@rollup/plugin-json': 6.1.0(rollup@4.26.0) + '@rollup/plugin-json': 6.1.0(rollup@4.25.0) '@solana/spl-token': 0.4.6(@solana/web3.js@1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) '@solana/web3.js': 1.95.4(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) transitivePeerDependencies: @@ -23974,18 +25066,18 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1): + react-dev-utils@12.0.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@babel/code-frame': 7.26.2 address: 1.2.2 browserslist: 4.24.2 chalk: 4.1.2 - cross-spawn: 7.0.5 + cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -24000,7 +25092,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -24014,6 +25106,12 @@ snapshots: react: 18.2.0 scheduler: 0.23.2 + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-error-overlay@6.0.11: {} react-fast-compare@3.2.2: {} @@ -24043,11 +25141,13 @@ snapshots: dependencies: react: 18.2.0 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.96.1): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@babel/runtime': 7.26.0 react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) + + react-refresh@0.14.2: {} react-router-config@5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0): dependencies: @@ -24103,6 +25203,14 @@ snapshots: dependencies: loose-envify: 1.4.0 + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + read-cache@1.0.0: + dependencies: + pify: 2.3.0 + read-cmd-shim@4.0.0: {} read-package-json-fast@3.0.2: @@ -24276,7 +25384,7 @@ snapshots: rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-raw: 9.1.0 + hast-util-raw: 9.0.4 vfile: 6.0.3 rehype-recma@1.0.0: @@ -24337,7 +25445,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 mdast-util-from-markdown: 2.0.2 - micromark-util-types: 2.0.1 + micromark-util-types: 2.0.0 unified: 11.0.5 transitivePeerDependencies: - supports-color @@ -24470,28 +25578,28 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.26.0: + rollup@4.25.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.26.0 - '@rollup/rollup-android-arm64': 4.26.0 - '@rollup/rollup-darwin-arm64': 4.26.0 - '@rollup/rollup-darwin-x64': 4.26.0 - '@rollup/rollup-freebsd-arm64': 4.26.0 - '@rollup/rollup-freebsd-x64': 4.26.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.26.0 - '@rollup/rollup-linux-arm-musleabihf': 4.26.0 - '@rollup/rollup-linux-arm64-gnu': 4.26.0 - '@rollup/rollup-linux-arm64-musl': 4.26.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0 - '@rollup/rollup-linux-riscv64-gnu': 4.26.0 - '@rollup/rollup-linux-s390x-gnu': 4.26.0 - '@rollup/rollup-linux-x64-gnu': 4.26.0 - '@rollup/rollup-linux-x64-musl': 4.26.0 - '@rollup/rollup-win32-arm64-msvc': 4.26.0 - '@rollup/rollup-win32-ia32-msvc': 4.26.0 - '@rollup/rollup-win32-x64-msvc': 4.26.0 + '@rollup/rollup-android-arm-eabi': 4.25.0 + '@rollup/rollup-android-arm64': 4.25.0 + '@rollup/rollup-darwin-arm64': 4.25.0 + '@rollup/rollup-darwin-x64': 4.25.0 + '@rollup/rollup-freebsd-arm64': 4.25.0 + '@rollup/rollup-freebsd-x64': 4.25.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.25.0 + '@rollup/rollup-linux-arm-musleabihf': 4.25.0 + '@rollup/rollup-linux-arm64-gnu': 4.25.0 + '@rollup/rollup-linux-arm64-musl': 4.25.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.25.0 + '@rollup/rollup-linux-riscv64-gnu': 4.25.0 + '@rollup/rollup-linux-s390x-gnu': 4.25.0 + '@rollup/rollup-linux-x64-gnu': 4.25.0 + '@rollup/rollup-linux-x64-musl': 4.25.0 + '@rollup/rollup-win32-arm64-msvc': 4.25.0 + '@rollup/rollup-win32-ia32-msvc': 4.25.0 + '@rollup/rollup-win32-x64-msvc': 4.25.0 fsevents: 2.3.3 roughjs@4.6.6: @@ -24503,7 +25611,7 @@ snapshots: rpc-websockets@9.0.4: dependencies: - '@swc/helpers': 0.5.15 + '@swc/helpers': 0.5.13 '@types/uuid': 8.3.4 '@types/ws': 8.5.13 buffer: 6.0.3 @@ -24760,10 +25868,10 @@ snapshots: shiki@1.22.2: dependencies: - '@shikijs/core': 1.23.1 - '@shikijs/engine-javascript': 1.23.1 - '@shikijs/engine-oniguruma': 1.23.1 - '@shikijs/types': 1.23.1 + '@shikijs/core': 1.22.2 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 @@ -24774,7 +25882,7 @@ snapshots: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.3 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -25009,9 +26117,9 @@ snapshots: dependencies: minipass: 7.1.2 - sswr@2.1.0(svelte@5.1.16): + sswr@2.1.0(svelte@5.1.9): dependencies: - svelte: 5.1.16 + svelte: 5.1.9 swrev: 4.0.0 stack-utils@2.0.6: @@ -25020,7 +26128,7 @@ snapshots: stackback@0.0.2: {} - starknet@6.11.0(encoding@0.1.13): + starknet@6.18.0(encoding@0.1.13): dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 @@ -25028,7 +26136,6 @@ snapshots: '@scure/starknet': 1.0.0 abi-wan-kanabi: 2.2.3 fetch-cookie: 3.0.1 - get-starknet-core: 4.0.0 isomorphic-fetch: 3.0.0(encoding@0.1.13) lossless-json: 4.0.2 pako: 2.1.0 @@ -25041,6 +26148,8 @@ snapshots: statuses@2.0.1: {} + std-env@3.7.0: {} + std-env@3.8.0: {} stdin-discarder@0.2.2: {} @@ -25062,7 +26171,7 @@ snapshots: streamsearch@1.1.0: {} - streamx@2.20.2: + streamx@2.20.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 @@ -25197,7 +26306,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte@5.1.16: + svelte@5.1.9: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -25208,9 +26317,9 @@ snapshots: axobject-query: 4.1.0 esm-env: 1.1.4 esrap: 1.2.2 - is-reference: 3.0.3 + is-reference: 3.0.2 locate-character: 3.0.0 - magic-string: 0.30.13 + magic-string: 0.30.12 zimmerframe: 1.1.2 svg-parser@2.0.4: {} @@ -25225,11 +26334,11 @@ snapshots: csso: 5.0.5 picocolors: 1.1.1 - swr@2.2.5(react@18.2.0): + swr@2.2.5(react@18.3.1): dependencies: client-only: 0.0.1 - react: 18.2.0 - use-sync-external-store: 1.2.2(react@18.2.0) + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.1) swrev@4.0.0: {} @@ -25244,6 +26353,39 @@ snapshots: systeminformation@5.23.5: {} + tailwind-merge@2.5.4: {} + + tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3))): + dependencies: + tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) + + tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 2.1.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@1.1.3: {} tapable@2.2.1: {} @@ -25275,7 +26417,7 @@ snapshots: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.20.2 + streamx: 2.20.1 tar@6.2.1: dependencies: @@ -25311,16 +26453,16 @@ snapshots: temp-dir@1.0.0: {} - terser-webpack-plugin@5.3.10(webpack@5.96.1): + terser-webpack-plugin@5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.36.0 - webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15)) + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) optionalDependencies: - '@swc/core': 1.9.2(@swc/helpers@0.5.15) + '@swc/core': 1.9.2(@swc/helpers@0.5.13) terser@5.36.0: dependencies: @@ -25396,11 +26538,11 @@ snapshots: tinyspy@3.0.2: {} - tldts-core@6.1.61: {} + tldts-core@6.1.58: {} - tldts-experimental@6.1.61: + tldts-experimental@6.1.58: dependencies: - tldts-core: 6.1.61 + tldts-core: 6.1.58 tmp@0.0.33: dependencies: @@ -25419,10 +26561,12 @@ snapshots: is-buffer: 2.0.5 vfile: 4.2.1 + toformat@2.0.0: {} + together-ai@0.7.0(encoding@0.1.13): dependencies: '@types/node': 18.19.64 - '@types/node-fetch': 2.6.12 + '@types/node-fetch': 2.6.11 abort-controller: 3.0.0 agentkeepalive: 4.5.0 form-data-encoder: 1.7.2 @@ -25441,12 +26585,12 @@ snapshots: tough-cookie@2.5.0: dependencies: - psl: 1.10.0 + psl: 1.9.0 punycode: 2.3.1 tough-cookie@4.1.4: dependencies: - psl: 1.10.0 + psl: 1.9.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 @@ -25477,12 +26621,12 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3)) + jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -25498,7 +26642,7 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@types/node@22.8.4)(typescript@5.6.3): + ts-node@10.9.2(@swc/core@1.9.2(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -25515,6 +26659,8 @@ snapshots: typescript: 5.6.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.9.2(@swc/helpers@0.5.13) tsconfig-paths@4.2.0: dependencies: @@ -25528,7 +26674,7 @@ snapshots: tslib@2.8.0: {} - tsup@8.3.5(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0): + tsup@8.3.5(@swc/core@1.9.2(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.0): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) cac: 6.7.14 @@ -25540,13 +26686,14 @@ snapshots: picocolors: 1.1.1 postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.0) resolve-from: 5.0.0 - rollup: 4.26.0 + rollup: 4.25.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.1 tinyglobby: 0.2.10 tree-kill: 1.2.2 optionalDependencies: + '@swc/core': 1.9.2(@swc/helpers@0.5.13) postcss: 8.4.49 typescript: 5.6.3 transitivePeerDependencies: @@ -25618,10 +26765,21 @@ snapshots: lunr: 2.3.9 markdown-it: 14.1.0 minimatch: 9.0.5 - shiki: 1.23.1 + shiki: 1.22.2 typescript: 5.6.3 yaml: 2.6.0 + typescript-eslint@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/parser': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + '@typescript-eslint/utils': 8.15.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.6.3) + eslint: 9.13.0(jiti@1.21.6) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + typescript@5.6.3: {} uc.micro@2.1.0: {} @@ -25784,27 +26942,27 @@ snapshots: url-join@4.0.1: {} - url-loader@4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) optionalDependencies: - file-loader: 6.2.0(webpack@5.96.1) + file-loader: 6.2.0(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - use-sync-external-store@1.2.2(react@18.2.0): + use-sync-external-store@1.2.2(react@18.3.1): dependencies: - react: 18.2.0 + react: 18.3.1 utf-8-validate@5.0.10: dependencies: - node-gyp-build: 4.8.3 + node-gyp-build: 4.8.2 optional: true utfstring@2.0.2: {} @@ -25899,11 +27057,25 @@ snapshots: - supports-color - terser + vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.13)(rollup@4.25.0)(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)): + dependencies: + '@rollup/plugin-virtual': 3.0.2(rollup@4.25.0) + '@swc/core': 1.9.2(@swc/helpers@0.5.13) + uuid: 10.0.0 + vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0) + transitivePeerDependencies: + - '@swc/helpers' + - rollup + + vite-plugin-wasm@3.3.0(vite@5.4.11(@types/node@22.8.4)(terser@5.36.0)): + dependencies: + vite: 5.4.11(@types/node@22.8.4)(terser@5.36.0) + vite@5.4.11(@types/node@22.8.4)(terser@5.36.0): dependencies: esbuild: 0.21.5 postcss: 8.4.49 - rollup: 4.26.0 + rollup: 4.25.0 optionalDependencies: '@types/node': 22.8.4 fsevents: 2.3.3 @@ -25921,7 +27093,7 @@ snapshots: chai: 5.1.2 debug: 4.3.7(supports-color@5.5.0) expect-type: 1.1.0 - magic-string: 0.30.13 + magic-string: 0.30.12 pathe: 1.1.2 std-env: 3.8.0 tinybench: 2.9.0 @@ -26039,16 +27211,16 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.96.1): + webpack-dev-middleware@5.3.4(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) - webpack-dev-server@4.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.96.1): + webpack-dev-server@4.15.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -26058,7 +27230,7 @@ snapshots: '@types/sockjs': 0.3.36 '@types/ws': 8.5.13 ansi-html-community: 0.0.8 - bonjour-service: 1.3.0 + bonjour-service: 1.2.1 chokidar: 3.6.0 colorette: 2.0.20 compression: 1.7.5 @@ -26078,10 +27250,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.96.1) + webpack-dev-middleware: 5.3.4(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - webpack: 5.96.1 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) transitivePeerDependencies: - bufferutil - debug @@ -26102,13 +27274,13 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.96.1: + webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.14.0 browserslist: 4.24.2 chrome-trace-event: 1.0.4 @@ -26124,7 +27296,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.15))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.15))) + terser-webpack-plugin: 5.3.10(@swc/core@1.9.2(@swc/helpers@0.5.13))(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -26132,7 +27304,7 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.96.1): + webpackbar@6.0.1(webpack@5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13))): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -26140,8 +27312,8 @@ snapshots: figures: 3.2.0 markdown-table: 2.0.0 pretty-time: 1.1.0 - std-env: 3.8.0 - webpack: 5.96.1 + std-env: 3.7.0 + webpack: 5.96.1(@swc/core@1.9.2(@swc/helpers@0.5.13)) wrap-ansi: 7.0.0 websocket-driver@0.7.4: From 6fbde253981390e13d5506599798529cc2f574b3 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Mon, 18 Nov 2024 20:05:47 -0600 Subject: [PATCH 10/11] inline user model --- .../core/src/test_resources/createRuntime.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/packages/core/src/test_resources/createRuntime.ts b/packages/core/src/test_resources/createRuntime.ts index fe0003cef3..624f82a28d 100644 --- a/packages/core/src/test_resources/createRuntime.ts +++ b/packages/core/src/test_resources/createRuntime.ts @@ -53,12 +53,11 @@ export async function createRuntime({ // Load sqlite-vss loadVecExtensions((adapter as SqlJsDatabaseAdapter).db); // Create a test user and session - user = { - id: zeroUuid, - email: "test@example.com", - } as User; session = { - user: user, + user: { + id: zeroUuid, + email: "test@example.com", + }, }; } break; @@ -120,12 +119,11 @@ export async function createRuntime({ // Load sqlite-vss await loadVecExtensions((adapter as SqliteDatabaseAdapter).db); // Create a test user and session - user = { - id: zeroUuid, - email: "test@example.com", - } as User; session = { - user: user, + user: { + id: zeroUuid, + email: "test@example.com", + }, }; } break; From ff28e99d8b03d0362db9400f60e032d3a30730c7 Mon Sep 17 00:00:00 2001 From: Dave Norman Date: Mon, 18 Nov 2024 20:08:12 -0600 Subject: [PATCH 11/11] remove hardcoded endpoint --- packages/core/src/test_resources/createRuntime.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/core/src/test_resources/createRuntime.ts b/packages/core/src/test_resources/createRuntime.ts index 624f82a28d..d1ad826a6b 100644 --- a/packages/core/src/test_resources/createRuntime.ts +++ b/packages/core/src/test_resources/createRuntime.ts @@ -17,6 +17,7 @@ import { zeroUuid, } from "./constants.ts"; import { User } from "./types.ts"; +import { getEndpoint } from "../models.ts"; export async function createRuntime({ env, @@ -130,7 +131,7 @@ export async function createRuntime({ } const runtime = new AgentRuntime({ - serverUrl: "https://api.openai.com/v1", + serverUrl: getEndpoint(ModelProviderName.OPENAI), conversationLength, token: env!.OPENAI_API_KEY!, modelProvider: ModelProviderName.OPENAI,