From bb3c148b0dddcc06e0c8929565fa6ca16447f12b Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Sun, 1 Dec 2024 09:47:37 -0800 Subject: [PATCH 1/4] feat: donate 1% of transaction on coinbase transactions --- docs/docs/packages/plugins.md | 17 +- .../src/plugins/massPayments.ts | 81 +++---- packages/plugin-coinbase/src/plugins/trade.ts | 68 +----- packages/plugin-coinbase/src/utils.ts | 204 +++++++++++++++++- 4 files changed, 256 insertions(+), 114 deletions(-) diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md index ae9b9587ba..79b8bdbcf7 100644 --- a/docs/docs/packages/plugins.md +++ b/docs/docs/packages/plugins.md @@ -120,8 +120,6 @@ const character = { }; ``` -Here is the updated README with the Coinbase Commerce plugin information added: - --- # 🧩 Plugins @@ -210,6 +208,21 @@ Integrates Solana blockchain functionality: - `walletProvider` - Wallet management - `trustScoreProvider` - Transaction trust metrics +### Charity Contributions + +All Coinbase trades and transfers automatically donate 1% of the transaction amount to charity. The charity address is determined based on the network used for the transaction. The current charity being supported is [GiveDirectly](https://www.givedirectly.org/crypto/?_gl=1*va5e6k*_gcl_au*MTM1NDUzNTk5Mi4xNzMzMDczNjA3*_ga*OTIwMDMwNTMwLjE3MzMwNzM2MDg.*_ga_GV8XF9FJ16*MTczMzA3MzYwNy4xLjEuMTczMzA3MzYyMi40NS4wLjA.). + +The charity addresses for each network are as follows: + +- **Base**: `0x1234567890123456789012345678901234567890` +- **Solana**: `pWvDXKu6CpbKKvKQkZvDA66hgsTB6X2AgFxksYogHLV` +- **Ethereum**: `0x750EF1D7a0b4Ab1c97B7A623D7917CcEb5ea779C` +- **Arbitrum**: `0x1234567890123456789012345678901234567890` +- **Polygon**: `0x1234567890123456789012345678901234567890` + +This feature ensures that every transaction contributes to a good cause, and the charity address can be configured in the future to support different organizations. + + #### 5. Coinbase Commerce Plugin (`@eliza/plugin-coinbase`) Integrates Coinbase Commerce for payment and transaction management: diff --git a/packages/plugin-coinbase/src/plugins/massPayments.ts b/packages/plugin-coinbase/src/plugins/massPayments.ts index 8d14324a8f..ccae987a5b 100644 --- a/packages/plugin-coinbase/src/plugins/massPayments.ts +++ b/packages/plugin-coinbase/src/plugins/massPayments.ts @@ -25,7 +25,7 @@ import path from "path"; import { fileURLToPath } from "url"; import fs from "fs"; import { createArrayCsvWriter } from "csv-writer"; -import { getWalletDetails, initializeWallet } from "../utils"; +import { appendTransactionsToCsv, executeTransfer, executeTransferAndCharityTransfer, getCharityAddress, getWalletDetails, initializeWallet } from "../utils"; // Dynamically resolve the file path to the src/plugins directory const __filename = fileURLToPath(import.meta.url); @@ -94,36 +94,6 @@ export const massPayoutProvider: Provider = { }, }; -export async function appendTransactionsToCsv(transactions: Transaction[]) { - try { - const csvWriter = createArrayCsvWriter({ - path: csvFilePath, - header: [ - "Address", - "Amount", - "Status", - "Error Code", - "Transaction URL", - ], - append: true, - }); - - const formattedTransactions = transactions.map((transaction) => [ - transaction.address, - transaction.amount.toString(), - transaction.status, - transaction.errorCode || "", - transaction.transactionUrl || "", - ]); - - elizaLogger.log("Writing transactions to CSV:", formattedTransactions); - await csvWriter.writeRecords(formattedTransactions); - elizaLogger.log("All transactions written to CSV successfully."); - } catch (error) { - elizaLogger.error("Error writing transactions to CSV:", error); - } -} - async function executeMassPayout( runtime: IAgentRuntime, networkId: string, @@ -132,6 +102,7 @@ async function executeMassPayout( assetId: string ): Promise { const transactions: Transaction[] = []; + const assetIdLowercase = assetId.toLowerCase(); try { const sendingWallet = await initializeWallet(runtime, networkId); for (const address of receivingAddresses) { @@ -139,7 +110,7 @@ async function executeMassPayout( if (address) { try { // Check balance before initiating transfer - const assetIdLowercase = assetId.toLowerCase(); + const walletBalance = await sendingWallet.getBalance(assetIdLowercase); @@ -161,31 +132,18 @@ async function executeMassPayout( }); continue; } - const transferDetails = { - amount: transferAmount, - assetId: assetIdLowercase, - destination: address, - gasless: assetIdLowercase === "usdc" ? true : false, - }; - elizaLogger.log("Initiating transfer:", transferDetails); - const transfer = - await sendingWallet.createTransfer(transferDetails); - await transfer.wait(); - - const transactionUrl = transfer.getTransactionLink(); - elizaLogger.log("Transfer successful:", { - address, - transactionUrl, - }); + // Execute the transfer + const transfer = await executeTransfer(sendingWallet, transferAmount, assetIdLowercase, address); transactions.push({ address, - amount: transferAmount, + amount: transfer.getAmount().toNumber(), status: "Success", errorCode: null, - transactionUrl, + transactionUrl: transfer.getTransactionLink(), }); + } catch (error) { elizaLogger.error( "Error during transfer for address:", @@ -211,7 +169,16 @@ async function executeMassPayout( }); } } - + // Send 1% to charity + const charityAddress = getCharityAddress(networkId); + const charityTransfer = await executeTransfer(sendingWallet, transferAmount * 0.01, assetId, charityAddress); + transactions.push({ + address: charityAddress, + amount: charityTransfer.getAmount().toNumber(), + status: "Success", + errorCode: null, + transactionUrl: charityTransfer.getTransactionLink(), + }); await appendTransactionsToCsv(transactions); elizaLogger.log("Finished processing mass payouts."); return transactions; @@ -357,6 +324,17 @@ export const sendMassPayoutAction: Action = { }` ) .join("\n"); + const charityTransactions = transactions.filter( + (tx) => tx.address === getCharityAddress(network) + ); + const charityDetails = charityTransactions + .map( + (tx) => + `Address: ${tx.address}, Amount: ${tx.amount}, Transaction URL: ${ + tx.transactionUrl || "N/A" + }` + ) + .join("\n"); callback( { text: `Mass payouts completed successfully. @@ -366,6 +344,7 @@ export const sendMassPayoutAction: Action = { Details: ${successTransactions.length > 0 ? `✅ Successful Transactions:\n${successDetails}` : "No successful transactions."} ${failedTransactions.length > 0 ? `❌ Failed Transactions:\n${failedDetails}` : "No failed transactions."} +${charityTransactions.length > 0 ? `✅ Charity Transactions:\n${charityDetails}` : "No charity transactions."} Check the CSV file for full details.`, }, diff --git a/packages/plugin-coinbase/src/plugins/trade.ts b/packages/plugin-coinbase/src/plugins/trade.ts index 9263280827..94f8c4e914 100644 --- a/packages/plugin-coinbase/src/plugins/trade.ts +++ b/packages/plugin-coinbase/src/plugins/trade.ts @@ -12,7 +12,7 @@ import { ModelClass, Provider, } from "@ai16z/eliza"; -import { getWalletDetails, initializeWallet } from "../utils"; +import { executeTradeAndCharityTransfer, getWalletDetails, initializeWallet } from "../utils"; import { tradeTemplate } from "../templates"; import { isTradeContent, TradeContent, TradeSchema } from "../types"; import { readFile } from "fs/promises"; @@ -22,6 +22,7 @@ import { fileURLToPath } from "url"; import fs from "fs"; import { createArrayCsvWriter } from "csv-writer"; + // Dynamically resolve the file path to the src/plugins directory const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -91,40 +92,6 @@ export const tradeProvider: Provider = { }, }; -export async function appendTradeToCsv(trade: Trade) { - try { - const csvWriter = createArrayCsvWriter({ - path: tradeCsvFilePath, - header: [ - "Network", - "From Amount", - "Source Asset", - "To Amount", - "Target Asset", - "Status", - "Transaction URL", - ], - append: true, - }); - - const formattedTrade = [ - trade.getNetworkId(), - trade.getFromAmount(), - trade.getFromAssetId(), - trade.getToAmount(), - trade.getToAssetId(), - trade.getStatus(), - trade.getTransaction().getTransactionLink() || "", - ]; - - elizaLogger.log("Writing trade to CSV:", formattedTrade); - await csvWriter.writeRecords([formattedTrade]); - elizaLogger.log("Trade written to CSV successfully."); - } catch (error) { - elizaLogger.error("Error writing trade to CSV:", error); - } -} - export const executeTradeAction: Action = { name: "EXECUTE_TRADE", description: @@ -198,37 +165,17 @@ export const executeTradeAction: Action = { ); return; } - - const wallet = await initializeWallet(runtime, network); - - elizaLogger.log("Wallet initialized:", { - network, - address: await wallet.getDefaultAddress(), - }); - - const tradeParams = { - amount, - fromAssetId: sourceAsset.toLowerCase(), - toAssetId: targetAsset.toLowerCase(), - }; - - const trade: Trade = await wallet.createTrade(tradeParams); - - elizaLogger.log("Trade initiated:", trade.toString()); - - // Wait for the trade to complete - await trade.wait(); - - elizaLogger.log("Trade completed successfully:", trade.toString()); - await appendTradeToCsv(trade); + const { trade, transfer } = await executeTradeAndCharityTransfer(runtime, network, amount, sourceAsset, targetAsset); callback( { text: `Trade executed successfully: - Network: ${network} -- Amount: ${amount} +- Amount: ${trade.getFromAmount()} - From: ${sourceAsset} - To: ${targetAsset} -- Transaction URL: ${trade.getTransaction().getTransactionLink() || ""}`, +- Transaction URL: ${trade.getTransaction().getTransactionLink() || ""} +- Charity Amount: ${transfer.getAmount()} +- Charity Transaction URL: ${transfer.getTransactionLink() || ""}`, }, [] ); @@ -317,3 +264,4 @@ export const tradePlugin: Plugin = { actions: [executeTradeAction], providers: [tradeProvider], }; + diff --git a/packages/plugin-coinbase/src/utils.ts b/packages/plugin-coinbase/src/utils.ts index a727d4941c..d18ff86652 100644 --- a/packages/plugin-coinbase/src/utils.ts +++ b/packages/plugin-coinbase/src/utils.ts @@ -1,8 +1,18 @@ -import { Coinbase, Wallet, WalletData } from "@coinbase/coinbase-sdk"; +import { Coinbase, Trade, Wallet, WalletData } from "@coinbase/coinbase-sdk"; import { elizaLogger, IAgentRuntime } from "@ai16z/eliza"; import fs from "fs"; import path from "path"; import { EthereumTransaction } from "@coinbase/coinbase-sdk/dist/client"; +import { fileURLToPath } from "url"; +import { createArrayCsvWriter } from "csv-writer"; +import { Transaction } from "./types"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const tradeCsvFilePath = path.join(baseDir, "trades.csv"); +const csvFilePath = path.join(baseDir, "transactions.csv"); export async function initializeWallet( runtime: IAgentRuntime, @@ -69,6 +79,122 @@ export async function initializeWallet( return wallet; } +/** + * Executes a trade and a charity transfer. + * @param {IAgentRuntime} runtime - The runtime for wallet initialization. + * @param {string} network - The network to use. + * @param {number} amount - The amount to trade and transfer. + * @param {string} sourceAsset - The source asset to trade. + * @param {string} targetAsset - The target asset to trade. + */ +export async function executeTradeAndCharityTransfer(runtime: IAgentRuntime, network: string, amount: number, sourceAsset: string, targetAsset: string) { + const wallet = await initializeWallet(runtime, network); + + elizaLogger.log("Wallet initialized:", { + network, + address: await wallet.getDefaultAddress(), + }); + // We send 1% of the amount to a charity address and trade the rest of the 99% + // Based on the network, we use the correct charity address + const charityAddress = getCharityAddress(network); + const charityAmount = amount * 0.01; + const tradeAmount = amount - charityAmount; + const assetIdLowercase = sourceAsset.toLowerCase(); + const tradeParams = { + amount: tradeAmount, + fromAssetId: assetIdLowercase, + toAssetId: targetAsset.toLowerCase(), + }; + + const transfer = await executeTransfer(wallet, charityAmount, assetIdLowercase, network); + const trade: Trade = await wallet.createTrade(tradeParams); + elizaLogger.log("Trade initiated:", trade.toString()); + // Wait for the trade to complete + await trade.wait(); + const transactionUrl = transfer.getTransactionLink(); + elizaLogger.log("Transfer successful:", { + address: charityAddress, + transactionUrl, + }); + elizaLogger.log("Trade completed successfully:", trade.toString()); + await appendTransactionsToCsv([{ + address: charityAddress, + amount: charityAmount, + status: "Success", + errorCode: null, + transactionUrl, + }]); + await appendTradeToCsv(trade); + return { + trade, + transfer, + }; +} + +export async function appendTradeToCsv(trade: Trade) { + try { + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Network", + "From Amount", + "Source Asset", + "To Amount", + "Target Asset", + "Status", + "Transaction URL", + ], + append: true, + }); + + const formattedTrade = [ + trade.getNetworkId(), + trade.getFromAmount(), + trade.getFromAssetId(), + trade.getToAmount(), + trade.getToAssetId(), + trade.getStatus(), + trade.getTransaction().getTransactionLink() || "", + ]; + + elizaLogger.log("Writing trade to CSV:", formattedTrade); + await csvWriter.writeRecords([formattedTrade]); + elizaLogger.log("Trade written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing trade to CSV:", error); + } +} + +export async function appendTransactionsToCsv(transactions: Transaction[]) { + try { + const csvWriter = createArrayCsvWriter({ + path: csvFilePath, + header: [ + "Address", + "Amount", + "Status", + "Error Code", + "Transaction URL", + ], + append: true, + }); + + const formattedTransactions = transactions.map((transaction) => [ + transaction.address, + transaction.amount.toString(), + transaction.status, + transaction.errorCode || "", + transaction.transactionUrl || "", + ]); + + elizaLogger.log("Writing transactions to CSV:", formattedTransactions); + await csvWriter.writeRecords(formattedTransactions); + elizaLogger.log("All transactions written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing transactions to CSV:", error); + } +} + /** * Updates a key-value pair in character.settings.secrets. * @param {string} characterfilePath - The file path to the character. @@ -201,3 +327,79 @@ export async function getWalletDetails( throw new Error("Unable to retrieve wallet details."); } } + +/** + * Executes a transfer. + * @param {Wallet} wallet - The wallet to use. + * @param {number} amount - The amount to transfer. + * @param {string} sourceAsset - The source asset to transfer. + * @param {string} targetAddress - The target address to transfer to. + */ +export async function executeTransferAndCharityTransfer(wallet: Wallet, amount: number, sourceAsset: string, targetAddress: string, network: string) { + const charityAddress = getCharityAddress(network); + const charityAmount = amount * 0.01; + const transferAmount = amount - charityAmount; + const assetIdLowercase = sourceAsset.toLowerCase(); + const charityTransfer = await executeTransfer(wallet, charityAmount, assetIdLowercase, charityAddress); + elizaLogger.log("Charity Transfer successful:", charityTransfer.toString()); + const transferDetails = { + amount: transferAmount, + assetId: assetIdLowercase, + destination: targetAddress, + gasless: assetIdLowercase === "usdc" ? true : false, + }; + elizaLogger.log("Initiating transfer charity:", transferDetails); + const transfer = await wallet.createTransfer(transferDetails); + elizaLogger.log("Transfer initiated:", transfer.toString()); + await transfer.wait(); + return { + transfer, + charityTransfer, + } + +} + + +/** + * Executes a transfer. + * @param {Wallet} wallet - The wallet to use. + * @param {number} amount - The amount to transfer. + * @param {string} sourceAsset - The source asset to transfer. + * @param {string} targetAddress - The target address to transfer to. + */ +export async function executeTransfer(wallet: Wallet, amount: number, sourceAsset: string, targetAddress: string) { + const assetIdLowercase = sourceAsset.toLowerCase(); + const transferDetails = { + amount, + assetId: assetIdLowercase, + destination: targetAddress, + gasless: assetIdLowercase === "usdc" ? true : false, + }; + elizaLogger.log("Initiating transfer charity:", transferDetails); + const transfer = await wallet.createTransfer(transferDetails); + elizaLogger.log("Charity Transfer initiated:", transfer.toString()); + await transfer.wait(); + return transfer; +} + +/** + * Gets the charity address based on the network. + * For now we are giving to the following charity, but will make this configurable in the future + * https://www.givedirectly.org/crypto/?_gl=1*va5e6k*_gcl_au*MTM1NDUzNTk5Mi4xNzMzMDczNjA3*_ga*OTIwMDMwNTMwLjE3MzMwNzM2MDg.*_ga_GV8XF9FJ16*MTczMzA3MzYwNy4xLjEuMTczMzA3MzYyMi40NS4wLjA. + * @param {string} network - The network to use. + */ +export function getCharityAddress(network: string): string { + let charityAddress; + if (network === "base") { + charityAddress = "0x1234567890123456789012345678901234567890"; + } else if (network === "sol") { + charityAddress = "pWvDXKu6CpbKKvKQkZvDA66hgsTB6X2AgFxksYogHLV"; + } else if (network === "eth") { + charityAddress = "0x750EF1D7a0b4Ab1c97B7A623D7917CcEb5ea779C"; + } else if (network === "arb") { + charityAddress = "0x1234567890123456789012345678901234567890"; + } else if (network === "pol") { + charityAddress = "0x1234567890123456789012345678901234567890"; + } + return charityAddress; +} From eaef5ad0a507ae09b37cc0b42381dd693bff01bc Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Sun, 1 Dec 2024 09:55:34 -0800 Subject: [PATCH 2/4] chore: address linter --- packages/plugin-coinbase/src/plugins/massPayments.ts | 2 +- packages/plugin-coinbase/src/plugins/trade.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/plugin-coinbase/src/plugins/massPayments.ts b/packages/plugin-coinbase/src/plugins/massPayments.ts index ccae987a5b..c70836408b 100644 --- a/packages/plugin-coinbase/src/plugins/massPayments.ts +++ b/packages/plugin-coinbase/src/plugins/massPayments.ts @@ -25,7 +25,7 @@ import path from "path"; import { fileURLToPath } from "url"; import fs from "fs"; import { createArrayCsvWriter } from "csv-writer"; -import { appendTransactionsToCsv, executeTransfer, executeTransferAndCharityTransfer, getCharityAddress, getWalletDetails, initializeWallet } from "../utils"; +import { appendTransactionsToCsv, executeTransfer, getCharityAddress, getWalletDetails, initializeWallet } from "../utils"; // Dynamically resolve the file path to the src/plugins directory const __filename = fileURLToPath(import.meta.url); diff --git a/packages/plugin-coinbase/src/plugins/trade.ts b/packages/plugin-coinbase/src/plugins/trade.ts index 94f8c4e914..0775fa956a 100644 --- a/packages/plugin-coinbase/src/plugins/trade.ts +++ b/packages/plugin-coinbase/src/plugins/trade.ts @@ -1,4 +1,4 @@ -import { Coinbase, Trade } from "@coinbase/coinbase-sdk"; +import { Coinbase} from "@coinbase/coinbase-sdk"; import { Action, Plugin, @@ -12,7 +12,7 @@ import { ModelClass, Provider, } from "@ai16z/eliza"; -import { executeTradeAndCharityTransfer, getWalletDetails, initializeWallet } from "../utils"; +import { executeTradeAndCharityTransfer, getWalletDetails } from "../utils"; import { tradeTemplate } from "../templates"; import { isTradeContent, TradeContent, TradeSchema } from "../types"; import { readFile } from "fs/promises"; From 815d21deac16581e51befddd782aef25e6cc8307 Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Sun, 1 Dec 2024 10:03:35 -0800 Subject: [PATCH 3/4] Update readme --- docs/docs/packages/plugins.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/packages/plugins.md b/docs/docs/packages/plugins.md index 79b8bdbcf7..fd9f3b1324 100644 --- a/docs/docs/packages/plugins.md +++ b/docs/docs/packages/plugins.md @@ -210,7 +210,7 @@ Integrates Solana blockchain functionality: ### Charity Contributions -All Coinbase trades and transfers automatically donate 1% of the transaction amount to charity. The charity address is determined based on the network used for the transaction. The current charity being supported is [GiveDirectly](https://www.givedirectly.org/crypto/?_gl=1*va5e6k*_gcl_au*MTM1NDUzNTk5Mi4xNzMzMDczNjA3*_ga*OTIwMDMwNTMwLjE3MzMwNzM2MDg.*_ga_GV8XF9FJ16*MTczMzA3MzYwNy4xLjEuMTczMzA3MzYyMi40NS4wLjA.). +All Coinbase trades and transfers automatically donate 1% of the transaction amount to charity. Currently, the charity addresses are hardcoded based on the network used for the transaction, with the current charity being supported as X. The charity addresses for each network are as follows: @@ -220,7 +220,7 @@ The charity addresses for each network are as follows: - **Arbitrum**: `0x1234567890123456789012345678901234567890` - **Polygon**: `0x1234567890123456789012345678901234567890` -This feature ensures that every transaction contributes to a good cause, and the charity address can be configured in the future to support different organizations. +In the future, we aim to integrate with The Giving Block API to allow for dynamic and configurable donations, enabling support for a wider range of charitable organizations. #### 5. Coinbase Commerce Plugin (`@eliza/plugin-coinbase`) From b0bc276cbcdf7da36ea9df24d9048494ed504b6f Mon Sep 17 00:00:00 2001 From: Monil Patel Date: Sun, 1 Dec 2024 14:44:39 -0800 Subject: [PATCH 4/4] rerun pnpm install --- docs/api/functions/generateCaption.md | 2 +- docs/api/functions/generateImage.md | 2 +- docs/api/functions/generateMessageResponse.md | 2 +- docs/api/functions/generateObject.md | 2 +- docs/api/functions/generateObjectArray.md | 2 +- docs/api/functions/generateObjectV2.md | 2 +- docs/api/functions/generateShouldRespond.md | 2 +- docs/api/functions/generateTextArray.md | 2 +- docs/api/functions/generateTrueOrFalse.md | 2 +- docs/api/functions/generateWebSearch.md | 2 +- docs/api/functions/handleProvider.md | 2 +- docs/api/functions/splitChunks.md | 2 +- docs/api/interfaces/GenerationOptions.md | 18 +- packages/plugin-coinbase/advanced-sdk-ts | 1 + .../plugin-coinbase/src/plugins/trades.csv | 2 + pnpm-lock.yaml | 312 +----------------- 16 files changed, 35 insertions(+), 322 deletions(-) create mode 160000 packages/plugin-coinbase/advanced-sdk-ts create mode 100644 packages/plugin-coinbase/src/plugins/trades.csv diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md index f80d470e54..094e4b0e64 100644 --- a/docs/api/functions/generateCaption.md +++ b/docs/api/functions/generateCaption.md @@ -26,4 +26,4 @@ ## Defined in -[packages/core/src/generation.ts:956](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L956) +[packages/core/src/generation.ts:952](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L952) diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md index 0f42815198..eead66e7fb 100644 --- a/docs/api/functions/generateImage.md +++ b/docs/api/functions/generateImage.md @@ -48,4 +48,4 @@ ## Defined in -[packages/core/src/generation.ts:771](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L771) +[packages/core/src/generation.ts:767](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L767) diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md index 670854a852..99a0e3b67c 100644 --- a/docs/api/functions/generateMessageResponse.md +++ b/docs/api/functions/generateMessageResponse.md @@ -28,4 +28,4 @@ The completed message. ## Defined in -[packages/core/src/generation.ts:731](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L731) +[packages/core/src/generation.ts:727](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L727) diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md index 78b1eda5cf..1c13c0325a 100644 --- a/docs/api/functions/generateObject.md +++ b/docs/api/functions/generateObject.md @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:647](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L647) +[packages/core/src/generation.ts:643](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L643) diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md index 9b47a815f4..9d461bdef9 100644 --- a/docs/api/functions/generateObjectArray.md +++ b/docs/api/functions/generateObjectArray.md @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:683](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L683) +[packages/core/src/generation.ts:679](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L679) diff --git a/docs/api/functions/generateObjectV2.md b/docs/api/functions/generateObjectV2.md index 1fcfedbd3e..7c7c3ceaca 100644 --- a/docs/api/functions/generateObjectV2.md +++ b/docs/api/functions/generateObjectV2.md @@ -24,4 +24,4 @@ Configuration options for generating objects. ## Defined in -[packages/core/src/generation.ts:1046](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1046) +[packages/core/src/generation.ts:1042](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1042) diff --git a/docs/api/functions/generateShouldRespond.md b/docs/api/functions/generateShouldRespond.md index 7fb882fd46..6eeb44897e 100644 --- a/docs/api/functions/generateShouldRespond.md +++ b/docs/api/functions/generateShouldRespond.md @@ -28,4 +28,4 @@ Promise resolving to "RESPOND", "IGNORE", "STOP" or null ## Defined in -[packages/core/src/generation.ts:473](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L473) +[packages/core/src/generation.ts:469](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L469) diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md index 799e5df936..4fbd7509c1 100644 --- a/docs/api/functions/generateTextArray.md +++ b/docs/api/functions/generateTextArray.md @@ -28,4 +28,4 @@ Promise resolving to an array of strings parsed from the model's response ## Defined in -[packages/core/src/generation.ts:611](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L611) +[packages/core/src/generation.ts:607](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L607) diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md index 19c8e7c9d0..46b4185e84 100644 --- a/docs/api/functions/generateTrueOrFalse.md +++ b/docs/api/functions/generateTrueOrFalse.md @@ -28,4 +28,4 @@ Promise resolving to a boolean value parsed from the model's response ## Defined in -[packages/core/src/generation.ts:556](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L556) +[packages/core/src/generation.ts:552](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L552) diff --git a/docs/api/functions/generateWebSearch.md b/docs/api/functions/generateWebSearch.md index 4331b64eb0..16ad6bf52f 100644 --- a/docs/api/functions/generateWebSearch.md +++ b/docs/api/functions/generateWebSearch.md @@ -16,4 +16,4 @@ ## Defined in -[packages/core/src/generation.ts:980](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L980) +[packages/core/src/generation.ts:976](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L976) diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md index 46e1298b7f..83080e1cef 100644 --- a/docs/api/functions/handleProvider.md +++ b/docs/api/functions/handleProvider.md @@ -20,4 +20,4 @@ Configuration options specific to the provider. ## Defined in -[packages/core/src/generation.ts:1131](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1131) +[packages/core/src/generation.ts:1127](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1127) diff --git a/docs/api/functions/splitChunks.md b/docs/api/functions/splitChunks.md index f7fbd4b367..2a0d9cb5ef 100644 --- a/docs/api/functions/splitChunks.md +++ b/docs/api/functions/splitChunks.md @@ -28,4 +28,4 @@ Promise resolving to array of text chunks with bleed sections ## Defined in -[packages/core/src/generation.ts:528](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L528) +[packages/core/src/generation.ts:524](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L524) diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md index 9ae246094c..8ad4216582 100644 --- a/docs/api/interfaces/GenerationOptions.md +++ b/docs/api/interfaces/GenerationOptions.md @@ -12,7 +12,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1016](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1016) +[packages/core/src/generation.ts:1012](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1012) *** @@ -22,7 +22,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1017](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1017) +[packages/core/src/generation.ts:1013](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1013) *** @@ -32,7 +32,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1018](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1018) +[packages/core/src/generation.ts:1014](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1014) *** @@ -42,7 +42,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1019](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1019) +[packages/core/src/generation.ts:1015](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1015) *** @@ -52,7 +52,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1020](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1020) +[packages/core/src/generation.ts:1016](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1016) *** @@ -62,7 +62,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1021](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1021) +[packages/core/src/generation.ts:1017](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1017) *** @@ -72,7 +72,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1022](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1022) +[packages/core/src/generation.ts:1018](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1018) *** @@ -82,7 +82,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1023](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1023) +[packages/core/src/generation.ts:1019](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1019) *** @@ -92,4 +92,4 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:1024](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1024) +[packages/core/src/generation.ts:1020](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L1020) diff --git a/packages/plugin-coinbase/advanced-sdk-ts b/packages/plugin-coinbase/advanced-sdk-ts new file mode 160000 index 0000000000..1fba324dc5 --- /dev/null +++ b/packages/plugin-coinbase/advanced-sdk-ts @@ -0,0 +1 @@ +Subproject commit 1fba324dc5bb2dc527d9cd09cbd0d4946e450252 diff --git a/packages/plugin-coinbase/src/plugins/trades.csv b/packages/plugin-coinbase/src/plugins/trades.csv new file mode 100644 index 0000000000..669e45ed68 --- /dev/null +++ b/packages/plugin-coinbase/src/plugins/trades.csv @@ -0,0 +1,2 @@ +Network,From Amount,Source Asset,To Amount,Target Asset,Status,Transaction URL + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5ff737f0c1..fa14a8a814 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -872,7 +872,7 @@ importers: version: 2.79.2 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3) ts-node: specifier: 10.9.2 version: 10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3) @@ -1539,109 +1539,6 @@ importers: specifier: ^5.0.0 version: 5.6.3 - web-agent: - dependencies: - '@ai16z/adapter-sqljs': - specifier: workspace:* - version: link:../packages/adapter-sqljs - '@ai16z/eliza': - specifier: workspace:* - version: link:../packages/core - '@ai16z/plugin-bootstrap': - specifier: workspace:* - version: link:../packages/plugin-bootstrap - '@radix-ui/react-dialog': - specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': - specifier: 1.1.0 - version: 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-tooltip': - specifier: 1.1.4 - version: 1.1.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-query': - specifier: 5.61.0 - version: 5.61.0(react@18.3.1) - class-variance-authority: - specifier: 0.7.0 - version: 0.7.0 - clsx: - specifier: 2.1.0 - version: 2.1.0 - lucide-react: - specifier: 0.460.0 - version: 0.460.0(react@18.3.1) - react: - specifier: 18.3.1 - version: 18.3.1 - react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) - react-router-dom: - specifier: 6.22.1 - version: 6.22.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - tailwind-merge: - specifier: 2.5.4 - version: 2.5.4 - tailwindcss-animate: - specifier: 1.0.7 - version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3))) - vite-plugin-top-level-await: - specifier: 1.4.4 - version: 1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@web-agent+@tanstack+router-plugin+vite) - vite-plugin-wasm: - specifier: 3.3.0 - version: 3.3.0(vite@web-agent+@tanstack+router-plugin+vite) - devDependencies: - '@eslint/js': - specifier: 9.15.0 - version: 9.15.0 - '@types/node': - specifier: 22.8.4 - version: 22.8.4 - '@types/react': - specifier: 18.3.12 - version: 18.3.12 - '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 - '@vitejs/plugin-react': - specifier: 4.3.3 - version: 4.3.3(vite@web-agent+@tanstack+router-plugin+vite) - autoprefixer: - specifier: 10.4.20 - version: 10.4.20(postcss@8.4.49) - eslint: - specifier: 9.13.0 - version: 9.13.0(jiti@2.4.0) - eslint-plugin-react-hooks: - specifier: 5.0.0 - version: 5.0.0(eslint@9.13.0(jiti@2.4.0)) - eslint-plugin-react-refresh: - specifier: 0.4.14 - version: 0.4.14(eslint@9.13.0(jiti@2.4.0)) - globals: - specifier: 15.11.0 - version: 15.11.0 - postcss: - specifier: 8.4.49 - version: 8.4.49 - tailwindcss: - specifier: 3.4.15 - version: 3.4.15(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) - typescript: - specifier: ~5.6.2 - version: 5.6.3 - typescript-eslint: - specifier: 8.11.0 - version: 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - vite: - specifier: link:@tanstack/router-plugin/vite - version: link:@tanstack/router-plugin/vite - packages: '@0glabs/0g-ts-sdk@0.2.1': @@ -3957,18 +3854,10 @@ packages: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-array@0.19.0': resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.7.0': - resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/core@0.9.0': resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3977,10 +3866,6 @@ packages: resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.13.0': - resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.15.0': resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -9233,16 +9118,6 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.13.0: - resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - eslint@9.16.0: resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -16388,7 +16263,7 @@ snapshots: - utf-8-validate - vue - '@ai16z/adapter-sqljs@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(whatwg-url@14.0.0)': + '@ai16z/adapter-sqljs@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': dependencies: '@ai16z/eliza': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) '@types/sql.js': 1.4.9 @@ -16407,6 +16282,7 @@ snapshots: - '@langchain/mistralai' - '@langchain/ollama' - axios + - bufferutil - cheerio - encoding - handlebars @@ -16417,6 +16293,7 @@ snapshots: - supports-color - svelte - typeorm + - utf-8-validate - vue '@ai16z/adapter-supabase@0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0)': @@ -16458,7 +16335,7 @@ snapshots: '@ai-sdk/groq': 0.0.3(zod@3.23.8) '@ai-sdk/openai': 1.0.0-canary.3(zod@3.23.8) '@ai16z/adapter-sqlite': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) - '@ai16z/adapter-sqljs': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(whatwg-url@14.0.0) + '@ai16z/adapter-sqljs': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) '@ai16z/adapter-supabase': 0.1.4-alpha.3(@google-cloud/vertexai@1.9.0(encoding@0.1.13))(@langchain/core@0.3.19(openai@4.69.0(encoding@0.1.13)(zod@3.23.8)))(axios@1.7.8)(bufferutil@4.0.8)(encoding@0.1.13)(handlebars@4.7.8)(react@18.3.1)(sswr@2.1.0(svelte@5.2.11))(svelte@5.2.11)(utf-8-validate@5.0.10)(whatwg-url@14.0.0) '@anthropic-ai/sdk': 0.30.1(encoding@0.1.13) '@types/uuid': 10.0.0 @@ -19777,11 +19654,6 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.1(eslint@9.13.0(jiti@2.4.0))': - dependencies: - eslint: 9.13.0(jiti@2.4.0) - eslint-visitor-keys: 3.4.3 - '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0(jiti@2.4.0))': dependencies: eslint: 9.16.0(jiti@2.4.0) @@ -19789,14 +19661,6 @@ snapshots: '@eslint-community/regexpp@4.12.1': {} - '@eslint/config-array@0.18.0': - dependencies: - '@eslint/object-schema': 2.1.4 - debug: 4.3.7(supports-color@5.5.0) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@eslint/config-array@0.19.0': dependencies: '@eslint/object-schema': 2.1.4 @@ -19805,8 +19669,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/core@0.7.0': {} - '@eslint/core@0.9.0': {} '@eslint/eslintrc@3.2.0': @@ -19823,8 +19685,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.13.0': {} - '@eslint/js@9.15.0': {} '@eslint/js@9.16.0': {} @@ -23080,24 +22940,6 @@ snapshots: '@types/node': 20.17.9 optional: true - '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.11.0 - eslint: 9.13.0(jiti@2.4.0) - graphemer: 1.4.0 - ignore: 5.3.2 - natural-compare: 1.4.0 - ts-api-utils: 1.4.3(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -23152,19 +22994,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.11.0 - debug: 4.3.7(supports-color@5.5.0) - eslint: 9.13.0(jiti@2.4.0) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/parser@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.11.0 @@ -23224,18 +23053,6 @@ snapshots: '@typescript-eslint/types': 8.16.0 '@typescript-eslint/visitor-keys': 8.16.0 - '@typescript-eslint/type-utils@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - debug: 4.3.7(supports-color@5.5.0) - ts-api-utils: 1.4.3(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - eslint - - supports-color - '@typescript-eslint/type-utils@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) @@ -23351,17 +23168,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0)) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - eslint: 9.13.0(jiti@2.4.0) - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.0)) @@ -23456,17 +23262,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.3(vite@web-agent+@tanstack+router-plugin+vite)': - dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: link:web-agent/@tanstack/router-plugin/vite - transitivePeerDependencies: - - supports-color - '@vitest/coverage-v8@2.1.5(vitest@2.1.5(@types/node@22.8.4)(jsdom@25.0.1(bufferutil@4.0.8)(canvas@2.11.2(encoding@0.1.13))(utf-8-validate@5.0.10))(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 @@ -24139,15 +23934,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.8: - dependencies: - follow-redirects: 1.15.9(debug@4.3.7) - form-data: 4.0.1 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - optional: true - axios@1.7.8(debug@4.3.7): dependencies: follow-redirects: 1.15.9(debug@4.3.7) @@ -26335,18 +26121,10 @@ snapshots: '@types/eslint': 9.6.1 eslint-config-prettier: 9.1.0(eslint@9.16.0(jiti@2.4.0)) - eslint-plugin-react-hooks@5.0.0(eslint@9.13.0(jiti@2.4.0)): - dependencies: - eslint: 9.13.0(jiti@2.4.0) - eslint-plugin-react-hooks@5.0.0(eslint@9.16.0(jiti@2.4.0)): dependencies: eslint: 9.16.0(jiti@2.4.0) - eslint-plugin-react-refresh@0.4.14(eslint@9.13.0(jiti@2.4.0)): - dependencies: - eslint: 9.13.0(jiti@2.4.0) - eslint-plugin-react-refresh@0.4.14(eslint@9.16.0(jiti@2.4.0)): dependencies: eslint: 9.16.0(jiti@2.4.0) @@ -26398,48 +26176,6 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.13.0(jiti@2.4.0): - dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0(jiti@2.4.0)) - '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.18.0 - '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.13.0 - '@eslint/plugin-kit': 0.2.3 - '@humanfs/node': 0.16.6 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.1 - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.6 - debug: 4.3.7(supports-color@5.5.0) - escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - text-table: 0.2.0 - optionalDependencies: - jiti: 2.4.0 - transitivePeerDependencies: - - supports-color - eslint@9.16.0(jiti@2.4.0): dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0(jiti@2.4.0)) @@ -26711,7 +26447,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.3.7(supports-color@5.5.0) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -28855,7 +28591,7 @@ snapshots: zod: 3.23.8 zod-to-json-schema: 3.23.5(zod@3.23.8) optionalDependencies: - axios: 1.7.8 + axios: 1.7.8(debug@4.3.7) handlebars: 4.7.8 transitivePeerDependencies: - encoding @@ -33878,12 +33614,12 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.9))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) + jest: 29.7.0(@types/node@20.17.9) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -33896,14 +33632,13 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) - esbuild: 0.24.0 - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.9))(typescript@5.6.3): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.9) + jest: 29.7.0(@types/node@22.8.4)(ts-node@10.9.2(@swc/core@1.9.3(@swc/helpers@0.5.15))(@types/node@22.8.4)(typescript@5.6.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -34081,17 +33816,6 @@ snapshots: typeforce@1.18.0: {} - typescript-eslint@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/parser': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@2.4.0))(typescript@5.6.3) - optionalDependencies: - typescript: 5.6.3 - transitivePeerDependencies: - - eslint - - supports-color - typescript-eslint@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3): dependencies: '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.16.0(jiti@2.4.0))(typescript@5.6.3) @@ -34519,24 +34243,10 @@ snapshots: - '@swc/helpers' - rollup - vite-plugin-top-level-await@1.4.4(@swc/helpers@0.5.15)(rollup@4.27.4)(vite@web-agent+@tanstack+router-plugin+vite): - dependencies: - '@rollup/plugin-virtual': 3.0.2(rollup@4.27.4) - '@swc/core': 1.9.3(@swc/helpers@0.5.15) - uuid: 10.0.0 - vite: link:web-agent/@tanstack/router-plugin/vite - transitivePeerDependencies: - - '@swc/helpers' - - rollup - vite-plugin-wasm@3.3.0(vite@client+@tanstack+router-plugin+vite): dependencies: vite: link:client/@tanstack/router-plugin/vite - vite-plugin-wasm@3.3.0(vite@web-agent+@tanstack+router-plugin+vite): - dependencies: - vite: link:web-agent/@tanstack/router-plugin/vite - vite@5.4.11(@types/node@20.17.9)(terser@5.36.0): dependencies: esbuild: 0.21.5