From 08fc29db8e32340367b0e96c705852a1a6dba19d Mon Sep 17 00:00:00 2001 From: Benny Date: Fri, 13 Dec 2024 18:54:55 +0800 Subject: [PATCH] feat: add plugin-ton --- .env.example | 4 + agent/package.json | 1 + agent/src/index.ts | 2 + packages/plugin-ton/package.json | 25 + packages/plugin-ton/src/actions/transfer.ts | 220 +++++++ packages/plugin-ton/src/enviroment.ts | 36 ++ packages/plugin-ton/src/index.ts | 15 + packages/plugin-ton/src/providers/wallet.ts | 278 +++++++++ packages/plugin-ton/src/tests/wallet.test.ts | 85 +++ packages/plugin-ton/tsconfig.json | 15 + packages/plugin-ton/tsup.config.ts | 19 + pnpm-lock.yaml | 618 ++++++++++--------- 12 files changed, 1040 insertions(+), 278 deletions(-) create mode 100644 packages/plugin-ton/package.json create mode 100644 packages/plugin-ton/src/actions/transfer.ts create mode 100644 packages/plugin-ton/src/enviroment.ts create mode 100644 packages/plugin-ton/src/index.ts create mode 100644 packages/plugin-ton/src/providers/wallet.ts create mode 100644 packages/plugin-ton/src/tests/wallet.test.ts create mode 100644 packages/plugin-ton/tsconfig.json create mode 100644 packages/plugin-ton/tsup.config.ts diff --git a/.env.example b/.env.example index a2f07f1480..8bfc938b7c 100644 --- a/.env.example +++ b/.env.example @@ -264,3 +264,7 @@ AWS_SECRET_ACCESS_KEY= AWS_REGION= AWS_S3_BUCKET= AWS_S3_UPLOAD_PATH= + +# Ton +TON_PRIVATE_KEY= # Ton Mnemonic Seed Phrase Join With Empty String +TON_RPC_URL= # ton rpc diff --git a/agent/package.json b/agent/package.json index e27d4aa5ee..a9976ff440 100644 --- a/agent/package.json +++ b/agent/package.json @@ -40,6 +40,7 @@ "@ai16z/plugin-node": "workspace:*", "@ai16z/plugin-solana": "workspace:*", "@ai16z/plugin-starknet": "workspace:*", + "@ai16z/plugin-ton": "workspace:*", "@ai16z/plugin-tee": "workspace:*", "readline": "1.3.0", "ws": "8.18.0", diff --git a/agent/src/index.ts b/agent/src/index.ts index bb631a8136..2f80ff8245 100644 --- a/agent/src/index.ts +++ b/agent/src/index.ts @@ -43,6 +43,7 @@ import { createNodePlugin } from "@ai16z/plugin-node"; import { solanaPlugin } from "@ai16z/plugin-solana"; import { teePlugin, TEEMode } from "@ai16z/plugin-tee"; import { aptosPlugin, TransferAptosToken } from "@ai16z/plugin-aptos"; +import { tonPlugin } from "@ai16z/plugin-ton"; import { flowPlugin } from "@ai16z/plugin-flow"; import Database from "better-sqlite3"; import fs from "fs"; @@ -473,6 +474,7 @@ export async function createAgent( ? flowPlugin : null, getSecret(character, "APTOS_PRIVATE_KEY") ? aptosPlugin : null, + getSecret(character, "TON_PRIVATE_KEY") ? tonPlugin : null, ].filter(Boolean), providers: [], actions: [], diff --git a/packages/plugin-ton/package.json b/packages/plugin-ton/package.json new file mode 100644 index 0000000000..2ff3af548f --- /dev/null +++ b/packages/plugin-ton/package.json @@ -0,0 +1,25 @@ +{ + "name": "@ai16z/plugin-ton", + "version": "0.1.5-alpha.5", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@ai16z/eliza": "workspace:*", + "@ai16z/plugin-trustdb": "workspace:*", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2", + "@ton/ton": "15.1.0", + "@ton/crypto": "3.3.0", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/plugin-ton/src/actions/transfer.ts b/packages/plugin-ton/src/actions/transfer.ts new file mode 100644 index 0000000000..6d9e0ec941 --- /dev/null +++ b/packages/plugin-ton/src/actions/transfer.ts @@ -0,0 +1,220 @@ +import { + elizaLogger, + composeContext, + Content, + HandlerCallback, + ModelClass, + generateObjectV2, + type IAgentRuntime, + type Memory, + type State, +} from "@ai16z/eliza"; +import { z } from "zod"; + +import { initWalletProvider, WalletProvider, nativeWalletProvider } from "../providers/wallet"; +import { internal } from "@ton/ton"; + +export interface TransferContent extends Content { + recipient: string; + amount: string | number; +} + +function isTransferContent(content: Content): content is TransferContent { + console.log("Content for transfer", content); + return ( + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "recipient": "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + "amount": "1" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +export class TransferAction { + constructor(private walletProvider: WalletProvider) {} + + async transfer(params: TransferContent): Promise { + console.log( + `Transferring: ${params.amount} tokens to (${params.recipient})` + ); + + const walletClient = this.walletProvider.getWalletClient(); + const contract = walletClient.open(this.walletProvider.wallet); + + try { + // Create a transfer + const seqno: number = await contract.getSeqno(); + const transfer = await contract.createTransfer({ + seqno, + secretKey: this.walletProvider.keypair.secretKey, + messages: [internal({ + value: params.amount.toString(), + to: params.recipient, + body: 'eliza ton wallet plugin', + })] + }); + + await contract.send(transfer); + + // await this.waitForTransaction(seqno, contract); + + return transfer.hash().toString('hex'); + + } catch (error) { + throw new Error(`Transfer failed: ${error.message}`); + } + } +} + +const buildTransferDetails = async ( + runtime: IAgentRuntime, + message: Memory, + state: State, +): Promise => { + const walletInfo = await nativeWalletProvider.get(runtime, message, state); + state.walletInfo = walletInfo; + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Define the schema for the expected output + const transferSchema = z.object({ + recipient: z.string(), + amount: z.union([z.string(), z.number()]), + }); + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content with the schema + const content = await generateObjectV2({ + runtime, + context: transferContext, + schema: transferSchema, + modelClass: ModelClass.SMALL, + }); + + const transferContent = content.object as TransferContent; + + return transferContent; +}; + +export default { + name: "SEND_TOKEN", + similes: [ + "SEND_TOKENS", + "TOKEN_TRANSFER", + "MOVE_TOKENS", + "SEND_TON" + ], + description: "Transfer tokens from the agent's wallet to another", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + const transferDetails = await buildTransferDetails( + runtime, + message, + state, + ); + + // Validate transfer content + if (!isTransferContent(transferDetails)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + + const walletProvider = await initWalletProvider(runtime); + const action = new TransferAction(walletProvider); + const hash = await action.transfer(transferDetails); + + if (callback) { + callback({ + text: `Successfully transferred ${transferDetails.amount} TON to ${transferDetails.recipient}, Transaction: ${hash}`, + content: { + success: true, + hash: hash, + amount: transferDetails.amount, + recipient: transferDetails.recipient, + }, + }); + } + + return true; + } catch (error) { + console.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + template: transferTemplate, + validate: async (runtime: IAgentRuntime) => { + //console.log("Validating TON transfer from user:", message.userId); + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 1 TON tokens to EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + action: "SEND_TOKENS", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 1 TON tokens now...", + action: "SEND_TOKENS", + }, + }, + { + user: "{{user2}}", + content: { + text: "Successfully sent 1 TON tokens to EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4, Transaction: c8ee4a2c1bd070005e6cd31b32270aa461c69b927c3f4c28b293c80786f78b43", + }, + }, + ], + ], +}; diff --git a/packages/plugin-ton/src/enviroment.ts b/packages/plugin-ton/src/enviroment.ts new file mode 100644 index 0000000000..4b97ef0f57 --- /dev/null +++ b/packages/plugin-ton/src/enviroment.ts @@ -0,0 +1,36 @@ +import { IAgentRuntime } from "@ai16z/eliza"; +import { z } from "zod"; + +export const envSchema = z.object({ + TON_PRIVATE_KEY: z.string().min(1, "Ton private key is required"), + TON_RPC_URL: z.string(), +}); + +export type EnvConfig = z.infer; + +export async function validateEnvConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + TON_PRIVATE_KEY: + runtime.getSetting("TON_PRIVATE_KEY") || + process.env.TON_PRIVATE_KEY, + TON_RPC_URL: + runtime.getSetting("TON_RPC_URL") || + process.env.TON_RPC_URL, + }; + + return envSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Ton configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/plugin-ton/src/index.ts b/packages/plugin-ton/src/index.ts new file mode 100644 index 0000000000..c6e2b52980 --- /dev/null +++ b/packages/plugin-ton/src/index.ts @@ -0,0 +1,15 @@ +import { Plugin } from "@ai16z/eliza"; +import transferAction from "./actions/transfer.ts"; +import { WalletProvider, nativeWalletProvider } from "./providers/wallet.ts"; + +export { WalletProvider, transferAction as TransferTonToken }; + +export const tonPlugin: Plugin = { + name: "ton", + description: "Ton Plugin for Eliza", + actions: [transferAction], + evaluators: [], + providers: [nativeWalletProvider], +}; + +export default tonPlugin; diff --git a/packages/plugin-ton/src/providers/wallet.ts b/packages/plugin-ton/src/providers/wallet.ts new file mode 100644 index 0000000000..ba8861bb84 --- /dev/null +++ b/packages/plugin-ton/src/providers/wallet.ts @@ -0,0 +1,278 @@ +import { + IAgentRuntime, + ICacheManager, + Memory, + Provider, + State, +} from "@ai16z/eliza"; + +import { TonClient, WalletContractV4 } from "@ton/ton"; +import { KeyPair, mnemonicToPrivateKey } from "@ton/crypto"; + +import NodeCache from "node-cache"; +import * as path from "path"; +import BigNumber from "bignumber.js"; + +const PROVIDER_CONFIG = { + MAINNET_RPC: "https://toncenter.com/api/v2/jsonRPC", + STONFI_TON_USD_POOL: "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + CHAIN_NAME_IN_DEXSCREENER: "ton", + // USD_DECIMAL=10^6 + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + // 10^9 + TON_DECIMAL: BigInt(1000000000), +}; +// settings +// TON_PRIVATE_KEY, TON_RPC_URL + +interface WalletPortfolio { + totalUsd: string; + totalNativeToken: string; +} + +interface Prices { + nativeToken: { usd: string }; +} + +export class WalletProvider { + keypair: KeyPair; + wallet: WalletContractV4; + private cache: NodeCache; + private cacheKey: string = "ton/wallet"; + + // reqiure hex private key + constructor( + // mnemonic: string, + keypair: KeyPair, + private endpoint: string, + private cacheManager: ICacheManager + ) { + this.keypair = keypair; + this.cache = new NodeCache({ stdTTL: 300 }); + this.wallet = WalletContractV4.create({ workchain: 0, publicKey: keypair.publicKey }); + } + + // thanks to plugin-sui + private async readFromCache(key: string): Promise { + const cached = await this.cacheManager.get( + path.join(this.cacheKey, key) + ); + return cached; + } + + private async writeToCache(key: string, data: T): Promise { + await this.cacheManager.set(path.join(this.cacheKey, key), data, { + expires: Date.now() + 5 * 60 * 1000, + }); + } + + private async getCachedData(key: string): Promise { + // Check in-memory cache first + const cachedData = this.cache.get(key); + if (cachedData) { + return cachedData; + } + + // Check file-based cache + const fileCachedData = await this.readFromCache(key); + if (fileCachedData) { + // Populate in-memory cache + this.cache.set(key, fileCachedData); + return fileCachedData; + } + + return null; + } + + private async setCachedData(cacheKey: string, data: T): Promise { + // Set in-memory cache + this.cache.set(cacheKey, data); + + // Write to file-based cache + await this.writeToCache(cacheKey, data); + } + + private async fetchPricesWithRetry() { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const response = await fetch( + `https://api.dexscreener.com/latest/dex/pairs/${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER}/${PROVIDER_CONFIG.STONFI_TON_USD_POOL}` + ); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error( + `HTTP error! status: ${response.status}, message: ${errorText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + const delay = PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i); + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + } + } + + console.error( + "All attempts failed. Throwing the last error:", + lastError + ); + throw lastError; + } + + async fetchPrices(): Promise { + try { + const cacheKey = "prices"; + const cachedValue = await this.getCachedData(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPrices"); + return cachedValue; + } + console.log("Cache miss for fetchPrices"); + + const priceData = await this.fetchPricesWithRetry().catch( + (error) => { + console.error(`Error fetching ${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER.toUpperCase()} price:`, error); + throw error; + } + ); + const prices: Prices = { + nativeToken: { usd: priceData.pair.priceUsd }, + }; + this.setCachedData(cacheKey, prices); + return prices; + } catch (error) { + console.error("Error fetching prices:", error); + throw error; + } + } + + private formatPortfolio(runtime: IAgentRuntime, portfolio: WalletPortfolio): string { + let output = `${runtime.character.name}\n`; + output += `Wallet Address: ${this.getAddress()}\n`; + + const totalUsdFormatted = new BigNumber(portfolio.totalUsd).toFixed(2); + const totalNativeTokenFormatted = new BigNumber(portfolio.totalNativeToken).toFixed(4); + + output += `Total Value: $${totalUsdFormatted} (${totalNativeTokenFormatted} ${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER.toUpperCase()})\n`; + + return output; + } + + private async fetchPortfolioValue(): Promise { + try { + const cacheKey = `portfolio-${this.getAddress()}`; + const cachedValue = + await this.getCachedData(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue", cachedValue); + return cachedValue; + } + console.log("Cache miss for fetchPortfolioValue"); + + const prices = await this.fetchPrices().catch((error) => { + console.error(`Error fetching ${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER.toUpperCase()} price:`, error); + throw error; + }); + const nativeTokenBalance = await this.getWalletBalance() + .catch((error) => { + console.error(`Error fetching ${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER.toUpperCase()} amount:`, error); + throw error; + }); + + const amount = Number(nativeTokenBalance) / Number(PROVIDER_CONFIG.TON_DECIMAL); + const totalUsd = new BigNumber(amount.toString()).times(prices.nativeToken.usd); + + const portfolio = { + totalUsd: totalUsd.toString(), + totalNativeToken: amount.toString(), + }; + this.setCachedData(cacheKey, portfolio); + console.log("Fetched portfolio:", portfolio); + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + async getFormattedPortfolio(runtime: IAgentRuntime): Promise { + try { + const portfolio = await this.fetchPortfolioValue(); + return this.formatPortfolio(runtime, portfolio); + } catch (error) { + console.error("Error generating portfolio report:", error); + return "Unable to fetch wallet information. Please try again later."; + } + } + + getAddress(): string { + const formattedAddress = this.wallet.address.toString({ bounceable: false, urlSafe: true }); + return formattedAddress; + } + + getWalletClient(): TonClient { + const client = new TonClient({ + endpoint: this.endpoint, + }); + return client; + } + + async getWalletBalance(): Promise { + try { + const client = this.getWalletClient(); + const contract = client.open(this.wallet); + const balance = await contract.getBalance(); + + return balance; + } catch (error) { + console.error("Error getting wallet balance:", error); + return null; + } + } +} + +export const initWalletProvider = async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("TON_PRIVATE_KEY"); + let mnemonics: string[]; + + if (!privateKey) { + throw new Error("TON_PRIVATE_KEY is missing"); + } else { + mnemonics = privateKey.split(" "); + if (mnemonics.length < 2) { + throw new Error("TON_PRIVATE_KEY mnemonic seems invalid"); + } + } + const rpcUrl = runtime.getSetting("TON_RPC_URL") || PROVIDER_CONFIG.MAINNET_RPC; + + const keypair = await mnemonicToPrivateKey(mnemonics, ""); + return new WalletProvider(keypair, rpcUrl, runtime.cacheManager); +}; + +export const nativeWalletProvider: Provider = { + async get( + runtime: IAgentRuntime, + message: Memory, + state?: State + ): Promise { + try { + const walletProvider = await initWalletProvider(runtime); + return await walletProvider.getFormattedPortfolio(runtime); + } catch (error) { + console.error(`Error in ${PROVIDER_CONFIG.CHAIN_NAME_IN_DEXSCREENER.toUpperCase()} wallet provider:`, error); + return null; + } + }, +}; diff --git a/packages/plugin-ton/src/tests/wallet.test.ts b/packages/plugin-ton/src/tests/wallet.test.ts new file mode 100644 index 0000000000..e06e8edc9e --- /dev/null +++ b/packages/plugin-ton/src/tests/wallet.test.ts @@ -0,0 +1,85 @@ +import { defaultCharacter } from "@ai16z/eliza"; + +import { describe, it, vi, expect, beforeAll, beforeEach, afterEach } from "vitest"; +import BigNumber from "bignumber.js"; +import { WalletProvider } from "../providers/wallet"; + +import { mnemonicNew, mnemonicToPrivateKey, KeyPair } from "@ton/crypto"; + +// Mock NodeCache +vi.mock("node-cache", () => { + return { + default: vi.fn().mockImplementation(() => ({ + set: vi.fn(), + get: vi.fn().mockReturnValue(null), + })), + }; +}); + +// Mock path module +vi.mock("path", async () => { + const actual = await vi.importActual("path"); + return { + ...actual, + join: vi.fn().mockImplementation((...args) => args.join("/")), + }; +}); + +// Mock the ICacheManager +const mockCacheManager = { + get: vi.fn().mockResolvedValue(null), + set: vi.fn(), + delete: vi.fn(), +}; + +const testnet = "https://testnet.toncenter.com/api/v2/jsonRPC"; + +describe("Wallet provider", () => { + let walletProvider: WalletProvider; + let keypair: KeyPair; + let mockedRuntime; + + beforeAll(async () => { + const password = ""; + const mnemonics: string[] = await mnemonicNew(12, password); + keypair = await mnemonicToPrivateKey(mnemonics, password); + walletProvider = new WalletProvider(keypair, testnet, mockCacheManager); + mockedRuntime = { + character: defaultCharacter, + }; + }); + + beforeEach(() => { + vi.clearAllMocks(); + mockCacheManager.get.mockResolvedValue(null); + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Wallet Integration", () => { + it("should check wallet address", async () => { + const result = + await walletProvider.getFormattedPortfolio(mockedRuntime); + + const prices = await walletProvider.fetchPrices().catch((error) => { + console.error(`Error fetching TON price:`, error); + throw error; + }); + const nativeTokenBalance = await walletProvider.getWalletBalance() + .catch((error) => { + console.error(`Error fetching TON amount:`, error); + throw error; + }); + + const amount = Number(nativeTokenBalance) / Number(BigInt(1000000000)); + const totalUsd = new BigNumber(amount.toString()).times(prices.nativeToken.usd); + + expect(result).toEqual( + `Eliza\nWallet Address: ${walletProvider.getAddress()}\n` + + `Total Value: $${totalUsd.toFixed(2)} (${amount.toFixed(4)} TON)\n` + ); + }); + }); +}); diff --git a/packages/plugin-ton/tsconfig.json b/packages/plugin-ton/tsconfig.json new file mode 100644 index 0000000000..2d8d3fe818 --- /dev/null +++ b/packages/plugin-ton/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "./src", + "typeRoots": [ + "./node_modules/@types", + "./src/types" + ], + "declaration": true + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/plugin-ton/tsup.config.ts b/packages/plugin-ton/tsup.config.ts new file mode 100644 index 0000000000..299db52c34 --- /dev/null +++ b/packages/plugin-ton/tsup.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive" + ], +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 92f3c9d09f..1fb0f9f929 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -171,6 +171,9 @@ importers: '@ai16z/plugin-tee': specifier: workspace:* version: link:../packages/plugin-tee + '@ai16z/plugin-ton': + specifier: workspace:* + version: link:../packages/plugin-ton readline: specifier: 1.3.0 version: 1.3.0 @@ -298,7 +301,7 @@ importers: version: 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(prop-types@15.8.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/preset-classic': specifier: 3.6.3 - version: 3.6.3(@algolia/client-search@5.17.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 3.6.3(@algolia/client-search@5.17.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-mermaid': specifier: 3.6.3 version: 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -531,7 +534,7 @@ importers: version: link:../core '@neynar/nodejs-sdk': specifier: ^2.0.3 - version: 2.2.0(bufferutil@4.0.8)(class-transformer@0.5.1)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + version: 2.2.3(bufferutil@4.0.8)(class-transformer@0.5.1)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) devDependencies: tsup: specifier: ^8.3.5 @@ -588,7 +591,7 @@ importers: version: 8.57.1 jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.17.9) typescript: specifier: ^5.0.0 version: 5.6.3 @@ -662,7 +665,7 @@ importers: version: 10.0.0 ai: specifier: 3.4.33 - version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.11.0))(svelte@5.11.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) + version: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.12.0))(svelte@5.12.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: specifier: 1.0.2 version: 1.0.2(encoding@0.1.13)(zod@3.23.8) @@ -1054,7 +1057,7 @@ importers: version: 29.5.14 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) + version: 29.7.0(@types/node@22.8.4) tsup: specifier: 8.3.5 version: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) @@ -1387,6 +1390,36 @@ importers: specifier: 7.1.0 version: 7.1.0 + packages/plugin-ton: + dependencies: + '@ai16z/eliza': + specifier: workspace:* + version: link:../core + '@ai16z/plugin-trustdb': + specifier: workspace:* + version: link:../plugin-trustdb + '@ton/crypto': + specifier: 3.3.0 + version: 3.3.0 + '@ton/ton': + specifier: 15.1.0 + version: 15.1.0(@ton/core@0.59.0(@ton/crypto@3.3.0))(@ton/crypto@3.3.0) + bignumber: + specifier: 1.1.0 + version: 1.1.0 + bignumber.js: + specifier: 9.1.2 + version: 9.1.2 + node-cache: + specifier: 5.1.2 + version: 5.1.2 + tsup: + specifier: 8.3.5 + version: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.15))(jiti@2.4.0)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) + whatwg-url: + specifier: 7.1.0 + version: 7.1.0 + packages/plugin-trustdb: dependencies: '@ai16z/eliza': @@ -1459,10 +1492,10 @@ importers: version: 8.16.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3) jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.17.9) 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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(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@20.17.9))(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1631,8 +1664,8 @@ packages: '@algolia/cache-in-memory@4.24.0': resolution: {integrity: sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==} - '@algolia/client-abtesting@5.17.0': - resolution: {integrity: sha512-6+7hPdOEPfJqjWNYPRaVcttLLAtVqQyp1U7xBA1e1uSya1ivIr9FtS/GBr31mfvwk2N2yxV4W7itxuBtST8SWg==} + '@algolia/client-abtesting@5.17.1': + resolution: {integrity: sha512-Os/xkQbDp5A5RdGYq1yS3fF69GoBJH5FIfrkVh+fXxCSe714i1Xdl9XoXhS4xG76DGKm6EFMlUqP024qjps8cg==} engines: {node: '>= 14.0.0'} '@algolia/client-account@4.24.0': @@ -1641,44 +1674,44 @@ packages: '@algolia/client-analytics@4.24.0': resolution: {integrity: sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==} - '@algolia/client-analytics@5.17.0': - resolution: {integrity: sha512-nhJ+elL8h0Fts3xD9261zE2NvTs7nPMe9/SfAgMnWnbvxmuhJn7ZymnBsfm2VkTDb4Dy810ZAdBfzYEk7PjlAw==} + '@algolia/client-analytics@5.17.1': + resolution: {integrity: sha512-WKpGC+cUhmdm3wndIlTh8RJXoVabUH+4HrvZHC4hXtvCYojEXYeep8RZstatwSZ7Ocg6Y2u67bLw90NEINuYEw==} engines: {node: '>= 14.0.0'} '@algolia/client-common@4.24.0': resolution: {integrity: sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==} - '@algolia/client-common@5.17.0': - resolution: {integrity: sha512-9eC8i41/4xcQ/wI6fVM4LwC/ZGcDl3mToqjM0wTZzePWhXgRrdzOzqy/XgP+L1yYCDfkMFBZZsruNL5U8aEOag==} + '@algolia/client-common@5.17.1': + resolution: {integrity: sha512-5rb5+yPIie6912riAypTSyzbE23a7UM1UpESvD8GEPI4CcWQvA9DBlkRNx9qbq/nJ5pvv8VjZjUxJj7rFkzEAA==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.17.0': - resolution: {integrity: sha512-JL/vWNPUIuScsJubyC4aPHkpMftlK2qGqMiR2gy0rGvrh8v0w+ec6Ebq+efoFgE8wO55HJPTxiKeerE1DaQgvA==} + '@algolia/client-insights@5.17.1': + resolution: {integrity: sha512-nb/tfwBMn209TzFv1DDTprBKt/wl5btHVKoAww9fdEVdoKK02R2KAqxe5tuXLdEzAsS+LevRyOM/YjXuLmPtjQ==} engines: {node: '>= 14.0.0'} '@algolia/client-personalization@4.24.0': resolution: {integrity: sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==} - '@algolia/client-personalization@5.17.0': - resolution: {integrity: sha512-PkMUfww8QiRpyLkW4kzmc7IJDcW90sfUpnTgUOVlug5zEE2iv1ruHrJxdcNRTXkA0fgVpHu3oxXmCQL/ie2p7A==} + '@algolia/client-personalization@5.17.1': + resolution: {integrity: sha512-JuNlZe1SdW9KbV0gcgdsiVkFfXt0mmPassdS3cBSGvZGbPB9JsHthD719k5Y6YOY4dGvw1JmC1i9CwCQHAS8hg==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.17.0': - resolution: {integrity: sha512-bokfgPN2whetLuiX9NB6C6d7Eke+dvHuASOPiB+jdI8Z6hacLHkcJjYeZY4Mppj0/oJ1KlyNivj+8WNpZeGhYA==} + '@algolia/client-query-suggestions@5.17.1': + resolution: {integrity: sha512-RBIFIv1QE3IlAikJKWTOpd6pwE4d2dY6t02iXH7r/SLXWn0HzJtsAPPeFg/OKkFvWAXt0H7In2/Mp7a1/Dy2pw==} engines: {node: '>= 14.0.0'} '@algolia/client-search@4.24.0': resolution: {integrity: sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==} - '@algolia/client-search@5.17.0': - resolution: {integrity: sha512-alY3U79fiEvlR/0optgt1LZp9MfthXFnuEA4GYS81svozDOF61gdvxgBjt6SYtmskmTQQZDWVgakvUvvHrDzMw==} + '@algolia/client-search@5.17.1': + resolution: {integrity: sha512-bd5JBUOP71kPsxwDcvOxqtqXXVo/706NFifZ/O5Rx5GB8ZNVAhg4l7aGoT6jBvEfgmrp2fqPbkdIZ6JnuOpGcw==} engines: {node: '>= 14.0.0'} '@algolia/events@4.0.1': resolution: {integrity: sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==} - '@algolia/ingestion@1.17.0': - resolution: {integrity: sha512-9+mO+FbIpWz6izh1lXzON9BcenBKx4K3qVjSWiFFmL8nv+7b7zpGq++LXWr/Lxv/bZ9+D71Go6QVL6AZQhFOmg==} + '@algolia/ingestion@1.17.1': + resolution: {integrity: sha512-T18tvePi1rjRYcIKhd82oRukrPWHxG/Iy1qFGaxCplgRm9Im5z96qnYOq75MSKGOUHkFxaBKJOLmtn8xDR+Mcw==} engines: {node: '>= 14.0.0'} '@algolia/logger-common@4.24.0': @@ -1687,36 +1720,36 @@ packages: '@algolia/logger-console@4.24.0': resolution: {integrity: sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==} - '@algolia/monitoring@1.17.0': - resolution: {integrity: sha512-Db7Qh51zVchmHa8d9nQFzTz2Ta6H2D4dpCnPj1giC/LE6UG/6e3iOnRxUzV+9ZR7etHKIrri2hbnkyNrvbqA9A==} + '@algolia/monitoring@1.17.1': + resolution: {integrity: sha512-gDtow+AUywTehRP8S1tWKx2IvhcJOxldAoqBxzN3asuQobF7er5n72auBeL++HY4ImEuzMi7PDOA/Iuwxs2IcA==} engines: {node: '>= 14.0.0'} '@algolia/recommend@4.24.0': resolution: {integrity: sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==} - '@algolia/recommend@5.17.0': - resolution: {integrity: sha512-7vM4+mfuLYbslj8+RNsP/ISwY7izu5HcQqQhA0l+q3EZRHF+PBeRaJXc3S1N0fTRxj8ystvwXWZPmjssB/xMLw==} + '@algolia/recommend@5.17.1': + resolution: {integrity: sha512-2992tTHkRe18qmf5SP57N78kN1D3e5t4PO1rt10sJncWtXBZWiNOK6K/UcvWsFbNSGAogFcIcvIMAl5mNp6RWA==} engines: {node: '>= 14.0.0'} '@algolia/requester-browser-xhr@4.24.0': resolution: {integrity: sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==} - '@algolia/requester-browser-xhr@5.17.0': - resolution: {integrity: sha512-bXSiPL2R08s4e9qvNZsJA0bXZeyWH2A5D4shS8kRT22b8GgjtnGTuoZmi6MxtKOEaN0lpHPbjvjXAO7UIOhDog==} + '@algolia/requester-browser-xhr@5.17.1': + resolution: {integrity: sha512-XpKgBfyczVesKgr7DOShNyPPu5kqlboimRRPjdqAw5grSyHhCmb8yoTIKy0TCqBABZeXRPMYT13SMruUVRXvHA==} engines: {node: '>= 14.0.0'} '@algolia/requester-common@4.24.0': resolution: {integrity: sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==} - '@algolia/requester-fetch@5.17.0': - resolution: {integrity: sha512-mjJ6Xv7TlDDoZ6RLKrEzH1ved3g2GAq3YJjb94bA639INfxK1HM8A/wCAFSZ8ye+QM/jppwauDXe1PENkuareQ==} + '@algolia/requester-fetch@5.17.1': + resolution: {integrity: sha512-EhUomH+DZP5vb6DnEjT0GvXaXBSwzZnuU6hPGNU1EYKRXDouRjII/bIWpVjt7ycMgL2D2oQruqDh6rAWUhQwRw==} engines: {node: '>= 14.0.0'} '@algolia/requester-node-http@4.24.0': resolution: {integrity: sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==} - '@algolia/requester-node-http@5.17.0': - resolution: {integrity: sha512-Z2BXTR7BctlGPNig21k2wf/5nlH+96lU2UElzXTKiptyn2iM8lDU8zdO+dRll0AxQUxUGWEnkBysst9xL3S2cg==} + '@algolia/requester-node-http@5.17.1': + resolution: {integrity: sha512-PSnENJtl4/wBWXlGyOODbLYm6lSiFqrtww7UpQRCJdsHXlJKF8XAP6AME8NxvbE0Qo/RJUxK0mvyEh9sQcx6bg==} engines: {node: '>= 14.0.0'} '@algolia/transporter@4.24.0': @@ -4345,8 +4378,8 @@ packages: '@nestjs/websockets': optional: true - '@neynar/nodejs-sdk@2.2.0': - resolution: {integrity: sha512-+vCC4hNWJwhsj0JmhhomgbW+wul1XyVQiceFGXE6weW//vpIfVSm8TwcYk8FWHsEPZyyry0IHctIW0Y8qjLx4w==} + '@neynar/nodejs-sdk@2.2.3': + resolution: {integrity: sha512-9CW2j64yFJEg70A0D6qc3EE5x8NnMzHMRNdA9VuLYZQA1GzoOWsi6/BKxPX/vfgSvnNeveCIPtUzEXRSTbGarQ==} engines: {node: '>=19.9.0'} '@noble/curves@1.2.0': @@ -6279,6 +6312,23 @@ packages: resolution: {integrity: sha512-crXw1txzrS36huQOyQGYFvhTeLeG0Si1xu+/l6kXUVYpE0TjFjEZRqTbuadQLfKGZ0jaI+jJoRyqaWwxOSHW2g==} engines: {node: '>=12.20.0'} + '@ton/core@0.59.0': + resolution: {integrity: sha512-LSIkGst7BoY7fMWshejzcH0UJnoW21JGlRrW0ch+6A7Xb/7EuekxgdKym7fHxcry6OIf6FoeFg97lJ960N/Ghg==} + peerDependencies: + '@ton/crypto': '>=3.2.0' + + '@ton/crypto-primitives@2.1.0': + resolution: {integrity: sha512-PQesoyPgqyI6vzYtCXw4/ZzevePc4VGcJtFwf08v10OevVJHVfW238KBdpj1kEDQkxWLeuNHEpTECNFKnP6tow==} + + '@ton/crypto@3.3.0': + resolution: {integrity: sha512-/A6CYGgA/H36OZ9BbTaGerKtzWp50rg67ZCH2oIjV1NcrBaCK9Z343M+CxedvM7Haf3f/Ee9EhxyeTp0GKMUpA==} + + '@ton/ton@15.1.0': + resolution: {integrity: sha512-almetcfTu7jLjcNcEEPB7wAc8yl90ES1M//sOr1QE+kv7RbmEvMkaPSc7kFxzs10qrjIPKxlodBJlMSWP5LuVQ==} + peerDependencies: + '@ton/core': '>=0.59.0' + '@ton/crypto': '>=3.2.0' + '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -7344,8 +7394,8 @@ packages: algoliasearch@4.24.0: resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} - algoliasearch@5.17.0: - resolution: {integrity: sha512-BpuFprDFc3Pe9a1ZXLzLeqZ+l8Ur37AfzBswkOB4LwikqnRPbIGdluT/nFc/Xk+u/QMxMzUlTN+izqQJVb5vYA==} + algoliasearch@5.17.1: + resolution: {integrity: sha512-3CcbT5yTWJDIcBe9ZHgsPi184SkT1kyZi3GWlQU5EFgvq1V73X2sqHRkPCQMe0RA/uvZbB+1sFeAk73eWygeLg==} engines: {node: '>= 14.0.0'} amp-message@0.1.2: @@ -7653,8 +7703,8 @@ packages: bare-path@2.1.3: resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} - bare-stream@2.5.2: - resolution: {integrity: sha512-QK6bePvszntxgPKdVXciYzjlWv2Ry1mQuUqyUUzd27G7eLupl6d0K5AGJfnfyFAdgy5tRolHP/zbaUMslLceOg==} + bare-stream@2.6.1: + resolution: {integrity: sha512-eVZbtKM+4uehzrsj49KtCy3Pbg7kO1pJ3SKZ1SFrIH/0pnj9scuGGgUlNDf/7qS8WKtGdiJY5Kyhs/ivYPTB/g==} base-x@3.0.10: resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} @@ -7983,8 +8033,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001687: - resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} + caniuse-lite@1.0.30001688: + resolution: {integrity: sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==} canvas@2.11.2: resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} @@ -8907,6 +8957,9 @@ packages: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + date-fns@2.30.0: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} @@ -9314,8 +9367,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.72: - resolution: {integrity: sha512-ZpSAUOZ2Izby7qnZluSrAlGgGQzucmFbN0n64dYzocYxnxV5ufurpj3VgEe4cUp7ir9LmeLxNYo8bVnlM8bQHw==} + electron-to-chromium@1.5.73: + resolution: {integrity: sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==} elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -9421,6 +9474,10 @@ packages: es-module-lexer@1.5.4: resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -10093,8 +10150,8 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} - get-intrinsic@1.2.5: - resolution: {integrity: sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==} + get-intrinsic@1.2.6: + resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==} engines: {node: '>= 0.4'} get-nonce@1.0.1: @@ -11392,6 +11449,9 @@ packages: resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} engines: {node: '>=0.6.0'} + jssha@3.2.0: + resolution: {integrity: sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==} + just-diff-apply@5.5.0: resolution: {integrity: sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==} @@ -11499,8 +11559,8 @@ packages: resolution: {integrity: sha512-+Ez9EoiByeoTu/2BXmEaZ06iPNXM6thWJp02KfBO/raSMyCJ4jw7AkWWa+zBCTm0+Tw1Fj9FOxdqSskyN5nAwg==} engines: {node: '>=16.0.0'} - langsmith@0.2.12: - resolution: {integrity: sha512-FP1eMcM/ckocagtzKsD6WEjkSOZKImOmKK83hOgULa3pNGnc3nWRvCRIniZVLjCaXw9SOFR3K2ah0o3FvQhM5A==} + langsmith@0.2.13: + resolution: {integrity: sha512-16EOM5nhU6GlMCKGm5sgBIAKOKzS2d30qcDZmF21kSLZJiUhUNTROwvYdqgZLrGfIIzmSMJHCKA7RFd5qf50uw==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -11871,6 +11931,10 @@ packages: engines: {node: '>= 18'} hasBin: true + math-intrinsics@1.0.0: + resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} + engines: {node: '>= 0.4'} + md4w@0.2.6: resolution: {integrity: sha512-CBLQ2PxVe9WA+/nndZCx/Y+1C3DtmtSeubmXTPhMIgsXtq9gVGleikREko5FYnV6Dz4cHDWm0Ea+YMLpIjP4Kw==} @@ -13950,8 +14014,8 @@ packages: postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - preact@10.25.1: - resolution: {integrity: sha512-frxeZV2vhQSohQwJ7FvlqC40ze89+8friponWUFeVEkaCfhC6Eu4V0iND5C9CXz8JLndV07QRDeXzH1+Anz5Og==} + preact@10.25.2: + resolution: {integrity: sha512-GEts1EH3oMnqdOIeXhlbBSddZ9nrINd070WBOiPO2ous1orrKGUM4SMDbwyjSWD1iMS2dBvaDjAa5qUhz3TXqw==} prebuild-install@7.1.2: resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} @@ -15238,8 +15302,8 @@ packages: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} - streamx@2.21.0: - resolution: {integrity: sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==} + streamx@2.21.1: + resolution: {integrity: sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==} strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} @@ -15389,8 +15453,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte@5.11.0: - resolution: {integrity: sha512-w4FYvEY1eKbgBZo8RY2iegaOe9sZu9yhDa70cAyW9gkPJc87w6/1rrfNI4uu985s/7U+4CggQDE7CPIbrPsnXw==} + svelte@5.12.0: + resolution: {integrity: sha512-nOd7uj0D/4A3IrHnltaFYndVPGViYSs0s+Zi3N4uQg3owJt9RoiUdwxYx8qjorj5CtaGsx8dNYsFVbH6czrGNg==} engines: {node: '>=18'} svg-parser@2.0.4: @@ -15417,6 +15481,9 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + symbol.inspect@1.0.1: + resolution: {integrity: sha512-YQSL4duoHmLhsTD1Pw8RW6TZ5MaTX5rXJnqacJottr2P2LZBF/Yvrc3ku4NUpMOm8aM0KOCqM+UAkMA5HWQCzQ==} + system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} @@ -15499,6 +15566,9 @@ packages: engines: {node: '>=10'} hasBin: true + teslabot@1.5.0: + resolution: {integrity: sha512-e2MmELhCgrgZEGo7PQu/6bmYG36IDH+YrBI1iGm6jovXkeDIGa3pZ2WSqRjzkuw2vt1EqfkZoV5GpXgqL8QJVg==} + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -15601,14 +15671,14 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - tldts-core@6.1.66: - resolution: {integrity: sha512-s07jJruSwndD2X8bVjwioPfqpIc1pDTzszPe9pL1Skbh4bjytL85KNQ3tolqLbCvpQHawIsGfFi9dgerWjqW4g==} + tldts-core@6.1.67: + resolution: {integrity: sha512-12K5O4m3uUW6YM5v45Z7wc6NTSmAYj4Tq3de7eXghZkp879IlfPJrUWeWFwu1FS94U5t2vwETgJ1asu8UGNKVQ==} - tldts-experimental@6.1.66: - resolution: {integrity: sha512-hAgdTxaOC1QP2WoB4HKH1R6Df7MDusIFtljZ9XB3bndsQPKeUxHyAuOmvXxzdF7MrgfJmMtfusavNlX/ateEow==} + tldts-experimental@6.1.67: + resolution: {integrity: sha512-M5HZFMmtfxXcTQSTHu4Pn51CJdOK4hFw+y9KCj6bRRNaJRffNJIpTqSLixol+P+0v3NkXYxb1Mm90goJksCSrw==} - tldts@6.1.66: - resolution: {integrity: sha512-l3ciXsYFel/jSRfESbyKYud1nOw7WfhrBEF9I3UiarYk/qEaOOwu3qXNECHw4fHGHGTEOuhf/VdKgoDX5M/dhQ==} + tldts@6.1.67: + resolution: {integrity: sha512-714VbegxoZ9WF5/IsVCy9rWXKUpPkJq87ebWLXQzNawce96l5oRrRf2eHzB4pT2g/4HQU1dYbu+sdXClYxlDKQ==} hasBin: true tmp@0.0.33: @@ -15842,6 +15912,9 @@ packages: tweetnacl@0.14.5: resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + twitter-api-v2@1.18.2: resolution: {integrity: sha512-ggImmoAeVgETYqrWeZy+nWnDpwgTP+IvFEc03Pitt1HcgMX+Yw17rP38Fb5FFTinuyNvS07EPtAfZ184uIyB0A==} @@ -16993,13 +17066,13 @@ snapshots: transitivePeerDependencies: - zod - '@ai-sdk/svelte@0.0.57(svelte@5.11.0)(zod@3.23.8)': + '@ai-sdk/svelte@0.0.57(svelte@5.12.0)(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.11.0) + sswr: 2.1.0(svelte@5.12.0) optionalDependencies: - svelte: 5.11.0 + svelte: 5.12.0 transitivePeerDependencies: - zod @@ -17023,33 +17096,33 @@ snapshots: transitivePeerDependencies: - zod - '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)(search-insights@2.17.3)': + '@algolia/autocomplete-core@1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)(search-insights@2.17.3) - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)(search-insights@2.17.3) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)(search-insights@2.17.3)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0) + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1) search-insights: 2.17.3 transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)': + '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)': dependencies: - '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0) - '@algolia/client-search': 5.17.0 - algoliasearch: 5.17.0 + '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1) + '@algolia/client-search': 5.17.1 + algoliasearch: 5.17.1 - '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)': + '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)': dependencies: - '@algolia/client-search': 5.17.0 - algoliasearch: 5.17.0 + '@algolia/client-search': 5.17.1 + algoliasearch: 5.17.1 '@algolia/cache-browser-local-storage@4.24.0': dependencies: @@ -17061,12 +17134,12 @@ snapshots: dependencies: '@algolia/cache-common': 4.24.0 - '@algolia/client-abtesting@5.17.0': + '@algolia/client-abtesting@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/client-account@4.24.0': dependencies: @@ -17081,26 +17154,26 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-analytics@5.17.0': + '@algolia/client-analytics@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/client-common@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-common@5.17.0': {} + '@algolia/client-common@5.17.1': {} - '@algolia/client-insights@5.17.0': + '@algolia/client-insights@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/client-personalization@4.24.0': dependencies: @@ -17108,19 +17181,19 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-personalization@5.17.0': + '@algolia/client-personalization@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 - '@algolia/client-query-suggestions@5.17.0': + '@algolia/client-query-suggestions@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/client-search@4.24.0': dependencies: @@ -17128,21 +17201,21 @@ snapshots: '@algolia/requester-common': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/client-search@5.17.0': + '@algolia/client-search@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/events@4.0.1': {} - '@algolia/ingestion@1.17.0': + '@algolia/ingestion@1.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/logger-common@4.24.0': {} @@ -17150,12 +17223,12 @@ snapshots: dependencies: '@algolia/logger-common': 4.24.0 - '@algolia/monitoring@1.17.0': + '@algolia/monitoring@1.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/recommend@4.24.0': dependencies: @@ -17171,34 +17244,34 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - '@algolia/recommend@5.17.0': + '@algolia/recommend@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + '@algolia/client-common': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 '@algolia/requester-browser-xhr@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-browser-xhr@5.17.0': + '@algolia/requester-browser-xhr@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 + '@algolia/client-common': 5.17.1 '@algolia/requester-common@4.24.0': {} - '@algolia/requester-fetch@5.17.0': + '@algolia/requester-fetch@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 + '@algolia/client-common': 5.17.1 '@algolia/requester-node-http@4.24.0': dependencies: '@algolia/requester-common': 4.24.0 - '@algolia/requester-node-http@5.17.0': + '@algolia/requester-node-http@5.17.1': dependencies: - '@algolia/client-common': 5.17.0 + '@algolia/client-common': 5.17.1 '@algolia/transporter@4.24.0': dependencies: @@ -18817,7 +18890,7 @@ snapshots: '@cliqz/adblocker': 1.34.0 '@cliqz/adblocker-content': 1.34.0 playwright: 1.48.2 - tldts-experimental: 6.1.66 + tldts-experimental: 6.1.67 '@cliqz/adblocker@1.34.0': dependencies: @@ -18828,7 +18901,7 @@ snapshots: '@remusao/smaz': 1.10.0 '@types/chrome': 0.0.278 '@types/firefox-webext-browser': 120.0.4 - tldts-experimental: 6.1.66 + tldts-experimental: 6.1.67 '@coinbase-samples/advanced-sdk-ts@file:packages/plugin-coinbase/advanced-sdk-ts(encoding@0.1.13)': dependencies: @@ -19385,12 +19458,12 @@ snapshots: '@docsearch/css@3.8.0': {} - '@docsearch/react@3.8.0(@algolia/client-search@5.17.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': + '@docsearch/react@3.8.0(@algolia/client-search@5.17.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)': dependencies: - '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0)(search-insights@2.17.3) - '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.17.0)(algoliasearch@5.17.0) + '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1)(search-insights@2.17.3) + '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.17.1)(algoliasearch@5.17.1) '@docsearch/css': 3.8.0 - algoliasearch: 5.17.0 + algoliasearch: 5.17.1 optionalDependencies: '@types/react': 18.3.12 react: 18.3.1 @@ -19927,7 +20000,7 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.17.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/preset-classic@3.6.3(@algolia/client-search@5.17.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: '@docusaurus/core': 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/plugin-content-blog': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -19940,7 +20013,7 @@ snapshots: '@docusaurus/plugin-sitemap': 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-classic': 3.6.3(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/theme-common': 3.6.3(@docusaurus/plugin-content-docs@3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3) - '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.17.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) + '@docusaurus/theme-search-algolia': 3.6.3(@algolia/client-search@5.17.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/types': 3.6.3(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -20089,9 +20162,9 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.17.0)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': + '@docusaurus/theme-search-algolia@3.6.3(@algolia/client-search@5.17.1)(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/react@18.3.12)(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3)(typescript@5.6.3)(utf-8-validate@5.0.10)': dependencies: - '@docsearch/react': 3.8.0(@algolia/client-search@5.17.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) + '@docsearch/react': 3.8.0(@algolia/client-search@5.17.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.17.3) '@docusaurus/core': 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) '@docusaurus/logger': 3.6.3 '@docusaurus/plugin-content-docs': 3.6.3(@mdx-js/react@3.0.1(@types/react@18.3.12)(react@18.3.1))(@swc/core@1.10.1(@swc/helpers@0.5.15))(acorn@8.14.0)(bufferutil@4.0.8)(eslint@9.16.0(jiti@2.4.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -20887,41 +20960,6 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.17.9 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3))': dependencies: '@jest/console': 29.7.0 @@ -21119,7 +21157,7 @@ snapshots: camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.15 - langsmith: 0.2.12(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + langsmith: 0.2.13(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -21397,7 +21435,7 @@ snapshots: transitivePeerDependencies: - encoding - '@neynar/nodejs-sdk@2.2.0(bufferutil@4.0.8)(class-transformer@0.5.1)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)': + '@neynar/nodejs-sdk@2.2.3(bufferutil@4.0.8)(class-transformer@0.5.1)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8)': dependencies: '@openapitools/openapi-generator-cli': 2.15.3(class-transformer@0.5.1)(encoding@0.1.13) semver: 7.6.3 @@ -22027,7 +22065,7 @@ snapshots: '@walletconnect/types': 2.17.2 '@walletconnect/utils': 2.17.2 postcss-cli: 11.0.0(jiti@2.4.0)(postcss@8.4.49) - preact: 10.25.1 + preact: 10.25.2 tailwindcss: 3.4.15(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) transitivePeerDependencies: - '@azure/app-configuration' @@ -23887,6 +23925,33 @@ snapshots: '@tinyhttp/content-disposition@2.2.2': {} + '@ton/core@0.59.0(@ton/crypto@3.3.0)': + dependencies: + '@ton/crypto': 3.3.0 + symbol.inspect: 1.0.1 + + '@ton/crypto-primitives@2.1.0': + dependencies: + jssha: 3.2.0 + + '@ton/crypto@3.3.0': + dependencies: + '@ton/crypto-primitives': 2.1.0 + jssha: 3.2.0 + tweetnacl: 1.0.3 + + '@ton/ton@15.1.0(@ton/core@0.59.0(@ton/crypto@3.3.0))(@ton/crypto@3.3.0)': + dependencies: + '@ton/core': 0.59.0(@ton/crypto@3.3.0) + '@ton/crypto': 3.3.0 + axios: 1.7.8(debug@4.4.0) + dataloader: 2.2.3 + symbol.inspect: 1.0.1 + teslabot: 1.5.0 + zod: 3.23.8 + transitivePeerDependencies: + - debug + '@tootallnate/quickjs-emscripten@0.23.0': {} '@trysound/sax@0.2.0': {} @@ -25304,13 +25369,13 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ai@3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.11.0))(svelte@5.11.0)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8): + ai@3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@5.12.0))(svelte@5.12.0)(vue@3.5.13(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.11.0)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@5.12.0)(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) '@opentelemetry/api': 1.9.0 @@ -25322,8 +25387,8 @@ snapshots: optionalDependencies: openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) react: 18.3.1 - sswr: 2.1.0(svelte@5.11.0) - svelte: 5.11.0 + sswr: 2.1.0(svelte@5.12.0) + svelte: 5.12.0 zod: 3.23.8 transitivePeerDependencies: - solid-js @@ -25381,21 +25446,21 @@ snapshots: '@algolia/requester-node-http': 4.24.0 '@algolia/transporter': 4.24.0 - algoliasearch@5.17.0: - dependencies: - '@algolia/client-abtesting': 5.17.0 - '@algolia/client-analytics': 5.17.0 - '@algolia/client-common': 5.17.0 - '@algolia/client-insights': 5.17.0 - '@algolia/client-personalization': 5.17.0 - '@algolia/client-query-suggestions': 5.17.0 - '@algolia/client-search': 5.17.0 - '@algolia/ingestion': 1.17.0 - '@algolia/monitoring': 1.17.0 - '@algolia/recommend': 5.17.0 - '@algolia/requester-browser-xhr': 5.17.0 - '@algolia/requester-fetch': 5.17.0 - '@algolia/requester-node-http': 5.17.0 + algoliasearch@5.17.1: + dependencies: + '@algolia/client-abtesting': 5.17.1 + '@algolia/client-analytics': 5.17.1 + '@algolia/client-common': 5.17.1 + '@algolia/client-insights': 5.17.1 + '@algolia/client-personalization': 5.17.1 + '@algolia/client-query-suggestions': 5.17.1 + '@algolia/client-search': 5.17.1 + '@algolia/ingestion': 1.17.1 + '@algolia/monitoring': 1.17.1 + '@algolia/recommend': 5.17.1 + '@algolia/requester-browser-xhr': 5.17.1 + '@algolia/requester-fetch': 5.17.1 + '@algolia/requester-node-http': 5.17.1 amp-message@0.1.2: dependencies: @@ -25576,7 +25641,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001687 + caniuse-lite: 1.0.30001688 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -25736,7 +25801,7 @@ snapshots: dependencies: bare-events: 2.5.0 bare-path: 2.1.3 - bare-stream: 2.5.2 + bare-stream: 2.6.1 optional: true bare-os@2.4.4: @@ -25747,9 +25812,9 @@ snapshots: bare-os: 2.4.4 optional: true - bare-stream@2.5.2: + bare-stream@2.6.1: dependencies: - streamx: 2.21.0 + streamx: 2.21.1 optional: true base-x@3.0.10: @@ -25952,8 +26017,8 @@ snapshots: browserslist@4.24.2: dependencies: - caniuse-lite: 1.0.30001687 - electron-to-chromium: 1.5.72 + caniuse-lite: 1.0.30001688 + electron-to-chromium: 1.5.73 node-releases: 2.0.19 update-browserslist-db: 1.1.1(browserslist@4.24.2) @@ -26113,13 +26178,13 @@ snapshots: dependencies: call-bind-apply-helpers: 1.0.1 es-define-property: 1.0.1 - get-intrinsic: 1.2.5 + get-intrinsic: 1.2.6 set-function-length: 1.2.2 call-bound@1.0.2: dependencies: call-bind: 1.0.8 - get-intrinsic: 1.2.5 + get-intrinsic: 1.2.6 callsites@3.1.0: {} @@ -26152,11 +26217,11 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.24.2 - caniuse-lite: 1.0.30001687 + caniuse-lite: 1.0.30001688 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001687: {} + caniuse-lite@1.0.30001688: {} canvas@2.11.2(encoding@0.1.13): dependencies: @@ -26773,13 +26838,13 @@ snapshots: ripemd160: 2.0.2 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)): + create-jest@29.7.0(@types/node@20.17.9): 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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -27249,6 +27314,8 @@ snapshots: whatwg-mimetype: 4.0.0 whatwg-url: 14.1.0 + dataloader@2.2.3: {} + date-fns@2.30.0: dependencies: '@babel/runtime': 7.26.0 @@ -27673,7 +27740,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.72: {} + electron-to-chromium@1.5.73: {} elliptic@6.5.4: dependencies: @@ -27771,6 +27838,10 @@ snapshots: es-module-lexer@1.5.4: {} + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -28669,16 +28740,18 @@ snapshots: get-east-asian-width@1.3.0: {} - get-intrinsic@1.2.5: + get-intrinsic@1.2.6: dependencies: call-bind-apply-helpers: 1.0.1 dunder-proto: 1.0.0 es-define-property: 1.0.1 es-errors: 1.3.0 + es-object-atoms: 1.0.0 function-bind: 1.1.2 gopd: 1.2.0 has-symbols: 1.1.0 hasown: 2.0.2 + math-intrinsics: 1.0.0 get-nonce@1.0.1: {} @@ -29899,16 +29972,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@20.17.9): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + create-jest: 29.7.0(@types/node@20.17.9) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -29918,7 +29991,7 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@22.8.4): dependencies: '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) '@jest/test-result': 29.7.0 @@ -29937,36 +30010,24 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: - '@babel/core': 7.26.0 - '@jest/test-sequencer': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) + '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.26.0) chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 + create-jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@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(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.17.9 - ts-node: 10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3) + yargs: 17.7.2 transitivePeerDependencies: + - '@types/node' - babel-plugin-macros - supports-color + - ts-node jest-config@29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)): dependencies: @@ -30251,12 +30312,24 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)): + jest@29.7.0(@types/node@20.17.9): + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@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@20.17.9) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + + jest@29.7.0(@types/node@22.8.4): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + jest-cli: 29.7.0(@types/node@22.8.4) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -30440,6 +30513,8 @@ snapshots: json-schema: 0.4.0 verror: 1.10.0 + jssha@3.2.0: {} + just-diff-apply@5.5.0: {} just-diff@6.0.2: {} @@ -30508,7 +30583,7 @@ snapshots: js-tiktoken: 1.0.15 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.2.12(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) + langsmith: 0.2.13(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 @@ -30530,7 +30605,7 @@ snapshots: vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.0.8 - langsmith@0.2.12(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)): + langsmith@0.2.13(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)): dependencies: '@types/uuid': 10.0.0 commander: 10.0.1 @@ -30867,7 +30942,7 @@ snapshots: log-symbols@4.1.0: dependencies: - chalk: 4.1.0 + chalk: 4.1.2 is-unicode-supported: 0.1.0 log-symbols@6.0.0: @@ -31011,6 +31086,8 @@ snapshots: marked@13.0.3: {} + math-intrinsics@1.0.0: {} + md4w@0.2.6: {} md5.js@1.3.5: @@ -33626,7 +33703,7 @@ snapshots: postgres-range@1.1.4: {} - preact@10.25.1: {} + preact@10.25.2: {} prebuild-install@7.1.2: dependencies: @@ -34814,7 +34891,7 @@ snapshots: define-data-property: 1.1.4 es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.5 + get-intrinsic: 1.2.6 gopd: 1.2.0 has-property-descriptors: 1.0.2 @@ -34915,14 +34992,14 @@ snapshots: dependencies: call-bound: 1.0.2 es-errors: 1.3.0 - get-intrinsic: 1.2.5 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: call-bound: 1.0.2 es-errors: 1.3.0 - get-intrinsic: 1.2.5 + get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-map: 1.0.1 @@ -35184,9 +35261,9 @@ snapshots: dependencies: minipass: 7.1.2 - sswr@2.1.0(svelte@5.11.0): + sswr@2.1.0(svelte@5.12.0): dependencies: - svelte: 5.11.0 + svelte: 5.12.0 swrev: 4.0.0 stack-utils@2.0.6: @@ -35238,7 +35315,7 @@ snapshots: streamsearch@1.1.0: {} - streamx@2.21.0: + streamx@2.21.1: dependencies: fast-fifo: 1.3.2 queue-tick: 1.0.1 @@ -35389,7 +35466,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte@5.11.0: + svelte@5.12.0: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -35431,6 +35508,8 @@ snapshots: symbol-tree@3.2.4: {} + symbol.inspect@1.0.1: {} + system-architecture@0.1.0: {} systeminformation@5.23.5: {} @@ -35499,7 +35578,7 @@ snapshots: dependencies: b4a: 1.6.7 fast-fifo: 1.3.2 - streamx: 2.21.0 + streamx: 2.21.1 tar@6.2.1: dependencies: @@ -35553,6 +35632,8 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + teslabot@1.5.0: {} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -35640,15 +35721,15 @@ snapshots: tinyspy@3.0.2: {} - tldts-core@6.1.66: {} + tldts-core@6.1.67: {} - tldts-experimental@6.1.66: + tldts-experimental@6.1.67: dependencies: - tldts-core: 6.1.66 + tldts-core: 6.1.67 - tldts@6.1.66: + tldts@6.1.67: dependencies: - tldts-core: 6.1.66 + tldts-core: 6.1.67 tmp@0.0.33: dependencies: @@ -35705,7 +35786,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.66 + tldts: 6.1.67 tr46@0.0.3: {} @@ -35739,12 +35820,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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(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@20.17.9))(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@20.17.9)(ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3)) + jest: 29.7.0(@types/node@20.17.9) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -35779,27 +35860,6 @@ snapshots: ts-mixer@6.0.4: {} - ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@20.17.9)(typescript@5.6.3): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.9 - acorn: 8.14.0 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.6.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.10.1(@swc/helpers@0.5.15) - optional: true - ts-node@10.9.2(@swc/core@1.10.1(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -35907,6 +35967,8 @@ snapshots: tweetnacl@0.14.5: {} + tweetnacl@1.0.3: {} + twitter-api-v2@1.18.2: {} tx2@1.0.5: