From d31927a00ee0b3e686f9c82a7d4f7d60924bddc0 Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Thu, 20 Feb 2025 19:38:58 -0800 Subject: [PATCH 1/4] token address + staking instructions --- .env.example | 3 + characters/prosper.character.json | 2 +- clients/client-coinbase/src/index.ts | 45 + clients/client-coinbase/src/utils.ts | 1080 ++++++++++++++++++++++++ clients/client-coinbase/tsup.config.ts | 1 + pnpm-lock.yaml | 675 ++++++--------- 6 files changed, 1365 insertions(+), 441 deletions(-) create mode 100644 clients/client-coinbase/src/utils.ts diff --git a/.env.example b/.env.example index 17bdb3807..916c979a7 100644 --- a/.env.example +++ b/.env.example @@ -101,6 +101,9 @@ COINBASE_MASS_PAYMENTS_PAYMENT_ENABLED= # Enable this to run the mass payments p COINBASE_TRADE_PLUGIN_ENABLED= # Enable this to run the trade plugin COINBASE_TOKEN_CONTRACT_PLUGIN_ENABLED= # Enable this to run the token contract plugin COINBASE_ADVANCED_TRADE_PLUGIN_ENABLED= # Enable this to run the advanced trade plugin +COINBASE_TOKEN_ADDRESS_BASE= # Base token address +COINBASE_TOKEN_ADDRESS_SOL= # Sol token address +MORALIS_API_KEY= # Moralis API key # Github GITHUB_CLIENT_DISABLED=false # Enable this to disable the GitHub client diff --git a/characters/prosper.character.json b/characters/prosper.character.json index ac6fbef9a..f4b18c67e 100644 --- a/characters/prosper.character.json +++ b/characters/prosper.character.json @@ -1,7 +1,7 @@ { "name": "Prosper", "clients": ["coinbase", "twitter", "telegram"], - "username": "The Financial Strategist and Community Influencer", + "username": "Prosper", "modelProvider": "openai", "imageModelProvider": "openai", "knowledge": [ diff --git a/clients/client-coinbase/src/index.ts b/clients/client-coinbase/src/index.ts index a654ae5d3..de489bfce 100644 --- a/clients/client-coinbase/src/index.ts +++ b/clients/client-coinbase/src/index.ts @@ -35,6 +35,7 @@ import { blockExplorerBaseTxUrl, supportedTickers, } from "./types"; +import { calculateAPR, fetchTokenPrice } from "./utils"; export type { WebhookEvent }; @@ -57,6 +58,10 @@ export class CoinbaseClient implements Client { this.runtime.providers.push(balanceProvider); this.runtime.providers.push(addressProvider); this.runtime.providers.push(tradingSignalBackTestProvider); + this.runtime.providers.push(baseTokenAddressProvider); + this.runtime.providers.push(solTokenAddressProvider); + this.runtime.providers.push(stakingLiquidityPoolingProvider); + this.runtime.providers.push(currentPriceProvider); this.server = express(); this.port = Number(runtime.getSetting("COINBASE_WEBHOOK_PORT")) || 3001; this.wallets = []; @@ -781,4 +786,44 @@ export const tradingSignalBackTestProvider: Provider = { }, }; +const baseTokenAddressProvider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + return `BASE Token Address: ${runtime.getSetting("COINBASE_TOKEN_ADDRESS_BASE")}`; + }, +}; + +const solTokenAddressProvider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + return `SOL Token Address: ${runtime.getSetting("COINBASE_TOKEN_ADDRESS_SOL")}`; + }, +}; + +const stakingLiquidityPoolingProvider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + return `How to stake on BASE: + 1. Go to uniswap v2 (https://app.uniswap.org/positions/create/v2) and add liquidity to ${runtime.character.username.toUpperCase()} / ETH and receive the LP token + 2. Go to staking website (https://stakeprosper.com/) and stake your LP tokens and receive rewards + Notes you can claim rewards whenever and there is a 7 day lockup period for unstaking. + + How to pool on SOL: Go to raydium (https://raydium.io/liquidity-pools/?token=${runtime.getSetting("COINBASE_TOKEN_ADDRESS_SOL")}) and add liquidity to ${runtime.character.username.toUpperCase()} / ETH and receive rewards you can withdraw anytime`; + }, +}; + +const currentPriceProvider = { + get: async (_runtime: IAgentRuntime, _message: Memory) => { + // const priceOnBase = await fetchTokenPrice( + // runtime, + // runtime.getSetting("COINBASE_TOKEN_ADDRESS_BASE"), + // ); + // const aprOnBase = await calculateAPR( + // runtime.getSetting("COINBASE_TOKEN_ADDRESS_BASE"), + // ); + // return `Current price of ${runtime.character.name.toUpperCase} on Base is ${priceOnBase.current} and APR is ${aprOnBase}. + // `; + }, +}; + + + + export default CoinbaseClientInterface; diff --git a/clients/client-coinbase/src/utils.ts b/clients/client-coinbase/src/utils.ts new file mode 100644 index 000000000..9a4ea7645 --- /dev/null +++ b/clients/client-coinbase/src/utils.ts @@ -0,0 +1,1080 @@ +import { Contract, type Signer } from "ethers"; +import { JsonRpcProvider } from "ethers/providers"; +import { formatUnits } from "ethers/utils"; +import axios from "axios"; +import { elizaLogger, type IAgentRuntime } from "@elizaos/core"; + +// prosper +export const PROSPER_STAKING_CONTRACT_ADDRESS = + "0xdAdE4d372F57E325b34fB45fDf7bAaCBE6B760B5"; // staking contract prosper/eth lp +export const PROSPER_TOKEN_ADDRESS = + "0x8Ff64D734C614fEd508F6673CE65717Cc1d8B6c8"; // prosper +export const PROSPER_STAKING_TOKEN = + "0x75CBCa884c3cca9802a63D805c8b0f1C7110Ded7"; // prosper/eth lp +export const RSP_STAKING_CONTRACT_ADDRESS = + "0xb9EAfef078A903C16c269bD63A5F5D5636c4004C"; // staking contract rsp/eth lp +export const RSP_TOKEN_ADDRESS = "0x6F8097E84fdD24C482d1982416f85CF32De594F5"; // rsp +export const RSP_STAKING_TOKEN = "0x5131c2D2DdCBfdA5F5b5A7a9D5C173A99Eb36C5b"; // rsp/eth lp + +const ABI = [ + { + inputs: [ + { + internalType: "contract IERC20Metadata", + name: "_rewardToken", + type: "address", + }, + ], + name: "addRewardPool", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "adminWithdrawUnstakeFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "exit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_pid", + type: "uint256", + }, + { + internalType: "uint256", + name: "_reward", + type: "uint256", + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256", + }, + ], + name: "extendRewardPool", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "removeETH", + outputs: [ + { + internalType: "bool", + name: "status", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "newLockTime", + type: "uint256", + }, + ], + name: "setLockTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_stakingToken", + type: "address", + }, + { + internalType: "address", + name: "_treasury", + type: "address", + }, + { + internalType: "uint256", + name: "_stakingFee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_tokenFee", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "rescueTokens", + outputs: [ + { + internalType: "bool", + name: "status", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "rewardToken", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardAmount", + type: "uint256", + }, + ], + name: "RewardPaid", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "rewardPoolID", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "rewardTokenAddress", + type: "address", + }, + ], + name: "RewardPoolAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "rewardPoolID", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "rewardTokenAddress", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "oldRewardAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "newRewardAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "totalRewardAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardDuration", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardPeriodFinish", + type: "uint256", + }, + ], + name: "RewardPoolExtended", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "rewardPoolID", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "rewardTokenAddress", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardDuration", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardPeriodFinish", + type: "uint256", + }, + ], + name: "RewardPoolStarted", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "_treasury", + type: "address", + }, + ], + name: "setNewTreasury", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "stake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Staked", + type: "event", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_pid", + type: "uint256", + }, + { + internalType: "uint256", + name: "_reward", + type: "uint256", + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256", + }, + ], + name: "startRewardPool", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Withdrawn", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "addedRewardTokens", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "stakingFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "_pid", + type: "uint256", + }, + ], + name: "earned", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_pid", + type: "uint256", + }, + ], + name: "endTime", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_pid", + type: "uint256", + }, + ], + name: "lastTimeRewardsActive", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "lockTime", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "poolInfo", + outputs: [ + { + internalType: "contract IERC20Metadata", + name: "rewardToken", + type: "address", + }, + { + internalType: "uint256", + name: "rewardPoolID", + type: "uint256", + }, + { + internalType: "uint256", + name: "duration", + type: "uint256", + }, + { + internalType: "uint256", + name: "periodFinish", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "lastUpdateTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "rewardRate", + type: "uint256", + }, + { + internalType: "uint256", + name: "rewardPerTokenStored", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "poolLength", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [{ internalType: "uint256", name: "_pid", type: "uint256" }], + name: "rewardPerToken", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "rewardsInPool", + outputs: [ + { + internalType: "uint256", + name: "rewards", + type: "uint256", + }, + { + internalType: "uint256", + name: "userRewardPerTokenPaid", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "stakingToken", + outputs: [ + { + internalType: "contract IERC20Metadata", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "stakingTokenMultiplier", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "tokenFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "treasury", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "unstakeableTime", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "unstakeFee", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +export const getContract = (address: string, signer?: Signer) => { + try { + const rpcUrl = + "https://base-mainnet.infura.io/v3/f2ace3972c5d4c75bfd063d4016d423a"; + const provider = new JsonRpcProvider(rpcUrl); + elizaLogger.info("Getting contract for " + address); + elizaLogger.info("Signer: " + signer); + elizaLogger.info("Provider: " + provider); + return new Contract(address, ABI, signer || provider); + } catch (error) { + elizaLogger.error("Failed to get contract:", error); + throw error; + } +}; + +export const getTotalTokenStaked = async (token: "PROSPER" | "RSP") => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const totalSupply = await contract.totalSupply(); + console.log("Total Staked" + totalSupply); + return formatUnits(totalSupply, 18); +}; + +const cache = { + PROSPER: { price: null as number | null, timestamp: 0 }, + RSP: { price: null as number | null, timestamp: 0 }, +}; + +const CACHE_DURATION = 5 * 60 * 1000; // Cache duration in milliseconds (e.g., 5 minutes) +const MAX_RETRIES = 3; // Maximum number of retries +const RETRY_DELAY = 1000; // Delay between retries in milliseconds (e.g., 1 second) + +export const getLPPrice = async (token: "PROSPER" | "RSP") => { + const currentTime = Date.now(); + + // Check if the cached value is still valid + if ( + cache[token].price !== null && + currentTime - cache[token].timestamp < CACHE_DURATION + ) { + console.log("Returning cached price for", token + " " + cache[token].price); + return cache[token].price; + } + + const tokenAddress = + token === "PROSPER" ? PROSPER_TOKEN_ADDRESS : RSP_TOKEN_ADDRESS; + let response; + for (let attempt = 0; attempt < MAX_RETRIES; attempt++) { + try { + response = await axios.get(`/api/token_price?address=${tokenAddress}`); + break; // Exit loop if request is successful + } catch (error) { + console.error(`Attempt ${attempt + 1} failed:`, error); + if (attempt < MAX_RETRIES - 1) { + await new Promise((resolve) => setTimeout(resolve, RETRY_DELAY)); // Wait before retrying + } else { + throw new Error("Failed to fetch token price after multiple attempts"); + } + } + } + + if (!response) { + throw new Error("Failed to fetch token price after multiple attempts"); + } + + console.log("Response:" + JSON.stringify(response.data)); + + const totalLiquidityUSD = BigInt( + Math.floor( + Number.parseFloat(response.data.price.totalLiquidityUSD.toString()), + ), + ); + console.log("Total Liquidity USD:" + totalLiquidityUSD); + + const contract = getContract( + token === "PROSPER" ? PROSPER_STAKING_TOKEN : RSP_STAKING_TOKEN, + ); + let totalLPSupply = BigInt(await contract.totalSupply()); + console.log("Total Supply:" + totalLPSupply); + if (totalLPSupply === BigInt(0)) { + totalLPSupply = BigInt(9999999999999999999000n); + } + + // Calculate liquidity pool price as a floating-point number + const liquidityPoolPrice = Number(totalLiquidityUSD) / Number(totalLPSupply); + console.log("Token Price:", liquidityPoolPrice); + + // Update the cache + cache[token] = { price: liquidityPoolPrice, timestamp: currentTime }; + + return liquidityPoolPrice; // Return as a number +}; + +export const getTotalAmountStaked = async (token: "PROSPER" | "RSP") => { + const tokenPrice = await getLPPrice(token); + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const totalSupply = BigInt(await contract.totalSupply()); + + // if (totalSupply === BigInt(0)) { + // totalSupply = BigInt(9999999999999999999000); + // } + console.log("Total Supply: " + totalSupply); + + // Calculate total staked USD using number arithmetic + const totalStakedUSD = Number(totalSupply) * tokenPrice; + + console.log("Total Staked USD" + totalStakedUSD); + console.log("Token Price " + tokenPrice); + + return totalStakedUSD.toFixed(4); // Return as a formatted string +}; + +export const getUserStaked = async ( + userWallet: string, + token: "PROSPER" | "RSP", +) => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const balance = await contract.balanceOf(userWallet); + return formatUnits(balance, 18); +}; + +export const getAvailableRewards = async ( + userWallet: string, + token: "PROSPER" | "RSP", +) => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const rewards = await contract.earned(userWallet, 0); + return formatUnits(rewards, 18); +}; + +export const claimReward = async (signer: Signer, token: "PROSPER" | "RSP") => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + signer, + ); + const tx = await contract.getReward(); + await tx.wait(); +}; + +export const unstake = async (signer: Signer, token: "PROSPER" | "RSP") => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + signer, + ); + const tx = await contract.exit(); + await tx.wait(); +}; + +export const stake = async ( + signer: Signer, + amount: string, + token: "PROSPER" | "RSP", +) => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + signer, + ); + const tx = await contract.stake(amount); + await tx.wait(); +}; + +export const getAvailableToken = async ( + userWallet: string, + token: "PROSPER" | "RSP", +) => { + const rpcUrl = + "https://base-mainnet.infura.io/v3/f2ace3972c5d4c75bfd063d4016d423a"; + const provider = new JsonRpcProvider(rpcUrl); + const prosperContract = new Contract( + token === "PROSPER" ? PROSPER_STAKING_TOKEN : RSP_STAKING_TOKEN, + ABI, + provider, + ); // token being staked + const balance = await prosperContract.balanceOf(userWallet); + // console.log("AAAAA alance: " + balance, userWallet, token) + return formatUnits(balance, 18); +}; + +export const getRewardPerToken = async (token: "PROSPER" | "RSP") => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const rewardPerToken = await contract.rewardPerToken(0); // Assuming pool ID 0 + return formatUnits(rewardPerToken, 18); +}; + +export const getStakingTokenMultiplier = async (token: "PROSPER" | "RSP") => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const multiplier = await contract.stakingTokenMultiplier(); + return formatUnits(multiplier, 18); +}; + +export const calculateAPR = async (address: string) => { + const contract = getContract(address); + + // Fetch poolInfo and extract rewardRate + const poolInfo = await contract.poolInfo(0); + const rewardRate = BigInt(poolInfo[6].toString()); + console.log(`Reward Rate for ${address}:`, rewardRate.toString()); + + // Calculate rewards per year using rewardRate + const secondsInYear = BigInt(365 * 24 * 60 * 60); + const rewardPerYear = rewardRate * secondsInYear; + console.log(`Reward Per Year for ${address}:`, rewardPerYear.toString()); + + let totalSupply = BigInt((await contract.totalSupply()).toString()); + if (totalSupply === BigInt(0)) { + console.warn(`Total Supply for ${address} is zero, using default value.`); + // Use a safer default value to avoid precision loss + totalSupply = BigInt("9999999999999999999000"); + } + console.log(`Total Supply for ${address}:`, totalSupply.toString()); + + // Calculate APR + console.log("Reward Per Year:" + rewardPerYear.toString()); + const apr = (rewardPerYear / BigInt(totalSupply)) * BigInt(100); + console.log(`APR for ${address}:`, apr.toString()); + + return apr; +}; + +export const fetchUnstakeableTime = async ( + userWallet: string, + token: "PROSPER" | "RSP", +) => { + const contract = getContract( + token === "PROSPER" + ? PROSPER_STAKING_CONTRACT_ADDRESS + : RSP_STAKING_CONTRACT_ADDRESS, + ); + const unstakeableTime = await contract.unstakeableTime(userWallet); + return Number.parseInt(unstakeableTime.toString(), 10); +}; + +/** + * Formats a number to USD currency string + * @param {number} value - The number to format + * @returns {string} - Formatted currency string + */ +export function formatUSD(value: number): string { + return new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }).format(value); +} + +/** + * Safely converts a value to a number and handles formatting + * @param {any} value - The value to convert + * @param {number} decimals - Number of decimal places + * @returns {string} - Formatted number string + */ +export function safeNumberFormat(value: any, decimals = 2) { + const number = Number(value); + return Number.isNaN(number) ? "0.00" : number.toFixed(decimals); +} + +export const fetchTokenPrice = async ( + runtime: IAgentRuntime, + tokenAddress: string, + chainId = "0x2105", +) => { + if ( + runtime.getSetting("MORALIS_API_KEY") == null || + runtime.getSetting("MORALIS_API_KEY") === "" + ) { + elizaLogger.error("MORALIS_API_KEY is not set"); + throw new Error("MORALIS_API_KEY is not set"); + } + try { + // what about solana + const response = await axios.get( + `https://deep-index.moralis.io/api/v2/erc20/${tokenAddress}/price`, + { + params: { + chain: chainId, + include: "percent_change", + }, + headers: { + "X-API-Key": runtime.getSetting("MORALIS_API_KEY"), + }, + }, + ); + + const tokenPrice = Number(response.data.usdPrice) || 0; + const priceChange24h = Number(response.data["24hrPercentChange"]) || 0; + const totalLiquidityUSD = Number(response.data.pairTotalLiquidityUsd) || 0; + elizaLogger.info("Token Price: " + tokenPrice); + elizaLogger.info("Price Change 24h: " + priceChange24h); + elizaLogger.info("Total Liquidity USD: " + totalLiquidityUSD); + return { + current: tokenPrice, + change24h: priceChange24h, + totalLiquidityUSD: totalLiquidityUSD, + }; + } catch (error) { + console.error("Error fetching token price:", error); + throw error; + } +}; \ No newline at end of file diff --git a/clients/client-coinbase/tsup.config.ts b/clients/client-coinbase/tsup.config.ts index 87a4956fb..76bc1cc3a 100644 --- a/clients/client-coinbase/tsup.config.ts +++ b/clients/client-coinbase/tsup.config.ts @@ -44,6 +44,7 @@ export default defineConfig({ "advanced-sdk-ts", "jsonwebtoken", "whatwg-url", + "ethers", ], platform: "node", target: "node23", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f62f84f4..20dcf8d45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 1.9.4 '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) csv-parse: specifier: 5.6.0 version: 5.6.0 @@ -25,7 +25,7 @@ importers: version: 16.4.5 framer-motion: specifier: ^12.4.3 - version: 12.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 12.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) pg: specifier: ^8.13.3 version: 8.13.3 @@ -126,16 +126,16 @@ importers: version: 29.5.14 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + version: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3) + version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)))(typescript@5.7.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3) + version: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3) tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) clients/client-coinbase: dependencies: @@ -144,7 +144,7 @@ importers: version: 0.15.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.23.8) '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@realityspiral/plugin-0x': specifier: workspace:* version: link:../../plugins/plugin-0x @@ -190,13 +190,13 @@ importers: version: 5.0.10 ts-jest: specifier: ^29.1.0 - version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)))(typescript@5.7.3) + version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)))(typescript@5.7.3) ts-node: specifier: ^10.9.1 version: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3) tsup: specifier: ^8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) typescript: specifier: ^5.0.0 version: 5.7.3 @@ -208,13 +208,13 @@ importers: version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@elizaos/plugin-image-generation': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(encoding@0.1.13)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(encoding@0.1.13)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0) '@elizaos/plugin-tee-log': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) '@elizaos/plugin-tee-verifiable-log': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) '@realityspiral/client-coinbase': specifier: workspace:* version: link:../client-coinbase @@ -269,13 +269,13 @@ importers: version: 8.11.11 tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) clients/client-github: dependencies: '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@octokit/rest': specifier: 20.1.1 version: 20.1.1 @@ -300,7 +300,7 @@ importers: version: 8.1.0 tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) vitest: specifier: ^1.2.1 version: 1.6.1(@types/node@22.13.4) @@ -312,7 +312,7 @@ importers: version: 2.1.1(@types/express@5.0.0)(@types/node@20.17.19)(encoding@0.1.13) '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) viem: specifier: 2.21.58 version: 2.21.58(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.23.8) @@ -331,7 +331,7 @@ importers: version: 20.17.19 tsup: specifier: ^8.0.1 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) vitest: specifier: ^2.1.5 version: 2.1.9(@types/node@20.17.19) @@ -343,7 +343,7 @@ importers: version: 0.15.0(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.23.8) '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@realityspiral/plugin-email': specifier: workspace:^ version: link:../plugin-email @@ -371,7 +371,7 @@ importers: version: 20.17.19 tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) vitest: specifier: ^1.0.0 version: 1.6.1(@types/node@20.17.19) @@ -380,10 +380,10 @@ importers: dependencies: '@elizaos/adapter-postgres': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) mail-notifier: specifier: ^0.5.0 version: 0.5.0 @@ -411,16 +411,16 @@ importers: version: 6.4.17 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.19) + version: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@20.17.19))(typescript@5.7.3) + version: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3) ts-jest-mock-import-meta: specifier: ^1.2.1 - version: 1.2.1(ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@20.17.19))(typescript@5.7.3)) + version: 1.2.1(ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3)) tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) typescript: specifier: ^5.0.0 version: 5.7.3 @@ -429,7 +429,7 @@ importers: dependencies: '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@octokit/graphql': specifier: 8.2.0 version: 8.2.0 @@ -466,22 +466,22 @@ importers: version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.13.0(jiti@1.21.7)))(eslint@9.13.0(jiti@1.21.7))(prettier@3.5.1) eslint-plugin-vitest: specifier: 0.5.4 - version: 0.5.4(eslint@9.13.0(jiti@1.21.7))(typescript@5.7.3)(vitest@2.1.9(@types/node@20.17.19)) + version: 0.5.4(eslint@9.13.0(jiti@1.21.7))(typescript@5.7.3)(vitest@1.6.1(@types/node@20.17.19)) tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) plugins/plugin-twitter: dependencies: '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) agent-twitter-client: specifier: 0.0.18 version: 0.0.18(bufferutil@4.0.9)(utf-8-validate@5.0.10) tsup: specifier: 8.3.5 - version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + version: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) devDependencies: '@biomejs/biome': specifier: 1.5.3 @@ -494,7 +494,7 @@ importers: dependencies: '@elizaos/core': specifier: ^0.1.9 - version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + version: 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@radix-ui/react-avatar': specifier: ^1.1.2 version: 1.1.3(@types/react-dom@19.0.4(@types/react@19.0.10))(@types/react@19.0.10)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -527,7 +527,7 @@ importers: version: 9.7.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tanstack/react-query': specifier: ^5.63.0 - version: 5.66.7(react@19.0.0) + version: 5.66.8(react@19.0.0) '@uidotdev/usehooks': specifier: ^2.4.1 version: 2.4.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -542,7 +542,7 @@ importers: version: 1.11.13 framer-motion: specifier: ^12.4.3 - version: 12.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 12.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0) lucide-react: specifier: ^0.469.0 version: 0.469.0(react@19.0.0) @@ -600,16 +600,16 @@ importers: version: 3.8.0(@swc/helpers@0.5.15)(vite@6.1.1(@types/node@22.13.4)(jiti@1.21.7)(yaml@2.7.0)) autoprefixer: specifier: ^10.4.19 - version: 10.4.20(postcss@8.5.2) + version: 10.4.20(postcss@8.5.3) eslint: specifier: ^9.17.0 version: 9.20.1(jiti@1.21.7) eslint-import-resolver-typescript: specifier: ^3.6.1 - version: 3.8.2(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)) + version: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)) eslint-plugin-import: specifier: ^2.28.1 - version: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.2)(eslint@9.20.1(jiti@1.21.7)) + version: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.20.1(jiti@1.21.7)) eslint-plugin-jsx-a11y: specifier: ^6.7.1 version: 6.10.2(eslint@9.20.1(jiti@1.21.7)) @@ -627,7 +627,7 @@ importers: version: 15.15.0 postcss: specifier: ^8.4.38 - version: 8.5.2 + version: 8.5.3 rollup-plugin-visualizer: specifier: ^5.14.0 version: 5.14.0(rollup@4.34.8) @@ -753,8 +753,8 @@ packages: zod: optional: true - '@ai-sdk/provider-utils@2.1.2': - resolution: {integrity: sha512-ezpQT6kzy/2O4yyn/2YigMqynBYjZIOam3/EMNVzju+Ogj+Z+pf27c/Th78ce0A2ltgrXx6xN14sal/HHZNOOw==} + '@ai-sdk/provider-utils@2.1.0': + resolution: {integrity: sha512-rBUabNoyB25PBUjaiMSk86fHNSCqTngNZVvXxv8+6mvw47JX5OexW+ZHRsEw8XKTE8+hqvNFVzctaOrRZ2i9Zw==} engines: {node: '>=18'} peerDependencies: zod: ^3.0.0 @@ -778,10 +778,6 @@ packages: resolution: {integrity: sha512-lJi5zwDosvvZER3e/pB8lj1MN3o3S7zJliQq56BRr4e9V3fcRyFtwP0JRxaRS5vHYX3OJ154VezVoQNrk0eaKw==} engines: {node: '>=18'} - '@ai-sdk/provider@1.0.6': - resolution: {integrity: sha512-hwj/gFNxpDgEfTaYzCYoslmw01IY9kWLKl/wf8xuPvHtQIzlfXWmmUwc8PnCwxyt8cKzIuV0dfUghCf68HQ0SA==} - engines: {node: '>=18'} - '@ai-sdk/react@0.0.70': resolution: {integrity: sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==} engines: {node: '>=18'} @@ -1740,8 +1736,8 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.1': - resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + '@humanwhocodes/retry@0.4.2': + resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} '@img/sharp-darwin-arm64@0.33.5': @@ -2051,8 +2047,8 @@ packages: resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==} engines: {node: '>= 18'} - '@octokit/graphql@7.1.0': - resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} + '@octokit/graphql@7.1.1': + resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} engines: {node: '>= 18'} '@octokit/graphql@8.2.0': @@ -3061,8 +3057,8 @@ packages: '@tanstack/query-core@5.66.4': resolution: {integrity: sha512-skM/gzNX4shPkqmdTCSoHtJAPMTtmIJNS0hE+xwTTUVYwezArCT34NMermABmBVUg5Ls5aiUXEDXfqwR1oVkcA==} - '@tanstack/react-query@5.66.7': - resolution: {integrity: sha512-qd3q/tUpF2K1xItfPZddk1k/8pSXnovg41XyCqJgPoyYEirMBtB0sVEVVQ/CsAOngzgWtBPXimVf4q4kM9uO6A==} + '@tanstack/react-query@5.66.8': + resolution: {integrity: sha512-LqYHYArmM7ycyT1I/Txc/n6KzI8S/hBFw2SQ9Uj1GpbZ89AvZLEvetquiQEHkZ5rFEm+iVNpZ6zYjTiPmJ9N5Q==} peerDependencies: react: ^18 || ^19 @@ -4526,8 +4522,8 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-import-resolver-typescript@3.8.2: - resolution: {integrity: sha512-o0nvXxsatYCDTzI1K5b3aYGQ6PjpDGJEVN86zqJw5SEewhmmggfRTotd2dqWr2t2zbeYpIEWGTCkgtUpIEIcaQ==} + eslint-import-resolver-typescript@3.8.3: + resolution: {integrity: sha512-A0bu4Ks2QqDWNpeEgTQMPTngaMhuDu4yv6xpftBMAf+1ziXnpx+eSR1WRfoPTe2BAiAjHFZ7kSNx1fvr5g5pmQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -4903,8 +4899,8 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@12.4.4: - resolution: {integrity: sha512-JWkVwbJBgVkeZHNcnk8ififgwTF+5de9wbJnTLI+g9YqaGo75Xd5uRVDm9FR8chqRDOKcXv/71f40CGescYVmg==} + framer-motion@12.4.7: + resolution: {integrity: sha512-VhrcbtcAMXfxlrjeHPpWVu2+mkcoR31e02aNSR7OUS/hZAciKa8q6o3YN2mA1h+jjscRsSyKvX6E1CiY/7OLMw==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -6010,8 +6006,8 @@ packages: mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - motion-dom@12.4.4: - resolution: {integrity: sha512-D8Kjp8oqUNqxoAVmIlOH+YCMov/4koBAmG4OJs0VWfh18xkQEIsx9+S7yrXyx0XaMBEPtre6e9LiSW2Zs7vIhA==} + motion-dom@12.4.5: + resolution: {integrity: sha512-Q2xmhuyYug1CGTo0jdsL05EQ4RhIYXlggFS/yPhQQRNzbrhjKQ1tbjThx5Plv68aX31LsUQRq4uIkuDxdO5vRQ==} motion-utils@12.0.0: resolution: {integrity: sha512-MNFiBKbbqnmvOjkPyOKgHUp3Q6oiokLkI1bEwm5QA28cxMZrv0CbbBGDNmhF6DIXsi1pCQBSs0dX8xjeER1tmA==} @@ -6236,8 +6232,8 @@ packages: zod: optional: true - openai@4.85.2: - resolution: {integrity: sha512-ZQg3Q+K4A6M9dLFh5W36paZkZBQO+VbxMNJ1gUSyHsGiEWuXahdn02ermqNV68LhWQxdJQaWUFRAYpW/suTPWQ==} + openai@4.85.3: + resolution: {integrity: sha512-KTMXAK6FPd2IvsPtglMt0J1GyVrjMxCYzu/mVbCPabzzquSJoZlYpHtE0p0ScZPyt11XTc757xSO4j39j5g+Xw==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -6540,8 +6536,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.2: - resolution: {integrity: sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -7189,8 +7185,8 @@ packages: strip-literal@2.1.1: resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + strnum@1.1.0: + resolution: {integrity: sha512-a4NGarQIHRhvr+k8VXaHg6TMU6f3YEmi5CAb6RYgX2gwbGDBNMbr6coC6g0wmif5dLjHtmHUVD/qOxPq7D0tnQ==} sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} @@ -7325,8 +7321,8 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.11: - resolution: {integrity: sha512-32TmKeeKUahv0Go8WmQgiEp9Y21NuxjwjqiRC1nrUB51YacfSwuB44xgXD+HdIppmMRgjQNPdrHyA6vIybYZ+g==} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} engines: {node: '>=12.0.0'} tinyld@1.3.4: @@ -8104,8 +8100,8 @@ packages: zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - zod-to-json-schema@3.24.1: - resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + zod-to-json-schema@3.24.2: + resolution: {integrity: sha512-pNUqrcSxuuB3/+jBbU8qKUbTbDqYUaG1vf5cXFjbhGgoUuA1amO/y4Q8lzfOhHU8HNPK6VFJ18lBDKj3OHyDsg==} peerDependencies: zod: ^3.24.1 @@ -8172,8 +8168,8 @@ snapshots: '@ai-sdk/amazon-bedrock@1.1.0(zod@3.23.8)': dependencies: - '@ai-sdk/provider': 1.0.6 - '@ai-sdk/provider-utils': 2.1.2(zod@3.23.8) + '@ai-sdk/provider': 1.0.4 + '@ai-sdk/provider-utils': 2.1.0(zod@3.23.8) '@aws-sdk/client-bedrock-runtime': 3.751.0 zod: 3.23.8 transitivePeerDependencies: @@ -8252,9 +8248,9 @@ snapshots: optionalDependencies: zod: 3.23.8 - '@ai-sdk/provider-utils@2.1.2(zod@3.23.8)': + '@ai-sdk/provider-utils@2.1.0(zod@3.23.8)': dependencies: - '@ai-sdk/provider': 1.0.6 + '@ai-sdk/provider': 1.0.4 eventsource-parser: 3.0.0 nanoid: 3.3.8 secure-json-parse: 2.7.0 @@ -8277,10 +8273,6 @@ snapshots: dependencies: json-schema: 0.4.0 - '@ai-sdk/provider@1.0.6': - dependencies: - json-schema: 0.4.0 - '@ai-sdk/react@0.0.70(react@19.0.0)(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) @@ -8314,7 +8306,7 @@ snapshots: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) json-schema: 0.4.0 secure-json-parse: 2.7.0 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) optionalDependencies: zod: 3.23.8 @@ -9110,9 +9102,9 @@ snapshots: - bufferutil - utf-8-validate - '@elizaos/adapter-postgres@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@elizaos/adapter-postgres@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@types/pg': 8.11.10 pg: 8.13.1 transitivePeerDependencies: @@ -9279,7 +9271,7 @@ snapshots: - vue - ws - '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@ai-sdk/amazon-bedrock': 1.1.0(zod@3.23.8) '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) @@ -9291,65 +9283,7 @@ snapshots: '@fal-ai/client': 1.2.0 '@tavily/core': 0.0.2 '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(zod@3.23.8) - anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8) - dotenv: 16.4.5 - fastembed: 1.14.1 - fastestsmallesttextencoderdecoder: 1.0.22 - gaxios: 6.7.1(encoding@0.1.13) - glob: 11.0.0 - handlebars: 4.7.8 - js-sha1: 0.7.0 - js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ollama-ai-provider: 0.16.1(zod@3.23.8) - openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) - pino: 9.6.0 - pino-pretty: 13.0.0 - tinyld: 1.3.4 - together-ai: 0.7.0(encoding@0.1.13) - unique-names-generator: 4.7.1 - uuid: 11.0.3 - zod: 3.23.8 - transitivePeerDependencies: - - '@google-cloud/vertexai' - - '@langchain/anthropic' - - '@langchain/aws' - - '@langchain/cohere' - - '@langchain/core' - - '@langchain/google-genai' - - '@langchain/google-vertexai' - - '@langchain/groq' - - '@langchain/mistralai' - - '@langchain/ollama' - - aws-crt - - axios - - cheerio - - debug - - encoding - - peggy - - react - - solid-js - - sswr - - supports-color - - svelte - - typeorm - - vue - - ws - - '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': - dependencies: - '@ai-sdk/amazon-bedrock': 1.1.0(zod@3.23.8) - '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) - '@ai-sdk/google': 0.0.55(zod@3.23.8) - '@ai-sdk/google-vertex': 0.0.43(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(zod@3.23.8) - '@ai-sdk/groq': 0.0.3(zod@3.23.8) - '@ai-sdk/mistral': 1.0.9(zod@3.23.8) - '@ai-sdk/openai': 1.0.5(zod@3.23.8) - '@fal-ai/client': 1.2.0 - '@tavily/core': 0.0.2 - '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(zod@3.23.8) + ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8) dotenv: 16.4.5 fastembed: 1.14.1 @@ -9395,7 +9329,7 @@ snapshots: - vue - ws - '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@ai-sdk/amazon-bedrock': 1.1.0(zod@3.23.8) '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) @@ -9417,65 +9351,7 @@ snapshots: handlebars: 4.7.8 js-sha1: 0.7.0 js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ollama-ai-provider: 0.16.1(zod@3.23.8) - openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) - pino: 9.6.0 - pino-pretty: 13.0.0 - tinyld: 1.3.4 - together-ai: 0.7.0(encoding@0.1.13) - unique-names-generator: 4.7.1 - uuid: 11.0.3 - zod: 3.23.8 - transitivePeerDependencies: - - '@google-cloud/vertexai' - - '@langchain/anthropic' - - '@langchain/aws' - - '@langchain/cohere' - - '@langchain/core' - - '@langchain/google-genai' - - '@langchain/google-vertexai' - - '@langchain/groq' - - '@langchain/mistralai' - - '@langchain/ollama' - - aws-crt - - axios - - cheerio - - debug - - encoding - - peggy - - react - - solid-js - - sswr - - supports-color - - svelte - - typeorm - - vue - - ws - - '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': - dependencies: - '@ai-sdk/amazon-bedrock': 1.1.0(zod@3.23.8) - '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) - '@ai-sdk/google': 0.0.55(zod@3.23.8) - '@ai-sdk/google-vertex': 0.0.43(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(zod@3.23.8) - '@ai-sdk/groq': 0.0.3(zod@3.23.8) - '@ai-sdk/mistral': 1.0.9(zod@3.23.8) - '@ai-sdk/openai': 1.0.5(zod@3.23.8) - '@fal-ai/client': 1.2.0 - '@tavily/core': 0.0.2 - '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.6.3))(zod@3.23.8) - anthropic-vertex-ai: 1.0.2(encoding@0.1.13)(zod@3.23.8) - dotenv: 16.4.5 - fastembed: 1.14.1 - fastestsmallesttextencoderdecoder: 1.0.22 - gaxios: 6.7.1(encoding@0.1.13) - glob: 11.0.0 - handlebars: 4.7.8 - js-sha1: 0.7.0 - js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + langchain: 0.3.6(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) ollama-ai-provider: 0.16.1(zod@3.23.8) openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) pino: 9.6.0 @@ -9511,7 +9387,7 @@ snapshots: - vue - ws - '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + '@elizaos/core@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@ai-sdk/amazon-bedrock': 1.1.0(zod@3.23.8) '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) @@ -9533,7 +9409,7 @@ snapshots: handlebars: 4.7.8 js-sha1: 0.7.0 js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + langchain: 0.3.6(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) ollama-ai-provider: 0.16.1(zod@3.23.8) openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) pino: 9.6.0 @@ -9602,10 +9478,10 @@ snapshots: - vue - ws - '@elizaos/plugin-image-generation@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(encoding@0.1.13)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)': + '@elizaos/plugin-image-generation@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(encoding@0.1.13)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)': dependencies: '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) whatwg-url: 7.1.0 transitivePeerDependencies: - '@google-cloud/vertexai' @@ -9669,11 +9545,11 @@ snapshots: - vue - ws - '@elizaos/plugin-tee-log@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': + '@elizaos/plugin-tee-log@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': dependencies: '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@elizaos/plugin-sgx': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@elizaos/plugin-tee': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) + '@elizaos/plugin-tee': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) better-sqlite3: 11.6.0 elliptic: 6.6.1 transitivePeerDependencies: @@ -9715,14 +9591,14 @@ snapshots: - yaml - zod - '@elizaos/plugin-tee-verifiable-log@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': + '@elizaos/plugin-tee-verifiable-log@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': dependencies: '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@elizaos/plugin-tee': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) + '@elizaos/plugin-tee': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8) dompurify: 3.2.2 elliptic: 6.6.1 ethereum-cryptography: 3.1.0 - tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) uuid: 11.0.3 vitest: 2.1.5(@types/node@22.13.4) whatwg-url: 7.1.0 @@ -9778,7 +9654,7 @@ snapshots: - yaml - zod - '@elizaos/plugin-tee@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.2)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': + '@elizaos/plugin-tee@0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(@swc/core@1.10.18(@swc/helpers@0.5.15))(axios@1.7.9)(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.7)(postcss@8.5.3)(react@19.0.0)(rollup@4.34.8)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(typescript@5.7.3)(utf-8-validate@5.0.10)(vue@3.5.13(typescript@5.7.3))(whatwg-url@7.1.0)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(yaml@2.7.0)(zod@3.23.8)': dependencies: '@elizaos/core': 0.1.9(@google-cloud/vertexai@1.9.3(encoding@0.1.13))(@langchain/core@0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(react@19.0.0)(sswr@2.1.0(svelte@5.20.2))(svelte@5.20.2)(vue@3.5.13(typescript@5.7.3))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@phala/dstack-sdk': 0.1.7(bufferutil@4.0.9)(typescript@5.7.3)(utf-8-validate@5.0.10)(zod@3.23.8) @@ -9788,7 +9664,7 @@ snapshots: bs58: 6.0.0 node-cache: 5.1.2 pumpdotfun-sdk: 1.3.2(bufferutil@4.0.9)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.34.8)(typescript@5.7.3)(utf-8-validate@5.0.10) - tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0) + tsup: 8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0) whatwg-url: 7.1.0 transitivePeerDependencies: - '@google-cloud/vertexai' @@ -10079,7 +9955,7 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.1': {} + '@humanwhocodes/retry@0.4.2': {} '@img/sharp-darwin-arm64@0.33.5': optionalDependencies: @@ -10197,7 +10073,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10211,7 +10087,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.19) + jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10232,7 +10108,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10246,7 +10122,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)) + jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10267,7 +10143,7 @@ snapshots: - supports-color - ts-node - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10281,7 +10157,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10465,41 +10341,7 @@ snapshots: p-retry: 4.6.2 uuid: 10.0.0 zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - transitivePeerDependencies: - - openai - - '@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8))': - dependencies: - '@cfworker/json-schema': 4.1.1 - ansi-styles: 5.2.0 - camelcase: 6.3.0 - decamelize: 1.2.0 - js-tiktoken: 1.0.19 - langsmith: 0.3.10(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - mustache: 4.2.0 - p-queue: 6.6.2 - p-retry: 4.6.2 - uuid: 10.0.0 - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - transitivePeerDependencies: - - openai - - '@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8))': - dependencies: - '@cfworker/json-schema': 4.1.1 - ansi-styles: 5.2.0 - camelcase: 6.3.0 - decamelize: 1.2.0 - js-tiktoken: 1.0.19 - langsmith: 0.3.10(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - mustache: 4.2.0 - p-queue: 6.6.2 - p-retry: 4.6.2 - uuid: 10.0.0 - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) transitivePeerDependencies: - openai @@ -10507,9 +10349,9 @@ snapshots: dependencies: '@langchain/core': 0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) js-tiktoken: 1.0.15 - openai: 4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) + openai: 4.85.3(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) transitivePeerDependencies: - encoding - ws @@ -10518,31 +10360,9 @@ snapshots: dependencies: '@langchain/core': 0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) js-tiktoken: 1.0.15 - openai: 4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - transitivePeerDependencies: - - encoding - - ws - - '@langchain/openai@0.3.17(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))': - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - js-tiktoken: 1.0.15 - openai: 4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) + openai: 4.85.3(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - transitivePeerDependencies: - - encoding - - ws - - '@langchain/openai@0.3.17(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))': - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - js-tiktoken: 1.0.15 - openai: 4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) transitivePeerDependencies: - encoding - ws @@ -10552,16 +10372,6 @@ snapshots: '@langchain/core': 0.3.40(openai@4.73.0(encoding@0.1.13)(zod@3.23.8)) js-tiktoken: 1.0.15 - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))': - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - js-tiktoken: 1.0.15 - - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))': - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - js-tiktoken: 1.0.15 - '@msgpack/msgpack@3.0.1': {} '@noble/ciphers@1.2.1': {} @@ -10605,7 +10415,7 @@ snapshots: '@octokit/core@5.2.0': dependencies: '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.1.0 + '@octokit/graphql': 7.1.1 '@octokit/request': 8.4.1 '@octokit/request-error': 5.1.1 '@octokit/types': 13.8.0 @@ -10622,7 +10432,7 @@ snapshots: '@octokit/types': 13.8.0 universal-user-agent: 6.0.1 - '@octokit/graphql@7.1.0': + '@octokit/graphql@7.1.1': dependencies: '@octokit/request': 8.4.1 '@octokit/types': 13.8.0 @@ -11755,7 +11565,7 @@ snapshots: '@tanstack/query-core@5.66.4': {} - '@tanstack/react-query@5.66.7(react@19.0.0)': + '@tanstack/react-query@5.66.8(react@19.0.0)': dependencies: '@tanstack/query-core': 5.66.4 react: 19.0.0 @@ -12280,7 +12090,7 @@ snapshots: '@vue/shared': 3.5.13 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.2 + postcss: 8.5.3 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.13': @@ -12402,7 +12212,7 @@ snapshots: json-schema: 0.4.0 jsondiffpatch: 0.6.0 secure-json-parse: 2.7.0 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) optionalDependencies: openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) react: 19.0.0 @@ -12427,7 +12237,7 @@ snapshots: json-schema: 0.4.0 jsondiffpatch: 0.6.0 secure-json-parse: 2.7.0 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) optionalDependencies: openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) react: 19.0.0 @@ -12586,14 +12396,14 @@ snapshots: atomic-sleep@1.0.0: {} - autoprefixer@10.4.20(postcss@8.5.2): + autoprefixer@10.4.20(postcss@8.5.3): dependencies: browserslist: 4.24.4 caniuse-lite: 1.0.30001700 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.2 + postcss: 8.5.3 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -13105,13 +12915,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.17.19): + create-jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.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@20.17.19) + jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13120,13 +12930,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): + create-jest@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.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@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + jest-config: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13578,7 +13388,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.8.2(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)): + eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0 @@ -13587,24 +13397,24 @@ snapshots: get-tsconfig: 4.10.0 is-bun-module: 1.3.0 stable-hash: 0.0.4 - tinyglobby: 0.2.11 + tinyglobby: 0.2.12 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.2)(eslint@9.20.1(jiti@1.21.7)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.20.1(jiti@1.21.7)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.2)(eslint@9.20.1(jiti@1.21.7)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3) eslint: 9.20.1(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.8.2(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)) + eslint-import-resolver-typescript: 3.8.3(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.2)(eslint@9.20.1(jiti@1.21.7)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-typescript@3.8.3)(eslint@9.20.1(jiti@1.21.7)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -13615,7 +13425,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.20.1(jiti@1.21.7) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.2)(eslint@9.20.1(jiti@1.21.7)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.24.1(eslint@9.20.1(jiti@1.21.7))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.8.3(eslint-plugin-import@2.31.0)(eslint@9.20.1(jiti@1.21.7)))(eslint@9.20.1(jiti@1.21.7)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -13691,12 +13501,12 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-vitest@0.5.4(eslint@9.13.0(jiti@1.21.7))(typescript@5.7.3)(vitest@2.1.9(@types/node@20.17.19)): + eslint-plugin-vitest@0.5.4(eslint@9.13.0(jiti@1.21.7))(typescript@5.7.3)(vitest@1.6.1(@types/node@20.17.19)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@9.13.0(jiti@1.21.7))(typescript@5.7.3) eslint: 9.13.0(jiti@1.21.7) optionalDependencies: - vitest: 2.1.9(@types/node@20.17.19) + vitest: 1.6.1(@types/node@20.17.19) transitivePeerDependencies: - supports-color - typescript @@ -13763,7 +13573,7 @@ snapshots: '@eslint/plugin-kit': 0.2.6 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.1 + '@humanwhocodes/retry': 0.4.2 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -14012,7 +13822,7 @@ snapshots: fast-xml-parser@4.4.1: dependencies: - strnum: 1.0.5 + strnum: 1.1.0 fastembed@1.14.1: dependencies: @@ -14116,9 +13926,9 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@12.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + framer-motion@12.4.7(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - motion-dom: 12.4.4 + motion-dom: 12.4.5 motion-utils: 12.0.0 tslib: 2.8.1 optionalDependencies: @@ -14768,16 +14578,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.17.19): + jest-cli@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.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.19) + create-jest: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.19) + jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -14787,16 +14597,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): + jest-cli@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.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.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + create-jest: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + jest-config: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -14837,7 +14647,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.19): + jest-config@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)): dependencies: '@babel/core': 7.26.9 '@jest/test-sequencer': 29.7.0 @@ -14863,11 +14673,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.17.19 + ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)): + jest-config@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): dependencies: '@babel/core': 7.26.9 '@jest/test-sequencer': 29.7.0 @@ -14893,12 +14704,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.17.19 - ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3) + ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): + jest-config@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)): dependencies: '@babel/core': 7.26.9 '@jest/test-sequencer': 29.7.0 @@ -14924,7 +14735,38 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.17.19 - ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3) + ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)): + dependencies: + '@babel/core': 7.26.9 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + babel-jest: 29.7.0(@babel/core@7.26.9) + 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 + 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': 22.13.4 + ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -15156,24 +14998,24 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@20.17.19): + jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0 + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.19) + jest-cli: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)): + jest@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + jest-cli: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -15329,7 +15171,7 @@ snapshots: uuid: 10.0.0 yaml: 2.7.0 zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) optionalDependencies: axios: 1.7.9 handlebars: 4.7.8 @@ -15352,53 +15194,7 @@ snapshots: uuid: 10.0.0 yaml: 2.7.0 zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - optionalDependencies: - axios: 1.7.9 - handlebars: 4.7.8 - transitivePeerDependencies: - - encoding - - openai - - ws - - langchain@0.3.6(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - '@langchain/openai': 0.3.17(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8))) - js-tiktoken: 1.0.15 - js-yaml: 4.1.0 - jsonpointer: 5.0.1 - langsmith: 0.2.15(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 - yaml: 2.7.0 - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) - optionalDependencies: - axios: 1.7.9 - handlebars: 4.7.8 - transitivePeerDependencies: - - encoding - - openai - - ws - - langchain@0.3.6(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(axios@1.7.9)(encoding@0.1.13)(handlebars@4.7.8)(openai@4.73.0(encoding@0.1.13)(zod@3.23.8))(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): - dependencies: - '@langchain/core': 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)) - '@langchain/openai': 0.3.17(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)))(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8))) - js-tiktoken: 1.0.15 - js-yaml: 4.1.0 - jsonpointer: 5.0.1 - langsmith: 0.2.15(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 - yaml: 2.7.0 - zod: 3.23.8 - zod-to-json-schema: 3.24.1(zod@3.23.8) + zod-to-json-schema: 3.24.2(zod@3.23.8) optionalDependencies: axios: 1.7.9 handlebars: 4.7.8 @@ -15430,30 +15226,6 @@ snapshots: optionalDependencies: openai: 4.73.0(encoding@0.1.13)(zod@3.23.8) - langsmith@0.3.10(openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)): - dependencies: - '@types/uuid': 10.0.0 - chalk: 4.1.2 - console-table-printer: 2.12.1 - p-queue: 6.6.2 - p-retry: 4.6.2 - semver: 7.7.1 - uuid: 10.0.0 - optionalDependencies: - openai: 4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) - - langsmith@0.3.10(openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8)): - dependencies: - '@types/uuid': 10.0.0 - chalk: 4.1.2 - console-table-printer: 2.12.1 - p-queue: 6.6.2 - p-retry: 4.6.2 - semver: 7.7.1 - uuid: 10.0.0 - optionalDependencies: - openai: 4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8) - language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -15672,7 +15444,7 @@ snapshots: pkg-types: 1.3.1 ufo: 1.5.4 - motion-dom@12.4.4: + motion-dom@12.4.5: dependencies: motion-utils: 12.0.0 @@ -15896,7 +15668,7 @@ snapshots: transitivePeerDependencies: - encoding - openai@4.85.2(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8): + openai@4.85.3(encoding@0.1.13)(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8): dependencies: '@types/node': 18.19.76 '@types/node-fetch': 2.6.12 @@ -15911,7 +15683,7 @@ snapshots: transitivePeerDependencies: - encoding - openai@4.85.2(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8): + openai@4.85.3(encoding@0.1.13)(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.23.8): dependencies: '@types/node': 18.19.76 '@types/node-fetch': 2.6.12 @@ -16181,37 +15953,37 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-import@15.1.0(postcss@8.5.2): + postcss-import@15.1.0(postcss@8.5.3): dependencies: - postcss: 8.5.2 + postcss: 8.5.3 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.10 - postcss-js@4.0.1(postcss@8.5.2): + postcss-js@4.0.1(postcss@8.5.3): dependencies: camelcase-css: 2.0.1 - postcss: 8.5.2 + postcss: 8.5.3 - postcss-load-config@4.0.2(postcss@8.5.2)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3)): + postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3)): dependencies: lilconfig: 3.1.3 yaml: 2.7.0 optionalDependencies: - postcss: 8.5.2 + postcss: 8.5.3 ts-node: 10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3) - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.2)(yaml@2.7.0): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.3)(yaml@2.7.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 1.21.7 - postcss: 8.5.2 + postcss: 8.5.3 yaml: 2.7.0 - postcss-nested@6.2.0(postcss@8.5.2): + postcss-nested@6.2.0(postcss@8.5.3): dependencies: - postcss: 8.5.2 + postcss: 8.5.3 postcss-selector-parser: 6.1.2 postcss-selector-parser@6.1.2: @@ -16221,7 +15993,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.5.2: + postcss@8.5.3: dependencies: nanoid: 3.3.8 picocolors: 1.1.1 @@ -16962,7 +16734,7 @@ snapshots: dependencies: js-tokens: 9.0.1 - strnum@1.0.5: {} + strnum@1.1.0: {} sucrase@3.35.0: dependencies: @@ -17078,11 +16850,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.1.1 - postcss: 8.5.2 - postcss-import: 15.1.0(postcss@8.5.2) - postcss-js: 4.0.1(postcss@8.5.2) - postcss-load-config: 4.0.2(postcss@8.5.2)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3)) - postcss-nested: 6.2.0(postcss@8.5.2) + postcss: 8.5.3 + postcss-import: 15.1.0(postcss@8.5.3) + postcss-js: 4.0.1(postcss@8.5.3) + postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3)) + postcss-nested: 6.2.0(postcss@8.5.3) postcss-selector-parser: 6.1.2 resolve: 1.22.10 sucrase: 3.35.0 @@ -17159,7 +16931,7 @@ snapshots: tinyexec@0.3.2: {} - tinyglobby@0.2.11: + tinyglobby@0.2.12: dependencies: fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 @@ -17222,7 +16994,7 @@ snapshots: node-mocks-http: 1.16.2(@types/express@5.0.0)(@types/node@20.17.19) openapi-types: 12.1.3 zod: 3.22.4 - zod-to-json-schema: 3.24.1(zod@3.22.4) + zod-to-json-schema: 3.24.2(zod@3.22.4) transitivePeerDependencies: - '@types/express' - '@types/node' @@ -17237,16 +17009,16 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest-mock-import-meta@1.2.1(ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@20.17.19))(typescript@5.7.3)): + ts-jest-mock-import-meta@1.2.1(ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3)): dependencies: - ts-jest: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@20.17.19))(typescript@5.7.3) + ts-jest: 29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3) - ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3): + ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)))(typescript@5.7.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.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) + jest: 29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -17261,12 +17033,12 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.26.9) esbuild: 0.24.2 - ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)))(typescript@5.7.3): + ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)))(typescript@5.7.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.19.76)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@18.19.76)(typescript@5.7.3)) + jest: 29.7.0(@types/node@20.17.19)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@20.17.19)(typescript@5.7.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -17279,13 +17051,14 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.9) + esbuild: 0.24.2 - ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(jest@29.7.0(@types/node@20.17.19))(typescript@5.7.3): + ts-jest@29.2.5(@babel/core@7.26.9)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.9))(esbuild@0.24.2)(jest@29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)))(typescript@5.7.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.19) + jest: 29.7.0(@types/node@22.13.4)(ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -17298,6 +17071,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.9) + esbuild: 0.24.2 ts-mixer@6.0.4: {} @@ -17340,6 +17114,7 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.10.18(@swc/helpers@0.5.15) + optional: true ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.6.3): dependencies: @@ -17362,6 +17137,26 @@ snapshots: '@swc/core': 1.10.18(@swc/helpers@0.5.15) optional: true + ts-node@10.9.2(@swc/core@1.10.18(@swc/helpers@0.5.15))(@types/node@22.13.4)(typescript@5.7.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': 22.13.4 + 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.7.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.10.18(@swc/helpers@0.5.15) + tsconfck@3.1.5(typescript@5.6.3): optionalDependencies: typescript: 5.6.3 @@ -17377,7 +17172,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.2)(typescript@5.7.3)(yaml@2.7.0): + tsup@8.3.5(@swc/core@1.10.18(@swc/helpers@0.5.15))(jiti@1.21.7)(postcss@8.5.3)(typescript@5.7.3)(yaml@2.7.0): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 @@ -17387,17 +17182,17 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.2)(yaml@2.7.0) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.3)(yaml@2.7.0) resolve-from: 5.0.0 rollup: 4.34.8 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 - tinyglobby: 0.2.11 + tinyglobby: 0.2.12 tree-kill: 1.2.2 optionalDependencies: '@swc/core': 1.10.18(@swc/helpers@0.5.15) - postcss: 8.5.2 + postcss: 8.5.3 typescript: 5.7.3 transitivePeerDependencies: - jiti @@ -17731,7 +17526,7 @@ snapshots: vite@5.4.14(@types/node@20.17.19): dependencies: esbuild: 0.21.5 - postcss: 8.5.2 + postcss: 8.5.3 rollup: 4.34.8 optionalDependencies: '@types/node': 20.17.19 @@ -17740,7 +17535,7 @@ snapshots: vite@5.4.14(@types/node@22.13.4): dependencies: esbuild: 0.21.5 - postcss: 8.5.2 + postcss: 8.5.3 rollup: 4.34.8 optionalDependencies: '@types/node': 22.13.4 @@ -17749,7 +17544,7 @@ snapshots: vite@6.1.1(@types/node@22.13.4)(jiti@1.21.7)(yaml@2.7.0): dependencies: esbuild: 0.24.2 - postcss: 8.5.2 + postcss: 8.5.3 rollup: 4.34.8 optionalDependencies: '@types/node': 22.13.4 @@ -18081,11 +17876,11 @@ snapshots: zimmerframe@1.1.2: {} - zod-to-json-schema@3.24.1(zod@3.22.4): + zod-to-json-schema@3.24.2(zod@3.22.4): dependencies: zod: 3.22.4 - zod-to-json-schema@3.24.1(zod@3.23.8): + zod-to-json-schema@3.24.2(zod@3.23.8): dependencies: zod: 3.23.8 From 23a4a75af3707dceb1ce4d04e8a99cb30e3cdf5a Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Thu, 20 Feb 2025 19:39:09 -0800 Subject: [PATCH 2/4] 2 --- clients/client-coinbase/src/index.ts | 3 --- clients/client-coinbase/src/utils.ts | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/clients/client-coinbase/src/index.ts b/clients/client-coinbase/src/index.ts index de489bfce..c1b4fcd01 100644 --- a/clients/client-coinbase/src/index.ts +++ b/clients/client-coinbase/src/index.ts @@ -823,7 +823,4 @@ const currentPriceProvider = { }, }; - - - export default CoinbaseClientInterface; diff --git a/clients/client-coinbase/src/utils.ts b/clients/client-coinbase/src/utils.ts index 9a4ea7645..04089f083 100644 --- a/clients/client-coinbase/src/utils.ts +++ b/clients/client-coinbase/src/utils.ts @@ -1,8 +1,8 @@ +import { type IAgentRuntime, elizaLogger } from "@elizaos/core"; +import axios from "axios"; import { Contract, type Signer } from "ethers"; import { JsonRpcProvider } from "ethers/providers"; import { formatUnits } from "ethers/utils"; -import axios from "axios"; -import { elizaLogger, type IAgentRuntime } from "@elizaos/core"; // prosper export const PROSPER_STAKING_CONTRACT_ADDRESS = @@ -1077,4 +1077,4 @@ export const fetchTokenPrice = async ( console.error("Error fetching token price:", error); throw error; } -}; \ No newline at end of file +}; From 865b9f609ca9d1d79f1ce3a4b4f56d486698d63d Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Thu, 20 Feb 2025 20:45:02 -0800 Subject: [PATCH 3/4] address comments --- clients/client-coinbase/src/utils.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/clients/client-coinbase/src/utils.ts b/clients/client-coinbase/src/utils.ts index 04089f083..24a190c99 100644 --- a/clients/client-coinbase/src/utils.ts +++ b/clients/client-coinbase/src/utils.ts @@ -15,6 +15,8 @@ export const RSP_STAKING_CONTRACT_ADDRESS = "0xb9EAfef078A903C16c269bD63A5F5D5636c4004C"; // staking contract rsp/eth lp export const RSP_TOKEN_ADDRESS = "0x6F8097E84fdD24C482d1982416f85CF32De594F5"; // rsp export const RSP_STAKING_TOKEN = "0x5131c2D2DdCBfdA5F5b5A7a9D5C173A99Eb36C5b"; // rsp/eth lp +const RPC_URL = + "https://base-mainnet.infura.io/v3/f2ace3972c5d4c75bfd063d4016d423a"; const ABI = [ { @@ -751,9 +753,7 @@ const ABI = [ export const getContract = (address: string, signer?: Signer) => { try { - const rpcUrl = - "https://base-mainnet.infura.io/v3/f2ace3972c5d4c75bfd063d4016d423a"; - const provider = new JsonRpcProvider(rpcUrl); + const provider = new JsonRpcProvider(RPC_URL); elizaLogger.info("Getting contract for " + address); elizaLogger.info("Signer: " + signer); elizaLogger.info("Provider: " + provider); @@ -935,16 +935,13 @@ export const getAvailableToken = async ( userWallet: string, token: "PROSPER" | "RSP", ) => { - const rpcUrl = - "https://base-mainnet.infura.io/v3/f2ace3972c5d4c75bfd063d4016d423a"; - const provider = new JsonRpcProvider(rpcUrl); + const provider = new JsonRpcProvider(RPC_URL); const prosperContract = new Contract( token === "PROSPER" ? PROSPER_STAKING_TOKEN : RSP_STAKING_TOKEN, ABI, provider, ); // token being staked const balance = await prosperContract.balanceOf(userWallet); - // console.log("AAAAA alance: " + balance, userWallet, token) return formatUnits(balance, 18); }; @@ -954,7 +951,7 @@ export const getRewardPerToken = async (token: "PROSPER" | "RSP") => { ? PROSPER_STAKING_CONTRACT_ADDRESS : RSP_STAKING_CONTRACT_ADDRESS, ); - const rewardPerToken = await contract.rewardPerToken(0); // Assuming pool ID 0 + const rewardPerToken = await contract.rewardPerToken(0); return formatUnits(rewardPerToken, 18); }; From c404655b40850c01dc8789e4deb3efaa92665cca Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Thu, 20 Feb 2025 20:45:11 -0800 Subject: [PATCH 4/4] comments --- clients/client-coinbase/src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/client-coinbase/src/utils.ts b/clients/client-coinbase/src/utils.ts index 24a190c99..f3efbe0e0 100644 --- a/clients/client-coinbase/src/utils.ts +++ b/clients/client-coinbase/src/utils.ts @@ -951,7 +951,7 @@ export const getRewardPerToken = async (token: "PROSPER" | "RSP") => { ? PROSPER_STAKING_CONTRACT_ADDRESS : RSP_STAKING_CONTRACT_ADDRESS, ); - const rewardPerToken = await contract.rewardPerToken(0); + const rewardPerToken = await contract.rewardPerToken(0); return formatUnits(rewardPerToken, 18); };