From 38f3f834d51863d45cf471b96db3a3f65be9d48d Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Sun, 2 Mar 2025 15:30:37 -0500 Subject: [PATCH 1/9] update registry script / package showcase --- docs/scripts/update-registry.js | 40 +- docs/src/data/plugin-descriptions.json | 822 +++++++++++++++-------- docs/src/data/registry-users.tsx | 670 +++++++++++++++++- docs/static/logos/0g.jpg | Bin 13375 -> 13369 bytes docs/static/logos/0x.jpg | Bin 0 -> 8952 bytes docs/static/logos/AWS.jpg | Bin 0 -> 16823 bytes docs/static/logos/B2network.jpg | Bin 0 -> 17410 bytes docs/static/logos/BNBchain.jpg | Bin 0 -> 12924 bytes docs/static/logos/ETHstorage.jpg | Bin 0 -> 5057 bytes docs/static/logos/ICP.jpg | Bin 14724 -> 14725 bytes docs/static/logos/IQ6900.jpg | Bin 0 -> 25886 bytes docs/static/logos/LUMA.jpg | Bin 4753 -> 4750 bytes docs/static/logos/LitProtocol.jpg | Bin 0 -> 17022 bytes docs/static/logos/Mina.jpg | Bin 0 -> 35252 bytes docs/static/logos/MindNetwork.jpg | Bin 0 -> 9441 bytes docs/static/logos/NEAR.jpg | Bin 6621 -> 6626 bytes docs/static/logos/NewsAPI.jpg | Bin 0 -> 9647 bytes docs/static/logos/OriginTrail.jpg | Bin 0 -> 10042 bytes docs/static/logos/PDF.jpg | Bin 0 -> 10097 bytes docs/static/logos/TTS.jpg | Bin 0 -> 15056 bytes docs/static/logos/TTSelevenlabs.jpg | Bin 0 -> 2463 bytes docs/static/logos/UDIO.png | Bin 0 -> 7958 bytes docs/static/logos/abstract.jpg | Bin 7993 -> 7994 bytes docs/static/logos/agentkit.jpg | Bin 0 -> 13574 bytes docs/static/logos/agentkitCDB.jpg | Bin 0 -> 15810 bytes docs/static/logos/akash.jpg | Bin 9141 -> 9170 bytes docs/static/logos/alexa.png | Bin 0 -> 128315 bytes docs/static/logos/allora.jpg | Bin 12518 -> 12502 bytes docs/static/logos/ankr.jpg | Bin 0 -> 13187 bytes docs/static/logos/anyone.jpg | Bin 13404 -> 13416 bytes docs/static/logos/appro.jpg | Bin 7825 -> 7834 bytes docs/static/logos/apro.jpg | Bin 0 -> 8282 bytes docs/static/logos/aptos.jpg | Bin 7466 -> 7452 bytes docs/static/logos/arbitage.png | Bin 0 -> 63127 bytes docs/static/logos/arthera.jpg | Bin 8158 -> 8173 bytes docs/static/logos/asterai.jpg | Bin 15078 -> 15087 bytes docs/static/logos/auto.jpg | Bin 12018 -> 12021 bytes docs/static/logos/autonome.jpg | Bin 7731 -> 7729 bytes docs/static/logos/avail.png | Bin 74741 -> 74741 bytes docs/static/logos/avalanche.jpg | Bin 6914 -> 6923 bytes docs/static/logos/binance.jpg | Bin 12191 -> 12202 bytes docs/static/logos/birdeye.jpg | Bin 0 -> 7653 bytes docs/static/logos/bittensor.jpg | Bin 0 -> 4037 bytes docs/static/logos/bootstrap.jpg | Bin 0 -> 13892 bytes docs/static/logos/browser.playwright.jpg | Bin 0 -> 10784 bytes docs/static/logos/carv.jpg | Bin 5026 -> 5032 bytes docs/static/logos/ccxt.png | Bin 5146 -> 5146 bytes docs/static/logos/chainbase.jpg | Bin 0 -> 10548 bytes docs/static/logos/cognition.jpg | Bin 0 -> 9437 bytes docs/static/logos/coinbase.png | Bin 3583 -> 3583 bytes docs/static/logos/coingecko.jpg | Bin 17750 -> 17753 bytes docs/static/logos/coinmarketcap.jpg | Bin 15444 -> 15460 bytes docs/static/logos/compass.jpg | Bin 14321 -> 14333 bytes docs/static/logos/conflux.png | Bin 33755 -> 33755 bytes docs/static/logos/cosmos.jpg | Bin 17322 -> 17318 bytes docs/static/logos/cronos.jpg | Bin 0 -> 14017 bytes docs/static/logos/cronos.png | Bin 2970 -> 2970 bytes docs/static/logos/dcap.png | Bin 51243 -> 51243 bytes docs/static/logos/depin.jpg | Bin 13644 -> 13654 bytes docs/static/logos/desk.jpg | Bin 0 -> 15405 bytes docs/static/logos/deva.jpg | Bin 0 -> 7833 bytes docs/static/logos/devin.png | Bin 0 -> 46338 bytes docs/static/logos/dexscreener.jpg | Bin 0 -> 14154 bytes docs/static/logos/di-logo.jpg | Bin 27481 -> 27346 bytes docs/static/logos/direct.png | Bin 0 -> 302484 bytes docs/static/logos/discord.jpg | Bin 9116 -> 9114 bytes docs/static/logos/echochambers.png | Bin 171250 -> 171250 bytes docs/static/logos/edwin.jpg | Bin 28456 -> 28447 bytes docs/static/logos/email.jpg | Bin 0 -> 7366 bytes docs/static/logos/email.png | Bin 0 -> 20057 bytes docs/static/logos/evm.png | Bin 28530 -> 28530 bytes docs/static/logos/fal.jpg | Bin 8247 -> 8251 bytes docs/static/logos/falai.png | Bin 8369 -> 8369 bytes docs/static/logos/farcaster.jpg | Bin 8377 -> 8379 bytes docs/static/logos/ferepro.png | Bin 43717 -> 43717 bytes docs/static/logos/firecrawl.jpg | Bin 10672 -> 10671 bytes docs/static/logos/flow.jpg | Bin 18210 -> 18215 bytes docs/static/logos/flowchain.png | Bin 14090 -> 14090 bytes docs/static/logos/footballDATA.jpg | Bin 0 -> 18287 bytes docs/static/logos/form.jpg | Bin 0 -> 7562 bytes docs/static/logos/fuel.jpg | Bin 14715 -> 14677 bytes docs/static/logos/gelato.jpg | Bin 0 -> 7814 bytes docs/static/logos/genlayer.jpg | Bin 11908 -> 11902 bytes docs/static/logos/gigbot.png | Bin 163895 -> 163895 bytes docs/static/logos/giphy.jpg | Bin 6296 -> 6287 bytes docs/static/logos/gitbook.jpg | Bin 12329 -> 12320 bytes docs/static/logos/gitcoin.passport.jpg | Bin 0 -> 16680 bytes docs/static/logos/github.png | Bin 4391 -> 4391 bytes docs/static/logos/goat.jpg | Bin 29285 -> 29283 bytes docs/static/logos/goplus.jpg | Bin 8891 -> 8923 bytes docs/static/logos/grix.png | Bin 1800 -> 1800 bytes docs/static/logos/holdstation.jpg | Bin 0 -> 12611 bytes docs/static/logos/home-assistant.png | Bin 0 -> 30745 bytes docs/static/logos/hyperbolic.jpg | Bin 0 -> 7910 bytes docs/static/logos/hyperliquid.png | Bin 36333 -> 36333 bytes docs/static/logos/ikigai-labs.png | Bin 0 -> 13729 bytes docs/static/logos/imagegen.jpg | Bin 81199 -> 81787 bytes docs/static/logos/imgFlip.jpg | Bin 0 -> 8562 bytes docs/static/logos/initia.jpg | Bin 0 -> 15236 bytes docs/static/logos/injective.jpg | Bin 0 -> 16389 bytes docs/static/logos/instagram.jpg | Bin 0 -> 14950 bytes docs/static/logos/intelsgx.png | Bin 123249 -> 123249 bytes docs/static/logos/intiface.png | Bin 39830 -> 39830 bytes docs/static/logos/irys.jpg | Bin 7302 -> 7297 bytes docs/static/logos/isaac.jpg | Bin 11697 -> 11705 bytes docs/static/logos/lens.jpg | Bin 9577 -> 9579 bytes docs/static/logos/letzai.jpg | Bin 2367 -> 2373 bytes docs/static/logos/lightlink.jpg | Bin 9874 -> 9867 bytes docs/static/logos/lightning.png | Bin 0 -> 92448 bytes docs/static/logos/marlin.jpg | Bin 19338 -> 19330 bytes docs/static/logos/massa.jpg | Bin 9057 -> 9061 bytes docs/static/logos/merkle.jpg | Bin 7087 -> 7092 bytes docs/static/logos/messari.jpg | Bin 8354 -> 8377 bytes docs/static/logos/meta-llama.jpg | Bin 0 -> 11104 bytes docs/static/logos/mongodb.png | Bin 3728 -> 3728 bytes docs/static/logos/moralis.jpg | Bin 0 -> 18971 bytes docs/static/logos/movement.jpg | Bin 10078 -> 10085 bytes docs/static/logos/multiversx.jpg | Bin 6810 -> 6819 bytes docs/static/logos/nearai.png | Bin 81427 -> 81427 bytes docs/static/logos/nftgen.png | Bin 35575 -> 35575 bytes docs/static/logos/nkn.jpg | Bin 16763 -> 16765 bytes docs/static/logos/nodejs.jpg | Bin 7452 -> 7449 bytes docs/static/logos/nvidia.jpg | Bin 0 -> 13976 bytes docs/static/logos/obsidian.jpg | Bin 9170 -> 9165 bytes docs/static/logos/okto.png | Bin 66300 -> 66300 bytes docs/static/logos/okx.png | Bin 1551 -> 1551 bytes docs/static/logos/omniflix.jpg | Bin 10309 -> 10310 bytes docs/static/logos/opacity.jpg | Bin 10556 -> 10554 bytes docs/static/logos/openAI.jpg | Bin 0 -> 14838 bytes docs/static/logos/openweather.jpg | Bin 30917 -> 31283 bytes docs/static/logos/para.png | Bin 17172 -> 17172 bytes docs/static/logos/pglite.png | Bin 8226 -> 8226 bytes docs/static/logos/phalatee.jpg | Bin 9976 -> 10000 bytes docs/static/logos/postgres.jpg | Bin 8242 -> 8294 bytes docs/static/logos/primus.png | Bin 4510 -> 4510 bytes docs/static/logos/pyth.jpg | Bin 0 -> 9608 bytes docs/static/logos/qdrant.png | Bin 9892 -> 9892 bytes docs/static/logos/quai.jpg | Bin 26771 -> 26785 bytes docs/static/logos/quickintel.jpg | Bin 0 -> 7103 bytes docs/static/logos/rabbitrader.jpg | Bin 34677 -> 34677 bytes docs/static/logos/redis.jpg | Bin 0 -> 9899 bytes docs/static/logos/router.jpg | Bin 0 -> 5626 bytes docs/static/logos/sei.jpg | Bin 10254 -> 10269 bytes docs/static/logos/sendai.png | Bin 10537 -> 10537 bytes docs/static/logos/simsAI.jpg | Bin 0 -> 11668 bytes docs/static/logos/slack.jpg | Bin 10884 -> 10900 bytes docs/static/logos/solana.jpg | Bin 8344 -> 8368 bytes docs/static/logos/solanaV2.jpg | Bin 0 -> 10150 bytes docs/static/logos/spheron.jpg | Bin 7103 -> 7095 bytes docs/static/logos/sqlite.png | Bin 22559 -> 22559 bytes docs/static/logos/sqljs.png | Bin 17652 -> 17652 bytes docs/static/logos/squid.jpg | Bin 0 -> 22531 bytes docs/static/logos/stargaze.png | Bin 17584 -> 17584 bytes docs/static/logos/starknet.png | Bin 8007 -> 8007 bytes docs/static/logos/story.jpg | Bin 9193 -> 9193 bytes docs/static/logos/sui.jpg | Bin 14240 -> 14244 bytes docs/static/logos/suno.jpg | Bin 0 -> 60038 bytes docs/static/logos/supabase.jpg | Bin 5462 -> 5464 bytes docs/static/logos/tako.png | Bin 16177 -> 16177 bytes docs/static/logos/tee.png | Bin 66884 -> 66884 bytes docs/static/logos/telegram.jpg | Bin 6400 -> 6403 bytes docs/static/logos/thirdweb.jpg | Bin 9162 -> 9162 bytes docs/static/logos/ton.png | Bin 34124 -> 34124 bytes docs/static/logos/trikon.jpg | Bin 0 -> 16797 bytes docs/static/logos/trusta.jpg | Bin 15288 -> 15288 bytes docs/static/logos/twilio.png | Bin 34366 -> 34366 bytes docs/static/logos/viction.jpg | Bin 5322 -> 5328 bytes docs/static/logos/video.jpg | Bin 0 -> 15531 bytes docs/static/logos/websearch.jpg | Bin 31750 -> 31862 bytes docs/static/logos/whatsapp.png | Bin 30280 -> 30280 bytes docs/static/logos/x.jpg | Bin 11224 -> 11223 bytes docs/static/logos/xmtp.jpg | Bin 0 -> 14613 bytes docs/static/logos/youtube.png | Bin 89675 -> 89675 bytes docs/static/logos/zapper.jpg | Bin 3954 -> 3953 bytes docs/static/logos/zerion.jpg | Bin 6947 -> 6941 bytes docs/static/logos/zilliqa.jpg | Bin 0 -> 7710 bytes docs/static/logos/zksync.jpg | Bin 10794 -> 10801 bytes 177 files changed, 1240 insertions(+), 292 deletions(-) create mode 100644 docs/static/logos/0x.jpg create mode 100644 docs/static/logos/AWS.jpg create mode 100644 docs/static/logos/B2network.jpg create mode 100644 docs/static/logos/BNBchain.jpg create mode 100644 docs/static/logos/ETHstorage.jpg create mode 100644 docs/static/logos/IQ6900.jpg create mode 100644 docs/static/logos/LitProtocol.jpg create mode 100644 docs/static/logos/Mina.jpg create mode 100644 docs/static/logos/MindNetwork.jpg create mode 100644 docs/static/logos/NewsAPI.jpg create mode 100644 docs/static/logos/OriginTrail.jpg create mode 100644 docs/static/logos/PDF.jpg create mode 100644 docs/static/logos/TTS.jpg create mode 100644 docs/static/logos/TTSelevenlabs.jpg create mode 100644 docs/static/logos/UDIO.png create mode 100644 docs/static/logos/agentkit.jpg create mode 100644 docs/static/logos/agentkitCDB.jpg create mode 100644 docs/static/logos/alexa.png create mode 100644 docs/static/logos/ankr.jpg create mode 100644 docs/static/logos/apro.jpg create mode 100644 docs/static/logos/arbitage.png create mode 100644 docs/static/logos/birdeye.jpg create mode 100644 docs/static/logos/bittensor.jpg create mode 100644 docs/static/logos/bootstrap.jpg create mode 100644 docs/static/logos/browser.playwright.jpg create mode 100644 docs/static/logos/chainbase.jpg create mode 100644 docs/static/logos/cognition.jpg create mode 100644 docs/static/logos/cronos.jpg create mode 100644 docs/static/logos/desk.jpg create mode 100644 docs/static/logos/deva.jpg create mode 100644 docs/static/logos/devin.png create mode 100644 docs/static/logos/dexscreener.jpg create mode 100644 docs/static/logos/direct.png create mode 100644 docs/static/logos/email.jpg create mode 100644 docs/static/logos/email.png create mode 100644 docs/static/logos/footballDATA.jpg create mode 100644 docs/static/logos/form.jpg create mode 100644 docs/static/logos/gelato.jpg create mode 100644 docs/static/logos/gitcoin.passport.jpg create mode 100644 docs/static/logos/holdstation.jpg create mode 100644 docs/static/logos/home-assistant.png create mode 100644 docs/static/logos/hyperbolic.jpg create mode 100644 docs/static/logos/ikigai-labs.png create mode 100644 docs/static/logos/imgFlip.jpg create mode 100644 docs/static/logos/initia.jpg create mode 100644 docs/static/logos/injective.jpg create mode 100644 docs/static/logos/instagram.jpg create mode 100644 docs/static/logos/lightning.png create mode 100644 docs/static/logos/meta-llama.jpg create mode 100644 docs/static/logos/moralis.jpg create mode 100644 docs/static/logos/nvidia.jpg create mode 100644 docs/static/logos/openAI.jpg create mode 100644 docs/static/logos/pyth.jpg create mode 100644 docs/static/logos/quickintel.jpg create mode 100644 docs/static/logos/redis.jpg create mode 100644 docs/static/logos/router.jpg create mode 100644 docs/static/logos/simsAI.jpg create mode 100644 docs/static/logos/solanaV2.jpg create mode 100644 docs/static/logos/squid.jpg create mode 100644 docs/static/logos/suno.jpg create mode 100644 docs/static/logos/trikon.jpg create mode 100644 docs/static/logos/video.jpg create mode 100644 docs/static/logos/xmtp.jpg create mode 100644 docs/static/logos/zilliqa.jpg diff --git a/docs/scripts/update-registry.js b/docs/scripts/update-registry.js index 3916e85c19b..d8a113130b3 100644 --- a/docs/scripts/update-registry.js +++ b/docs/scripts/update-registry.js @@ -104,7 +104,45 @@ function fetchRegistry() { * Generate the TypeScript file with registry users */ function generateUsersFile(plugins, customData) { - const users = plugins.map(plugin => { + // Extract names of plugins from GitHub + const registryPluginNames = plugins.map(plugin => plugin.id); + + // Find plugins in descriptions that aren't in the registry + const missingPlugins = []; + for (const pluginId in customData) { + if (!registryPluginNames.includes(pluginId)) { + // Create plugin data for missing plugins + const displayName = pluginId + .replace('@elizaos-plugins/plugin-', '') + .replace('@elizaos-plugins/client-', '') + .replace('@elizaos-plugins/adapter-', '') + .replace(/-/g, ' ') + .split(' ') + .map(word => word.charAt(0).toUpperCase() + word.slice(1)) + .join(' '); + + const type = pluginId.includes('client-') ? 'client' : + pluginId.includes('adapter-') ? 'adapter' : + 'plugin'; + + // Create the missing plugin entry + missingPlugins.push({ + id: pluginId, + name: pluginId, + // Assuming GitHub repo path is usually the same as the plugin name + repo_url: `github:elizaos-plugins/${pluginId.split('/').pop()}`, + repo_path: `elizaos-plugins/${pluginId.split('/').pop()}`, + display_name: displayName, + type: type + }); + } + } + + // Combine existing plugins with missing ones + const allPlugins = [...plugins, ...missingPlugins]; + + // Continue with normal processing + const users = allPlugins.map(plugin => { const pluginData = customData[plugin.id] || {}; const description = pluginData.description || diff --git a/docs/src/data/plugin-descriptions.json b/docs/src/data/plugin-descriptions.json index 378b14b8595..7d3277f5b87 100644 --- a/docs/src/data/plugin-descriptions.json +++ b/docs/src/data/plugin-descriptions.json @@ -1,457 +1,717 @@ { + "@elizaos-plugins/adapter-mongodb": { + "custom_preview": "/eliza/logos/mongodb.png", + "description": "Database adapter for MongoDB enabling document storage with query capabilities." + }, + "@elizaos-plugins/adapter-pglite": { + "custom_preview": "/eliza/logos/pglite.png", + "description": "Lightweight PostgreSQL adapter for embedded database applications." + }, + "@elizaos-plugins/adapter-postgres": { + "custom_preview": "/eliza/logos/postgres.jpg", + "description": "Database adapter for PostgreSQL with full relational database capabilities." + }, + "@elizaos-plugins/adapter-qdrant": { + "custom_preview": "/eliza/logos/qdrant.png", + "description": "Vector database adapter for Qdrant with similarity search capabilities." + }, + "@elizaos-plugins/adapter-sqlite": { + "custom_preview": "/eliza/logos/sqlite.png", + "description": "File-based SQL database adapter for lightweight local storage." + }, + "@elizaos-plugins/adapter-sqljs": { + "custom_preview": "/eliza/logos/sqljs.png", + "description": "In-memory SQL database adapter for browser-based applications." + }, + "@elizaos-plugins/adapter-supabase": { + "custom_preview": "/eliza/logos/supabase.jpg", + "description": "Database adapter for Supabase with PostgreSQL and realtime capabilities." + }, + "@elizaos-plugins/cache-redis": { + "custom_preview": "/eliza/logos/redis.jpg", + "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer." + }, + "@elizaos-plugins/client-alexa": { + "custom_preview": "/eliza/logos/alexa.png", + "description": "Provides integration with Amazon Alexa devices for voice-controlled agent interactions." + }, + "@elizaos-plugins/client-auto": { + "custom_preview": "/eliza/logos/auto.jpg", + "description": "Auto-detection client for determining optimal communication channels." + }, + "@elizaos-plugins/client-deva": { + "custom_preview": "/eliza/logos/deva.jpg", + "description": "Enables communication with Deva AI systems for advanced conversational capabilities." + }, + "@elizaos-plugins/client-direct": { + "custom_preview": "/eliza/logos/direct.png", + "description": "Deprecated plugin that now lives in @elizaos/core." + }, + "@elizaos-plugins/client-discord": { + "custom_preview": "/eliza/logos/discord.jpg", + "description": "Discord integration client with messaging and community interaction capabilities.", + "featured": true + }, + "@elizaos-plugins/client-eliza-home": { + "custom_preview":"/eliza/logos/home-assistant.png", + "description": "Provides integration with Eliza Home environment for home automation and intelligent assistant features." + }, + "@elizaos-plugins/client-farcaster": { + "custom_preview": "/eliza/logos/farcaster.jpg", + "description": "Client for Farcaster decentralized social media protocol." + }, + "@elizaos-plugins/client-github": { + "custom_preview": "/eliza/logos/github.png", + "description": "GitHub client for repository management and code integration.", + "featured": true + }, + "@elizaos-plugins/client-instagram": { + "custom_preview": "/eliza/logos/instagram.jpg", + "description": "Enables Instagram integration with support for media posting, comment handling, and interaction management." + }, + "@elizaos-plugins/client-lens": { + "custom_preview": "/eliza/logos/lens.jpg", + "description": "Client for Lens Protocol decentralized social networking." + }, + "@elizaos-plugins/client-simsai": { + "custom_preview": "/eliza/logos/simsAI.jpg", + "description": "Deprecated plugin that needs a maintainer." + }, + "@elizaos-plugins/client-slack": { + "custom_preview": "/eliza/logos/slack.jpg", + "description": "Slack integration client with messaging and workspace collaboration features." + }, + "@elizaos-plugins/client-tako": { + "custom_preview": "/eliza/logos/tako.png", + "description": "Client for the Tako protocol enabling cross-platform social engagement." + }, + "@elizaos-plugins/client-telegram": { + "custom_preview": "/eliza/logos/telegram.jpg", + "description": "Telegram messaging client with bot and channel integration capabilities.", + "featured": true + }, + "@elizaos-plugins/client-telegram-account": { + "custom_preview": "/eliza/logos/telegram.jpg", + "description": "Provides advanced Telegram account management capabilities beyond basic bot functionality." + }, + "@elizaos-plugins/client-twitter": { + "custom_preview": "/eliza/logos/x.jpg", + "description": "Twitter/X client for posting and monitoring social media activity.", + "featured": true + }, + "@elizaos-plugins/client-xmtp": { + "custom_preview": "/eliza/logos/xmtp.jpg", + "description": "Enables secure, decentralized, and end-to-end encrypted messaging through the XMTP protocol." + }, "@elizaos-plugins/plugin-0g": { - "description": "Provides decentralized file storage capabilities using the Zero Gravity (0G) protocol.", - "custom_preview": "/eliza/logos/0g.jpg" + "custom_preview": "/eliza/logos/0g.jpg", + "description": "Provides decentralized file storage capabilities using the Zero Gravity (0G) protocol." + }, + "@elizaos-plugins/plugin-0x": { + "custom_preview": "/eliza/logos/0x.jpg", + "description": "Enables token swaps through 0x Protocol across multiple EVM blockchains with optimized routing and liquidity aggregation." }, "@elizaos-plugins/plugin-3d-generation": { - "description": "Generates 3D models from text descriptions using FAL.ai's API services.", - "custom_preview": "/eliza/logos/falai.png" + "custom_preview": "/eliza/logos/falai.png", + "description": "Generates 3D models from text descriptions using FAL.ai's API services." + }, + "@elizaos-plugins/plugin-ATTPs": { + "custom_preview": "/eliza/logos/appro.jpg", + "description": "Enables verification of agent activities using proof generation and validation." }, "@elizaos-plugins/plugin-abstract": { - "description": "Enables token transfers and operations on the Abstract blockchain network.", - "custom_preview": "/eliza/logos/abstract.jpg" + "custom_preview": "/eliza/logos/abstract.jpg", + "description": "Enables token transfers and operations on the Abstract blockchain network." + }, + "@elizaos-plugins/plugin-agentkit": { + "custom_preview": "/eliza/logos/agentkitCDB.jpg", + "description": "Integrates CDP AgentKit tools for NFT and token management on various blockchain networks." }, "@elizaos-plugins/plugin-akash": { - "description": "Manages deployments and cloud compute operations on the Akash Network.", - "custom_preview": "/eliza/logos/akash.jpg" + "custom_preview": "/eliza/logos/akash.jpg", + "description": "Manages deployments and cloud compute operations on the Akash Network." }, "@elizaos-plugins/plugin-allora": { - "description": "Provides real-time AI inferences from the Allora Network for market predictions and analysis.", - "custom_preview": "/eliza/logos/allora.jpg" + "custom_preview": "/eliza/logos/allora.jpg", + "description": "Provides real-time AI inferences from the Allora Network for market predictions and analysis." + }, + "@elizaos-plugins/plugin-ankr": { + "custom_preview": "/eliza/logos/ankr.jpg", + "description": "Provides blockchain data query interfaces for wallet information, NFT operations, and token analytics." }, "@elizaos-plugins/plugin-anyone": { - "description": "Enables SOCKS proxy configuration for the Anyone protocol proxy services.", - "custom_preview": "/eliza/logos/anyone.jpg" + "custom_preview": "/eliza/logos/anyone.jpg", + "description": "Enables SOCKS proxy configuration for the Anyone protocol proxy services." }, "@elizaos-plugins/plugin-aptos": { - "description": "Handles token transfers and wallet management on the Aptos blockchain.", - "custom_preview": "/eliza/logos/aptos.jpg" + "custom_preview": "/eliza/logos/aptos.jpg", + "description": "Handles token transfers and wallet management on the Aptos blockchain." + }, + "@elizaos-plugins/plugin-arbitrage": { + "custom_preview": "/eliza/logos/arbitage.png", + "description": "Identifies and executes cryptocurrency arbitrage opportunities across multiple exchanges." }, "@elizaos-plugins/plugin-arthera": { - "description": "Facilitates transactions and token operations on the Arthera network.", - "custom_preview": "/eliza/logos/arthera.jpg" + "custom_preview": "/eliza/logos/arthera.jpg", + "description": "Facilitates transactions and token operations on the Arthera network." }, "@elizaos-plugins/plugin-asterai": { - "description": "Integrates with asterai.io plugins and agents for enhanced AI capabilities.", - "custom_preview": "/eliza/logos/asterai.jpg" - }, - "@elizaos-plugins/plugin-ATTPs": { - "description": "Enables verification of agent activities using proof generation and validation.", - "custom_preview": "/eliza/logos/appro.jpg" + "custom_preview": "/eliza/logos/asterai.jpg", + "description": "Integrates with asterai.io plugins and agents for enhanced AI capabilities." }, "@elizaos-plugins/plugin-autonome": { - "description": "Launches and manages new Eliza agents through the Autonome platform.", - "custom_preview": "/eliza/logos/autonome.jpg" + "custom_preview": "/eliza/logos/autonome.jpg", + "description": "Launches and manages new Eliza agents through the Autonome platform." }, "@elizaos-plugins/plugin-avail": { - "description": "Interacts with Avail DA network for data availability and token transfers.", - "custom_preview": "/eliza/logos/avail.png" + "custom_preview": "/eliza/logos/avail.png", + "description": "Interacts with Avail DA network for data availability and token transfers." }, "@elizaos-plugins/plugin-avalanche": { - "description": "Enables DeFi operations and token management on the Avalanche blockchain.", - "custom_preview": "/eliza/logos/avalanche.jpg" + "custom_preview": "/eliza/logos/avalanche.jpg", + "description": "Enables DeFi operations and token management on the Avalanche blockchain." + }, + "@elizaos-plugins/plugin-aws-s3": { + "custom_preview": "/eliza/logos/AWS.jpg", + "description": "Provides AWS S3 integration for cloud-based file operations and storage management." + }, + "@elizaos-plugins/plugin-b2": { + "custom_preview": "/eliza/logos/B2network.jpg", + "description": "Enables token transfers on the B2-Network blockchain with support for B2-BTC and ERC20 tokens." }, "@elizaos-plugins/plugin-binance": { - "description": "Provides cryptocurrency trading and price checking capabilities through Binance's API.", - "custom_preview": "/eliza/logos/binance.jpg" + "custom_preview": "/eliza/logos/binance.jpg", + "description": "Provides cryptocurrency trading and price checking capabilities through Binance's API." + }, + "@elizaos-plugins/plugin-birdeye": { + "custom_preview": "/eliza/logos/birdeye.jpg", + "description": "Offers DeFi and token analytics through Birdeye's API with real-time blockchain data across multiple networks." + }, + "@elizaos-plugins/plugin-bittensor": { + "custom_preview": "/eliza/logos/bittensor.jpg", + "description": "Integrates BitMind's API for accessing AI services on the Bittensor network, especially deepfake detection." + }, + "@elizaos-plugins/plugin-bnb": { + "custom_preview": "/eliza/logos/BNBchain.jpg", + "description": "Enables interactions with BNB Chain ecosystem including BNB Smart Chain, opBNB, and BNB Greenfield networks." + }, + "@elizaos-plugins/plugin-bootstrap": { + "custom_preview": "/eliza/logos/bootstrap.jpg", + "description": "Provides core functionality for ElizaOS agents including conversation management and fact tracking." + }, + "@elizaos-plugins/plugin-browser": { + "custom_preview": "/eliza/logos/browser.playwright.jpg", + "description": "Provides web scraping and browser automation using Playwright with support for multiple browsers and interactions." }, "@elizaos-plugins/plugin-ccxt": { - "description": "Enables cryptocurrency trading and arbitrage across multiple exchanges using CCXT.", - "custom_preview": "/eliza/logos/ccxt.png" + "custom_preview": "/eliza/logos/ccxt.png", + "description": "Enables cryptocurrency trading and arbitrage across multiple exchanges using CCXT." + }, + "@elizaos-plugins/plugin-chainbase": { + "custom_preview": "/eliza/logos/chainbase.jpg", + "description": "Bridges on-chain data with AI agents, enabling natural language interactions with blockchain data across networks." }, "@elizaos-plugins/plugin-coinbase": { - "description": "Provides comprehensive integration with Coinbase's various APIs and trading services.", - "custom_preview": "/eliza/logos/coinbase.png" + "custom_preview": "/eliza/logos/coinbase.png", + "description": "Provides comprehensive integration with Coinbase's various APIs and trading services." }, "@elizaos-plugins/plugin-coingecko": { - "description": "Fetches cryptocurrency price data and market information from CoinGecko's API.", - "custom_preview": "/eliza/logos/coingecko.jpg" + "custom_preview": "/eliza/logos/coingecko.jpg", + "description": "Fetches cryptocurrency price data and market information from CoinGecko's API." }, "@elizaos-plugins/plugin-coinmarketcap": { - "description": "Enables cryptocurrency price checking using CoinMarketCap's API services.", - "custom_preview": "/eliza/logos/coinmarketcap.jpg" + "custom_preview": "/eliza/logos/coinmarketcap.jpg", + "description": "Enables cryptocurrency price checking using CoinMarketCap's API services." }, "@elizaos-plugins/plugin-compass": { - "description": "Integrates with Compass API for executing operations on DeFi protocols.", - "custom_preview": "/eliza/logos/compass.jpg" + "custom_preview": "/eliza/logos/compass.jpg", + "description": "Integrates with Compass API for executing operations on DeFi protocols." }, "@elizaos-plugins/plugin-conflux": { - "description": "Manages token transfers and interactions on the Conflux blockchain network.", - "custom_preview": "/eliza/logos/conflux.png" + "custom_preview": "/eliza/logos/conflux.png", + "description": "Manages token transfers and interactions on the Conflux blockchain network." }, "@elizaos-plugins/plugin-cosmos": { - "description": "Handles token management and transfers using Cosmos-compatible blockchains.", - "custom_preview": "/eliza/logos/cosmos.jpg" + "custom_preview": "/eliza/logos/cosmos.jpg", + "description": "Handles token management and transfers using Cosmos-compatible blockchains." + }, + "@elizaos-plugins/plugin-cronos": { + "custom_preview": "/eliza/logos/cronos.jpg", + "description": "Extends EVM plugin functionality for Cronos blockchain with native CRO token support and wallet operations." }, "@elizaos-plugins/plugin-cronoszkevm": { - "description": "Enables token transfers and interactions on the Cronos zkEVM network.", - "custom_preview": "/eliza/logos/cronos.png" + "custom_preview": "/eliza/logos/cronos.png", + "description": "Enables token transfers and interactions on the Cronos zkEVM network." }, "@elizaos-plugins/plugin-d.a.t.a": { - "description": "Processes and analyzes data from various sources with authentication and trust scoring.", - "custom_preview": "/eliza/logos/carv.jpg" + "custom_preview": "/eliza/logos/carv.jpg", + "description": "Processes and analyzes data from various sources with authentication and trust scoring." + }, + "@elizaos-plugins/plugin-dcap": { + "custom_preview": "/eliza/logos/dcap.png", + "description": "Provides Intel Data Center Attestation Primitives for secure cloud environments." }, "@elizaos-plugins/plugin-depin": { - "description": "Connects AI agents to physical infrastructure through Decentralized Physical Infrastructure Networks.", - "custom_preview": "/eliza/logos/depin.jpg" + "custom_preview": "/eliza/logos/depin.jpg", + "description": "Connects AI agents to physical infrastructure through Decentralized Physical Infrastructure Networks." + }, + "@elizaos-plugins/plugin-desk-exchange": { + "custom_preview": "/eliza/logos/desk.jpg", + "description": "Integrates with DESK Exchange for perpetual futures trading with support for market and limit orders." + }, + "@elizaos-plugins/plugin-devin": { + "custom_preview": "/eliza/logos/devin.png", + "description": "Provides integration with Devin API for automated engineering assistance and session management." + }, + "@elizaos-plugins/plugin-dexscreener": { + "custom_preview": "/eliza/logos/dexscreener.jpg", + "description": "Accesses DexScreener's token data for price information and market trends across multiple blockchains." }, "@elizaos-plugins/plugin-di": { - "description": "Provides dependency injection system for Eliza plugins.", - "custom_preview": "/eliza/logos/di-logo.jpg" + "custom_preview": "/eliza/logos/di-logo.jpg", + "description": "Provides dependency injection system for Eliza plugins." + }, + "@elizaos-plugins/plugin-dkg": { + "custom_preview": "/eliza/logos/OriginTrail.jpg", + "description": "Enables integration with OriginTrail Decentralized Knowledge Graph for enhanced search capabilities." }, "@elizaos-plugins/plugin-echochambers": { - "description": "Enables chat room interactions with dynamic conversation handling and monitoring.", - "custom_preview": "/eliza/logos/echochambers.png" + "custom_preview": "/eliza/logos/echochambers.png", + "description": "Enables chat room interactions with dynamic conversation handling and monitoring." }, "@elizaos-plugins/plugin-edwin": { - "description": "Enables interaction with Edwin tools for DeFi operations.", - "custom_preview": "/eliza/logos/edwin.jpg" + "custom_preview": "/eliza/logos/edwin.jpg", + "description": "Enables interaction with Edwin tools for DeFi operations." + }, + "@elizaos-plugins/plugin-email": { + "custom_preview": "/eliza/logos/email.png", + "description": "Implements email client functionality for sending and receiving emails through SMTP/IMAP services." + }, + "@elizaos-plugins/plugin-email-automation": { + "custom_preview": "/eliza/logos/email.jpg", + "description": "Intelligently detects email-worthy conversations and handles generation/delivery with AI-powered content formatting." + }, + "@elizaos-plugins/plugin-ethstorage": { + "custom_preview": "/eliza/logos/ETHstorage.jpg", + "description": "Enables interaction with EthStorage decentralized storage network for data submission and token transfers." }, "@elizaos-plugins/plugin-evm": { - "description": "Provides comprehensive functionality for interacting with EVM-compatible chains.", "custom_preview": "/eliza/logos/evm.png", + "description": "Provides comprehensive functionality for interacting with EVM-compatible chains.", "featured": true }, "@elizaos-plugins/plugin-ferePro": { - "description": "Enables WebSocket communication with FerePro API for AI-driven market insights.", - "custom_preview": "/eliza/logos/ferepro.png" + "custom_preview": "/eliza/logos/ferepro.png", + "description": "Enables WebSocket communication with FerePro API for AI-driven market insights." }, "@elizaos-plugins/plugin-firecrawl": { - "description": "Provides web scraping and crawling capabilities through the Firecrawl API.", - "custom_preview": "/eliza/logos/firecrawl.jpg" + "custom_preview": "/eliza/logos/firecrawl.jpg", + "description": "Provides web scraping and crawling capabilities through the Firecrawl API." }, "@elizaos-plugins/plugin-flow": { - "description": "Manages Flow blockchain interactions including token transfers and smart contracts.", - "custom_preview": "/eliza/logos/flowchain.png" + "custom_preview": "/eliza/logos/flowchain.png", + "description": "Manages Flow blockchain interactions including token transfers and smart contracts." }, "@elizaos-plugins/plugin-flow-advanced": { - "description": "The advanced Eliza plugin for Flow Blockchain", - "custom_preview": "/eliza/logos/flowchain.png" + "custom_preview": "/eliza/logos/flowchain.png", + "description": "The advanced Eliza plugin for Flow Blockchain" + }, + "@elizaos-plugins/plugin-football": { + "custom_preview": "/eliza/logos/footballDATA.jpg", + "description": "Provides live football match data and league standings information through the Football-Data.org API." + }, + "@elizaos-plugins/plugin-form": { + "custom_preview": "/eliza/logos/form.jpg", + "description": "Integrates Form chain capabilities for curves-based token economics with ERC20 conversion and management." }, "@elizaos-plugins/plugin-fuel": { - "description": "Enables ETH transfers and interactions on the Fuel Ignition network.", - "custom_preview": "/eliza/logos/fuel.jpg" + "custom_preview": "/eliza/logos/fuel.jpg", + "description": "Enables ETH transfers and interactions on the Fuel Ignition network." + }, + "@elizaos-plugins/plugin-gelato": { + "custom_preview": "/eliza/logos/gelato.jpg", + "description": "Enables smart contract interactions via Gelato Relay supporting both ERC2771 and non-ERC2771 calls on EVM chains." }, "@elizaos-plugins/plugin-genlayer": { - "description": "Facilitates contract deployment and interactions on the GenLayer protocol.", - "custom_preview": "/eliza/logos/genlayer.jpg" + "custom_preview": "/eliza/logos/genlayer.jpg", + "description": "Facilitates contract deployment and interactions on the GenLayer protocol." + }, + "@elizaos-plugins/plugin-gigbot": { + "custom_preview": "/eliza/logos/gigbot.png", + "description": "AI-powered freelance work management and automation toolkit." }, "@elizaos-plugins/plugin-giphy": { - "description": "Enables sending GIFs in response to user messages using the Giphy API.", - "custom_preview": "/eliza/logos/giphy.jpg" + "custom_preview": "/eliza/logos/giphy.jpg", + "description": "Enables sending GIFs in response to user messages using the Giphy API." }, "@elizaos-plugins/plugin-gitbook": { - "description": "Enables querying and retrieving information from GitBook documentation.", - "custom_preview": "/eliza/logos/gitbook.jpg" + "custom_preview": "/eliza/logos/gitbook.jpg", + "description": "Enables querying and retrieving information from GitBook documentation." + }, + "@elizaos-plugins/plugin-gitcoin-passport": { + "custom_preview": "/eliza/logos/gitcoin.passport.jpg", + "description": "Interacts with Gitcoin Passport API for verifying and managing digital identity credentials." }, "@elizaos-plugins/plugin-goat": { - "description": "Integrates blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework.", - "custom_preview": "/eliza/logos/goat.jpg" + "custom_preview": "/eliza/logos/goat.jpg", + "description": "Integrates blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework." }, "@elizaos-plugins/plugin-goplus": { - "description": "Enables on-chain security checks through the GoPlus API integration.", - "custom_preview": "/eliza/logos/goplus.jpg" + "custom_preview": "/eliza/logos/goplus.jpg", + "description": "Enables on-chain security checks through the GoPlus API integration." }, "@elizaos-plugins/plugin-grix": { - "description": "Enables DeFi options data fetching and price analysis through Grix Finance API.", - "custom_preview": "/eliza/logos/grix.png" + "custom_preview": "/eliza/logos/grix.png", + "description": "Enables DeFi options data fetching and price analysis through Grix Finance API." + }, + "@elizaos-plugins/plugin-holdstation": { + "custom_preview": "/eliza/logos/holdstation.jpg", + "description": "Enables token swapping on Holdstation DEX with support for ZKsync Era and upcoming Berachain." + }, + "@elizaos-plugins/plugin-hyperbolic": { + "custom_preview": "/eliza/logos/hyperbolic.jpg", + "description": "Manages GPU instances on the Hyperbolic platform with capabilities for renting and monitoring resources." }, "@elizaos-plugins/plugin-hyperliquid": { - "description": "Provides spot trading capabilities on the Hyperliquid DEX.", - "custom_preview": "/eliza/logos/hyperliquid.png" + "custom_preview": "/eliza/logos/hyperliquid.png", + "description": "Provides spot trading capabilities on the Hyperliquid DEX." }, "@elizaos-plugins/plugin-icp": { - "description": "Enables interaction with Internet Computer Protocol for token and smart contract operations.", - "custom_preview": "/eliza/logos/ICP.jpg" + "custom_preview": "/eliza/logos/ICP.jpg", + "description": "Enables interaction with Internet Computer Protocol for token and smart contract operations." + }, + "@elizaos-plugins/plugin-image": { + "custom_preview": "/eliza/logos/imagegen.jpg", + "description": "Processes and analyzes images to generate descriptions with support for multiple vision model providers." }, "@elizaos-plugins/plugin-image-generation": { - "description": "Generates and manages images with storage integration and optimization features.", - "custom_preview": "/eliza/logos/imagegen.jpg" + "custom_preview": "/eliza/logos/imagegen.jpg", + "description": "Generates and manages images with storage integration and optimization features." + }, + "@elizaos-plugins/plugin-imgflip": { + "custom_preview": "/eliza/logos/imgFlip.jpg", + "description": "Generates memes using the imgflip.com API based on user messages." + }, + "@elizaos-plugins/plugin-initia": { + "custom_preview": "/eliza/logos/initia.jpg", + "description": "Enables token transfers on the Initia blockchain with support for INIT token transactions." + }, + "@elizaos-plugins/plugin-injective": { + "custom_preview": "/eliza/logos/injective.jpg", + "description": "Provides comprehensive interaction with the Injective blockchain through module-based action creation." }, "@elizaos-plugins/plugin-intiface": { - "description": "Controls intimate hardware devices through the Buttplug.io protocol.", - "custom_preview": "/eliza/logos/intiface.png" + "custom_preview": "/eliza/logos/intiface.png", + "description": "Controls intimate hardware devices through the Buttplug.io protocol." + }, + "@elizaos-plugins/plugin-iq6900": { + "custom_preview": "/eliza/logos/IQ6900.jpg", + "description": "Provides blockchain inscription functionality through IQ6900's Code-In standard for permanent agent storage." }, "@elizaos-plugins/plugin-irys": { - "description": "Enables decentralized data storage and retrieval using the Irys datachain platform.", - "custom_preview": "/eliza/logos/irys.jpg" + "custom_preview": "/eliza/logos/irys.jpg", + "description": "Enables decentralized data storage and retrieval using the Irys datachain platform." }, - "@elizaos-plugins/plugin-lensNetwork": { - "description": "Integrates with Lens Protocol for social networking features.", - "custom_preview": "/eliza/logos/lens.jpg" + "@elizaos-plugins/plugin-isaacx": { + "custom_preview": "/eliza/logos/isaac.jpg", + "description": "Advanced AI reasoning and cognitive modeling plugin." + }, + "@elizaos-plugins/plugin-lens-network": { + "custom_preview": "/eliza/logos/lens.jpg", + "description": "Integrates with Lens protocol for both native and ERC20 tokens." }, "@elizaos-plugins/plugin-letzai": { - "description": "Enables image generation using LetzAI's API and models.", - "custom_preview": "/eliza/logos/letzai.jpg" + "custom_preview": "/eliza/logos/letzai.jpg", + "description": "Enables image generation using LetzAI's API and models." + }, + "@elizaos-plugins/plugin-lightlink": { + "custom_preview": "/eliza/logos/lightlink.jpg", + "description": "Enables Ethereum layer 2 operations on the Lightlink blockchain network." + }, + "@elizaos-plugins/plugin-lightning": { + "custom_preview": "/eliza/logos/lightning.png", + "description": "Enables Lightning Network integration for creating invoices and making off-chain Bitcoin payments." + }, + "@elizaos-plugins/plugin-lit": { + "custom_preview": "/eliza/logos/LitProtocol.jpg", + "description": "Integrates Lit Protocol for secure and decentralized access control and cryptographic operations." + }, + "@elizaos-plugins/plugin-llama": { + "custom_preview": "/eliza/logos/meta-llama.jpg", + "description": "Provides local LLM capabilities using LLaMA models with CPU and GPU support for efficient text generation." }, "@elizaos-plugins/plugin-massa": { - "description": "Enables interactions with the Massa blockchain ecosystem.", - "custom_preview": "/eliza/logos/massa.jpg" + "custom_preview": "/eliza/logos/massa.jpg", + "description": "Enables interactions with the Massa blockchain ecosystem." }, "@elizaos-plugins/plugin-merkle": { - "description": "Integrates MerkleTrade platform for trading operations with API-based price tracking and order management.", - "custom_preview": "/eliza/logos/merkle.jpg" + "custom_preview": "/eliza/logos/merkle.jpg", + "description": "Integrates MerkleTrade platform for trading operations with API-based price tracking and order management." }, "@elizaos-plugins/plugin-messari-ai-toolkit": { - "description": "Provides crypto market research capabilities using Messari's AI Toolkit.", - "custom_preview": "/eliza/logos/messari.jpg" + "custom_preview": "/eliza/logos/messari.jpg", + "description": "Provides crypto market research capabilities using Messari's AI Toolkit." + }, + "@elizaos-plugins/plugin-mina": { + "custom_preview": "/eliza/logos/Mina.jpg", + "description": "Enables Mina blockchain interactions for token transfers, wallet management, and balance queries." + }, + "@elizaos-plugins/plugin-mind-network": { + "custom_preview": "/eliza/logos/MindNetwork.jpg", + "description": "Integrates with Mind Network Hubs for secure, privacy-preserving voting using Fully Homomorphic Encryption." + }, + "@elizaos-plugins/plugin-moralis": { + "custom_preview": "/eliza/logos/moralis.jpg", + "description": "Fetches real-time DeFi data including trading pairs, statistics, and price history through Moralis APIs." }, "@elizaos-plugins/plugin-movement": { - "description": "Enables Movement Network blockchain functionality for token operations.", - "custom_preview": "/eliza/logos/movement.jpg" + "custom_preview": "/eliza/logos/movement.jpg", + "description": "Enables Movement Network blockchain functionality for token operations." + }, + "@elizaos-plugins/plugin-multichain": { + "custom_preview": "/eliza/logos/nearai.png", + "description": "Cross-chain interaction capabilities for multiple blockchain networks." }, "@elizaos-plugins/plugin-multiversx": { - "description": "Manages token operations and transfers on the MultiversX blockchain.", - "custom_preview": "/eliza/logos/multiversx.jpg" + "custom_preview": "/eliza/logos/multiversx.jpg", + "description": "Manages token operations and transfers on the MultiversX blockchain." }, "@elizaos-plugins/plugin-near": { - "description": "Enables token management and transfers on the NEAR Protocol blockchain.", - "custom_preview": "/eliza/logos/NEAR.jpg" + "custom_preview": "/eliza/logos/NEAR.jpg", + "description": "Enables token management and transfers on the NEAR Protocol blockchain." + }, + "@elizaos-plugins/plugin-news": { + "custom_preview": "/eliza/logos/NewsAPI.jpg", + "description": "Fetches and handles real-time news data through NewsAPI integration with search and summary capabilities." + }, + "@elizaos-plugins/plugin-nft-collections": { + "custom_preview": "/eliza/logos/nftgen.png", + "description": "Integrates NFT data services for comprehensive market analytics and trading with support for 420+ verified collections." }, "@elizaos-plugins/plugin-nft-generation": { - "description": "Creates NFT collections with AI-generated artwork on the Solana blockchain.", - "custom_preview": "/eliza/logos/nftgen.png" + "custom_preview": "/eliza/logos/nftgen.png", + "description": "Creates NFT collections with AI-generated artwork on the Solana blockchain." + }, + "@elizaos-plugins/plugin-nkn": { + "custom_preview": "/eliza/logos/nkn.jpg", + "description": "Enables communication between multiple AI agents using the NKN protocol for decentralized messaging." }, "@elizaos-plugins/plugin-node": { - "description": "Provides core Node.js services for file operations and media processing.", - "custom_preview": "/eliza/logos/nodejs.jpg" + "custom_preview": "/eliza/logos/nodejs.jpg", + "description": "Provides core Node.js services for file operations and media processing." }, - "@elizaos-plugins/plugin-nkn": { - "description": "Enables communication between multiple AI agents using the NKN protocol for decentralized messaging.", - "custom_preview": "/eliza/logos/nkn.jpg" + "@elizaos-plugins/plugin-nvidia-nim": { + "custom_preview": "/eliza/logos/nvidia.jpg", + "description": "Integrates NVIDIA's AI foundation models for content analysis including AI image detection and safety checks." }, "@elizaos-plugins/plugin-obsidian": { - "description": "Enables seamless integration with Obsidian vaults for note management.", - "custom_preview": "/eliza/logos/obsidian.jpg" + "custom_preview": "/eliza/logos/obsidian.jpg", + "description": "Enables seamless integration with Obsidian vaults for note management." + }, + "@elizaos-plugins/plugin-okto": { + "custom_preview": "/eliza/logos/okto.png", + "description": "Self-custody wallet operations and transaction management." + }, + "@elizaos-plugins/plugin-okx": { + "custom_preview": "/eliza/logos/okx.png", + "description": "Trading and asset management through OKX exchange API." }, "@elizaos-plugins/plugin-omniflix": { - "description": "Facilitates interactions with the OmniFlix Network blockchain.", - "custom_preview": "/eliza/logos/omniflix.jpg" + "custom_preview": "/eliza/logos/omniflix.jpg", + "description": "Facilitates interactions with the OmniFlix Network blockchain." }, "@elizaos-plugins/plugin-opacity": { - "description": "Implements verifiable inference results from various AI model providers.", - "custom_preview": "/eliza/logos/opacity.jpg" + "custom_preview": "/eliza/logos/opacity.jpg", + "description": "Implements verifiable inference results from various AI model providers." }, "@elizaos-plugins/plugin-open-weather": { - "description": "Fetches weather data using the OpenWeather API.", - "custom_preview": "/eliza/logos/openweather.jpg" + "custom_preview": "/eliza/logos/openweather.jpg", + "description": "Fetches weather data using the OpenWeather API." + }, + "@elizaos-plugins/plugin-openai": { + "custom_preview": "/eliza/logos/openAI.jpg", + "description": "Integrates OpenAI's GPT models for automated text generation with customizable prompts." + }, + "@elizaos-plugins/plugin-para": { + "custom_preview": "/eliza/logos/para.png", + "description": "NFT and digital collectible management platform integration." + }, + "@elizaos-plugins/plugin-pdf": { + "custom_preview": "/eliza/logos/PDF.jpg", + "description": "Provides PDF text extraction and processing capabilities for document analysis." }, "@elizaos-plugins/plugin-primus": { - "description": "Verifies agent activities using Primus' zkTLS protocol.", - "custom_preview": "/eliza/logos/primus.png" + "custom_preview": "/eliza/logos/primus.png", + "description": "Verifies agent activities using Primus' zkTLS protocol." + }, + "@elizaos-plugins/plugin-pyth-data": { + "custom_preview": "/eliza/logos/pyth.jpg", + "description": "Integrates with Pyth Network for real-time price feeds and data streams across multiple asset classes." }, "@elizaos-plugins/plugin-quai": { - "description": "Enables token transfers and blockchain interactions on Quai Network.", - "custom_preview": "/eliza/logos/quai.jpg" + "custom_preview": "/eliza/logos/quai.jpg", + "description": "Enables token transfers and blockchain interactions on Quai Network." + }, + "@elizaos-plugins/plugin-quick-intel": { + "custom_preview": "/eliza/logos/quickintel.jpg", + "description": "Performs token security audits and market analysis with support for multiple chains and address formats." }, "@elizaos-plugins/plugin-rabbi-trader": { - "description": "Provides automated cryptocurrency trading on Solana with trust scoring.", - "custom_preview": "/eliza/logos/rabbitrader.jpg" + "custom_preview": "/eliza/logos/rabbitrader.jpg", + "description": "Provides automated cryptocurrency trading on Solana with trust scoring." + }, + "@elizaos-plugins/plugin-router-nitro": { + "custom_preview": "/eliza/logos/router.jpg", + "description": "Enables cross-chain token transfers using Router Nitro bridge with support for multiple blockchains." }, "@elizaos-plugins/plugin-sei": { - "description": "Enables token transfers and operations on the Sei blockchain network.", - "custom_preview": "/eliza/logos/sei.jpg" + "custom_preview": "/eliza/logos/sei.jpg", + "description": "Enables token transfers and operations on the Sei blockchain network." }, "@elizaos-plugins/plugin-sgx": { - "description": "Provides Intel SGX attestation capabilities for secure execution.", - "custom_preview": "/eliza/logos/intelsgx.png" + "custom_preview": "/eliza/logos/intelsgx.png", + "description": "Provides Intel SGX attestation capabilities for secure execution." }, "@elizaos-plugins/plugin-solana": { - "description": "Enables comprehensive DeFi operations on the Solana blockchain.", - "custom_preview": "/eliza/logos/solana.jpg" + "custom_preview": "/eliza/logos/solana.jpg", + "description": "Enables comprehensive DeFi operations on the Solana blockchain." }, "@elizaos-plugins/plugin-solana-agent-kit": { - "description": "Provides token operations and NFT functionality on Solana.", "custom_preview": "/eliza/logos/sendai.png", + "description": "Provides token operations and NFT functionality on Solana.", "featured": true }, + "@elizaos-plugins/plugin-solana-agentkit": { + "custom_preview": "/eliza/logos/solanaV2.jpg", + "description": "Enables interaction with the Solana blockchain through AgentKit for wallet and transaction management." + }, + "@elizaos-plugins/plugin-solana-v2": { + "custom_preview": "/eliza/logos/solanaV2.jpg", + "description": "Leverages @solana/web3.js v2 for modern, efficient Solana integrations with liquidity position management." + }, + "@elizaos-plugins/plugin-speech-tts": { + "custom_preview": "/eliza/logos/TTSelevenlabs.jpg", + "description": "Provides text-to-speech transcription services using OpenAI and ElevenLabs technologies." + }, "@elizaos-plugins/plugin-spheron": { - "description": "Manages deployments and operations using the Spheron Protocol.", - "custom_preview": "/eliza/logos/spheron.jpg" + "custom_preview": "/eliza/logos/spheron.jpg", + "description": "Manages deployments and operations using the Spheron Protocol." + }, + "@elizaos-plugins/plugin-squid-router": { + "custom_preview": "/eliza/logos/squid.jpg", + "description": "Enables cross-chain token swaps between blockchains using the Squid Router protocol." }, "@elizaos-plugins/plugin-stargaze": { - "description": "Fetches NFT data from Stargaze collections.", - "custom_preview": "/eliza/logos/stargaze.png" + "custom_preview": "/eliza/logos/stargaze.png", + "description": "Fetches NFT data from Stargaze collections." }, "@elizaos-plugins/plugin-starknet": { - "description": "Enables token and DeFi operations on the Starknet blockchain.", - "custom_preview": "/eliza/logos/starknet.png" + "custom_preview": "/eliza/logos/starknet.png", + "description": "Enables token and DeFi operations on the Starknet blockchain." }, "@elizaos-plugins/plugin-story": { - "description": "Generates and manages interactive storytelling experiences with branching narratives.", "custom_preview": "/eliza/logos/story.jpg", + "description": "Generates and manages interactive storytelling experiences with branching narratives.", "featured": true }, "@elizaos-plugins/plugin-sui": { - "description": "Manages token transfers and wallet operations on the Sui blockchain.", - "custom_preview": "/eliza/logos/sui.jpg" + "custom_preview": "/eliza/logos/sui.jpg", + "description": "Manages token transfers and wallet operations on the Sui blockchain." + }, + "@elizaos-plugins/plugin-suno": { + "custom_preview": "/eliza/logos/suno.jpg", + "description": "Integrates Suno AI's music generation for creating custom music from text prompts with detailed controls." }, "@elizaos-plugins/plugin-tee": { - "description": "Handles Trusted Execution Environment operations and key management.", - "custom_preview": "/eliza/logos/phalatee.jpg" + "custom_preview": "/eliza/logos/phalatee.jpg", + "description": "Handles Trusted Execution Environment operations and key management." }, "@elizaos-plugins/plugin-tee-log": { - "description": "Provides secure logging capabilities within Trusted Execution Environments.", - "custom_preview": "/eliza/logos/tee.png" + "custom_preview": "/eliza/logos/tee.png", + "description": "Provides secure logging capabilities within Trusted Execution Environments." }, "@elizaos-plugins/plugin-tee-marlin": { - "description": "Enables TEE verification through Marlin Oyster platform.", - "custom_preview": "/eliza/logos/marlin.jpg" + "custom_preview": "/eliza/logos/marlin.jpg", + "description": "Enables TEE verification through Marlin Oyster platform." + }, + "@elizaos-plugins/plugin-tee-verifiable-log": { + "custom_preview": "/eliza/logos/tee.png", + "description": "Implements a verifiable logging system within Trusted Execution Environments for secure, auditable records." }, "@elizaos-plugins/plugin-thirdweb": { - "description": "Provides access to thirdweb's Nebula AI interface.", - "custom_preview": "/eliza/logos/thirdweb.jpg" + "custom_preview": "/eliza/logos/thirdweb.jpg", + "description": "Provides access to thirdweb's Nebula AI interface." }, "@elizaos-plugins/plugin-ton": { - "description": "Manages TON blockchain operations and wallet functionality.", - "custom_preview": "/eliza/logos/ton.png" + "custom_preview": "/eliza/logos/ton.png", + "description": "Manages TON blockchain operations and wallet functionality." + }, + "@elizaos-plugins/plugin-trikon": { + "custom_preview": "/eliza/logos/trikon.jpg", + "description": "Provides token transfer functionality for Trikon with wallet management on ZKsync Era blockchain." + }, + "@elizaos-plugins/plugin-trustdb": { + "custom_preview": "/eliza/logos/trusta.jpg", + "description": "Manages trust scores and performance metrics in a secure database for recommender tracking and token analysis." }, "@elizaos-plugins/plugin-trustgo": { - "description": "Enables fetching EVM account information and MEDIA score attestations from TrustGo.", - "custom_preview": "/eliza/logos/trusta.jpg" + "custom_preview": "/eliza/logos/trusta.jpg", + "description": "Enables fetching EVM account information and MEDIA score attestations from TrustGo." }, "@elizaos-plugins/plugin-tts": { - "description": "Generates speech from text using FAL.ai's API.", - "custom_preview": "/eliza/logos/fal.jpg" + "custom_preview": "/eliza/logos/fal.jpg", + "description": "Generates speech from text using FAL.ai's API." + }, + "@elizaos-plugins/plugin-twilio": { + "custom_preview": "/eliza/logos/twilio.png", + "description": "SMS, voice, and communication capabilities through Twilio API." }, "@elizaos-plugins/plugin-twitter": { - "description": "Enables automated tweet posting with character-aware content generation.", - "custom_preview": "/eliza/logos/x.jpg" + "custom_preview": "/eliza/logos/x.jpg", + "description": "Enables automated tweet posting with character-aware content generation." + }, + "@elizaos-plugins/plugin-udio": { + "custom_preview": "/eliza/logos/UDIO.png", + "description": "Enables AI-powered music generation with capabilities for creating and extending audio from text prompts." }, "@elizaos-plugins/plugin-viction": { - "description": "Services and actions for token operations, trading, and DeFi integrations using Viction.", - "custom_preview": "/eliza/logos/viction.jpg" + "custom_preview": "/eliza/logos/viction.jpg", + "description": "Services and actions for token operations, trading, and DeFi integrations using Viction." + }, + "@elizaos-plugins/plugin-video": { + "custom_preview": "/eliza/logos/video.jpg", + "description": "Provides comprehensive video processing with download, format handling, and transcription capabilities." }, "@elizaos-plugins/plugin-video-generation": { - "description": "Generates videos using Luma AI's API services.", - "custom_preview": "/eliza/logos/LUMA.jpg" + "custom_preview": "/eliza/logos/LUMA.jpg", + "description": "Generates videos using Luma AI's API services." }, "@elizaos-plugins/plugin-web-search": { - "description": "Provides powerful web search capabilities with customizable API interface.", - "custom_preview": "/eliza/logos/websearch.jpg" + "custom_preview": "/eliza/logos/websearch.jpg", + "description": "Provides powerful web search capabilities with customizable API interface." }, "@elizaos-plugins/plugin-whatsapp": { - "description": "Enables WhatsApp messaging through the Cloud API with comprehensive features.", - "custom_preview": "/eliza/logos/whatsapp.png" + "custom_preview": "/eliza/logos/whatsapp.png", + "description": "Enables WhatsApp messaging through the Cloud API with comprehensive features." }, "@elizaos-plugins/plugin-youtube-to-text": { - "description": "Converts YouTube videos to text transcripts.", - "custom_preview": "/eliza/logos/youtube.png" - }, - "@elizaos-plugins/plugin-zerion": { - "description": "Fetches wallet portfolio and position data using the Zerion API.", - "custom_preview": "/eliza/logos/zerion.jpg" - }, - "@elizaos-plugins/plugin-zksync-era": { - "description": "Enables token transfers and operations on the zkSync Era network.", - "custom_preview": "/eliza/logos/zksync.jpg" - }, - "@elizaos-plugins/adapter-mongodb": { - "description": "Database adapter for MongoDB enabling document storage with query capabilities.", - "custom_preview": "/eliza/logos/mongodb.png" - }, - "@elizaos-plugins/adapter-postgres": { - "description": "Database adapter for PostgreSQL with full relational database capabilities.", - "custom_preview": "/eliza/logos/postgres.jpg" - }, - "@elizaos-plugins/adapter-pglite": { - "description": "Lightweight PostgreSQL adapter for embedded database applications.", - "custom_preview": "/eliza/logos/pglite.png" - }, - "@elizaos-plugins/adapter-qdrant": { - "description": "Vector database adapter for Qdrant with similarity search capabilities.", - "custom_preview": "/eliza/logos/qdrant.png" - }, - "@elizaos-plugins/adapter-sqljs": { - "description": "In-memory SQL database adapter for browser-based applications.", - "custom_preview": "/eliza/logos/sqljs.png" - }, - "@elizaos-plugins/adapter-sqlite": { - "description": "File-based SQL database adapter for lightweight local storage.", - "custom_preview": "/eliza/logos/sqlite.png" + "custom_preview": "/eliza/logos/youtube.png", + "description": "Converts YouTube videos to text transcripts." }, - "@elizaos-plugins/adapter-supabase": { - "description": "Database adapter for Supabase with PostgreSQL and realtime capabilities.", - "custom_preview": "/eliza/logos/supabase.jpg" - }, - "@elizaos-plugins/client-auto": { - "description": "Auto-detection client for determining optimal communication channels.", - "custom_preview": "/eliza/logos/auto.jpg" - }, - "@elizaos-plugins/client-discord": { - "description": "Discord integration client with messaging and community interaction capabilities.", - "custom_preview": "/eliza/logos/discord.jpg", - "featured": true - }, - "@elizaos-plugins/client-farcaster": { - "description": "Client for Farcaster decentralized social media protocol.", - "custom_preview": "/eliza/logos/farcaster.jpg" - }, - "@elizaos-plugins/client-github": { - "description": "GitHub client for repository management and code integration.", - "custom_preview": "/eliza/logos/github.png", - "featured": true - }, - "@elizaos-plugins/client-lens": { - "description": "Client for Lens Protocol decentralized social networking.", - "custom_preview": "/eliza/logos/lens.jpg" - }, - "@elizaos-plugins/client-slack": { - "description": "Slack integration client with messaging and workspace collaboration features.", - "custom_preview": "/eliza/logos/slack.jpg" - }, - "@elizaos-plugins/client-telegram": { - "description": "Telegram messaging client with bot and channel integration capabilities.", - "custom_preview": "/eliza/logos/telegram.jpg", - "featured": true - }, - "@elizaos-plugins/client-twitter": { - "description": "Twitter/X client for posting and monitoring social media activity.", - "custom_preview": "/eliza/logos/x.jpg", - "featured": true - }, - "@elizaos-plugins/client-tako": { - "description": "Client for the Tako protocol enabling cross-platform social engagement.", - "custom_preview": "/eliza/logos/tako.png" - }, - "@elizaos-plugins/plugin-dcap": { - "description": "Provides Intel Data Center Attestation Primitives for secure cloud environments.", - "custom_preview": "/eliza/logos/dcap.png" - }, - "@elizaos-plugins/plugin-gigbot": { - "description": "AI-powered freelance work management and automation toolkit.", - "custom_preview": "/eliza/logos/gigbot.png" - }, - "@elizaos-plugins/plugin-isaacx": { - "description": "Advanced AI reasoning and cognitive modeling plugin.", - "custom_preview": "/eliza/logos/isaac.jpg" - }, - "@elizaos-plugins/plugin-lightlink": { - "description": "Enables Ethereum layer 2 operations on the Lightlink blockchain network.", - "custom_preview": "/eliza/logos/lightlink.jpg" - }, - "@elizaos-plugins/plugin-multichain": { - "description": "Cross-chain interaction capabilities for multiple blockchain networks.", - "custom_preview": "/eliza/logos/nearai.png" - }, - "@elizaos-plugins/plugin-okto": { - "description": "Self-custody wallet operations and transaction management.", - "custom_preview": "/eliza/logos/okto.png" - }, - "@elizaos-plugins/plugin-okx": { - "description": "Trading and asset management through OKX exchange API.", - "custom_preview": "/eliza/logos/okx.png" + "@elizaos-plugins/plugin-zapper": { + "custom_preview": "/eliza/logos/zapper.jpg", + "description": "Portfolio tracking and DeFi position management across multiple chains." }, - "@elizaos-plugins/plugin-para": { - "description": "NFT and digital collectible management platform integration.", - "custom_preview": "/eliza/logos/para.png" + "@elizaos-plugins/plugin-zerion": { + "custom_preview": "/eliza/logos/zerion.jpg", + "description": "Fetches wallet portfolio and position data using the Zerion API." }, - "@elizaos-plugins/plugin-twilio": { - "description": "SMS, voice, and communication capabilities through Twilio API.", - "custom_preview": "/eliza/logos/twilio.png" + "@elizaos-plugins/plugin-zilliqa": { + "custom_preview": "/eliza/logos/zilliqa.jpg", + "description": "Integrates Zilliqa blockchain capabilities through the GOAT framework for wallet and transaction functionality." }, - "@elizaos-plugins/plugin-zapper": { - "description": "Portfolio tracking and DeFi position management across multiple chains.", - "custom_preview": "/eliza/logos/zapper.jpg" + "@elizaos-plugins/plugin-zksync-era": { + "custom_preview": "/eliza/logos/zksync.jpg", + "description": "Enables token transfers and operations on the zkSync Era network." } } diff --git a/docs/src/data/registry-users.tsx b/docs/src/data/registry-users.tsx index 625f45123b2..78a04e168f9 100644 --- a/docs/src/data/registry-users.tsx +++ b/docs/src/data/registry-users.tsx @@ -637,16 +637,6 @@ export const registryUsers: User[] = [ "plugin" ] }, - { - "title": "LensNetwork", - "description": "Integrates with Lens Protocol for social networking features.", - "preview": "/eliza/logos/lens.jpg", - "website": "https://github.com/elizaos-plugins/plugin-lensNetwork", - "source": "https://github.com/elizaos-plugins/plugin-lensNetwork", - "tags": [ - "plugin" - ] - }, { "title": "Letzai", "description": "Enables image generation using LetzAI's API and models.", @@ -1128,5 +1118,665 @@ export const registryUsers: User[] = [ "tags": [ "plugin" ] + }, + { + "title": "@elizaos Plugins/cache Redis", + "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer.", + "preview": "/eliza/logos/redis.jpg", + "website": "https://github.com/elizaos-plugins/cache-redis", + "source": "https://github.com/elizaos-plugins/cache-redis", + "tags": [ + "plugin" + ] + }, + { + "title": "Alexa", + "description": "Provides integration with Amazon Alexa devices for voice-controlled agent interactions.", + "preview": "/eliza/logos/alexa.png", + "website": "https://github.com/elizaos-plugins/client-alexa", + "source": "https://github.com/elizaos-plugins/client-alexa", + "tags": [ + "client" + ] + }, + { + "title": "Deva", + "description": "Enables communication with Deva AI systems for advanced conversational capabilities.", + "preview": "/eliza/logos/deva.jpg", + "website": "https://github.com/elizaos-plugins/client-deva", + "source": "https://github.com/elizaos-plugins/client-deva", + "tags": [ + "client" + ] + }, + { + "title": "Direct", + "description": "Deprecated plugin that now lives in @elizaos/core.", + "preview": "/eliza/logos/direct.png", + "website": "https://github.com/elizaos-plugins/client-direct", + "source": "https://github.com/elizaos-plugins/client-direct", + "tags": [ + "client" + ] + }, + { + "title": "Eliza Home", + "description": "Provides integration with Eliza Home environment for home automation and intelligent assistant features.", + "preview": "/eliza/logos/home-assistant.png", + "website": "https://github.com/elizaos-plugins/client-eliza-home", + "source": "https://github.com/elizaos-plugins/client-eliza-home", + "tags": [ + "client" + ] + }, + { + "title": "Instagram", + "description": "Enables Instagram integration with support for media posting, comment handling, and interaction management.", + "preview": "/eliza/logos/instagram.jpg", + "website": "https://github.com/elizaos-plugins/client-instagram", + "source": "https://github.com/elizaos-plugins/client-instagram", + "tags": [ + "client" + ] + }, + { + "title": "Simsai", + "description": "Deprecated plugin that needs a maintainer.", + "preview": "/eliza/logos/simsAI.jpg", + "website": "https://github.com/elizaos-plugins/client-simsai", + "source": "https://github.com/elizaos-plugins/client-simsai", + "tags": [ + "client" + ] + }, + { + "title": "Telegram Account", + "description": "Provides advanced Telegram account management capabilities beyond basic bot functionality.", + "preview": "/eliza/logos/telegram.jpg", + "website": "https://github.com/elizaos-plugins/client-telegram-account", + "source": "https://github.com/elizaos-plugins/client-telegram-account", + "tags": [ + "client" + ] + }, + { + "title": "Xmtp", + "description": "Enables secure, decentralized, and end-to-end encrypted messaging through the XMTP protocol.", + "preview": "/eliza/logos/xmtp.jpg", + "website": "https://github.com/elizaos-plugins/client-xmtp", + "source": "https://github.com/elizaos-plugins/client-xmtp", + "tags": [ + "client" + ] + }, + { + "title": "0x", + "description": "Enables token swaps through 0x Protocol across multiple EVM blockchains with optimized routing and liquidity aggregation.", + "preview": "/eliza/logos/0x.jpg", + "website": "https://github.com/elizaos-plugins/plugin-0x", + "source": "https://github.com/elizaos-plugins/plugin-0x", + "tags": [ + "plugin" + ] + }, + { + "title": "Agentkit", + "description": "Integrates CDP AgentKit tools for NFT and token management on various blockchain networks.", + "preview": "/eliza/logos/agentkitCDB.jpg", + "website": "https://github.com/elizaos-plugins/plugin-agentkit", + "source": "https://github.com/elizaos-plugins/plugin-agentkit", + "tags": [ + "plugin" + ] + }, + { + "title": "Ankr", + "description": "Provides blockchain data query interfaces for wallet information, NFT operations, and token analytics.", + "preview": "/eliza/logos/ankr.jpg", + "website": "https://github.com/elizaos-plugins/plugin-ankr", + "source": "https://github.com/elizaos-plugins/plugin-ankr", + "tags": [ + "plugin" + ] + }, + { + "title": "Arbitrage", + "description": "Identifies and executes cryptocurrency arbitrage opportunities across multiple exchanges.", + "preview": "/eliza/logos/arbitage.png", + "website": "https://github.com/elizaos-plugins/plugin-arbitrage", + "source": "https://github.com/elizaos-plugins/plugin-arbitrage", + "tags": [ + "plugin" + ] + }, + { + "title": "Aws S3", + "description": "Provides AWS S3 integration for cloud-based file operations and storage management.", + "preview": "/eliza/logos/AWS.jpg", + "website": "https://github.com/elizaos-plugins/plugin-aws-s3", + "source": "https://github.com/elizaos-plugins/plugin-aws-s3", + "tags": [ + "plugin" + ] + }, + { + "title": "B2", + "description": "Enables token transfers on the B2-Network blockchain with support for B2-BTC and ERC20 tokens.", + "preview": "/eliza/logos/B2network.jpg", + "website": "https://github.com/elizaos-plugins/plugin-b2", + "source": "https://github.com/elizaos-plugins/plugin-b2", + "tags": [ + "plugin" + ] + }, + { + "title": "Birdeye", + "description": "Offers DeFi and token analytics through Birdeye's API with real-time blockchain data across multiple networks.", + "preview": "/eliza/logos/birdeye.jpg", + "website": "https://github.com/elizaos-plugins/plugin-birdeye", + "source": "https://github.com/elizaos-plugins/plugin-birdeye", + "tags": [ + "plugin" + ] + }, + { + "title": "Bittensor", + "description": "Integrates BitMind's API for accessing AI services on the Bittensor network, especially deepfake detection.", + "preview": "/eliza/logos/bittensor.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bittensor", + "source": "https://github.com/elizaos-plugins/plugin-bittensor", + "tags": [ + "plugin" + ] + }, + { + "title": "Bnb", + "description": "Enables interactions with BNB Chain ecosystem including BNB Smart Chain, opBNB, and BNB Greenfield networks.", + "preview": "/eliza/logos/BNBchain.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bnb", + "source": "https://github.com/elizaos-plugins/plugin-bnb", + "tags": [ + "plugin" + ] + }, + { + "title": "Bootstrap", + "description": "Provides core functionality for ElizaOS agents including conversation management and fact tracking.", + "preview": "/eliza/logos/bootstrap.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bootstrap", + "source": "https://github.com/elizaos-plugins/plugin-bootstrap", + "tags": [ + "plugin" + ] + }, + { + "title": "Browser", + "description": "Provides web scraping and browser automation using Playwright with support for multiple browsers and interactions.", + "preview": "/eliza/logos/browser.playwright.jpg", + "website": "https://github.com/elizaos-plugins/plugin-browser", + "source": "https://github.com/elizaos-plugins/plugin-browser", + "tags": [ + "plugin" + ] + }, + { + "title": "Chainbase", + "description": "Bridges on-chain data with AI agents, enabling natural language interactions with blockchain data across networks.", + "preview": "/eliza/logos/chainbase.jpg", + "website": "https://github.com/elizaos-plugins/plugin-chainbase", + "source": "https://github.com/elizaos-plugins/plugin-chainbase", + "tags": [ + "plugin" + ] + }, + { + "title": "Cronos", + "description": "Extends EVM plugin functionality for Cronos blockchain with native CRO token support and wallet operations.", + "preview": "/eliza/logos/cronos.jpg", + "website": "https://github.com/elizaos-plugins/plugin-cronos", + "source": "https://github.com/elizaos-plugins/plugin-cronos", + "tags": [ + "plugin" + ] + }, + { + "title": "Desk Exchange", + "description": "Integrates with DESK Exchange for perpetual futures trading with support for market and limit orders.", + "preview": "/eliza/logos/desk.jpg", + "website": "https://github.com/elizaos-plugins/plugin-desk-exchange", + "source": "https://github.com/elizaos-plugins/plugin-desk-exchange", + "tags": [ + "plugin" + ] + }, + { + "title": "Devin", + "description": "Provides integration with Devin API for automated engineering assistance and session management.", + "preview": "/eliza/logos/devin.png", + "website": "https://github.com/elizaos-plugins/plugin-devin", + "source": "https://github.com/elizaos-plugins/plugin-devin", + "tags": [ + "plugin" + ] + }, + { + "title": "Dexscreener", + "description": "Accesses DexScreener's token data for price information and market trends across multiple blockchains.", + "preview": "/eliza/logos/dexscreener.jpg", + "website": "https://github.com/elizaos-plugins/plugin-dexscreener", + "source": "https://github.com/elizaos-plugins/plugin-dexscreener", + "tags": [ + "plugin" + ] + }, + { + "title": "Dkg", + "description": "Enables integration with OriginTrail Decentralized Knowledge Graph for enhanced search capabilities.", + "preview": "/eliza/logos/OriginTrail.jpg", + "website": "https://github.com/elizaos-plugins/plugin-dkg", + "source": "https://github.com/elizaos-plugins/plugin-dkg", + "tags": [ + "plugin" + ] + }, + { + "title": "Email", + "description": "Implements email client functionality for sending and receiving emails through SMTP/IMAP services.", + "preview": "/eliza/logos/email.png", + "website": "https://github.com/elizaos-plugins/plugin-email", + "source": "https://github.com/elizaos-plugins/plugin-email", + "tags": [ + "plugin" + ] + }, + { + "title": "Email Automation", + "description": "Intelligently detects email-worthy conversations and handles generation/delivery with AI-powered content formatting.", + "preview": "/eliza/logos/email.jpg", + "website": "https://github.com/elizaos-plugins/plugin-email-automation", + "source": "https://github.com/elizaos-plugins/plugin-email-automation", + "tags": [ + "plugin" + ] + }, + { + "title": "Ethstorage", + "description": "Enables interaction with EthStorage decentralized storage network for data submission and token transfers.", + "preview": "/eliza/logos/ETHstorage.jpg", + "website": "https://github.com/elizaos-plugins/plugin-ethstorage", + "source": "https://github.com/elizaos-plugins/plugin-ethstorage", + "tags": [ + "plugin" + ] + }, + { + "title": "Football", + "description": "Provides live football match data and league standings information through the Football-Data.org API.", + "preview": "/eliza/logos/footballDATA.jpg", + "website": "https://github.com/elizaos-plugins/plugin-football", + "source": "https://github.com/elizaos-plugins/plugin-football", + "tags": [ + "plugin" + ] + }, + { + "title": "Form", + "description": "Integrates Form chain capabilities for curves-based token economics with ERC20 conversion and management.", + "preview": "/eliza/logos/form.jpg", + "website": "https://github.com/elizaos-plugins/plugin-form", + "source": "https://github.com/elizaos-plugins/plugin-form", + "tags": [ + "plugin" + ] + }, + { + "title": "Gelato", + "description": "Enables smart contract interactions via Gelato Relay supporting both ERC2771 and non-ERC2771 calls on EVM chains.", + "preview": "/eliza/logos/gelato.jpg", + "website": "https://github.com/elizaos-plugins/plugin-gelato", + "source": "https://github.com/elizaos-plugins/plugin-gelato", + "tags": [ + "plugin" + ] + }, + { + "title": "Gitcoin Passport", + "description": "Interacts with Gitcoin Passport API for verifying and managing digital identity credentials.", + "preview": "/eliza/logos/gitcoin.passport.jpg", + "website": "https://github.com/elizaos-plugins/plugin-gitcoin-passport", + "source": "https://github.com/elizaos-plugins/plugin-gitcoin-passport", + "tags": [ + "plugin" + ] + }, + { + "title": "Holdstation", + "description": "Enables token swapping on Holdstation DEX with support for ZKsync Era and upcoming Berachain.", + "preview": "/eliza/logos/holdstation.jpg", + "website": "https://github.com/elizaos-plugins/plugin-holdstation", + "source": "https://github.com/elizaos-plugins/plugin-holdstation", + "tags": [ + "plugin" + ] + }, + { + "title": "Hyperbolic", + "description": "Manages GPU instances on the Hyperbolic platform with capabilities for renting and monitoring resources.", + "preview": "/eliza/logos/hyperbolic.jpg", + "website": "https://github.com/elizaos-plugins/plugin-hyperbolic", + "source": "https://github.com/elizaos-plugins/plugin-hyperbolic", + "tags": [ + "plugin" + ] + }, + { + "title": "Image", + "description": "Processes and analyzes images to generate descriptions with support for multiple vision model providers.", + "preview": "/eliza/logos/imagegen.jpg", + "website": "https://github.com/elizaos-plugins/plugin-image", + "source": "https://github.com/elizaos-plugins/plugin-image", + "tags": [ + "plugin" + ] + }, + { + "title": "Imgflip", + "description": "Generates memes using the imgflip.com API based on user messages.", + "preview": "/eliza/logos/imgFlip.jpg", + "website": "https://github.com/elizaos-plugins/plugin-imgflip", + "source": "https://github.com/elizaos-plugins/plugin-imgflip", + "tags": [ + "plugin" + ] + }, + { + "title": "Initia", + "description": "Enables token transfers on the Initia blockchain with support for INIT token transactions.", + "preview": "/eliza/logos/initia.jpg", + "website": "https://github.com/elizaos-plugins/plugin-initia", + "source": "https://github.com/elizaos-plugins/plugin-initia", + "tags": [ + "plugin" + ] + }, + { + "title": "Injective", + "description": "Provides comprehensive interaction with the Injective blockchain through module-based action creation.", + "preview": "/eliza/logos/injective.jpg", + "website": "https://github.com/elizaos-plugins/plugin-injective", + "source": "https://github.com/elizaos-plugins/plugin-injective", + "tags": [ + "plugin" + ] + }, + { + "title": "Iq6900", + "description": "Provides blockchain inscription functionality through IQ6900's Code-In standard for permanent agent storage.", + "preview": "/eliza/logos/IQ6900.jpg", + "website": "https://github.com/elizaos-plugins/plugin-iq6900", + "source": "https://github.com/elizaos-plugins/plugin-iq6900", + "tags": [ + "plugin" + ] + }, + { + "title": "Lens Network", + "description": "Integrates with Lens protocol for both native and ERC20 tokens.", + "preview": "/eliza/logos/lens.jpg", + "website": "https://github.com/elizaos-plugins/plugin-lens-network", + "source": "https://github.com/elizaos-plugins/plugin-lens-network", + "tags": [ + "plugin" + ] + }, + { + "title": "Lightning", + "description": "Enables Lightning Network integration for creating invoices and making off-chain Bitcoin payments.", + "preview": "/eliza/logos/lightning.png", + "website": "https://github.com/elizaos-plugins/plugin-lightning", + "source": "https://github.com/elizaos-plugins/plugin-lightning", + "tags": [ + "plugin" + ] + }, + { + "title": "Lit", + "description": "Integrates Lit Protocol for secure and decentralized access control and cryptographic operations.", + "preview": "/eliza/logos/LitProtocol.jpg", + "website": "https://github.com/elizaos-plugins/plugin-lit", + "source": "https://github.com/elizaos-plugins/plugin-lit", + "tags": [ + "plugin" + ] + }, + { + "title": "Llama", + "description": "Provides local LLM capabilities using LLaMA models with CPU and GPU support for efficient text generation.", + "preview": "/eliza/logos/meta-llama.jpg", + "website": "https://github.com/elizaos-plugins/plugin-llama", + "source": "https://github.com/elizaos-plugins/plugin-llama", + "tags": [ + "plugin" + ] + }, + { + "title": "Mina", + "description": "Enables Mina blockchain interactions for token transfers, wallet management, and balance queries.", + "preview": "/eliza/logos/Mina.jpg", + "website": "https://github.com/elizaos-plugins/plugin-mina", + "source": "https://github.com/elizaos-plugins/plugin-mina", + "tags": [ + "plugin" + ] + }, + { + "title": "Mind Network", + "description": "Integrates with Mind Network Hubs for secure, privacy-preserving voting using Fully Homomorphic Encryption.", + "preview": "/eliza/logos/MindNetwork.jpg", + "website": "https://github.com/elizaos-plugins/plugin-mind-network", + "source": "https://github.com/elizaos-plugins/plugin-mind-network", + "tags": [ + "plugin" + ] + }, + { + "title": "Moralis", + "description": "Fetches real-time DeFi data including trading pairs, statistics, and price history through Moralis APIs.", + "preview": "/eliza/logos/moralis.jpg", + "website": "https://github.com/elizaos-plugins/plugin-moralis", + "source": "https://github.com/elizaos-plugins/plugin-moralis", + "tags": [ + "plugin" + ] + }, + { + "title": "News", + "description": "Fetches and handles real-time news data through NewsAPI integration with search and summary capabilities.", + "preview": "/eliza/logos/NewsAPI.jpg", + "website": "https://github.com/elizaos-plugins/plugin-news", + "source": "https://github.com/elizaos-plugins/plugin-news", + "tags": [ + "plugin" + ] + }, + { + "title": "Nft Collections", + "description": "Integrates NFT data services for comprehensive market analytics and trading with support for 420+ verified collections.", + "preview": "/eliza/logos/nftgen.png", + "website": "https://github.com/elizaos-plugins/plugin-nft-collections", + "source": "https://github.com/elizaos-plugins/plugin-nft-collections", + "tags": [ + "plugin" + ] + }, + { + "title": "Nvidia Nim", + "description": "Integrates NVIDIA's AI foundation models for content analysis including AI image detection and safety checks.", + "preview": "/eliza/logos/nvidia.jpg", + "website": "https://github.com/elizaos-plugins/plugin-nvidia-nim", + "source": "https://github.com/elizaos-plugins/plugin-nvidia-nim", + "tags": [ + "plugin" + ] + }, + { + "title": "Openai", + "description": "Integrates OpenAI's GPT models for automated text generation with customizable prompts.", + "preview": "/eliza/logos/openAI.jpg", + "website": "https://github.com/elizaos-plugins/plugin-openai", + "source": "https://github.com/elizaos-plugins/plugin-openai", + "tags": [ + "plugin" + ] + }, + { + "title": "Pdf", + "description": "Provides PDF text extraction and processing capabilities for document analysis.", + "preview": "/eliza/logos/PDF.jpg", + "website": "https://github.com/elizaos-plugins/plugin-pdf", + "source": "https://github.com/elizaos-plugins/plugin-pdf", + "tags": [ + "plugin" + ] + }, + { + "title": "Pyth Data", + "description": "Integrates with Pyth Network for real-time price feeds and data streams across multiple asset classes.", + "preview": "/eliza/logos/pyth.jpg", + "website": "https://github.com/elizaos-plugins/plugin-pyth-data", + "source": "https://github.com/elizaos-plugins/plugin-pyth-data", + "tags": [ + "plugin" + ] + }, + { + "title": "Quick Intel", + "description": "Performs token security audits and market analysis with support for multiple chains and address formats.", + "preview": "/eliza/logos/quickintel.jpg", + "website": "https://github.com/elizaos-plugins/plugin-quick-intel", + "source": "https://github.com/elizaos-plugins/plugin-quick-intel", + "tags": [ + "plugin" + ] + }, + { + "title": "Router Nitro", + "description": "Enables cross-chain token transfers using Router Nitro bridge with support for multiple blockchains.", + "preview": "/eliza/logos/router.jpg", + "website": "https://github.com/elizaos-plugins/plugin-router-nitro", + "source": "https://github.com/elizaos-plugins/plugin-router-nitro", + "tags": [ + "plugin" + ] + }, + { + "title": "Solana Agentkit", + "description": "Enables interaction with the Solana blockchain through AgentKit for wallet and transaction management.", + "preview": "/eliza/logos/solanaV2.jpg", + "website": "https://github.com/elizaos-plugins/plugin-solana-agentkit", + "source": "https://github.com/elizaos-plugins/plugin-solana-agentkit", + "tags": [ + "plugin" + ] + }, + { + "title": "Solana V2", + "description": "Leverages @solana/web3.js v2 for modern, efficient Solana integrations with liquidity position management.", + "preview": "/eliza/logos/solanaV2.jpg", + "website": "https://github.com/elizaos-plugins/plugin-solana-v2", + "source": "https://github.com/elizaos-plugins/plugin-solana-v2", + "tags": [ + "plugin" + ] + }, + { + "title": "Speech Tts", + "description": "Provides text-to-speech transcription services using OpenAI and ElevenLabs technologies.", + "preview": "/eliza/logos/TTSelevenlabs.jpg", + "website": "https://github.com/elizaos-plugins/plugin-speech-tts", + "source": "https://github.com/elizaos-plugins/plugin-speech-tts", + "tags": [ + "plugin" + ] + }, + { + "title": "Squid Router", + "description": "Enables cross-chain token swaps between blockchains using the Squid Router protocol.", + "preview": "/eliza/logos/squid.jpg", + "website": "https://github.com/elizaos-plugins/plugin-squid-router", + "source": "https://github.com/elizaos-plugins/plugin-squid-router", + "tags": [ + "plugin" + ] + }, + { + "title": "Suno", + "description": "Integrates Suno AI's music generation for creating custom music from text prompts with detailed controls.", + "preview": "/eliza/logos/suno.jpg", + "website": "https://github.com/elizaos-plugins/plugin-suno", + "source": "https://github.com/elizaos-plugins/plugin-suno", + "tags": [ + "plugin" + ] + }, + { + "title": "Tee Verifiable Log", + "description": "Implements a verifiable logging system within Trusted Execution Environments for secure, auditable records.", + "preview": "/eliza/logos/tee.png", + "website": "https://github.com/elizaos-plugins/plugin-tee-verifiable-log", + "source": "https://github.com/elizaos-plugins/plugin-tee-verifiable-log", + "tags": [ + "plugin" + ] + }, + { + "title": "Trikon", + "description": "Provides token transfer functionality for Trikon with wallet management on ZKsync Era blockchain.", + "preview": "/eliza/logos/trikon.jpg", + "website": "https://github.com/elizaos-plugins/plugin-trikon", + "source": "https://github.com/elizaos-plugins/plugin-trikon", + "tags": [ + "plugin" + ] + }, + { + "title": "Trustdb", + "description": "Manages trust scores and performance metrics in a secure database for recommender tracking and token analysis.", + "preview": "/eliza/logos/trusta.jpg", + "website": "https://github.com/elizaos-plugins/plugin-trustdb", + "source": "https://github.com/elizaos-plugins/plugin-trustdb", + "tags": [ + "plugin" + ] + }, + { + "title": "Udio", + "description": "Enables AI-powered music generation with capabilities for creating and extending audio from text prompts.", + "preview": "/eliza/logos/UDIO.png", + "website": "https://github.com/elizaos-plugins/plugin-udio", + "source": "https://github.com/elizaos-plugins/plugin-udio", + "tags": [ + "plugin" + ] + }, + { + "title": "Video", + "description": "Provides comprehensive video processing with download, format handling, and transcription capabilities.", + "preview": "/eliza/logos/video.jpg", + "website": "https://github.com/elizaos-plugins/plugin-video", + "source": "https://github.com/elizaos-plugins/plugin-video", + "tags": [ + "plugin" + ] + }, + { + "title": "Zilliqa", + "description": "Integrates Zilliqa blockchain capabilities through the GOAT framework for wallet and transaction functionality.", + "preview": "/eliza/logos/zilliqa.jpg", + "website": "https://github.com/elizaos-plugins/plugin-zilliqa", + "source": "https://github.com/elizaos-plugins/plugin-zilliqa", + "tags": [ + "plugin" + ] } ]; diff --git a/docs/static/logos/0g.jpg b/docs/static/logos/0g.jpg index 0000dd5d43483cfcaa526cff66fcd6c6df8566c1..6187718b9cd41b2f196aa36246e7e608878cd83b 100644 GIT binary patch delta 9790 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 diff --git a/docs/static/logos/0x.jpg b/docs/static/logos/0x.jpg new file mode 100644 index 0000000000000000000000000000000000000000..016e1586eecf49901aa597906dd818a3d7d8dd5e GIT binary patch literal 8952 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 g36zUIla0H(JA?!c?i+V^w=lflx!*l^ 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/BNBchain.jpg b/docs/static/logos/BNBchain.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6079fa022816f6376c58c80ff2bbaf1a2ec35f00 GIT binary patch literal 12924 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 KO#?(%WB&(3YgDuV literal 0 HcmV?d00001 diff --git a/docs/static/logos/ETHstorage.jpg b/docs/static/logos/ETHstorage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..268fa48aba7a6bf5ae5e2914ff10170460d45659 GIT binary patch literal 5057 zcmds4Ydl+7*FUPIN~^}DmvQMZKP^hD8d?!%rZi96sL>?UCHj=2sJNvrA@X)iFBr71 z5@9f<5~8K5q(Q1x8bzvYMCz873eu3cUn1l^nR(1SAKrPtyzp?qhrqwP5#sq){(_sHL8eALN} zYXoA^NO0T=c6}fQI0wLi9~Ak6&!9w<0Kl;Y08qaD*PK5Y0O;2NV0ZstbKm|30GdAo zKz;XLbAQz&@?!MG-`#Bn@0)^x0AQ910NcF)K>IBKZ1eeD2j2cBwtb*VAB-ykY{9@4 zAQ0FGoC2^w0AK~8Bfw$68nBfQ04D(DO`8-KD4W4+%hoMhHgDdtO;uH8tHw4B4fSp6 z>f3jGwR8IptsUy>JN0&IY3u0f>S}22+O4Ov`zsw?9r<%WeXG)KuqkN)@>akQtdTN! zcoh9#vQ=%Hs*2L)Et`}<{SQ0AQ>DB~d9y0m)PJ{70-v_1sBYC#`%3$pJ=WiQUM%a; zagVyDtGCP8E6BZf~LWU-09s~}%U&n_mE?J#V3!x-K+)+t-WgR?Q=>B{r*^gd# z#Nt(VYyRb)dBp2m9WSZ^I+P6&Z#%rxyTwG zA1yeJ7D^${=Gl6Y;b^pNW6h*wWw3b8x1!}apo$x<1&y0x)a&A4ztC#t)B8{%Qg+dN z+pb4guFjAIPG<J_bAa}rO)1C;s$$v?QP|1)@K<4C z)>zl4O_vq}W~Q?CjSa=zf!acY#jI=8Lj2mJqHe_Eq?=ahLOo$5WmR zWk566X%K@5xzS!Y3Ha?E7lB}1F zEiZP0K7&OWW$a#H4IjDp)~KR>alNz=G6i*hZ*3L)r6JR$34!pj?rr3S(acKH0wmG9Y=T9dhS)vT!2<$|E9s)(?MI|wDZ_v07KNRYkU>5Kd(iRe z-az!H@Gn*zL7ZtoW1^`sA}JGJ`(`5-!t|t4*=dWqSmL2=-3!-C{%a%i(q|tqB560f4iD2^pwo{! zIBY9VolPe}S8SYq;UwRZ-BWq)8*#wbvSrNTy0=xzgQ%D1sLpSv!vj7J=d$bURX)!X&7|h{VO)HsM@BDU?O#2*f zQ+i6AAxndvQ^8vwg2&>KH?2AQ4f9Qn%Ng27IcRGelv&s2(aCu5@K!qXuivN|Ka-es zqVokMwb+ai!N}HLZnL!_dim|!NMB=cE``~A+4pS}+>bJz9<<(^6V&#Gnb;fdX&dgg zmMe^UtB3CEs}4836uVHgN8B~YrnecC`B$zw;U~yOfn2ketg%-!0c+v5l%$8g5~Qst z@7Ar7KwHbGkGGN-gQaIbQwqOMx$KVescG9@d(-opGrr{NL3?{{h7+NaAR+{rbh78- zGG!;mtftt|YxpbSYxgintQ^p>vo-MBf|F8kgZ2&RY^ST8g#!ftfbQ37iO!I<(oQVD z`6Y~6KxP~(ZM=dc#z%xlm`r(>#Uo`;`3J#wmomvJtR(dN4{2#@>$X;&SM?v2Bz9{i z{5G7-v~#eqg~)vDL?TXO&_Yzuq#Wprrrg;$6iR~S!Y0dUIdEf@j^pPiS!$o|=%GpQ z4PLeA?scyl?HvpfUa-pLMlWZDt&f_>3dUCz;^AVB zE}BzzW=(o_ zjJEO6Dujz&pp`UOQ1Gr0=Y`ZPHZ^m1gu3r{!_Rt#Y=g*k4~6F&a$p}l&-8{cQ?%RzOY-oX)v6C-}b6jJH6Nrdz#*g;ke zx>9mpj1x(Ol8QR)0<}8F<+C9uO-#?S}Q}K5Iu;s<# zw-Lnm`uj%=-_geL%>7=q74C@cU){5V8G>n1y3KNT+oj+B<#tnU;^nwz;hTWi#lgC` z=78_tTC#D(8*8g{i%L0wu|-QovV#JfbXmv?Dl{-s4tVwA`lU+{O%>~zFd@v;j2RnJ zQjxmQiiR1OLoFFadFzwUh!nyZ>AcSzOw1aWUg#-GPYz~&kja5F((HE;T}zEd#X{ma zyyZ&KQo!8Wp)YPO%{KhWWMbLcsR{a6;!sxid~*d%Pu87Sv$9TF*kAIIEQxh;dcR&K zlY%P<*ZPv=076PSI#O)bbm7x8U9W+Ge}>sx6~NuJf1Ea6w|rLn-ng=tQi<#8rkR$1 z8MW9n>C2zHH~00^#i4=1fxY5u(X<0{KzDUlIL~dpq1q~MqsYNw#TiplIlu9ZRCgfdtxUYUH>)m|%yc|&fvAraq z89zy+ho-K5pmNdfD73)2%~LHkHCTNw-w{STc)kwdj^#G^=U=9n+;?_PaCS~Kx&iqqy+S&qZ>q#Up^pG(guIis@9=Up!>ek=arVb#hX)f@b?YTZl8K;br(v7l-_*2L=@#R5je1 zW18iM!rE&j&zrJ3Omk4dQfSt4m2VZ%E=Z|^Q7|$VryReXN#_?(IkYeKRvI5)wK249 zzcA45E)Y-7eYOtU9qq2IJw!?R+*>BA>fr}Hek>lOw}ze1714qUY;gwmmrEQcBmrDc zw^u<3N6?_=@zfxrHOwn^f@XS!{}wk<@^qEjnB|IbQcK0C9`yBLepmok>Vc0 zyR6F1T0PYmzeDOM{yU-lYF1|94HZ_#lA_# zIPRb2#J1&E_tS{O3~Z{5%!eHKaPEe2cj~1pZY}|UH4vvSc=l!yyyyAdF_KQw&khI$g|E!M3S+whGCbZ zSLEaHQJ>)qS|uHYM)>t!{rU+)7E);(LUYvCRy$NGJdfW&PNjx?$c>CVJozpwD?KCB zvcDFamlgv41MJB6H#RnQDEUSTd?N|n4`y+qQ{~g!iPt4|J7(z~=_wi72Ey74i_P4NX1^xMlAWhAiKGqk_60 z`yamcAnw9xB%5D(==gxiz30!)K)Sx7LohvuE6B9`iCgPoxeZ)_h?Xie#32z}l2ZI? zQ$o~;ij}wzPx??h1;2hL17Ec67)Z{`f50z&5LZ!jX9~yL9m4UyW~(~k+aC+ z7K7$HZLXqg9;RP-HU6(i)Js0XIJXv>KdrKA{|Xi(bR$*eo7`XFp{@Nl_5t{LkQ?h8 zIhWOt8!H$fL#|kk=b(m~vu_4j4F~xaV?3{1&CKbpZ!j&YwSl-G4{T>P8Z%M`_AFUm zmU^T&&Xf>iOc30MUJ`ii!{aug{>g?>Go-u!55EBS|5u-+>OR8l!RKOxD7G%c=|ul| zZUT?!&JE{_S@g1F>)&?C97;c{i8_h{S(?X`D~81w)*X*^etezFz@Fo|{`?&V?F;Bo dmY2vk(V{9;XswMv9xmATXL0_+fRnuMe*nPEr3L^1 literal 0 HcmV?d00001 diff --git a/docs/static/logos/ICP.jpg b/docs/static/logos/ICP.jpg index 95c2ac85c0a2f67eeea886c6d6cf4c5b6234df1e..8c0c51950ae0e4b199bcb7fd2d5c321d4e6f1578 100644 GIT binary patch delta 12658 zcmZX4byyT^^YtPiDlOeeN=tW1BO%hMl(IA|U8^7sODP>nvo!8fOLzAIF5S6wm!Hq` z{@yRH@1OJc+;h#$ea@Nr3JL{PIbmX9Ji^5K<%Ws#2yFHoup3h7YwNjs`SSeKXqJ08 zz_U&aad93c>$H4LBoW~HGX;O8$a19)^)c0YNBdu<-dL^BjgUz3yI8QZa>j2F3ONO)H-Ql^Z&k#-rAU!j}=MTWi3EY2z zP(kKBfPZ!`mEBV$Sxja-gm2MSK}!veCYy(CCni}GdenU}uOCW!WKN1i=(KH`>qHPS z0)3A)RDQ=3BE`hcx8c0YOTR`MeFH69V@uZFZz#D5&gI{;GSLy^D4L*;iHV4bG5!G@ z`O#ikto5e#WU+K}X4IIJ+S}-dt(|Bc4@YpRXFz9}M}3fNR{T;gm&Jt=Lg>(3hj@21 zF4~`|f<{kMcjsxR`7T9~?4#nj?DHAf7}IhhMI04P{-7Yta0Xwa&L+Pi+0;7lx$FZg zjX^`C2AWLcej+umQ~X@{RC)0fKZLhUb(Bbt=a(N}nfJXwSd`aQ7=?1siTN#Qb}zWe z3tB;WAS5iLC2cmr`r$Gm5^+xCY+>$ za^a_Pf>&t(21Cq;{CjndaRorxKh;bt(%1Yx`6wDXmwIXnD^Kp8Dbf+!`2J58{!PXI z1FjOhVB*)8I7Yfa=&QcZ*(qWFOX_u;q{?Y=UL9o@+;|Gaqos1 zbFTIB`Y9RTb*cG7jCGvPXSi#Icy!dr)ToL8FfxcJZ_9z=q|gp7CG;S8z_fd96=QqC zpNDMYWlpD(73FrhH+)nGT=^>c+uc6)%6y#I??bwMQ87Y+c{QO%@sb}c?vU;(e~Rs? zw6>z8;kB18-T}@PmDq3w0bO34pLM4A$V#*y-uwa32SJx>%(wYSHOlIcDmu7LCVmWH zCW(-3gDURq%$E7G@2eGaZ>_y&EI0dclENeIRDy#?$DI};p)-SqE3!5Hg;!zd$SA&m zsR#bs+Ar=u(%0t<7>mVU3Tq@|wfzez5I>y4W^y=pRQb-pJy zZ&+jT_@jDK#6IJ^dmAwi1~NY*u7IBxX)141F_u>L{?a4~Q{gpJ*^TS% zdl|HT@RJ}NS!heS**gufo)UcEL$pB?jakwS2e}ql;@m*lYl*9Vi2>?myAm5Bg-)m~ z>ASqS#|`M0 z_i&y>QSyeOu}~Ykg@Ljn?t<3MLi%7Y(dVM);VOi^i=}<3EfJ};{BX%D4KW%(oi1Lj@a*dAORyADhHJNvs)=7cHTLDAf!r7YmHTKbmN2D zg@sga!nvVl@Xi~bx|-UA>)5qaS+%0>d>^7pKdoO55?PIgbk^r_Dw0T{j8y%@>Bt?~ z{F?2E!i3jJ)i21v%h|^A^vIOPK6;1` zeqUs7^Tk+}CPS!nMT^w$#-&$w5bFa|JSAJDj^+w|z0<&_sb?B|rm?1iS#;2>Z{ugr zRmHLc-Nu4A`AvNhhR^K}gayJqf$?GYor%3L?(B>jGnW*osZwsDdLydnNQp!$pkEq* z$&%CuPWL02g(d{fDp~OYxC6=jgpzuQ5HnbJdQp^H zZtEb}ieG%Yj_?|m{oCjltve$lNv8FhS`7_S7}t${u03%N&aSfV31%08;}c+His7)J z$_s-w%=?268*As_c>kn z07UhvOy^DY!xn*(HTjg`*u;!(OLk2*XGHd^P1Ui@oGnt-Dez^9_h3_nxDk_8!Kd)>(#0rfZd3&)R4oT@91)rLYB{(9T|M*G{s}fVC{d%uA zQAh5d-QUtxPaiLpbmRM{(G9#nWAv%xfTuA>hXPc1lS=X(bsAOTsUNGc$LnQW*!Nc0 zHPC2Cu(2so8LT2eO>YK(c}0;YLl?a?)Mi^^%K(W)ecVRVSk?n$r`j|+Iv70_D-}V` z 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 CYdnkq delta 12760 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 diff --git a/docs/static/logos/IQ6900.jpg b/docs/static/logos/IQ6900.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1ea75d452c0236bf0b7286c7b00e6548635360de GIT binary patch literal 25886 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 lsT(D5g_xU9q{+!1pJ|Jjre%`pG~ literal 0 HcmV?d00001 diff --git a/docs/static/logos/Mina.jpg b/docs/static/logos/Mina.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ba4cb02b158b009f38149101a976cd9dee5c47f GIT binary patch literal 35252 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 lJoILY*mD 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/NEAR.jpg b/docs/static/logos/NEAR.jpg index b5f6efe7fe5d28e15f1b9d777b836fbdfe9d103c..901d76e2a2114ddc6ba7d0b6c9733bd089e7c072 100644 GIT binary patch delta 4459 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 a7VSJ^?$R74eBca}N(`r6lH9y`z3)HAE1-q| delta 4426 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/PDF.jpg b/docs/static/logos/PDF.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f9993dae0074bf73b68c949f940661f79e5e47ae GIT binary patch literal 10097 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/TTSelevenlabs.jpg b/docs/static/logos/TTSelevenlabs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa42a88c07bc6753a09cc5c350baca5fb737e089 GIT binary patch literal 2463 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 _Ug?xbgHLZH~%UUWrIsrn95xvx15 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 iNJzUjg+XIu%Lfb`B&hXmJPi%SwTXmFRe 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/agentkitCDB.jpg b/docs/static/logos/agentkitCDB.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd2f0a633f4843035fc6efa06dd2a32cee5e67ef GIT binary patch literal 15810 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 z zv1J*TePT7JjGGr{j#3mvpgH}u3WJ$a**Vguv|D}F%zPholzZL(+5Sl1NH%=V4)b(8 zHQ+~vx^bv^YR;S=1m$qLj38k;mJ#hZCj1C^o1KrGymLL8+YrTznq1}NSB%=&ui=Wq z9b;8%f3`rbS3e#;p||9OkK%baV`JQQkw#n!cSjov5YCM}6e`Z?4ndTrkR@L~?`8U#+2D$>_E-u*P}U z*3I%)gadju_Y9+~g+-^XombhF2txwJdBw3`$QOTQ<_vT-g;Zk~_S0=Y_d1kRVi^#t zvh-yiH=h(WE>4D9Wg`+c8~8$|2f8QqrlbJpZhS4iRzGGu@B<)^qSa ztTZLKkRUkhAoq-^^^jS@wC34WUgCbK5|`>Kz9nr&b5P7mNik zum%-3uNXa#pDtQ=ZwPs8n5W|28#V9TSr}2X@BD^A9Reo_T2F&*5>IPf0LOw1*#>Q7 zQlQk?dUh#XocY$o+rH=tS;7J9RKti2U4jf@yFT5t&q46CN6F0*S@U3-WZ{^2pd&$^ zx-sT1VL5_wR`^KX0eUFzdR}s$>KG~k9|};y*!O;3=?N)dFK%Tp&>z5MuOf0Fagz6A zzZ4Mn3c5Rh$*~YmA3edku`~ z^*b7LUhJ4sR0JYqZ`6s;9RKOoP7q+vJs4h(f+}e^ zW}_7~@JG}2X{z>;Q+4}@yef;e!6wn|hb9%{i@cnW!mzoj_6{1jk_&ICrNq7&wXe-5 z`@~Opvd1sOEdU+Ki)Mc&kNMRVo~pvY^h_ldOwdoJXXNMK8O5&W7b)(gq#_6|>+TT$ zY7j#aU5)bvfDua#8g#z^K8e1oxr+>7t9wb@ILJFR0Hv=aO!_S3l$k7*sOZX`;q48? zq!SI3(9!U4cCUkskfjya_njX5{u1HLt4-ym(GZLpl%JI>CEpnFY8o^)@;q`WjOg>& zLJR9N?%kp_3;Mujat^4SsSc)J59*L>Jmn-F>k}p6D%X-O={qzo`Qanm=2kPy2UCWi zjj)=>+KMU#;f@Phr-PPX5AQc_EBxrShYf`H+{0+Sn-ID^?SUCGL=-qNa~h~T`hxv2 z|2~#!$ZKOsy9KCz`d8AUxkhow2c~+KeS6_PF*U;MX}|E!_D82i5fBzWDJ literal 0 HcmV?d00001 diff --git a/docs/static/logos/akash.jpg b/docs/static/logos/akash.jpg index 28e59c849984edb24d7e57974949470ac9b906cc..5bfc156437daf0e0ed506f4a0b24457dd8a8e438 100644 GIT binary patch delta 7719 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 Tuu6tklwG5uq6Gk+ITWc3* delta 7665 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 NM!#iZJhtEW{{T!c|3?4- diff --git a/docs/static/logos/alexa.png b/docs/static/logos/alexa.png new file mode 100644 index 0000000000000000000000000000000000000000..e9756e12aa1eb6f82ae3146c957ca71dbfdd2fec GIT binary patch literal 128315 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

p8YTW-u`&`^R;8@j{ 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̽--9P>^rjK0%nM%-H` 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/allora.jpg b/docs/static/logos/allora.jpg index d910f1f29463e938ac6d1cf8d1217521aaccf0a3..29d2f763af0237bf785e0a120189139b37552c11 100644 GIT binary patch delta 11472 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 VpEms8{jLAM`?`PMX7Xq1{{U#Z7SsR$ delta 11452 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 L%|D+6t|tBq0N6kQ diff --git a/docs/static/logos/ankr.jpg b/docs/static/logos/ankr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c595721a22ea8ca802b2d2a1ad42e1566e5b1b2 GIT binary patch literal 13187 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 delta 12100 zcmY*Q^m#$JGB=la71yP!igd$yP2#_Ex5JI`A z^bVnf-g}o`zufnIzA>Kn{MloV^W*Hb_FQwXIro`=JN)*C-#MQ17cZZ?aOv#Db084t z%-M72Z(X>^^ymrKUplW{-e01w5%E8d%Rv*3Pd8*lXN9<(|{OU7)kMMImXMJv>-*W*M zrdkgK1pTt?%9^bj8CX4?jYko$s2j^^$i3RMO`Yu46NGwoS}Gl~x>S ze;7Rl8Oi<;S?FF)mGrwGo3@h8@f29V%hz-T;^xe+cG>nV>V}=P?+CdztcYciBgFs} zpU&fpo#7dxmWFPYcSILXLC5fAPcc@W!aR7kG7JBs_?3ExVWSeGCbxrPXpa)}vO_r5 z*L{_3sld2p{zrB2FT3IdMj|sKw^p#c+)%@^jbcN5*){vL^*Zj98q+q)Bv7Qa+FbwS z1MHR#90R|Q=#*&1!x8!|Lv?2O@P`~oD>E`eLJx`MvX=}CpUg~^>Vx0HfbSR!*qTu! znLUbq8Ak&$)PCfQ$qIYV&4nkd?50PAS32ta$aCWFe@?N4+OXHCZJcZOF4dY0mEG8G z9R#!UR4-2{^nV|K>87CbfSiKhAwC(}z?YYxtvG7#1A?*V6jXFi|xD>-D_ExVcK0Lij1_6~paV2*zn9bNW#`g<7yttOsBBgtBo zR%MahmqmGnpjo<=Q=!i0gyZsL$*$eBLH7(s6+4bCa(y?`;)#!VlYcuIfkfIkTt&j} z%xh;CUU8rLQoz;E@-liSCP}=h4rwva6*{6XhWFhU2c|nol3g4hGgi&)BkaA9VY+{3 zv5aukD5Euk!!U6e+Bc z9JnQKiCs7lFWuYsGYaei;tH@Q*SUXtq_pIj#FipprSd)aOB8{o*SLYMnGqq<(|e`7 z6#@*_=N|sw;OMhUT?igt^jAfV!>-_eMjbSM5{!IDe`1dbw&YWgh@a)OuaQ|kCfsnj zzo{8_7w1qkDDVrV*=#?gkpmghN>4I;VA2gVf0ElN+nEgfJRthH+tZ}WPf;mgDc z(wu)VV^1f6cFeBTRWh(}U{m>4`}3Ox=uXpi@uT7P$Qx&+hmb&v~LQKKwi9? zSDzm^VV__%lVfrUI<(q-;Ihqo%v-Y$WGKDb)2l4OA5s#SP7*>=-Fu9+xbe4QrO~VJ zKuyH|{lFRd<%b~HeYTV_)OB>p7Ozg0Qx0z@`NJ+HyP}_Zv{afXor@a92`jP@5WmY7m9yS2~)a>Qw;w4V<<~KVK=D(lZv$8HEv})z#zqiE%$il zM)Lt@l*y#gdy22h0J1HH;^^1Ayr@hwga^f0Eu*tl->Ate%$P1G>oN%?PE6r z5sjc{*y<~HSq{4_e)SF}tM=w(Y5okt<{5|updFm;}4TF{6P^`rb9?!gpi^Bad!Gd_1<5B`9aI! zER~K^ugo#P4)JLs{HL)4Zy)V5l@tdnbd(n3Hc8(TbWa_a^CflKCnVUH+U0mWSGrfg z+xlxS0owvhe*Mf&nDAJR+yWLpTjtrr^d@nR(* ziBdG1{FE&<`0B1wob0X_V?`WuuIyf}j8F9R9vLW`)sAWW=$8n)1-F(sg#LMTrf@3) ziu>unk*J}$GZw+NEm$*?(>19cmH5JpYY*wBgedi$p%_=e~8 zA=hKp^t(#js3}@PoZUd*k+!Ad_2O&?4s1XL-n^cfvsN$tr1DxBxP$y_VavksWjnUS z7f4At1=$!kr;exII|UUMUL#cV=uIDjDLvxF3O}UVE}=vmr}1WLwA^ae_E$#-m2II+ z5$b|H(Kakibu*HVx5E!5QyXi`I7~HA>WdFlP5BG)g`(?1V?InaJWaf0sW38EL==sc zw~!}NhJZ6(tOzi@dT^`2$>5C+=76{j3WqEd`*2k(S7t0p0hW*sc zr1+^msY4|rEdp*#C&JXXYb4romcr?imH3{0YQDXIw&J@29*uW1U9B11PmSvKhq=^} zeIWw}hob%yA^N4cLm5W*c_^H|Qh%^TWFvl7(FE|XNVJ6pY;bfVAo3gNj}q|iKSc_< zdLb(A_E7dbpUtj^bp?k?ZOC<3aN2& z(@ zSi2VX>~pr^lp{_KV5fNSQoPegynw@SI-xt(mIP zc|a;!Wx;LQcvPiT_p*D;QYC-hnqZ!O!vbRD8=6U0@~AHdwrWxD&Rt|!J*)ce37LV3 ziRbKN_4A}B<>$wvUWGHAeRkFv^rT#p?Rw|vLJ=%!cwsJ_f3>DCMCCot;0%YS(N*pq z=?aDH&jrTzCEY<)27wj2{{EDg(eVuqdDIMP1vi%jA6+d*_UtwXt^AQvs!hmdgyR?| zxh4{mN|8)x2fC7ElNAe8kf=Osgrec&!^=(=7gcXS#muhERffkn{YZEb4MpW)9#vmp z=PjH^M-FP-?J(;`+Liri4XE1X%_)-c${EEE}Wc-ceMv& zWenL>GN9cbOg@#E<-mzZ;*EwsLLM5*b)U^xDr@)whhK6>n{|W}sPI ze5>bG1W^Y2R=}=APbaC^(7QQ^g%v&>nBTL!vMeHCY|^8h@%%~>R|Q7Yz15N_kOzpn zx+_7u*gfL$C?Jbi{_>p5@7Cl7{NH_ z`Be$5H}w7-N+y?>CU0!4@v}=&wu!p2x++dOgbFVf6%{2KI(xfX)*%c2p=w-Ra}9X1 z?5P03nVkNQ0jmopu9E%Ds!XwFF{(Bm`0Q5R*;r+s+2 zOb0>Kx!2{Fx$0lu`tY3R-Y|`1^cG=1W#_{$bR)=i|JQLubJ7$~7OS9Yel}S$I`M83 z^6Q{|^P+M3=p+7h<-)2kZ1FrAnq$}OH>5k)=9`E`8#b4v6iJw5y5;f!(;*UsB6c3M zR0xXb`*#zQ4ZB1fTA{CjYiputw8I#=<6d~BsIK)*741YETzv|<9S#3|Y=EbkF0uvq zvF8YO6a{xE0Qc4^#ZpSl)YN zDfCr`Ptwgz)l9=H9Peao7M@Bg=~l_IC##G!PqD${+BP=T)CCccn9>r5`M>nCG=*-4 z&fJM*5?^;r4ipv2r5d5vA0V_-JoT635|4ZWFM~K{o`HT`aE${bpynHyhO zZfl)_LXTgb^dX;gyEh0x{Z!5BG0Q7)=%!r#7$~`k4AT;=F4p23srv1~b~l-Nqj331FXQ?ESP{%FM2# z560eXeS1q01zu;@@e1j4FFom(t+zC6Q4&j`_@<&84y|$&QR3IdSQYua&qsxmC&!mOR2 zd2W@Ke)7v2BNmDVIEQEnw!Ie}B4p~Y+L2~-x&OjtVCMyox;plJqk0qwlyvzNbQ68+ z!(Vcs54z_wFQebVUc?Vv1BKM0$!D0zOxHk<)&C`F2K9RnlbBc}`D8&!ptI8qwF38s z!?_<7_Y=FfHOdxeej+I)>t~%4gQC$4wVGn$t@ErJd?|XyS|!1I-v}v`?HyQBR!`Qi zmYgO){sFI^;a|}EZKVpclTFw)0UDEysgfsmp>3n<-vVPygm1j(-NZExUg(kf7Q`eh zvPtsJQ!M)hJg%{Qt2eq5jd7xI+clI)YZkPbv!6qF=~wH~g5lFrUY6Qy7vFm2PhPq! z+>4{Fvrjh^IK4M^Ho*_iM$f;0GW*w)*)tWs07rK$p={8ha-s&7Y-z419Q?4Xd_S|Y zgNkFK8xR4?zSVeq`8p1E=Qhx~xp5Nn=P5#`+s6m{n2kKUMbw-eh>#_RPZ=l=n$Y&q9o*$1sbC2h&iZg?H)T>X8Q6U#)A8|dq zc;?B;!^jN=2@nHQ)ME(4`SG*#_m|%>)IK7gC%y;@N4?m6D=Rj-A#)%xUnBX}DOf`& z;g=R)?`zBcLA}JuUGKfv1COfl=GFtsOJJ*6_5K&E(6sTYkpO1epfN9C#_Y?guRttn zoZSaUP_`E*OgtFy9XUW2NleC3*L>s=*+Z)AL&A*>93*T|Dl+U)dQ)IKw_<*23-Nk6 z>*T>|jiC6z?7MT3;2=03j|5fO`Z@3u@OH=k3n|ol_%jWE#ix9Kz<&1TO(Da$8OyvjWhNXl*9YzgO;Q_2rYL} zmizn%=WBF6`uG%dMoz-Y84Wyq0fJ4#J~}bT1aLc8Xk|b$*2AudqTMVIjT|vno~NLX zM#tCuE_Ba93JzGsLVRy+a4-6F^BlsuO9B=RSi+4ro$aO=y}t&Bd+-m0pAUJFaZ#QB z-1(1ZK%n!)zqnp5TRETQY5Ks#13DAmDID0G#ZTP~R}7RKO6zc4;BN+?8CFaIceA}M zIdTUj2{8`Ls0?%fSvTFds0brOGi;R6;Og{mQ|=zQU}>FYpenDE$BHOaEa>%*DCXlt zy%i?JQSFr1@An^9iFfw2M_MROZHjIo6-9EC6Xfn*7T0-|_ET~Z*OPZ?^rx6tN%!nD zMzJOS8|^A!-@hWdkqQ_a-r8?sB{=RVuEl9MYBg~Zr4odCG|NgOg`{3<`0&)IEW(3>D2_30IPl`isV}IWw*-_Y=eLwxQY|@IP4lKLpu?u85IcUH)N~^>ZWnPEKyY2}) z^$8SwIqX<>I}~Nnqx{OU(@{OrHO*VJ71>dkG;?&E(D3}rCNa^*RA%DS4KOUxBQa|| zvxe{bn2mdd2B1L9@}dd84!Gg)fcs@eq>&xG97yb-3~EbTlHD5a12z!U&8e}2-8SENS&Yg*rTNj%Yr*3UU? z7<3B4zy3B9p|BZj4r6MtH-^knb*g{W`+B&p)KV-mP=R6^%-Q9N7>8XM!~Xk1I$!;a zF1{gd$@9%P=?Sm5q_%b!YZcumYApWAOT7{N8fq3vK>C*OQgkIELpG&`P5dP7pkQs# zw^I;s^Ph+G;bs&FOp+KOe>}1FkCW({;OSCGX_L4SQ148 zU*Pw;W@3&*jyabDNzYQW&Ob=DWZ3UJ1+6xM&WwlbX?;3$`B9F{jUMYf^te-S!7u{m zFcm1KEcM1bA{7}buo!7MJeYS^Z)QC-yv?G*E5g5~wqQPy-$})juw3PS3i=gUQF+i7 z93!MJDCCa+nZzPc_nNCM2K56V=KPvaQwp>p-|&&3r}t3ZRcKVpI>I4@E=XhyitLzl zc#9;y&?h85v}g>Ss11rtnbcz&JI)fK#(a1}GT{NA{zV~1J>f-D`u)&mRnu`OmmL$G zIvnnxns~zGUFe(En1{aGp?XUP;xdw?A7^F!Brd^>H}0=hW#H%7xra0(?w^CN-|V6b z4KM{0wq%nCnB*{?<*xRCeLXYRlw5YWdGE(y1Y9B#VQk=eKdseAHNr>849q&o>&ozo z%@5^wR+s;B={+)4=LO!hD)^AqKrD1!Xj;WvU=*I?9Kp=gjfONja1kNwJn5RwMvCev z;>LvRYT_Mnz<=Tp%KX4}Qz<61I={}JPw%Zw4Z*xczRgZK?+L*0o3>HBNIeBPD!+iP zbqOo5eGU1*~!(P*AG2%`?_qDC_8fQS!s_I8@A4VZ%T#?o)Vk+Cl8S&7e!dzw-Prj z;|1IcJnp(q)x|U!Ha9~CLv+!$ht0C1DmJG7N|GkV-56AG6AzTj49&PML^I;DyR9B4 z!i-%LPI3+g;cuhFBuHZS{m3R3Cf)2UVj8ufyzX#C@wDsQ(UIyt)sDe0yHGrvQ?-4Q8? zQ92?tNTaL3^j}5xyoo|HABgl`fkf{OoGOVMbP@II{bxGT#(e%=Wga5YnyM93S1Gg= z2QkmtfQ{x`mXG;LFm4FZ@@#GzFIq`cYYu-Dj$4qT`Q`+$?LbD?#q2hFj;-s81ciZ4rF zhCLxo_wO_hsBWUu2!I(+?f4wuzguxnS!$WtMo)FPgU!HX(?4*|bs)mSzQQ%l!g5T2 z2bUV*0bg}L@MzZ7K{N&A_gF>VZ3x;0z-$;#-k#3YYbmHoX+k= zMbBhx#f?l7wA~5PHzey_AGDbYzJn3+2Ya*7epyR%=!D#}=nhoY`@#$X>c z=2@F6G4bgN{i}<{Rg3I-$jqp`fGkrk8lBr;WoBX61%{e}n=*~7`|J85nhNbjDR zEcf_cU^Y^_;85A~F##a&>h7Z5KE|SgtWl>s= z{muLWcP#$#Kr&~{qyi|(EY?bFFgm>ZP1jM;=RT2aVz^n3Q3&i;^;iT<>_xvVRts zcX)p_BLha7(;Wq;1lMAC8nNR#WtgA01nxjl`SEnR_}8gxqK|p>@Ff$WgKcS5#15R&Ig{fx3v$0T68*U8iZ{y0qo$3L}a-uI&WCfJtAO^&rd7|Bg$=&4PwECu`? zqV#vCv^G&t9L-d}d-gjAA_w%}52v~!yJoAyr<14{W`2vYNu17%4>&{r#k!I`mcY%f z=sw>z3IA2fsxA!k2 zls(%y$EUWHvFCXtfpmr`bAD_)p1l*6vR5$LAB39d5lHb8)nWJk_EoHFR$4D56zZ z0X0O;=_{;61!j#Zo`U#hyxt7CrG;-dEPJy>bF4l-WRo1$1AFB3e99ugED zpG8xn&kDNqj$BE&kwm;b{%PQE^8M0|-0_9J17f@jvyf~FZwj=-<0$oZXPzFW8Gn(I z`Bf|7C}nd))yveB09N{Y7S*5|m!u(^W>9nc6aWFW)I9sUQhf*?rwcUM zl9|MaH@!8#V1b248Q7qefEd54{ZcqKX47cNCeIAeoS>LEUqrtyE2i3;rbA#-tcXoH*q2J#DcxAqTSd+QUsqW<2_C@!e zIhK0y#-Xi9bsal3ozhjeEHSVg;FkRB0gAM_B4giDk@^9WHRuUelMEf}Z(Sk{S*8sG zOAq+=g?=D6o7RF0v#9ke$7P&)xANWay{UDq3a-i#ho<;c~~ z(5lwTulQ|vmudM?^{>G@Ih&0zhi`4T>YWEnRr&{RfCZ65WJa)BX?A3RU3)t&I-l!6 zD)wk&FO_$?Mp9c~`>OBqf`u9)W6E1@p?Y&}5B%!fGZF}NBRz0qwM(4;b&gKO$KMMY zP?x!{864NLdq(a>>tnTA*JPL%%m?)q8ypw(yza`b7I#`rkvXxu3pm&@lQjH|| zxc#x61Nz+W{GI;+LkIAiO5_a7P|G~%65a#^YG1BjxsHV!cQ2agPw0(iiT@Jc|7WV7 zwC&)SJJhEsiQ{MGr?$`9Q+$e32W8f@OL51G(Y`L0zeA68G7=;EDyD`P+(n@V;ujlM ztH=0UzgxJtc>6csnX~?H3Id_OG6Gd{Yl>p8IFc3mN@u8|^Qz5m-cWAByorOTq$bWz zi;*bJyO-713jY08Sd(N__5?PYJD=}|J}kD@y6trSE+^zr1KxcRz>#5W0jwg` z$z}m8OPh)kjs}J_tL#b2sybC#IDW)Jzd&yk&(A;W{hJ&k?>XdGToI~c`VhqRKapGu zj`T6CKZzM(edC^)Njd!5l4a3Fl{%1(U3-kbKUKJ0!2Lz_&$uH;MCsTYif=&chLeT) z#S_+3Pz|@&^;6Jwb8GQpL67_!i*`$&>o}Vg)InsqoB!rWDxiuMyu1AXjIrCw(+!{EMlm5L&QBTHjWvYC0kxx~i6{%55q~{Z zlUnma>P^sN^!wYe3lo?4gA!5g|CAW&{+x7rdaF2*k`Qw&RWaX#JOyFJi`YfUo=3zs?=C}e8P^eR~1)O zFGh4b!+J>FF4e@V#*@7wCQVj+zj0X}kpWWT=s_Y++9hsH%x(xQin z7p};f4f{ZFw4}a+=Gpd1eaE-W(Ua@c*z2=<>kws=Zd9o~NA6}Q7M`Ia0s~*`s$tan zw%#76(a#Sv7-x=P1e7wrlEOpR zA`P6}wL#Bz{uAN<4rhH^R3FD$zMyT1Vk&BakVcN9AE&B#yD_V31P@q4iQ!yKS^rDl zd_V4URtOg#=bWML7--W3kGn=ZEi6FZPjxZ^nbqVL4qmHlwllFwNmK!PO>}iSs$}bR z1D3a~E9!ctEUUoAt%#-DWy5)2PK-tA;%*O3HNJDEh@Eb;#Pgt^)|m>?uK)c)mJjW) z>?(as=nDuPqRnggsTu_L*K&;A9wXShyD!Nbr10v@=zTVeZz~W(nhk4K*~x17CvB=Bipan*Qoj4A(}&I7ss3fAI&d_0ZtW(ranQFn20Mh+1a_d3|D zQIb`zs*AOsoohn60^!yzebqs?UY7KymA?(_5)fIrt&-lZT&%D%8s?kZ9eXVJ+8}d` zLA)#32udY*n97ZqP)9#b@bZ58m}`d#jgFaTl`$zUcd9|>Nnl|9R zwO|6 zsmn`sTX?8<-6uQa%`E|U^j8vsE%s^R-H(OGKNn^ zN=tF7V8N%DHZg~ zSdZQ-eO;z^%B+pu77JHf=q$~yYFaz*%>(yWN9EZVKWNG{<<+Y-;v%3?2_d30DFKj! zPciv<{c#tXg_Ba>2m%1`yt%ipKtyfA+%@3KTtYkE1#hlU%JHzOQA`ICY^aMzQR3JF zQ-x=G#kj(j6e7$as|JhU>QJ+E%C$Gk4^x?fbzS|6^Mbf9=hQieg08Xt7l!Hg#rvz0 zPnGhA7g!vtD$BvQKTfd{8+IR$y!K`dbMZ@;3<6ML;js(Jd5F?HC0m+787AUIg?r+H z$||Kb_ObH_cyqRS#*i*PJRUV=yAxst4;^4P%c`BrDyCC>r4^rYx;RCC!>x9Z8|;1W zFFH2+MB)-;-kqs*Gk^H+I?gbThhx;6`TcT2B-kenT0)XTcr^W*Nnf1an_<>>mC~#M zv?#FyZ`kQnnP+Ptu(h$wTRLFGBLjghE5swjCjS*J7zh*HG}xsZPu9&Z=p8t_FqRQZ zxA#!N>jp(nvFdSLWUiOQ9d(kXK)m9;V=IHQo*X9wOpMy9p4k}f-m%}?`9XQ@(mIn7 zr-{gs1dWk8(}Zq?L5w}Np7oOro}=4O!#rwjwkF08 zj#z6JOk!d)RQhPckn|;Umkl+hk6$^oAjtu42*5;|kf#}=zUdOn*euC!$ux6^Jjg5m zw3%bM=GyARE_cSNP@Rli-HDdI9?OJ7_Lzv{tm6wN?Nth$$O(U=&_z-E>bw3T)0-u& z;a+QMk(S(RXpH2b5np{>;P0j=nlZdG56u(8WAYOBc@~=cBcR z1YoE|-;{r)4c&H8kF70Ye^f+-$kN>x8&?R7e2Xp_%SP!rUlC5R_WIYdar?bDVqt2c zw;d;)22)xKTVIh*)8cEJWq8ien$Gtm%@ zS@YI;Me~c7e0))ae$NWI9s3MKGG6Rib96uok+yL#lj1@NxWFmf)~A) z-qJ)z^K}4zpG|0HG{pPIm5{siE3H4tb(j6N?HcN#9Cr4;0g7v*Lk*m>T-OH*B>V1R zpo!6R?zQ%ye8%KNTt1WQ}WzvW#v5Q#=(JVj9MC`gm z{M#~}ybk}$Hp#B?&68g5ncAL4R>by>^tL)YV!JsL*B#e^CP0JQ*d_B*9j~GS#6rnP zuRq{27U{f>Kmt_LyvPU4-tjQpMQUhx3@UchzY$a$g?`TsKWo)W@{T_LK45OJ<$3;O zxhA|eRq>`md<0g>ezj;u*K+Z-xe@R??jU~lqVE`<^9uNLp8-P5)u}F3n!m64+=G{x UP}Rh>M^TsK(eLk`J9kR^e`Guvj{pDw diff --git a/docs/static/logos/appro.jpg b/docs/static/logos/appro.jpg index 350743392412d6ca223f56db22296d272b6a1560..b04861fa1688867d3a6e3166805a1e7bdd91b4bd 100644 GIT binary patch delta 5799 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 z zc?o_d9czHyfz<%OUV2e0A$mpXq=oNe+Jx;Zzpl*fv4R}U^&Edm3lT3$;3U8-Iq!R@ z6OQ$AQfcWNi1HN(I%>?oLv-2G^%gdQ2>Ae8o?BDDqmwCuya{Q&U;4Tle3)Zd zU=tOT@!E&%_9kjAZ?xh;1E}> zVy$E*4NQBPk$B9>AspkB%ZRyVi;dS2k>h(6Z!dC=Pc=SP~0+rT~qlW4kjwsf0B#sv2nBU^S_2h!Y6BoJKwrJ&c8JvBQY6tZkR@X+BRiPdL$&B&Z(T< z0(hR&P$z~;5Ek-QY=n-d7R=#xSh3hPD|UGI6oaAR71NeCTRnJM1*}Gch{@ilnrQ#s zU!@ET0*CrKh3~i7y~}NR+Q4+gkmeF*{c%@>l9tuEh|ivk4J3^k3fLq6#qX5CwC#o| zt|RpG^DO|?bLr%QL$hjBrhKWbP=|tsLaLS~bbCWxMGQo$TaiL-yiv_#-g(H2KPU>6nnJ4ogtn$>C%xVROu##)bk)ur zw7WfXJxWi=OJNzY6;-^`5WfVEt`jFMiquJ#aL|E>R z$krS2ACYf+UJyu;>A*NL4?g~ckNiRZ zM@gm-R52FvdFI@JQ*oEv_l*c%n7mWDXy-QLW(85oiM}J*l>k6fF7hYHPR6&I_oi%qo8F1igw9k=p*x!R)gKJphz;y#?@BU>L89 z?WP!hKO;`lPdnfLXf821u1}|d@Sr1)dcK}Ny>Q_yMUCG|qdVW=koV)vY6?cNYgQg* z+1P&VjUrFA;aJY*aWvf04)aV`VAvMoWup2J+`WYL?LnZBag-zQgJ*rT*$_A!&Jox9 zu$?k7!d{t@tFGCA<_Kl0rVkUp3`tC$_CsY2NBtJJ*bX$ZcVmZM7~++zi9ah?__xwS zFz{$$kGp8&W>JoN!QU9$f<5i|ZNu#-@d5bHHPE?n}r=z^?V&P6_`p$l*wFAeJ}U!x0oZRoCx9i^f&ruv<$*C$@;3(#)jM*T9qX z>iJP49m_0EqKB$Y^mNWsZ0wZilw!QLy77$VU`}j0!R#{t(JwwYa04K7V%q?~o_Y|N zHUW~A#n39Rnrq-^>2TbD(8gd)>s>mt+kk*3k-$MrcAOFdRY!81X@zXAA^d3$$FFdD zl>~F*VPwT{)4+vfvj@4jIF3fiXPFT!(zngRV9G+ZjVO|xCO~g@m-c!MX(krqg0teb z_uND+KlGUQAf0=t24ME-#dl#WeZ}`4t_1#(@#;1Fq-B49Vo5(G|&-K;#$9nk|LW*Hm%_MtcoIZ0c z8_LDSwNft>rP645SJdAI65_+pRi}v|prmLZB0CLf(rux!9v)KIjybRB@s$gK)#)j9 z#L3YY(P>MNzT=4j^}qe}ai_>#SIy9}8m~LgbT0nDPLEUU15YkOr72;-Zfsi>qW`nr zpEf1fFsmvH6wsT$sl8xs0+ZVkqW|M$iVhU2$3=+B#QOUJ?yVERJcz>+X2YIL|H@lj zk(DIfL~MqE?$wzD9UvMk;21FSu@_sl$SdJsw(H{kCGa}0wjN9Gn_1ymYx9B2irA9g}^wBi}riZu{*rCufD$(m#~9?z-Y`#p9X zhLX$jb>sj&{b?~G!!j*Z;s^u>{)12X+OGh>!RD{TXg5+lSUR;Bq23FX$T_F;79cp_ z$JgrooZ0+Llez_H>e6;8s%T!*4yaT$QHsz85mfbiBmKEx&NF%jxM|2z0qlG>H+7#A zN~*pXXKZ0?s3I>?>hiQ9r==zTd5yAlpO<5Z^jA@XCpS7Fxr3&xtax&q>EEFT0PJGv zx}xd%9~^a>-Cob0+lc0c2|o!?%G_Q@H{tfCEN>W^?SiJ=)??!c0DnxQm{0 zT}zfcEDymZida%2@*?~voeXzO-B((01fzmN-?!}F?!Ll1-M80aw_Dyr=gmX}ClK`P zX1!cm5y#jVVhL->j(g8Oh-RyW5q52euo3PKXVr?I_W4KR?GN~1t$3I}h>zCJwSN&o z;zWp{%f-8BaJ?Akic8Efhk^FDGY?g<{0KkE>X@`{8uhm|>G9d>f(@VGsKWrHXFktk zU01bR>2uKkbxior)c@<+g#X{f|N5JMeUk7WMeBbxrD;C4unRY~Y*6BucHatF83&(z yv5uFuILv$C#%={KqQnNh_6UOLmI!fi*uzz+w|_|~pwRueEFbar-TeGpJ^uquu5ZEs delta 5846 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 z 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 Sm!>e_KQ$#S#Zq~z(EkT6^cM>N literal 0 HcmV?d00001 diff --git a/docs/static/logos/arthera.jpg b/docs/static/logos/arthera.jpg index 53dc5b96e79d37ca4cc617e1dd16fb3293594427..87e38faecbfc9876bfc8f86e86663fe00b9e60ff 100644 GIT binary patch delta 5457 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 TFy&l{?LkJf08DB1+#mWk$pSUw diff --git a/docs/static/logos/asterai.jpg b/docs/static/logos/asterai.jpg index 0004e816a386855d1335aaf48dc113f84d8ab32e..da66f39240d44637fd1dbe417f51af90183b9dc2 100644 GIT binary patch delta 13625 zcmYj&Ra9GDyKX4j;uJ0J#f!TYhoZ%u;=$cnNO3DpahKrkw75f&;O_2jJ$&E)?|t^g znqy=n7gN^z*gLc1a_Um$0*j%H0fK>reFF;*2akY+`UWvR2$ma;YZ4DX{uit_;OZW) zv_Pl^Cwfe>Ztwcm73LX&wI177-x&86X568(uZx>0(AA{a`hm+fB(5yx-dc?h3~y)J zlJgS2^w5lG8lJw}9P_ZPCnV`XODPbrY)faIkq9wp3d&o%z+xWe{Bj6q;@Onw+}iN( z_fFWqZ?t}PdzzU~Y%#OlXj&Bi@HHkK;n9$4H9z>iW&T6KjLzby_UmwrIq8h%I0nD) zuwmV!cy$fP!0*OZ?e6s#N?G9WLY4gm+#}u{VCju*%52m^)HI%K3&n}CBKyX8CK{fM zXG`5BIIU#NNsI0;D6*37vv|Bd4@G<=0tz6yTBiYBINYenO>WL)ybuO$QX-zvKi|+* zq*jJpqZNCwJ?hH{x$Zh>R4WO`LyL!VgGY-ab94cXCR;96{QQ z-)z~Zpp%ZT<|U5D;Kc%jHKnaboH~lh5AH1Oem?>?qgPG}XQ*MVAC z@-!fOxt=*?gII#h1Mx?rUEuqBoIy-X3JNj`iZ}l|#52JY0@v1D;MTU2=ycXdW1`z( zhGt_!SpEd!kK}P4S}5|)F&?PK+H5jHFkXCCU(}bk6Y#tkzRk5r53UZs(^^x6<5VcJ zhj1W-r?nw2g7J~H5&dtX0jAL!n-6NQNhgNb3EzVTK#MZJ|@??SOh zF35m&*VK5UzliL4*yt8E+!9Cu;LAz=B$L|C;Ayz@0z(E1n4#5}juupY2r_4qY=U$J zX44qMRBExGclZ-N)x~+*oh|#i`LH@RE^Xym+ZLZ}p7M6H#>P;T^&2yjbm}X zt#e3H65blcXQZt?z;m6y_fK_G7N@7%e~zmV_GQPvWkZ-JZ6=!;qT7rRAZgiu2p?)K zr<^l!AiL2{2_%4Vm73{$@w3jM57%0A>fUr?Aki9w*{1T$K8PoW#{-U(rxdkR7QmWW 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≶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 diff --git a/docs/static/logos/auto.jpg b/docs/static/logos/auto.jpg index 5fbb59599c1c24264ed5f4a935adee49dce1451b..f56cd48278ae880856e189c9323c8bd56ed0dfd9 100644 GIT binary patch delta 6196 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 O%aDKVp`)WYAN>!7nZhst delta 6202 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 r5iQh-xil^Dsx>f4J!%p)zp6h&NSJ^ diff --git a/docs/static/logos/autonome.jpg b/docs/static/logos/autonome.jpg index cee21e9699aba0270804301e3a0f6f5afa04dd10..7e979823665fc843c2bbb717037202e6104a1733 100644 GIT binary patch delta 5772 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 RK7UsJ(2HN>zEayC`(Ib8-0lDX delta 5805 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 diff --git a/docs/static/logos/avail.png b/docs/static/logos/avail.png index 97ac4836b62ca63396b81b8277342986ea4e7520..12baf87951c3edaa01b7bbcd5c8c69a9ba904c60 100644 GIT binary patch delta 110 zcmex*oaO6rmI;-d%uK>8W=k97SsRm4U%*W$Vif v3=FCzt`Q|Ei6yC4x%nxXX_X8{21cg323Rz_s%y>%YGCkm^>bP0l+XkK2y!1I delta 110 zcmex*oaO6rmI;-dOft--W}jj=-EM5!+QcZY9AczvWD#OuXk}nzWoV#nU|?ln(C9uf xmw|ynwZt`|BqgyV)hahXB{Qv(!N|bKRM!BDh7VGj7l9fWJYD@<);T3K0RW_MAZ!2t diff --git a/docs/static/logos/avalanche.jpg b/docs/static/logos/avalanche.jpg index ac35a807048b6461ae3541b434bc1949b32a9029..ca787a46f051310afb164205b3cad4750c7fb63e 100644 GIT binary patch delta 5489 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 YqOc1<9e?*?vi!NPNzV@Q3-0y(51cdyKL7v# delta 5475 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 diff --git a/docs/static/logos/binance.jpg b/docs/static/logos/binance.jpg index 31cfa780b9ec858bee11feef01dbe870f52c1e99..31a184182598fe7664694946295e5f941bcf8a49 100644 GIT binary patch literal 12202 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 P4-XIc|5%UQe&7EBhSd4< literal 12191 zcmdUVXIK;67VaR5iXc)1q^f`vAxQ6_C?L|Li?mOQi1a{04>mwRKxvT@P!S@(@2^aOf}1)oxPn0MI2w>gz8j|I@$6Y;4`F!3R77UMOwt3iSZn7s0l+r-v)4{S<67 zSl_v21GZm-Z9ypbfMEMG>A2O8_86&c_oKZ|YC{e5E(5>;DzJUp?nhgY)VBK3CcVpP z>pM^<@ES+3&F$m}1D|1UBfSZgt+Sy%xM$n@a|iSQH9#3S4Ojs%z#eb}JOCkZ?+lLF z{`ZOQ-KPz>fcIE~->!f+00r-`1MYzL3W7&rfIDCd?r(#~ZNZNtcm=rqKK8$lsrzj) zQh(qpQ(XgqL!-O9%K`v!I1vDLf_HbfUhVGgqyhl>R{(e)^ZWfSG2n2{fybZzevBIh z05lH)ps4EiV^(PZPz;VS^PuZ3=&ilqAqT$?+`bI}OK1R~HUR*7aI7g!|8LL#7;ms| zQvX0I4gd^%0YLK;0K_K%z&Y^uXv}u|fXl!k@`DEtk{<%U4jno~ahU4JVQ`~4cI+q> zEe#zVEe$O#JtG?vJp;>0T3Y5a%q;BeoSdBWOlP^za&WV8aB`43Ap>tcOmX=5kt4@B z7-$(d{_Ab`JwSVe>?zq(aX9t2NA zPJn00$jJ{-kS^N0g6shK!9x_ZhtFIR(WMi;b^pV#Tka7Capgrl@OoCTqd)fs9HJmU zc=!P6w?t?GGV%il50R4}Jg_%pAOc98(Vh{}rJ$p~bc^BT@LAChC*5*8xE2`2^mcmz zD)2`S(2~;vO2C_M)bEfBtn$*$AG$sfteBCl?usIA>T= zYS5!X)cV*w8}{TS_qsiLvOQ@k5+d`2iAwV#`Q(59+P3fOtHlJe&2BnYZQXup4y$X{ zkM`q^B3hGkY*&=!y4mM#5fTDnI3|8=t%WEJY+TEWO5Rkvk;^9C4wxOpSGai^+ttFQ zhC#&A7No!UsCVTh$A=l`oXzP2!oT#tdgXt4!xRmZo)lKU)3g4r8bq0lep<%Sg%M+sHI>fnjoA{sL^{b!?~TDkMl`(nW297 zweUNNMhzWgITuj6+$YSkEuZBE&BzOzP7I9gVLGL(zR;!9@jT2OXA#{|abe=^9U@M( z+CUD|5n-mcVM|c5_fK(V$?$%T8^)W4#cIV^8uSZd8cUk#bb=BPPiDF`zA#D4^h8G+ z^o`mI#1`nF1I`!Brk^GgwZHe@j4e5YLSiG{&}yX1cCAl>as~s@OG+H(MrJWHui^2A zVPRUxA;&N0F(swfpe~Q1EV7Ht4^2t1D$%jD<(qrXtk&ca_(oK6;uM$HkUemGiALQt zs|~xl7eg7UMC%{O=6&6Z!2e&&FWtk}V?nwL5o z9_FPf9k45D%ez{Vx#gvEs4aowVy!hj*F7>8yMwym7+KHt^Uugiz&diU$7c$xkqlKP zzB;{@c6~u*X)b0GNaU-^C^0dA<`%=9 zLM^^?>TxkUY)XN(hR&xu(%i#=c)5(gjIR@pv*=ny_N)$P#>a;vIQGGB+pu-zCHIG@ zcp1fU!eU-bSubx_b!;zO{{#>({{HU{`YBhDoYv+nCdNeJs-8E-=5ElKv7w{fl{elu zR15C|Z`(W&k#Bm|pLW9%_Ce%F3*qa1r>E5ukp$;mfHk93<;rI8QnB_ld{Rn1cQt}d z0%cV;k0S)z_UhJ#Sql13%nRocTA*)ar2X4w6zXA7Ds{$vAH5(RpG7ISnB&=iBVE#@ zcR9c}lcS!y=FC7uvFr!-5*{Hb6G9jFGYDn!ccu?PUZ>`hZrm0Ph#2*fLN3;!9;( zkp-^9*)u0`h-ybUNM{81%?;~$C2xPEvuW(5rkXiVlR2^MD2PDSApHmT^!ramm}?uq z0jlxuflWZ(f4I~GmGfdKdq##b+hTsTFzoob`eXiu-M zKiXjXqed-~08O|(G1axApeC?n9i))E(`pWPU$Rbacn63-c>w@t!7)$dgb(YObYx+| z5pO)rQ`t(=mRfodom-0i66YW2b-|JcMAhlOWy}xzG27jb&b_hHxIsYfzXDoSNJiT4u82?leI7{qj~*3aZ+RsSR3N9Tt|})-|U$3uihr8rzuJ9_6jkQd0Fi z#y)*4iEXy2X-&!{JSMHXLlL!&>B@V4?_g8)mf(!p{ z{*d;Vf6bo<`uF*}2W*m!I`6c+COA>-*qJmMTH|^}%qJYTmCv`P5Ei1Xy`0T?9qvfY z$hIkGaa47L&db@2&|28+0xpjd`5O$%?q|7#`-u30uS0(L-T`My5(Nq@*_YH}3Fxlrj zrbwI}_>>-#;tsNs%EcUQonZu7^f;XbceO)ImqOH2kDNCwMfJGU#D~1jLP=`Ebb2F9 zmlt_PEEF>e<|Nzt%e1FH-|6;n40KjNr7`uwbXvJ9)DbxTbm(#J;drMd*x5FT4){VE zX2{h^!__P)0gb1z0rZ#A^exaS5*D81F*}rkCZhLN3g!dP2HU1ZFb&gT)4{nto_P5>YLF9K? z=eL!GYgyHpioCk$T6G1zAo04WM*@1Po69F>vYW+FS_bO=jS5&7`~&$)3F3-=4To{}QXV zGSey7C7kASG^8Z8vu|!hoa44_wmB{AwA>$Rp2De9qv5cD`KrZr)HCRLTe#Wep`%XW< zoSWl_j8_!$L>Xs@Fx?_i3ypqAwX$e%Wpd0}$o%>mTSR!{IEFHi*wcqpACRSHX$yb) zwjsaZ)s}X~#v^2ia4%lG-R3p>`Du!`xrLMCx77Q>>}XqRV@d))Z>xJDBQu@k!t;wE z(PbVi5-8R)rjd5`Dyt~{<)gxMmW9psNp>O9&Zd5-tNGy`<`w*|#r>>${Y<>)GBz&v z01P9V0IaCd(BN&6TcB%LOd9XUP>Z+KM~L){Dj$G-PN1vD6sP<8QheoBzw@|-)56SA z9Qv(MD@cwch_nti=ap(5uI*jBWf7scXg)^#j>d3fW7sghaM;&)XBRkl4$g66c#1C` zm&o9guGPa7z;lz}>NqrVJ7j1RIIwc*mu8a;sk1**woRT&x#aOgE8}S~Olfwyl;|g< zY`K8TT<1(pk#~p8G{D+LJXs5cDj!ebBs%B~2Lfy)r|zU>7^=brzDaRptn32%UlYdO z*bXv5!@9G4OsEPBp3ZJYP$3`;a>|q^ewIqu*PCEPXa)z*SWTPupl4m z0zzezA3C+o^0?xa6k*zGn!)Osb)iE>%Dt&h`cGz(3{v^345C-;H`Lli?@k`R!TZ8g zyRRSF>?4m~7#&kzT4Y_=nfYG*FlAAPGEG_b6{^}IGi0dQdkBiac}xv6WFc+)z7+&V zmaj=h7p|}pQFdnxBQ5XLd7|Pw;+Qg-yP`pM$ehu_=qT>uT%e>11N3NOe&5=d}Rx&w>O026+UOPf{1dF9{Yn<$lxclvmr4y>O0M+rLBYU!k zvfo$knsC8%%5!zEs2z;H<|?H^XWNUrBu@fo_}P<`^yzp^mWMeT=h%C@#&N$INMY5D z6@u8F%GoU3TA6ce;~KWVV>=!w^PIrsLTSne5sEK?Xln)J_w2J=vUU(NRKywQK40gJ z%W99R*q%JD0tbX?Z$P%XkIr-t6s-;{1w|h9lQ~7}Ctp+{e0LY9{`ROvhtf4uKlQGF zDRKI7WkpWPx5!d++2?h1_yNy#fc%B{J%Bax+Gaq;e5L1(pmbTT!-$DDH1a|^XS@>a z@``$4kk8|c5syeXwU)seoAa~A?sS3lq+@Ddk{?W+GSy*sVhO-uT?N+llB&mrjTfs` z6un2xkr6Es=a1i(Soby>!Ry;HVWp0p&x43QiXKi+NfmeU^f7&S@-xIf6Oxhlz1h*A zLqjv8y}uUVp}zR@y8XA2ZRY-w?YVyw*?Lvf{D^E>tLvwob#)bAZolm+i+Jdf9G((L zZD)chCvM&9fycO=#kFvHZ?(*pL;EpgwGbqUp5~Yt`d9Ein9?CXZ6y-&Y}A=h_<9aS zvBPT808-CEQFD-bY75sQrpKyl#`gN-hP(ejMzL8;O?@xBM8x z#~Nu+7Le&^4!>cN3m@re%@rNxIOCy2XJI`$o#3J^C!uf!Mq9X8&WH)s9}Dj&y*c*b zIzZL%aCO2VAsJ3_j^Z{#WxYh#wJyDdHC(;wX6WKB5Ih1bbxVXi)F+?L#Jm7}6c2z_ zMr|UePkXFC<{HZto<-}?CfB9jrJbzryTHTZ^oREmc#DEg@1jrAon5OURf zkSk!oQDz1jDqq0R>OQe5(beeS8D`rBLcP-Xd#8Oo{e1+`E=MQUc?s|;Kb~08*~D$i zEb#Kom(0dT-qeej@uf{hEd&;R>_r>C18tv~?J0;sG*Qc2?KfydMa7PCOH+^A0Rd}+APZ)3HaScA_1jg}%nU6Y1V z`m#1yw&40|x-KWg7T+xY@j1d~Tdlq0T=%Kzv*?h{tFtT#8FSJDT+iNW8fwcLcaivN z$H$LhAYbJ{BKej{e07mi=}Mw8tDVzZkRglT>6MfP8S+vz$dJdO2#_IbJc?qKbF!B+ zy_Bljk&C@ST#HHZ?o$$rUgq62<9;?v^4U?Qk5GJh;o@4`8Lq{BeVYBoQjo0mi$7T9 zd~I_6E8M=Uk{V={RUUB?d#qCG|6laO%0Bluqo0=hkqC=@V%1hvGpevf(ah$$GBC8d z3+pjU0z<22`y5q2xU?|j<#X$JN1tPzHzk9(B`R<47w~_eU*XIWcixu1(~FHIsVMDx zD$1QLjX@5#iaR zS#GoQryyOK2wtWUjg<|pSBXT8-|m*vTf`mrFfS=`7t}0i*o!uvuWzO&ma>+++sj#A zsy69{p1eU^ePRsG-igp<-Yq}w9<9x^YMA+2j)t7<&s-D6afrB$83&zS+jmOB#LMQC zt!;0K(`22^pq_p-e;YA%kmNrTfA*isHa*`JiHKjYjx#yQSsm4#I|FMqRUBG<0cseO zxkB#J&3)ErM8nOWS$jkSSz=0NrSd#SJV5q%<#-Y9*j<#-M=^|>TZ~Pqo(@(5&mK|K zLzx*{)CO7zXw2(%T@7sU@G1M!&6G=vt~H`L#9iPu{b!+as8bn_!dd8gp2$e4SNMhn zc-->C(P$UT%}NEIzM{eYs_PxY!ogf;g@fa8fdtF7?Gw+2vK4bW#jySZ#Wh8W*A&3V zuT)UTUHk?djlK#1l7q3c?56%R9UngIv&^{coKU}9X8hIH)>hx z`Agp172)qG0Nn+!qX9f|O`q|WJKyCw8UcLWBY@@}t(tk6hAOxW3-=H1&LYZScf(%> zE3m5Okv!ADD#_@vRu+}eaF|=#m{dloSe4*K4~yp;kzihkJ4Zz ziXXE?#yT4rc7v+4dtM7SNtHHr+RUdN=!rP`DdVb{NFxa7KY3xQGKAK;x1sIG0O-gi zWM?tjpd-hN<5GnpFKyK$m|v=E*+07s2p80FTM6U-c{74ra9|8;|!=V zX5eh0B#n_jz4Fvi@4OoKhtD=-#Nk7%FH2Q!Zh9_DX;1neJ*fK`k*!<4Fr4bZXiO4( z754<+RD!VA4$fIGw(X32p^h`k>e&T@wWZ`^Y4WqE$E%Qwi^UQ6PI%EnM1J;|K<*5I z8M9o3ICFAbXLVgYw|or}U0AR$=ZzW7G{1-~uCEmApOVdW7?*zj47o>qL_y-iqfjF+ zK@u0@_r!%xP+ZXbhqzE}uz5ezr4nuupZAj{p`i`Tepy-Us{cCbOs#bS-Nf}8TG|r& z1~?T7aF)wm#$Iq05nH|>3ObRnIH7JM(1|ScTc&I)9mVH3bTMLhu_{^@ffc`VL!e*I zTK+7AcAC?`la_(o68DBz_&Q>58Q4wdF=AQoCfS*dq@7Y(dYzK0)2!$nZFf<&MuDOi zJ~&pT-^nW+%z0J^`FJRJ-jcXYa>3Gu0<>5L!Y0u``@4Sol1}d&O8#stbhg}&@iF_| zpL=Bdd7ZMQz7$r{%v;7k-iM`Tv;Tpmg0%gQEY%G+_^#dJAK~2NzlL)#1jDcaTJ?*8 z)C`u^*V|I*!_CrxKhV?@0Qs7I8Ak@{etb&s{bvXWgFzk!Q#7jQ@@Q;3U<%*vK+gm@ z-2Dm@JPdFo_)(0Kn7J>#`7Yo|soifX9bv(pw#U9|EBy8Cr{34->M$(I%CLqR8z?kz zr9x%09=!C2!||P-+7DIpQ*F+>%@X*kKr?=eXGCMQR7R4G9|wj+%o^-%MzY;!E+Nrlw59_0#zDM7jj56lvU+boWvZ(Qga{1Z&p=+4S7}O1r z;p(V%WRr3?p8llV&9cUzMaNcEKd-)+s7q^ev9Q1lsG*nk*hY~wbfKc18!b&>il{$3 zD;rD^P1we%lTt)QeZ<>bC0}RXnVufI?QB`vx9u1RDJmq=jKfh+fupIUg!5mv7W9~9 zaJ-R`P`9qXzCNaTY?M!3QD4hPw0)&LM^@FMtI@Y;o=7yKtU5Q$xslc3cdTo4BEq`I zd$x4s?E?tjKCMKARrYp*z}-ajZ2EwZV?lFf+xRe65uC6Yv$)%is2hdLY?@bFp6k=J zro?-1az}N&m&%wLMTg|p_p>CN$@xR1c)%Vcs^}6SG}QST5A|8P_1wj=5^pDO1a=n) z_|W%)oin-GNiG_y%V&QASr-|}Q`6$mvYNB?{n%wK*UUGD23(ZGCz^j=>IVuK(Vfp!7C5OW0VZjWf&Cs{SVk2BfF=KzeGFIe_pt_2{_k*bdH_cS9 z?*jN79NH?0sPo(1KBoO0eFbl1g=AZFnKQ4O~u?alM(_{j#7+b6;q~t>CNI89e?HzT@ejBx+kwVMM+sShQ9DluH?21QQrgeIQPJHRRuoHy!nkAx}fQ+&0E5A?8&iQ6O+*n zR76_++9~cog^G%C9=m|iknD=0m$c>9Jd%ZITOZrR))ufMuE<$cS-Nb1T^b6oQ=_gl{A6OopaSt$R>m6cRc=$G!;$8ti-pB zG&Y2SS|i?ag?mbojf z+tJ4&ZW0|P<6Sc_Ck-hxAKfxLo6210`U?3<<0D^^X)T?u+UH;fXu5L`lZ(;^Is4)w zm!)cP?V+!kC58q9nY4kfp--$&f_h+x@R3=vhHjNuH@(mA0r?aiRxdEH@tBmF>}`_; zMfJrfP*fjrLvUB?#Pov7|7HNm-tHIYIxlcYF7(|5MRk{s!Xy|ds*m!3qI&JfwmKq( zzrak|E`+DJr88O@XVBM7>v_!gu4$;vSVsWm^%u?xdQ;ysawU3x8&?5|oM>&!6EBhg z>Kz%GXA@x~^1 zZ%N;;1GlF=eGclqz0@p{;Sre)ITf$B+IlvUQsR|5hq)tdM%mPB^UQdrRATI3x!^Sd zs|I^-kCc|eEI$HdI@}++dxxF$Gry|B+90A&kOJzP=@qH(6jaVOBpkpH=Tp1>$*fua z%B)i^3t3HmxE)1jGveuJhEzKR=c=e+m{quUr(G|Rj+$d>Zjdu4dJ z*&@TAMULk1;=$PLNv+UIdS2&{>ZrHy;v&waeD1zYuIpqzr|Gei?{+tyv<E^7meS)nJT{zErK+ z?S?H`^?ZV~$12f>E%I#orFXatC!dQO;?*`AH3v<L-l>_uGytjSg-?TT`T==#X)j`j@F;qNDpB9w$INQvJWg;}{8#{oGS^ zKk#V&XFR?K)&a0cLHn(4!3FfI$!=p(`nPH?{hKx~d}n9KnLfIpccP^AS^e|OEpJPT zQxi5+#+6WZ*z_l`lEOza+?G^HQNCA6kzld38ac2!ESne~4W_M2O^i*zv~^pHU^JMv z-f$|OuD8(Ih&RI9nu7%!QgVWM+F-#3zGx^*guTAO_Ce2KF0l5ZZD`bnA6A%?5g=AD zd+%=~%5A%rTxwdfgntTT9DQi8p;AGD;{I06q>>lAy^=RTOOZ#_X6{=vN{{(5*pFrwQ0%^zoAaw+_N`gN{ zIIC&{n1UVD^9NI~Z91(fQ?5~J@2K0q*iHH%Y{wedYe>&JR?3{YTVWo z84CjoX!>XKnq)Sx&nVIN0$Y zbL1qm^FK0&q(>!VfOTaVI8pIWmhBf3j1eSD=fqyS{RjzyynDz`&YMN}OkqPM5!@?I zEX|~X7SFwc7V%0vfwP?O5hf;fZo4%Lx`YACz!Fh$CcI!7*ixSh_DMzJvgq69=CYRg zB4@aXO;VbSREtx!k(FFvMAM;KesKPnV0JfR)i&>;KsaQMc7h;L&sBOq99n<#Tgw< z_=|ENa~AQCcsG0?n3~BXk5oX@vq~zU`NV1O+b~xSjlsBXrDgj1%`k*KKv%~snDbBA z%&O%=fdk^Lq&g6i#1g2$w4cP1gi6OL)O$pTgOxzdV0K;Zv{mKIvvzaYT(AlzIXu;b zR0T7)MXJ~uM^;p(uKAZ}r{A_A!Pw%jGD|LUf2-B1=9=4cy6944Yk#$S@p=!Xxs$^* zXDdPOG(fNVoP>$LyMgJ=rfM3|>c6hDecxD3 tFOZ%6*U_~WKD%9!1FpU4!;;`-x)bqjN z^Is69-_5?m-T|OT;$O)8yW%4bj-F78zzXFOf>Q>kD9b_NIh=muFC6mrzws)EJi_aN z7e(gQArCh((xC7T6#jzKA9(ve@X!bFL;2?v85K8I@58YU=}_aNjxdNZ<;h67_yJGA z2+#(u9nPQfP9gU!08rQf0Gb!y%j^>Ypz;X-@C<%06UqPp)}H~OqVs#%cbh!81HbcY zceIo{_1(Jw@HGzrSS$d5{SyE%S^Zi^x%~^>&QPlODSEk64ky4Ba0Jc(IsgoS0+JL? z8n_Hd0rCe!fCfNAO?`M$h?a8FG1Ae|($X<8Fwip|WjcD4nTeU1<=BbiEXUZ6F*6_M zI?l$X*FArV$)@zg zO?60rALQ33104;e;sP6G571E4Q!MoNYHEshbSG%(*`*BcaC)4L;<_5#bub7Vr3g^7 z(XavP06ODOJ^l3ywML$;N~20kGU2{}kdpV8HqW*KylJq&U$^|T#P_yQlfQR)k8S+V zQh)jOKXoX(SNL89VYJ9Aevk=4FeB);_?`__NEeT^RTadI=w+b#&N?;uU5_ zrHL_UpYHR`H)gZkw~E$O_n4GU?-lg2uJNAUa(o1c9RS-LUg|r>`KM=O)mIwVFU$pP z=G{_nyB9PO4*W+Dh-4xgrk9GUqe5EiEUA0#Fqu>GMV zbh>wu;@c`~^d)Xl^gR zyJ1P|`-9+N0lj{w8yY`c;8re6LKmasV%Jwbq!`3&7c-lOk|2=lN~b@6xpJ|>^V4(0 z30EmB;m$XkzFgT^Ig^yJ&L`;nF~?f#F6?zNhAfx6o!z-*;MCCz+e@CT!&}u&TUlxN z`E|D$g3D{ZU+r(7aE~$~wM_E#<`VM>{8WO)DbDI1Z3#z>q=Juc`8Zo5#zrwUa1s0! zOi`j+fE7vuH7`-|PzmXBg5(1|J$7re*r*Zobg5zb;kw=KSg`r^H48bVFNM6R(KBWU zk3L(m95meBmP@X60E$2pwQ{GflaF8iaoV&`^=ti5esLglx5^E##m1MjiN^j|>cdad z59EO5YN;W#B#mhp2-^gj6y`nVi9t?BExzkJha^A{JUxL*BJ!}k3ohaV%ah^Q#?@oo z9~%X>W+=$x^TRa}X_wJ(6EmqRWqT+u>SQNX#zqgW_oq8rSzCxWsXRsWtC{@(35eE? z#N7vziCM^Y}4@C@=gi?ypw*3l{scRkBi6i zTen65ZZHPd;1kEJ;uWt{oLG<%kOGc);lp3JB{+(DND6;M$oOGSlr{L>A^oL~qlzxK z5+#|5x&*SQ#CdNRm8LP;gGs*wWZ3I!NyDS=rP)lLne(5a-v$l=lJz4%n6o@707)xr zPaVCtJ&Zg)5n$~>3Ui(nxl=ocMNsxx;B?o3l$QbAbvg3rYp+co>j`g4+A9@_W~S@2|#`B-??Xw428 z7dQ+UE2v-~m@2=2=DbgwQd*r+oG}^2+*m!^Q!D^Ya|ADxGp_t#E~+TpkSNJ}eO>l} z4#dh>?CfJM5%wu$zo%s{8I6AV1z9ap;R?gJm?YvRBe9JhEIl$QZ%kV zm?x|`eoKNC8Uf@C^juwSGgA0Mv6F5MR>K(gr;Wt-dgt}uhQBA!XT!-8Uqa}gR`P>z zamSmu$Lk7529}l_00LZVPZr6E`1)aToJ1inck(?+W8t4bC7pMRVC3uM$}ryez%2*; z)}gJeROxgzLi@=Na_?F48)RH$xx*b=hyu8JJ(_RCcoA~R{HnnwP2wZBhM{B{M?Q&B z$J$TgRmajG&F}RPu0eXb(__`Vu?CJ~3}p2cn`N-}561bve*{1LzO6n9zWG5=TE4~` zOsq?K9Kt{_HEC(O{rLQ!T>tK|Cty7>{QkeyUDW-{t#TKp@Bd^l=;p^V)v zQLt_3wRm+wOlrwqeS1gpDN-l|<>kmCwtu3%6B$F4;vPqLS9p8Aim~%H%FR5TY!Ghc z0ACqe{rMZSc{&1XkZU*UAN+|&(WB1MtS~FDxON0XTtkyAT+rz<3FI`i?=RD!6x$qU z@qXu>n{zeYmb`iIruJq;sd{}Cce>T0RRg;dGaUTNzkzY7o4bi>*8O?!v39uz&2tv? zEqfO&5k=mzulKD^+~2p5&K7iY)KwcZIRJk4yu?afJnS!mtKuIAy%2Z~R|I8|oYThd zz^$G8Uw+0cRaW!B;*;j$)6l5Q6px!9Hkv77|`c5&Sgz8b%qj4QroxBe_q`G)R|Ba;AlgvOAA3A z5ydz=I$XZ?VKN}npXg$lwgEBbcem4|Z=Xk3_wG)TwELm2QS;f0CqMENI<|AyoN>PF z6$PWIPpCg_N`GRqNs;9f_-Mr+q}qfz&DX;`2=S&h*)wJR_|QMHcbG&lf@JykIMX<6W|U}T@Lyj?tQ zeO{1Lsl`%l-f?1bQZwim!f?I&Xg5k=+8>R^q|_2jSdYQ+2s8r&Rk3o+jk`iFpnWavwg-IMf%j&YD_4{v4GOyB z)zYc2kJYYAlfzHBg;Y2zZR_MOWFn5f=+!Djnyos&jN3|DEp!BT+3OEu`(5MBy8638 zcHzUzNq5j7P#-h~A6xPKF&g~!ma3oh$&|WYv0;?0>t4G3$Yhj|y=oZBCB|P-byn=j zgqQiUo-uY?(=gOQF0!y?l>?PZV8`1C+whVW9L!)dQxl%tNyT?K12bkuZv&hkdybT0 z;Oz<(&e+mpVny}D#ZU8O!<8f!oj0ZYMw6jmnF+ML zGRncH-wg0zzi1WXK_r8Z$7h~OH@IA`MQ_}GeN|X4u(ZfhXEIK~wy|V^pt%p+{xkOe z!&rx2tKS`i@9+6!_+A*|c(X8s5egQm81g ztfY3jASQXoDhVC2X&eNXEj$)>Dw!h1+d;wS_0lgdBabe9i9{Z{`O0Jn=1nS2{{Xn7 zR}E0@;^J7cvy%{_awQG3n1qokAVV!`&#Hi6gYo39GsD(3gWA>&H)>s7&Q8tBj7J8s z9{|3DUYP-$#-a@K)YluOb-MGz#c&d2xgeNE!oI9`Oft4_L19D{d^428uyR?|49;~i zE9sI;cR1}$2XGo$nSDBrsNc^$?DRHtMa~$iC!yMJdQw%xdO9;F+IP#WYWHP&a|ftB z<#Pc^aCa3mT6ST@G$#xyN1kw-vJq%oHbd2%B6M6_Y_}b!K3ivNij7)++98M0bhE6C z1Rs5lir--7?DZa286>?XBR|)-))s|NN9VrvF03@Ww(Vbi-}K};e@~aenmA^gsoDs( zArNm^JNmu_1C5pED@VQ04J#{Eppu|S25u4;QL9gKB=)sfX}eUC|JU%fj)=P>VICC) zp+>KZtIc)}0N$^zW7@V@$tX9AkUkyd%*xU8-=ZtM0$@my;pgrX>&>j{A!`(A4-lkJ40q)wB-!ku9KXv0LK4`wTW>QGz{&4v!ehh0Fa)YX~UPqtL zAjB;y-)lW=I;_qY=2B1Uz1Ez*U-^3OOpboyqLArGZXqO!_~rGN7hsV~CY2U${m`koF@M>3!hFMsNySrBzA~K==phBNi z)5ff%BYZ4_@^Yec*2JOHtL`7eiAKtuO5nxPr+hF)l$4z<*S-c}>0K`c0UyeekYBgY z0MC|-9+Z=w^@4}m*@yJbg^|!Vv!6a0lQ)u1B)L>(p{qLgtpn7n-R}P4LWj|nYF-eD zDjN~9-$gwQa@O9pPMZrOOX^7i8#t)90L%)_7)yITeEBsj^azo}Yt$T)$|=Os$Y zz>l=8r8sL|rYt*-HIv4A+L`3-*&nS?gcdXx_qD3B`!2#brMjjTHKnwBF~F3w#dI7RLQC0idfXj zi~^{117#}nVOBTIFJzB2!WzaOgIhOKWxocM4cgr4oYg@=!7nK|WH-cjggm|>ftuVe zWwhW(UxfZ+xc(n~TMq+NbTNX-lIemFy09Sb#amh({8!c1D(v+wN@zuFu%tP3ZeO;l zrPWhkMTklM&ACxPga8eI_nMyAt{b{ej+pi(%2?q~TT$RBEmL^+k8n&c%^5w!H&s^Z z#TrRHEbmn=cl(^h(n8J1xMirax2#H^DN=d3aI>p6X6Pd0LZT%K+}f5`7p0FH9Oj+% z>0Oq=)nPabJkhXtONFg;H-D1n6qIj_wLYO_`w@0|w+;XFTyeuLR^@mUPg24DD+(wiLk zTxQKIo!)A2R&?S)-o5J!-`LlpIt->bQ598csM%jglpJ~cUZ zt)FT-!rJ5Wy09Y2^7Y+HF&A5To2`zv4R1ROZO1Ft%_@i55~r8txCi7Sv$M0&H7eDX z8_LGZ-G=tEoo?W)M$-=N5rI+HB-3KqVC62gu_Yvej^8!(S;INGXUS1m{Tso}I{*+l zQ{~9T{A>)amxOWa3pNzRDxTYU$rBaHZEW9;l zxAn=q-yoAXv*wweWN%|NWUGTVL@NyCWx`ekfdtMs3R?Es5mlMY|Kzg(;6I4w>9q!6 zlzdo^)m%n2x)g1yLCbcYd}G6w3&%c*&Q%yChVCT?>GAeUx*@VHJleq6xKt>p)cNCf zg(tZ6O=^z80Cnf4+`x8>lLSp;iI+o=a-C3Nbw}^4u-=ZrY!#-euEhfZQ``JiGn%e; zZO{{AqzM_g_pq1pgGiv1K$ud{)VR!F24(7j^IgeI`&XDJiEsh=aYNs#dur=UqC8ZJTBZlIF$U_LBC{v=ctE+mH4{xxW9~< z&WqVNHm3oIQiXX&ya2PCSkJP&@T_RwXprRexF)EH>RU-DpJD#92>lzOMD;5Go9m83 z+5NiHzAe(c4Yvlcx0G_xS=z7(dt}Tcy7oc@8J%@9X<S6@t?A-~%d2QV>*r9O zP`vf*CHOgHi`l%;Q2qMG!-q6KLmtfUp&wpc_%gMK(?jH)-fw;Q4!M^@7Synof7Rbw z)K%U5utU;$E)yMt&d4-dm5+`}$%?2?xNin`hgSv8Ha`0A@gmK&;|(6HNIH!AT|^yR zFTdyYP$a=uaQW$+#+f6ia?z)E_kdrZ-4z!kPieOnZCo;O-+SK^x~o5-4<;@nV2b2- zGJNqg(L;Vu4VWgf|?MO~lMMp){-6!g}Iq&Farll1lwo=*1sdDq;18YVOVQEKaRN&S6 zI^d|Dx^Tn+AiBr8-4XQWl%6Fq7Ln}5SuXd&w5zQ{0e%0Kjv(@(gr}eANx@`Q=D}p6 zO}{GnJo;v5?0U<-A~r_3C@Xz)0^zgf%OnulP)#zd~8t%ZjE> z(0Af%HgIJET}VG`pQ$z4!hk&}aN!xfZ}{vb~g8|1|H{qpJEiYa~y$dx3KqgcGeX*_=!5#1r)ugFI@*$St`3_5wM+dqZoO zHRMuU?5b+VE1dBjC(F4@8y+GO2f&yO$qpII5<67+Ds8?vNc`;zU0Q2iel4e*9P&g zu&|J~cTNc+ua7^FPD?Pt5M!6731eqN#*6mc6HzgHT4j$w9fTfGQSapqZ?3}gQ=~;v zEKY*5oT+-p_guE`;aZABv{`;)$bt}~`Mix&(!ZeLL4sG`@Yy7+r@L_{T-!R87SO7@ zzqQnR+_>gzLa>9uD(`H9Ql!D00E7}Df*C)|lu|(TJ!uvB fJ(qPQ@}J56yRz?X{~{0e?>hOPI{z>091Q#)ln{yL literal 0 HcmV?d00001 diff --git a/docs/static/logos/bittensor.jpg b/docs/static/logos/bittensor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a20cfa5198b6bcc2fee8f45bcd404f8dfd64cf5c GIT binary patch literal 4037 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 BUr+!5 literal 0 HcmV?d00001 diff --git a/docs/static/logos/bootstrap.jpg b/docs/static/logos/bootstrap.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5811fd0032ef0bdab9f1e534abc04213e6019a26 GIT binary patch literal 13892 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 GJosOvr(FmD literal 0 HcmV?d00001 diff --git a/docs/static/logos/carv.jpg b/docs/static/logos/carv.jpg index 3e54da11b3f6a3c617d5b074fca9325a68415914..e7579c47cd36ae2925a98d349ea96b1a0289e90c 100644 GIT binary patch delta 3458 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 diff --git a/docs/static/logos/ccxt.png b/docs/static/logos/ccxt.png index 3e9067a0f372530b869d075cc01ac83614533765..fbdc917d062a3e607f030da8f5216796a4c7185a 100644 GIT binary patch delta 84 zcmbQGF-v1YB_}hJFpJsJ26@(vO)kRX#<~WEAx1`4rj|gYZD3$!U@%+R`tszv!cxju UmdKI;Vst0Im5JhX4Qo delta 84 zcmbQGF-v1YB`1>%v#Hsq*iE-LHn|9k8|fNZgculF85mg^8fY6BSQ!{Jx=+lVd{=d#Wzp$PyW@E6bk diff --git a/docs/static/logos/chainbase.jpg b/docs/static/logos/chainbase.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e59c5ce61d65e2a5de023eb2f6cbff04f76666f GIT binary patch literal 10548 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/cognition.jpg b/docs/static/logos/cognition.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e5b9bc67079ee23d4d2cca29a0b96ce81b3fb47 GIT binary patch literal 9437 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 delta 105 zcmew_{a<>*T}~z$W>d3Iv72she0G#4#7Ni3BE-PZ%D~9V&_LV3z{Rc?MtW?ChKk%5t^t^pPeAEY!d0yQvry85}Sb4q9e032W+ZvX%Q diff --git a/docs/static/logos/coingecko.jpg b/docs/static/logos/coingecko.jpg index 672443630b297bb0d5ffbade5d8e9628f8034bf9..228dc99378595d95fc147fd2c656a21d93f4218f 100644 GIT binary patch delta 14537 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 delta 14493 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 O{s*`HXNmnV_5T6kwi~(t diff --git a/docs/static/logos/coinmarketcap.jpg b/docs/static/logos/coinmarketcap.jpg index 9fb149bed6152be95017a3263c9d3b8e6bc0fb42..2b9a441992202be7657e2d6719d78e2563593dcf 100644 GIT binary patch delta 11371 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 VMga*4Q4EB{|DP8T4*C7`{{aOfD@gzV delta 11426 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 U7z{uh9G7@?=l}8R%Eie40clv=xBvhE diff --git a/docs/static/logos/conflux.png b/docs/static/logos/conflux.png index 7d5ec0712bc64125b41978c718ef0d1ccfffcf11..c0fb2d1c8774fea1453626d4f50de60022491c4c 100644 GIT binary patch delta 86 zcmccJ&UCw-X+k9@Gm|ij+0q7i){RZ9&Em$o28JOZLJiHj5kS8d-!G7+M(^Ss5B=8yHv_7&N+1%$+>1 YSxOm;+y^Pmiwr>E>FVdQ&MBb@0HB>2b^rhX diff --git a/docs/static/logos/cosmos.jpg b/docs/static/logos/cosmos.jpg index 7437335a88f95023a69bcb5801867ab0a5933bf8..cbd1f84020b85009dfe80c501d5cbad3684c1cc5 100644 GIT binary patch delta 14442 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 delta 14386 zcmX9_Wmp_dvt8WX9fAgTx8NEGED&4+iwAd>06~&qyI3HB;IO#6ySux)yMMg*&NK68 zp6RKX>aJ5=Ri|>p;b7r#Wd{hd2yjS9D2NDv{|-2K1VlW1Bsv~~cf21yoe`RU%P1$J zmvM<(KWE@;A4lfbdR+iuBESLQ@euF;Qh+fd<)KIAS||r138J4I)ETOTCiBH1ow7zA*cGu#pXkxb_D3LC<1oc*~`o8BK9G%YHjk3U4Ltt^u5;jq%hf`h} zEtUt+={i{hj{=823EyLTB|64WtGIsl7h5Fj@+a|sDdYuIhvLypLTNUfw1C_az!`>Z=+t8yU|+&3@UXVxUgzy z!5{a@OZhcvnCYE}o^u~uC}0&|03$DG&cr1Qwf=616e8gXxG8TsN0rI31>>W~!+@df1=%TONa`~FM46uj zv_A0nBlbkH0)q&Y;XZLh>Duur*hUmheoFc03QYT65%=~L!@6xlf)e2h%nMXC^YmW( z2Co1m*eie|t(^KY_O_&=SLlwr1*dM6arxyZ8c*eM)0t(!37s8hgs1cXTMvEQpD%u( zHLs9>_g>pOs*>mphO57HA3suredKGJ9+5l@&_&o$mfUV{d{$7izvIevD7}SBpz>fh zx4UeZJDgCW1cno=EkgZK*+~T+i))w5mMUDnZIr;>8Xq*_yo0+f*ms7up%Q`DH^8|A z@sc=CS&pqu1xmYXI@YZM(xn;mLC<{BtZo_tw%^QPNP%WB8~(OuJ~bk=;C#hBbUOkh zKwyMc0Y8EoVQfCSoh?(aiVZ&lftoxMgy7a?F12hr zY+xvsdOolSjwe&OP%b!|ju-raCsPUdE&kV7o`4)-4yro$+@*#93lcmVf23%Zz^!?s z-^uKwM{(59jE*ACxiDht#3Jh7ka97_BlX13drM2%kUzlwyBx7sKpdQ#)5@t-jc2K+ zpVbJt&<~}@ieFZzJHsB$0dmBt{MU+8!9RXa_y|OeUSNc>v04=urBz7V*f3m(>ZOxV zj_%Yw^NOGRjXAU~TqVtqM2OJBVYn+f4;>YR^AU7}Etu@{hL!I?G~Oetzc?f*9mB>S z?Z4bY@zDjrG@3@7Q9lnAj`Rkw+1Jk8(7%~l)BX#9J(@Z|zvUD_Xx3e5GVdyk7qb6& z{*vGMHL<3xn_Q#G`pq<*upNkUfL=7ag5 zTqe8C2d2dj9I=IH;eJ<=Rc|OjPhDU`z*R>zWsQb{-)jY>RK0^LF%_c)=Wx8~mp=h% zFY?X&gFm3VeGu1V>P=B`ll7A~WXNXh7N17N{WX>XUulSvRa|G}S#P`I|dz^)}UaguL(zn6;Z^>a0Sn|%1UBw_z^Z;q;)(xRb%-OJEC)rD>&^C*Vx z?_GLuh{m8muPA5ozO(7nnxAoa~j^2asY10LCZ&i1w*G-|Y3`mJ3Ll=1;*N$nt+Nf%E}?1aF&ZtP>7AG--MnY&{~ zFI*>z4Y`>|l3VM}TSQaYKzg2?c7m|Nl%1u?K%-QBJZcmmj{ZypjZCA53t6+FbYG=vPVVeL_K{w^7b7Og(9U)~< zb#-Y972<{P-yVV+Z+yRt!IUGzgi-8uHa3RR!rJ-bv2T*b~CN<`BUSeZipxV`=gmV{^5Q`NI*G+*wUwtPrVZN8o40e=OL%B0N@Hc2? zI|QTkD*h>3J*y14RItx+ah4|!a~=*oXS15BN!z4W94xXqn9eIQtxjS`wRb0*}w!YZCZGjhCL>3YQcD) zi`$pzvLP1YCQsoHy0M0QIY>4+j!v1hCxla9<)0dNpH=m-i2snD=dzu=+pRBW;#U@* z=@cxO2pE=#V0#t@m zse%0gz129{3f=o|@-t?S0^ZK#zPkz;(R!p%Tmmo zY9A4I}x zCCRpww^y2Yc@KNS#i-*vX4$ASZKtJ6dP??|DsOce{Z}gn!q#^Zvrz;JdHl7sL z_4KWAzQe=ZE^jHZ0YX^u7wOn1ij+%=n&IT;9iE@>6<2taP`YXv*B>pxqQ+BVU?$Uf zTazyjls*w>(afFm6vxr)(w%L}{ECH=8f3LQO<$gotBs0Cb0_XWtb0yZ_`&^{P7Xz0 zen!Gi=vyri3W@A??_Ba!xd7wb9m>0mZOkb8fRK}OTN-RtuaAe4&1q5PQ!y0h-khKO z6iUdM2w|p5mhYS24BZY~o@o`IJgx-f2hzP+wvw8kN-QY^_xr`JoVh`K&yQFveyDD! z;7#OCj@Gq|jm8yW{p15RV-?l7CPP?G^NBf9_?q-x>1>`rN`?JLs#e7rNl1!*K`z;u zWg0^AY2Z59JqJxWyWJ5^l?ugBwAa6;YoZ~_b+0PdQ``Q|elIX5Te*Qt31(rHPNK#K z*E|XcU$lPIj?&}`_D3ZD6$9^kmD%-IK$t`6VsY1tD}MHthslX#N39Xfk3#P2_1{2k zsVP6hgQ3o&<`!%kgig&SqLmUATNO!64%_{757?*1gIdJ^HHxsexD_%ZKgY zM`^I;kGer3coJjOICJIK$*H<>;x!^Xw*u&HzgS||oYV!2JsOjYsiylZubr+SfgF6s z?Qs{o5`+~Fu~y)^tENR{rDDCxP6H3RxH(sELc&Gs>^M1^$7{nsxeSjEc6@@iFx+$8 z2l=X){d@)Jsrw$5U0c?Hm9PIXcPQ*Xwz0RQS<^J!a~(d9ngEw~D@AZ{=bXJg>&8qS zbrKi8%};^l44XI5))XU#eGVUFU24sb^u8Pv+7{oY`X3KB4m*t3Q9Ft&HgQl@asIp! zeW@r!F-iyh*$KeU60u$K3u&%-1qearV`j{rQ+3m~eDot`y>CUN#FOkD?2^WAbi!$u z`yMbDB%Ov|0kCcMfXXKG;2bv>q(l(yD3gxjRV-Ml|9DM2TCv?z0VkI**j9E&WNRIQlzar2HtE!ZHCNL#wS-59*OL|7 z07iKXHTRFlUlo3i3H^-9t|kSsV>9OEtgW&OBUH(aw02#Jx9v6uW$T&OUp!q?}Cc)j5Kxct|mnf9oWBE50(>gZv>#7P&@XoW^T&Q)s>j*m^WxW8auL= zKN-ku`7!3MyV6y~k9hA~wr8#A3FS!QLcn}F%M0V@Q6!VjnMHLUX)|+EGGzw@ch67s zXQM7T_}MdSwVc4+l>G6>v+OD3JGzU!Q+^*D&Z0Q(xsAjs z4h~`&8mD{ZI_G<@ApQYym&Vm0dj*ckCiBjjPRAS)44=C1WTi3UP9Ehd7B8crMWxAL zuMR1{m_774F}%g=Tsuqa9?s~gyAfc5zZ$0vllVCYeVjPz$!^y{)s`uegr_NjH9zWM z$jnGIIXeneh>#W>9?Zgm<*2|~837m-)aBW_7s!U5V8l1b9)C)HIMk4}wThd|r#2?} zy!2N*)XIuJ79m8TNm+DDM;yk8zPT*H!i_kMA0KZG&#yal_&s zPli|FiJKdiosw*aZdIecxQFXajqKxG;LcRqiZS=LzOQrnb{EPs6q-Y#!X)-!z~S zX_@!EDQ(Bv=+yI!hDbude(lOg%AO)Ou*LwoGP6Z4$?%kT+A(8jg55!Q1CyC!;TUs? zdlJUcKXo|;GxO?^IEIsok!>CvHaU4^)UvQ7`^YWhq((bQ+HXJj`uL1&HFBLrC!9{? z$ZlAmMd7P~T81e*5(K1mr)9n%$;xBt@&i@La}RO^lrWXw;#PNe72rRn0yrg9nQXe8 z6x?P40?b*pD}{wlgE>#X2v%O&ZQC?O`_X)cC&MSO#NcnfjWCJxzJB_+AwMN{Z%;YA z43szwYF&O;+Kqt{CmhfzR;xqJPmr+fvWA|9e-_e|0CSM|kh7H8Qw;Ufo%N+-oqkC* zabXU7d_vU(=}wr!*5^0;G{WI-xXn^nc-KStb=_ZCbMBlFbAT+pO^+K3JcO`7c};n7 z^C0cu;2Q!W&NFh%6jhT~r`G(ap#C>YY3uC7i;JnSIl&~{={@Oceuhd^Ll*r^VXy2d$FOgQ~6>p%ZK<|n$ZtRZ+zEmY$xc6D_? zoTRw3*S|v3paI$LS}0%srv7qqdU=;t)}VPdx_3j}YF=b$%eUY}DCA3~pn>@{*2+gB zFXG~>sk{y(O<`B{nX1h-UW`Pq-1mqhwMAY!dCr+v!1ypV4 z)5jSfOEUgg{-CYzYTrzr!aT_E%NchjSOeQ1{{E@yy@fhU^U4r-uyk zyo{VXp+QkeS>P(6Jfz%6cXBFHd{AprRk(R*1t|x(gLgpv{=HUw&(FD_KKq7b8F*j# z)CH!T!s9AK`;%KyKjVr-yM}@AYZrM6H!kLvy1($0n?{~(>@x?4)e~v+4ml85MeYa6 zPYO$e{jY!$X2`MecZZP}!1|c=!EV!Z(80pDE^G@ynhHsq7*A8;c0pCypyS}puLlR` zNUFTxw6A;)SQ38%sZMscnw;Xq%zt8N4Tqf_9S6Kve_u_z^-5Bf&|DgrgIT#^D;##M4}euNI_@@xJVF=pzk zq(bk>#1Smr?V-ZtG;r+D&*Tj7Cr!{mat?HFQN_ziCsI*y0%$e4G?+_Ngg85Uf^?j6 zj9=YWyd4fznoOZ@{qQCy%;L1ZEf5>!$~e55Of)LRLb+wQBx|RGgyHC&WUYhnm-H79 z_^c{@+{0;cdFm*Hp!F3n+vKlA1KYH@ZNWI~ucTRm3fFXcHheDOS#p>~hoRR!NB)bg zUgc2yw$^}SEy0u*11|j6%P-+4jI+QWx3#{>U_c|dy;a`^`aV_*|L6NLJv&Fd#0*&O z=+=|Nj@1OVQtK7@mc$*^u|=pV&O!Hl=v)oDXPFsYBs;+c>w8o z9VZ+26+@lHslZ!DF_DJlqJNl==IUApAE}8qmA%5VsJvoUD^)ySD0stGKb5b^#7K%q0jJxxo%zUq~1G$Aja;_|wxs`#d=hrtx*5s+ixJH^5we zgHa|eOL;oYaa37pnITW@%0C}soL+v~g%o5)bxss!+ky`=s8)TJhpC^!iHKLxGk1lu z!%6F#>AN~Ud!9y?ew{yxch#95>~A9PxpZ63G7y0@3RyJ1uX4DVpZPnmxOF^`Syii1 zPbxVWXrsL(QJi8%feolY#}KDcTEkK|3i5!~xw&kK1+5YPTbx;*SKKFcMwk{wa%^(6rUIM(iXMcCZc8!OPartrnuGE>y`4TEaE(w@ zs-d!HqO`_A>s+U9Io0#i>{23GSs5X=IX?aniLUw+ab<=Bm8X?mNyUDKXul<8hDP2E z4~9z?r@}p7utq69xk(_`j(Nkr!Ob8!tJX3RC(iE;ZJo-Lr^N*}^jPA8X6P#w59S+& zF!9r&Wvb^@{)LKD(;!exI73aS-@&;-zfqeYc_U9f-9xvi+2G2dxHK$^eGK!*?yk8I z^@{b`#I1I|(GH=Kii*+SW;$S6MO*@0QvF;ixg( z1tX{IBX{Rq&-{KO>)rubqPFx4es4N+**Q(z7O;D3UGjPJ`WZ)Yf2Boj-Q_5k-&nR9 z>-+p^v&SIjwP0%8@DA2e!H%Tt9COpxGo#grBRzjH_kfyfSpg#Lz^p}Z`(|^VA`Wh& z_k6+@=V)tRuOn|bbQEnL_HZOvm~gU>RWdFs;9<4Pvi`lk?iJ97ZFPoGP{TZa6Wl$u zat^hqTSor)BW58lPg2UU^G=cd+C=}aOcCg~W?ZiS<2u4nprXgs zjqGR?D7hy&sIee=acT_KR@VqGvnDynaAZsy|3GaMVM&Ud4K0w^<< z;CPacMvap-p%|CqDk9Llymf{VeN$eIDIaq}F@537Si!uj@qr+EQ|!;?_3}nQ8z&)K z|AE^!=a{K+i^I~k3Gc+o(4>=?dvQ0FM>u+m0R`P~#nidOv}Gf>xkzFm%?DIflEUy- zSh$+|oM0*Yi#TqiqW|-~l05$pdt0R1dEJZ@HXwpCsEFn5VhYO0%q<{iwaZ3gMK{Q2 zmE)bXQ;xAUK)@%b`!6S~A}f+jKuJUgPnkSUnE;5d*NPv1r`((gQd7eXWeP>BW|*c$ zy3*7EeganHf)n**`P}JW>b_rA2Y5D+5B_y<7ksc~g)xfo3NQYadhpI$H10k>vJs>- z#PY_~J8A!v`w|6yiU}Tg*OrIZ#aJ3Ob%tZ%xRfmw-Z>il%q=)zd#v`wkfecKRM)Sy^JYV@?(vwFxHY`rkKq3wojkdA8Y^ve0+UANMJ6Mv%CEm|`4s~^ym z4=zFhbtg`zb=U0HN^NS{UlgI5+>c;XeF!u*|A!)-+N}-UQq`6A}z1`>8Zp7$9 zZ}ATY3nr^Oa9(YbjBU^4&fNN*lNPW7H+{kj$+)dO%qVu}OWeja+m!AZAK$}3eiQ0C z-q=u1<+AAO_P-45WAmQF;M`o0m3H4i4O|-nm|k`{=@h?lwE3%zGR6?e-%3-MZQ86n zVpKLFNX-$`>k__^3L~lHdeij6VrUl8zKvwnqG72hiS$G_r9U6Gal`O^o`!x!tbI+d zYnfyoRAb~!!csf~BmZ&GAN{El@ym$h`e4&u3v7halnaGZ?2d|{Vz^mz>7mh@$HAQl zY{SG`|A#jA`TQCurgE!h_!N1;r8ry57?c6aaC3_ebQnEUSnrkML`j(uquSd>!dP$I zY^QSAWaeF@sQe!Oq=)11JbrKssSRW9@^(Z19Kd_2ui^Obdt*7b5c>rsX^&8(L>tnD zh;F+2Uxj6EzKa6HMqx}OH zib+xU;IOx!8dTaf;?=G+9F`C{2p+}_pXS_{{kaPWr}=g^O&0T1B0qR zsJ?l$Y}xmMb`VG1pstiqI{*6d_iy1C(_1M)S|!0B0#ru3kilhQVD4vBk|n3Za6B@# zB$_KNXj)wqz>3ioQnm|Ueq?`Ky7$Tl*UU{*Ygzs>N{fqdSOl1s7lU;ie->m$Y-=0R z2mX-4X*$`72~^GDHi4^Hd-TdOq+R{Hxqpzo$sXQyLDlwEAF6NOk!P|!aW=}%)m%q^_8Z&9OW`R!{OHwIU7IlK=@o8Bv@;*vVKNppul@9Lqejk_E$qv*y zU$zgk8r1nD!YnjUH>A*#>qD}D;GER2owSYL(iEO7d=Jtfc+N*s1kne&>7l>aLedvG zrNR#!vzoP@z_Ov6ZpmjiB5zSFZPW*H+(y}~ow?$>o^cJU=4nOsi2XUzb^2O)GfJWP zv=Z^f5`RT3;U>%kgt*vGZD zf-0Wc+7`C3cc4Dr8m1BHr;kXh{1zNF$M0^{9_;?83W$FsBmN{ehlY}PDeX1vB4xfh zXq4DW;JipziXwmYZIP%JWr4M*#vuQooZ*NaD{B4+ZD8ZYcqi0jG;+O^Ok%`saLX<2 z7GGIhnORGv|0^+axA2VmhI#qo)*t6*38N8?FkTNXpWQV+=6Vn0ff|Cavy8BHFMH=C z>n%B`;uUUsJ=s)D)zRozj0~gv{n*Xs{^vks>!NMc zXkeh#w0mJd^wRQV?VAiYZu@ZxKo_K++>^^Kf(pVrM-)e66CO4PnoZrh%#EUcHYlTITRNR$e zF|0-kMdADb?;NGBM4Y1)+33rPlnIs-ce9h^M@qY#s+-30ha*nw#<_-pL(Wq2K^4i{ z1?QFR(Pq2u)!r78-gp{I%(X+`*uOA49k2k1p$3%y-bO$jh$K{{OIWR`4rg1fG;Zi8 zucYRvJ7R}YRs3g?F+NpGy>J{Zk`C>^1h!o~Og9KObeaxLH6dH37+;ZpvY*iaSp~qb zB@FEhex{GQ=06&$|>lX&%C zIH#QT^+n+=QnI=EDn^z)M*wKMK2M~^puKmDxeHg5V)FM(-0UT7=nY}F-t;bTaJVu1 z_S*w044M(T9&1_DoKL*(+vlZdvU-`H5dmIP2|2P0@dsxGa10g^PU zw2d(h<3Y{r_rI%OvF@rnuZ_Rg?uj1%w5Y*(S-J(IpNmB z+OZ3PH?3-&$IbH>y$dNtU*7!_B~MJ6y%Ok&(5)48_Hv3}iH$##PsN|HJz)m@;Gm$4TCA!@Z8nZnpm!tUWLk=^bO` zN2DWAE27@9sV86ze5rz})48SjE1RfG4|qjyG#@B|Gdk~3wwgrS6O1}f6J~S8P2v(2 zx01&h?LT0?5mgF!;0J5Wt0-pB>YT@w_X+X;9DuUD##_5vzpT)&rgUj*i*8zZ4?ALm zd0qSz9o8K5zVr}(_*$hg!#AIX@(R$$h?({S8{;tM-wc)q$=!vZOuB3`s@JCr$w>)5 zi6y3Vc>g&4eu}s3FzpoVeTP?Q2`(@Mfpibx@g+w_0}o|z3(O$GgTcJcLN8eP!A*Lge->jWw!A8%ZB}P@Y0;v-`8)i zHr{TY02dCs`OV#J`MWCYNMwhX)xJZW!s{zpVFL2f*S)axI)1Fp72Hdfp`R)a|Lv%o z4Jy!rPkCdO#1``-kh9td(92uOD}@QD|5qPACi=(2&)6^MX3Ce9$&;BwF9+_(4g$&e zuqnyN5cC_!{bZ<@|;T0D^lT_gYOkkUUf_fVKpfSM=tqhrj`{-?;Z-fk(HjzvkstjE@^r|K3uJw#xSk4d!&*dgV7P zvs%Fl3j&`YQom2A+CV6@_1;&itby520fCCmiLA4v_ZZtVoBj=>?hVt*I)<8FTX7Hf z*lQwiZCsIBBz9~uR+fm2Fk1+!jH5IFJ*hPGtcA8~S~AL_T1QVx63k`k8kHWo%M{~d zn1$r-y@Uztu9dhf&HN-54$YQ2i}5|LWr8*D7}>`^(Q7)4h}Is%cRYyN=0PZ;#6uM( zHV~|A8Mgnyfn`d8+)G6sGY5Y+k#xjk`zYE@>T~kww{-KWKC{m`#md`dtV*g52Egt{Z~RK9$%V9y+3 zpMiSvV&^uEc}16?3ai1~L1^aF!rw>NjisI~>;Yt&W@cRf)bx4~R;D8j@dm7ZpHmM- zdt6XaXsn#*umA~c2jJ&x}|l*=a3TV8imSwr7x6>hZ&9s`hkZZ z?7saW)7JXzFs__#;fX*Jm%ZymE{`U!6gCRx-^B&d#OLsa5^#d`bMR*ca7;gZyc@ybo_CGIz(irM5 zwoFKioqf@AgmFIxmS~7S1NoJZR4r)DSlfs)F(T>@&@y?#;h5X}34%Sa4;6noON+zRXARj0l+*VHDzSTqg0mgLS zMTHk^ZyCG1U_W**!{VBO;4U|pdoV}w_peT*ojlbwVjNWTZJXRNzS=vt)~6}m&RQjs zyKXDO6M-KM+Z#!GNkd%q-V#M$w8UylM);DvZE6DHoc!_1*qLpX(yke12Qqr!OGX30 z0Fm?+=Ke3qjka}sn9dd3zF{h1uK?@Z2V1ujx+auU+^QY!eF9I|YF@`oANY8DkJYXs z(Ug1qASUo)^uTKCu~7Aa`j1`dsHZ#OrGD9Qmai>~qu`z*=B;^Tnrx6kI{8&d*5PZPl;#is(RJH0`EDrJ+`uynC4!7TW1t7-6;7r?ruGl2Sb>i$)ZHg8( z%EyIqoODICDyanNb0O1$fBk*>(Jmi`?`Q<-3U(?tFchw|G?zh4l&;Gu^t<^+?9CKd zC+FrxSB(NAurMcUGStx_P{6uXYfgcmPBY&`Q%$3?!#=xt*)J%zAUA@uk}C9rAPK^A zjv3TYkPLjW)mpmad!Bnr^}A=(ax-qcZTEpq%eX((*ulPdVY7&l#9ZUKEdG2-53mr6k*deb_#<=LndlX-F`NXY(-w*-U z!G_vE+09YCUPiK+Fj!+-L~N_<#{>GIe=hlh=nt?m%2XNw*^3#8R^dUp6R+CHI?H3< z{XzvMLS*4tB12x&m>3_~0LZIOo$Myr|K5w5t&LLWTl@PDA31rAlcBc9RIRo}H5Lv$ zSVm&ix`(0UQZloce`c}IyJ(2|9_2fE&DqV3tv%1b#~i*-3vBwhF}a(ButB`N_uI7~ zztanBXw=w)E}Gbn5gk&5;*+()cU#Jr^Ox{lZnq01lN;mr7rJa=e?GRz;1x;jytP-r zfRORyK>RQ{zZxx)`Z38QDO_`AMkaD(XjjjOT`(@uJC%NIi5!k&B0e2y3y=)_eV4n! zw{~_YFmyl-1hJI21u)?f0F}#bkfQd_OgOL6nj+DKRn%fdJm#}4IEbs=4T9qW`y#bM{1v}NL{92*TGlAO3hvKp!GQb^(SDAP&8 z5_~g_b;VLBpOwp>|0*-xcU)z)sngN`wr>|}?7y*4Q>lLEFyBmFKg7A*sZU6?T;Kzf zy)ntUD#g0m$)xs8u>vPuu0b5>#705lS+VjjLBytICQqZ6HhHC{?NqTyNU+pL4kR(d zTMN)raOXMlEH_q?zdAUq#C(37ep}d1CW5x=%)o7nd1(J*r| z!FeQoXbd+DKAq_RFPC7&dK2FbF%py|90Y5{}UYO-pd)M=>pcVY`ELdh&>! zOB0o!Jc<`ZsqiHK+?FKbWrY5=1HeIvveZB*hGe5`9hz*mwDS$Gg$1TbmN&QM=Im; zeDo`3H+`>~Pj_-r>>(8_k0m8y!*wgr`cQ1tboL5ZoIAPw_Mb!V?8Ac)Xh?tYHUuRP zVxRCX`{#2Dl@&aInkqbf{3;9;F|Q(S-gSKjkJyn(`bEDfv5M7FK5+@1^O9hOi^3ZMcSU!V&d;EhFis0w%$NjL(jAOmShbMWs8;SMw{TC3Nc1S9 z-jQ%R)jG0KjRWRf^bs+m7-@qpmK^uIee;Y`is)+M!i&?P1;JRu;}*Z(GdYtQ~d0Z@}pCrac>Yc zoQ2+yBDf{indHa88b5)Wsv^|=o=c$62}kY9<^akmMg`XlRTEQ2{W(qpKNxnV3jHfa zf+bAPE%Op~1ld*eoKJ+dixGfJ^jW4dn}n98L!qh8YgRf_?g>*ddBwRua!G!rQx0L< zQq!Ip#Y{l0Zr-Xhg3O&|Km3fXmeu9i0+JbN6BE7ogS=ho!x3VS1hO71mkQo{eq>>C z3wYPiK!@P-5FXIGglux%yiD;}s!7G~9GI9*Ak8Kf9OcYY0l{UMV2?E00PCM`D27_I^>%R8?C$FWc0U>!9p zNheR!vtsXx;SwERU5Qe-`3NC%nuhW8p@biA)JV`la@Ig^Jx>Oz0Um&;08SI_AL$#{ zT?v3~*97S+g!_#8*0LaHm5eGa=mx}{ev4>m$<1ir(uqhJsA!p=7xEEP7g)*JWRTQv z;{PLtcNwJMws`NoZL&aWpaNRB%pBI=!=GpiQ0+3f(K29A8Dgb=e%5jJKal>w-;5B% z59qF@CCXO$XmDiA5d5+45ImRx*hyE}Y6TK^;gr1O;qSB= zC*Dp*gV1d+O+XJhYo#WU4V@Xw5JDMX4v5M$+{$*Sn$p4Xo5Mi(Gqys{(?xL4$-7V^ z*hM-?IBXo~_t|!7&nzc~he+(h203FlY0QZOZ0{QV??+g*Eq{!%JYHdPYx#hjxJxA>z;$6Z1Qt~FbmZK8 zrlE z`N3n~m85?q&`AI)R2h}}wd9}>UOk9D^FJ%Al%iOJv``fS1V(*&8SB-(WA~NpdVP}< zo+e<2IMqSp4obIV>`hul^s--6>r~UEnm^T{&~AFS8HG^OPi*dt62FR|R#^I(*f+@& zl%)m&!i9G&<^zks)Yb`lx|ox%8u7LrsKrm? zHHc*TL>+m(!VD9zc*Wn=Bcw6wQx%QL>@tR?iY@jm0N zkHW_P;*NQOdXGZgsgh^OWR3kLpQnTv+s{->eDOlHlI_Mjm=Yrl0fhR zpoRzl-EXx{s!h`%Yp=&m`H%f1dfx26cZdK5pBW)rio z$+y4&x{0=F@_U?|+kq>{EF^hc=KGf-b^Dom^)o@?k_crL^>u=IK!*8XHy;(FyE_q? z?-{Vsi+*jhE!0B&-};~g-!hez$2FO6thSgR-^O|y((sA~j;cZ$_bNxa;H(RUgSY-w znH1~6nneu9=hc$aaJUVyp44``Z!+Z4ID+%is081J;SXv1QO|gmfmrb6g|WDrvjTab z+RP|)o&r{(2jMlu7gy@nM6b|bG=Q^8Mh{X$1j+P^L*d>|KoMqanhFHYssJsD0MO5k z2eE@N5HY}KWcuPlWz03P#38^GfO^`5ay2&(VNWE}^ySVCSPK{4hlws1stpXn{jL&6 zn>@}io&7F07RaxL97@Yd@L!h;Fkd=_hz^c54&sBoZGrE@^b4wlz+jb+c%kuTFFveq zvi`kcpRV#&S|l@rRWTW>5+b}0J)=Go-J3l!Lwo`K09I+VZ1}fFf_~L80fGqn#bZ_9 zUi2LdGDPf&=tm3cc*E3WEL3SAcfa<3U1^|X(g;*p9jYya_AdBxm`>Bm_Rp< zUWU9t6BCpoD>n_WO4WR8V8G{}P=^KiFoj+KW0Na@Qx(9JH|3z({UZRVV`(tp^IN4U z!<692=-+-#i5Wt%zzU~{!O*6l9Eu9oe_Pwoer{Z}pkL5_c#Ah(_Uo#IvcDx=WdP)K zXj}QRG6dvI0Dg6Ls5*cd@_~P>UGM;sam<8FJFSds*midI{>)S|swkUI0E9^J9}3}P z9TPF6WYdLCpzRdEDQ5?16Hw>~Fx~tJ`w>dUgm0HU#tn=e7lh#o2xbVH+(ZUls8bS< zF$M9eAu{pnWGVy&rI?`wrI4pESjy4C5&%r_Z~N)7uuxWMR3ursuQLA-ncMlt@Y9qt nKGBBuME;Wwr33I+sH2CWY6ROJ{ZntqY1c-!!oK1Gz0Us+oa4zQ diff --git a/docs/static/logos/cronos.jpg b/docs/static/logos/cronos.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2a4e2fa372223f8f07e9a7004a168c98b6bee3d GIT binary patch literal 14017 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/cronos.png b/docs/static/logos/cronos.png index 03b75890692506883f5300cdbc019c601b36fc02..5d986bd73e02d86b06d89b389d76b687bf80e900 100644 GIT binary patch delta 84 zcmbOwK1+PUW=>`%VHUHc4f3oT_jGZI8|xYvh8P)HnOXvowt<0_fx&EL>&ug4xuuk` U$i1p-&SwAuPgg&ebxsLQ0KYsIjsO4v delta 84 zcmbOwK1+PUW=d3Iv72sh+|$J+Zlr5u5n^CyWng4wXrOIiU}a#?=sq!baxAx$ WG8VZHQkoYTfWXt$&t;ucLK6ToGZ)tY diff --git a/docs/static/logos/dcap.png b/docs/static/logos/dcap.png index ea729de2592125f73c933ba542cd3eb7cd679cab..1868f23bd1375219042caf0e4bb9b5c5a653e415 100644 GIT binary patch delta 86 zcmZ2IfqC@=<_VRY%uK>8W=k97SvNL?9v3&(H82b@GO{wY1R`w%11kfA*~-?JC%-!` XrHn=HRb6vF0}yz+`njxgN@xNAP_-Ee delta 86 zcmZ2IfqC@=<_VRYOft--W}jj=-QL&~dR*K{*T^Eoz}U*b(#qIG+rYrez+nBvKl>-Y eJ1(URm$R@kuz<)_C_1fT00K`}KbLh*2~7a=g&QUS diff --git a/docs/static/logos/depin.jpg b/docs/static/logos/depin.jpg index 1e401e572ca36ecc8b0c6996866bc570619dc83e..4bda2afb490c4d65589d7165020e4f3031a850f4 100644 GIT binary patch delta 10712 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 G^#1{%6&0WW delta 10633 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 i=bEOcisa0G^iq^oKNbH^Nzq>jbf@6aNMI%?j55 diff --git a/docs/static/logos/desk.jpg b/docs/static/logos/desk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..31d70220708757c30d4f3def023f40890dbb66aa GIT binary patch literal 15405 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�%Gv9*ue=m{wSoHNByLPXNR9mQ4C9?1|}tVC?kV+FlKecsx(O^ zjrmGZbAK>6<)_@QV@-#V(zRl|=XjXuEisja0)d5ly-e}>iab+j;^y4Nf)-H`>6LW6 zlqXnaU3ZGERya3W@gf}P>?C%sLMFQeiijyM-tKM&MWJCSIRvPg2UG@?rqaOLb1Yj( zpN{i)b(r9GR4@CsNd~qT_MP1pe?w@_w;$=Op-~>Zm)s~Eq%2cf*ZbJ~!VES(@*)z7gJXb>ja%qaHXPg@J zZsZN^3`z|J#9Em16zg~g6vwJ9w@`k{VPuR)56tRWThs&4X%%zM-C*=Ms}Q>;^+`0` zr_iTfq>lY{c>Pm_a=u1&Py41yV&)V-k>3V5x*9vb=mq0NuwiIEnc6nYZS<4Z=yePk ze}ES&yObi>KNmQ}Kh&=@TeP!f+{H5vX}{AR;2wahu_zGgkFmGOCux2og;hwJFD!U> z60Lo+l{u;?WZA?N|HRT>Sz#`S?AQ0{QK3T_UtiU-awrxci4r`9Rd`~e631AnphcKV z!}>G6KARkygpG1FMD{?f|0~fQQ4#(ZyF4@~=00ZDDm>xml6P|<)xjS_)8#ddC?C^a zpvr2N=`uNbJ;2p3+LZQfzwzD)wO&N#OtjZ_mHd0!88R8hnN=73#aQg7eN^C-sOs}x zybx)luF6f-0Fx~I7+RMI1)SLOi?4|j#*YcN-o^M})djZ`%5xC3+}G~LcUZSUAtDQ~ zNv=E!Nt~8sQ^7YZHSrM~dz{($9BrW1?J2dcKgkmFcGTCw_t>=do6^HN&!oSm?zn#E z8R$x3R4ekM9CeDa3NE8jVtr9EU>pFoDa4dx`*bH!7%8JgHaf;lxtsW%Yco2NPikkc zys-gAnjtF-S$KZN1^UUBr_yY&pO!KEEy?hENpSJ+N_R~^shQduYbSHB6V6IvLLvQX z_4!X=3y~7_*?C045Ihkz@QVjSg(~_*udSOVI&!zeBiZw<3j;3AV@XOYPG)_KeGH{% zH|6Le`yPqrN|z%mw_8$@yS9zXK7OXJLPf{Pfi>BTFYjwW#?cM?B@`>)g7v)9!u*a5 zYnyQ}=|b7-du3|4t90yaJp}X*Z)JbV$P(*DBQM6xgGH^0s;= z-`L}Q8cg=YMB*lbWfYpmZLYcJqj3-Cm>l{2D2dBRp8Jr{Z+g?NxM^}H!b94I57@9b zX6fu6zI}o9o(sQN);Uqp#0m5Ly9UQf;%7>C#rv_=Q8>A{6aCFG(Xtctnl*pyIIh2q zj!)~K37q$y5M_AZir0ph=o&W8hGYFC_3RXaPRt+)t&XK~UiJF99f+*Wn!vx z;`qpgFo@*W_w7M%b4MnJ?I>lOlw9?koeUM2M2g~9gZDo;$c8K+ z@Uo;^mukmb>7y2iPtZ8Z@V`IEM5|+CJiTCBZ8yLxKBq<}jIW6ros;EUSt>dmNKEOo zx;q{87-dM&SyVYNX*|(ZkyghDQpcuVnM`mXmtI3t?pEnItzsCFDgA{fV!PT;Fzynl zMRkL5v(!XuD^up+?=-S8E(pYMkVw$}hIwC|0<5KWQS>xiy(qS47zgWk6$=QhVg~T)-+d$TTQ?1fB&QDs@A@!M0 NdCDc=08YnC{{=mK{!9P> literal 0 HcmV?d00001 diff --git a/docs/static/logos/devin.png b/docs/static/logos/devin.png new file mode 100644 index 0000000000000000000000000000000000000000..696bf36e6a3d784e74266933029b032d4b056f95 GIT binary patch literal 46338 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%0Aj)@9>XBotKQq>#|+L`*piE@7e3=R z=3SAt|6QK7$B@R&k7yBDF#=ND_4r2n7hRR zJMAG9dJO8`@>hXwL5_9>*={K*^YUdVyXZimJ_)DL$KT^3VitJYCgO8kUjAkK-4Urr zIbS9gPMm3&COvMrVqCU|FN$fTY2=AnLChhNOsm4YQp=cW7xgFpmPW*WnmBgA9_{tJ zrW}us-S;C16Gmfk22IVG&2Kbw$@;%`pL=*%a!AMUy^z6+|Hg~6zh5t-9fx9U6UrqB z$zdG1D-NeMY&3|ZBkIP`=A-s|0UJGSzfWmDi{98NGrAW-*YA!O-+MIvBE^vZus6Ll zpNMXr!IPYzOSOkYt*}~>F}5Kt;sYKnk}=pKZ9cxLM+WKWz2Cz-Wx7>q zAkbicLBH;{G6cnBbXyh67mR*>v#5E4fx}PxqiyLVz!;6`X7db&&KKcn4JVKn+V0!DCnb?)! zdtGC{?%6tvTOXijL(2?UF!tx5Pi5J)_^J+VOBd6Ei@aszt*HDR#M+P`y*YzjhZrvj z(2sZ}VE`pcxLYPZxeiyVCB{ELir{pIyX)ldN{mHquRe# zETA;jU2hJFG4pJlSt_C-iP4Jw^q`wULs_V3@NdaHI>|TX#`HnA#M)Ab5F1#F?7*4}RP%$<%i!+N;0D z8A_nTT=TnFHTZYcA4xpZ6uSe^Vj!@TbacN}I?Y45Q&bbl4_U7iU2pc?UP@Z6aF6GY zsxqA4A}&}II@(Y04|x9l&K_vqGQ~Um=X1JRK)pGv`Q4Y!B%&{5euw>yiVj_{t-gL= z2!lW%ZNNjS+HVgI8&169rHqG>h4}ekbGt&99&OnW&{eVoqDpg4bO627ybzbV-@vR1{!ny|E?4nS7zAA z_MpYG*f2Nxa^v!*vl*2Mc|7Oavn;P3ziBB89d@61a?E#eVY2l(F?V|C9N>9%^$zr$ zh^q*o;}Nm?hcVRo(ln`px3_Hju(sK6H>N`W7kk`96L=D~M4%ZNDvybbCMcj40I+pD z=4y{?4N4U7kZ%pCo3v|(H)JiI^GfwBby|62TtXsfT!tJxId{K0?(r=F?6O0?LTUTh zTzZCqAHHg(G+W!jEc?fik@Uh%6Uzj@{@FxqYvrRphYucHg2`wCRE|I!F7dh5-`p)Pl5vH+cw}3+JBM?~xTic(g8Pe_-b>oR+1nbMZ#jmyZs^*W_ zi>wo`A^PQoHSe9+zez;C0=?FeK59A)_0{NdAaP?GKSv`6t$&M~XU0ukM|HC@E}f>t zFMSG2%Iyf#8AA%Enudm@^UKIn!ot76FC`#&;wfw7%us#lDjL82yZr&h5hr#O2^s=Y z7;qC2eUJSx=W=Ek?fC!op3dBKi&Fn*6n>&gMti@2aqx%ujyQ1v{9qJCj|+%@T3bk1 z7_3FPdPO=wo#6M|+$)}<>H!w^L@^%r8Uz#|>^CQ*%7gxlvG9h4$Q)$xOmraC){}NN zdC)AF^3pm2fx>W=XIw5!<4Rx8!7=1PPB4@j+tpY}Wmmik{_LPO{tskpHHUK<&ONyz zs#h*lAw|ww+%8=8Sp3zIT_UzeJhlfM#bgAkPnKycpm6;WJ)Z%7(uZ0C8 zv|b+kOWoGIJu!O^qk%6mv0ch^jz3A!2LjELO1dT{>Pl!6Mw2^^&z#x$^Y9EUolJ!@ zmEugwHyV5!3+2Of|C!aS$HJ!vsKL79MSYs+nKL^hUcbrr_=ZPB6r&5|@C0yPUo<^O z1LOnHFLw$Wv_nT~BLM;x+tcAlmAb9YA*`5VS3RZ}+!DD{aINkP6xN>-S{Z(FnxWzk z^5P z(!*c_GLZ+EUjP&j>+~xK>p?@76R_IJM%MOvqTYS%X z)q8=Q&XSn-^skO51?Q+ZU8)pg9YI0Q=vA56jg9#mo?#+vceb|lZOaR}eps1c;j*fA zLM&(=RngJW)aVaEqvK~p{ybYolA-~{1&$|Qgf@xw1F0ei4SC}>PdQb2y#PovJtYGJ z!>~)Y25qb|Aq&A(L`$0HJIy1|&;sm9oL|>{BzrSppWR4`2gb(a!_k%t8n2uV%R+m; zxw(l8HaBN?yh*#=Nb!Pp0Dx&d* zKkYC^7;PZ&gDQ4%W+sL{=7_BOGjT_W`r-@bpHlw(XYcl%?{0WwSGakvmM>;&fE=qS zN4&T${1^_R#l)C*wXQb9hBzA`vpZJ<(2usKr>EJS5#)GEadApb7GU3g3X`R@bZliI zFjeqcnSkT0Z#Ni8OL7u7Z*0N{X^=wRBvK`vlGsxKC&{AJU?>1iVHqx(bG6K|5O4wj za746S``riMorA;Pp`TqkpeDhCLUm0Di>+rumsv5+!(yHMRp78HHiekwLc#m zzH@V+ko^KBVEbc0+DzU4y9oh2-o)U)D|&{8->FEL#d|;iBB|pIpv{30k-$~&zL_Pa zj)#=GvTp2O-(wd-OqKMRGrpJ_JGK0${QpPMV1mRN11)>#K|N<*;k8B#)5oOT&6hGh zXv%O(`lVmIGlc8{Q4H51t4)H2g=6@Fk8N}0-htk@ zc#2lsWlHFrCC2L%Axrm&A5gQp=sk`p`b6G4a1AKl2W*3?I)FYe|?m)MfkFL{#urPQlHY6RGztz4;C?=&4fM zAD?;qWkRdW*2_DgHq~0}sMLmz+t(C3PG-l!Ya@O6!9x=+Hf8rHVpG#jEnK|)JgFr7 ztEI9wEJm+*+b|0fLmZV#3&^%M-*-1FeRw?GeA+m{+MavAl<~?3Bi+b%lL;;Ch?R4! z$T756Hg%S$bvpklY1Gj zQh9NWm5;8>XsPu)WSKRs+<7^}7CGFdNzzm)*50SnTAPRZViK++a0p@!3S9* zdOBB>8!QGDb3U&w#V$BmHuCH1YX1|+5f&GZ;_Pw|YY8EJzV(lkAv?yE10o{9Du zN{2uBsi+*FZ~C@dgeHRXmDiL=bd*5*?Gr8Y6`;lri`%-ODiU#oKh88ATEdY_A}JwR zkmC^^$KV{l1I+bu_VqrN8x+j$SB zW+}WDtBp{}_7u`K&G)`m$RQ;vioIxa=HIAqm(^6(M9w0^s;I(~J3pMdI(}LPCFE&n zI2l@c8I+M|zDo|-ANo_Xcda{QWl8#9{^HM^yUfXy>NmNSk|VSm7Jtbm&AiaO zu3R#1U79*Ir>(5lGn%x=R^rMzkF4NliHF}iUMpk?{m-+;damC{Ja6tmo~PH`&z#lC zHQCEizjSLB^bVys7l!IN-O#Ujmc>*=8D`^foW=8<{alxwx2$npL()NE`Fj6-Z?lGy zZcV#qD;WyJIOrDDX)h`o4Q7S}=r?P)ZU<G0x#VX>QBb z#K0ov${$Yb7xjABcUvDT+TeM(Z^qc+Q+=Y2UhknJ;Hi24q$pmnYsjkSYY$@Qu$Fa> zo>=x=6E<-DbXWhG%&l+s3G0hVQ&eVJJ+$@Xq05kHAq)=+3?81$H>$$zBj*m?8|;d( z+7i5WNuQS+= zIy%(N(oGuH3JzIi6L~OfO9=_sqACDz%6yd3Ej%^++Ec~PKHZs60vHYlhB#l$n*ZA; zFw56MGK7O2gY*cxvrgGrBPBWM9M(xCpLcDSuD5#zfWQoEUnM4psyUAYkPwh8>olcG z-O!r-xlQ72ZQR7;C(Af`4QJ43kpT}R9zX=_{M%pi4>R3#NnMg~C(4}A*Vm6u3=15Z zSXyh_@Bdh@_TWLL?-;w%gNv~U9wwLx_j!KwvDuHtho%w26lRD?3iPXdC$Qf5+v&U*CObf996?wSiPtSQf|+l?;#-|?3iOC(9+1b{Pur< zSO@7!C>UeDR^7D^dyf>7XtanU)bXy3`z1ko`(5ge+1@&!q}iQSk{oiBP7#hmTri{P z^jS}|G;_ZzsF5~XhE9*h@;YS_ z9mB~B!QYoXv6Y@x0$6+`(r8rsw^O9JjN%=J@;)QemZv#k|J1qr7ust(A6;xOzAv~I zz5l$Kim2iJ_p#KSPc(9mbW*>Z&pIEqi;%D}gKim8C!Q2Ad|yg_%+V8w!PBvI_#%LJ zvcejFBp*j8;~N(~I_U3+H=FQwS3?x00SN&Cwf<#@w~n9GKKrIpq4VCYnS(i5`yf-B zwzEJ7MZ9yg{+W+k_7J3IS?GvJ$e3Y1Z4rg;#N2>s*7?)lO$NkOj78l0j=Wqxe5d06 z^J2M`0Sjc0Md^ec5iNisiX&E+#Y<^_d?J3Bkecs?Ea7@m}Evfx{$E}-<7p!YW@Ps!ARhohKDLeKNlYfs1e{{m$d zz?4BjfM=1|F`{v5d3>lF-5IN#ry$0eFi+My&vM?qd&eJg0I4Z2-Z-t9 zcyNd}#z0$pdUQ3q!O9{jyeau>dL-<2Wug09z7zZ~uVK6eZ6GKj@*8qMs5R_r z9a$a)^WtMpECedDo88{LZfBPVvK|dK_=j$*@6(TX|+?#yO)p z%K&Q?fXSUZ!b64V)iJmtKElYv#2YLDzR4G#a~U?aacC4Rs6~+m_&h%T)>9oL()uo- zTRpi3kaGP(4+^yZ$haK86f^{ux3#ZbyH*)~MOS$}Z+ss<;H=&sU74-C}q& zd_iY)HX6EKV0_t49R0r!p3{ybg5==*pYD8HcszZG2=5ZT<-S72r#maI1;YyGSu=tx z5vk#eEhWSR0t8|9WM8%h4Ko(}qOB@?2DAV-CnqOVVKOpasDilo&by~)u1}1QLk$a` zoL?~bY5X(oUK~cNr3F?L0Ao%L^hFlCwDB?U{RX2RAFN&Xt_8D;wm8dte&xtQo5)Z- zjcoJJNhCTdDk>?dE4OFRZbUz!BdG3@rsnif7u!Nkm1d|8 zi2iWEcBuKle1jjBvRtYU-IehR(1T?t)l5VDfs%U!g6O)6(pg<%0oB)Mqyt}ft5d3a z^N*f^DP9`dBRuE;p-8sD2ZNikjl-ed`__mulZv#oCLGhnyql*#QU`g1CqES#Ef5tM z2~tH_S?{eP)w?$#@4|78EXvvmKfV#n0mfw5fYz13$%jxmVZS)E$7}Km;3mw)hEj6R zDsTToI_wZ6rA> z$VK4m2{y-bcr!1)H{uice2qlG#M?y0@sUj&ro_pI^>n%NIg?omuX1w0-FspTn|yDV zJ-d#Vd2{zSb=b3c%;@c{ttU0QPYJb`8a`20!m|eC;c;lFajmy>UAx^Ccj+GwB8krB z8FIFC6HsY*Pj(KWMHVk?W9O1T5>whMXIQ<$R!1=u;^N4 z1mCUMtApRasS8dX=}LN_8g^mL-go2hv3Ab$kH@$hC@c^Hl^A{W0E*&6)K?Uay^3LB?UlGa;FE|HSbe%$MNxmgVO4s+&R-TGo4>H zq2t0nh%iCHS$D>m5&(E!qDhX~10iXt7s3vF!sTs=D#MYsE%OF->w1H?wS?r6N72nsDXXjQGlq`a zO;|QqB#oWRmA7Zh5M&^HLPBB%H)!fN4j?01`hB;(hu#r0)nux!R33CJ%GT}$Z&D6z zdwVgI1P@Wk?)*atV+U7~D3w!z`&S4p+73|-lI-CiYnSJNfE;*pdL+Q`;#)ZX1sxnd zolYCH`p^at4=zCM0=ZC9V}CyE$RWxH?wpQ_g@}34(*qQ3lgT#K+9&p8b{+DIw8)N? zBq_)1NEh&SqhP;-vqiyNUF5^T(J&P>guaYl$C()pHb^}pMoXHQm|)jJ91Rqw0L$CY zY%M(XE&V4;s0O#BqiQt@c~EbiuWx=jbc0Z%NtXzD`&@}$#(G;C$TdeRyFT3dI}y=|#0PHM^$^(<0FbBh2b) z%^CbbT?t#qVL8vz6kco?;^NET$*9Rll}fQ!Vei$mEOKHXV#Bc;V?p(Lg_Tc~8=N@} znN>PI0Z;)4HQ4b3Utk09>CjgJ$pGt73C_atD4Tj<<)e@h;3TG}EugqP(IFhg;V(A& znVN}gidzU2!I?aXF-a{CweSI;X&8n_|Beo{e9$Qt_$&)(evtbXO%a!YfYCZo-7BI% zQOg8xwMKBO3j)0%c?D8x&}dNNvU9JV!F^7ZE=0+&rxT$->~0>*i{DyqrQ&7hR(jEM zS31uu{=*Tlf=}5EPCHMl^G!XPJJ=ye408lmG;a6EZg3NKarMSJq^S627Ocj~+R)-z zO|#?4tnZ#Td3ffKfAf4T_A3t;=tTH}(^_@)T=CJPEm1(JIDYisE^erGL&ZpTu9ub; zl>Z7~a?WHHmuTwVDym}iZFO5){$nh#2!PFhQW8%1i0gyrc(L*mPUni(_QYdh#EVn< zjv0p~ScQY=i|@SwRe#{{YgAfDz|{EQz)y&aW6=xGupvqmBNy>R;@wN9f{BvX);a{^ z8%K->y#V5lheAG=@4Bh$`eGgilj1z!ni-s57m0_~sNZuR_~s(K1=4<^$P;n>a|U;6 zmi0&8xm`*eVkRJ`OEQZaSkTEUm#$o{m{! zH*_Z@B;3F!>$HIlgg&o_^^m;R>gu=6yw2l9@m;hHkjjT|&{A)|3l8#t{9WT)kUg|Ez@~#^#;BCWU9F4hk7$szzWQDO&?cE)qqsmk76hV>H zbr^g&i1+giF}Q*4aaD&O@Y+&3$U27bm-QQ{K0OjDvdlh zhZD}Rg9V&3Sr|n@5Jt{%#P|WeDSMx#!)9mVGKea~ z6-S036gBdIv)y8e34#Za`y$A=w&hbdA3~HfSa-2)o)-ySMeZbHSA5f$w|@fdSuEz1hA?KG)8b@Jo_8kwN(lIF8b%p{pI zC;zC+6fDZznzWu1NfaS{i(N52lE?WHe2yOxwex_Lpx*tzFh3!H-dJQjDQNR?)RL2} zw9jyH9_pLp^ErJLKAa-()RJ`<;pGX5mOuGJz}dl!i)&cyCzWg!)6mm$3S#6XP@ioxdv2tL4{ugCnhI0?qEF@-rH8nSboB9sk*AoXp z6J>@(<{Gl^pJ;b^il>JZO~el~(j1eo1|wz`JD1Fn4wkV1Vusvata%o3+aByW(3ujc z7VPA}&A@*QBZ3KrEvRF}ZqiC|c%RIQ%X`Sw_TT-XyLgL?KF$4Pq)>$a>MuBURm`%4 z_i!D~k?Vy5IjM_@GUx^C;8Ev%s_lrnYh7|PyE3Ew)3WkdRxTF3zlYWlm!Top{FEW1>0ol7XjVea6Flo6 zvU;`g#6VVu5Y9ONAx{_Em%V#nW7MsGtifX*iIzwQTS>AC5HoH`-Mxe%4RS#J_Fwc} z)G?Rcf|ON^WuFoa7Ra)+N9fcqxre-aqvEZMzB?`~qzxSXbeD15Y4B^W!YPW`dbW9#KW~TkO)eN}JEi?zY4TNsY z`qK)&EQ7xTdQQ%i3rob~02$=I!WshOER=usKc4NL3JU&~jw4`=fR*q-Ob8tk!sQI#xY)po2uMg28I{LhtKUgswC;(UJQ$k3@jZu} zBf(AVf!eFW_FKAp<|CkNGuGAZNwI|4=`i5T5~x*!iBRyubz*A?6)rLX%ZZ1XV?(+# zR3^kh^k#A7H$+=%BuIrn|F07dFgkT$F!vSw?pb>M{qBg5sw~9MBbVMitdEnMx@U2G zs{mB3tu?_)F*8;hTiejxw-@7>I18@;1=k5hIzf(~kU>LJf%OPp7VMyyo~U5Jyo-7z z{!HvwVQ+&SV?~zK4~`D=6W^ECK>WAgaajL`>@T^3mVFGtf!ZaSbiTJ%9@>KJ#Y}0$ zG7~WDc37L9`}pw(!O*P6QVlA{Mz_uun;7jnGI$r7O|0)nS;~--|Csa+nyEn7D!5pv zUaze|@FUmzcJcC^{sx-DB-@^s(t19VJ2<>h_Cek+%Z0uSBeR0?($YxrM})UNnS^K0 zpEv6K*PYZpc$xa)7`@pGHbpMmhPEgH1X=;H?FD4`kk#{ld2_p|Dp1srbnXkFsd(W( zHm9<+|H*j|d_pIQU)-%(NpTXcN!49PMP>(3%}!dp+r+P1(HQf@8?7ikx^g&p6*3VM zsAWKJLunwm#MJq`bz%YGr5%Yf+ifK!* z>!}<^10>f z#6SSZrMaagCOR5MyO2E^{mW=dpR$Of%_Y*n7-7O#h=;0;-u-=V%skqtabM=K*p;`e z(oS5=RPS0^M6Q$uFRw>6_Fa*x(ihVCM*ivALO#g2NZN5Cg}jG)j(AwMncRli$Uo@W zLHhpz41!g7%Bq98mQD^<4UKO1WqNx0Lf11m8@sRRT;OGLKa~3HFE(v?#f6o3He#VS zVY`llE@9hCi-b^=>Bt^!${08p0=*>$Bvp2E7RVFb0_N=ABQPsOm+%>QZcy1%iG|F)KvC`o8&NXnjNL|H|) zY>`BEvbTmkQYwXRE8N^xR+3Qmj&36>QOG7+)N|e6AD(lb^PJ~Dcs@VWImJCbkL{(Ry58kF`Sp^l5<^la6>Ay*7W~3Dv`)tF`F`xefh-M!?1RM9k47pE z$nD&^d4Ox3nhL{*`ml%MA*D^Oq+^xx@j_Q#(AQE=*YW{X+4YPg@`X4}C>CU^zDZ5) z%Oahv3%(fU9h|6eQFbtoQ*e>MrZ-92NI_n#~n%NMjVSn zXB(^sC-kvgVW3lvPl@MJ`TXeT(@C7!?`{IRH(6kR{eeA#sueI33p}a=#jVQZm8g0o zVr#oxeR%R!w)chBvXbpoSWzVnY+*H{Od!@S5HvloV=IH!Dn@r#zF)#jg2!4^A|@x! zA2`BiwGdq=W+34H`_}XrEGpy6f0W6$oCA*3EYta}$lxR5UWYY>ZlCa_XXb2*)R{py zy37Cidb+Y|X+8hD$t(U3^}(&~Pj&XmZ9TKk!9FWjz=l6nS1RAgVabp&RVBt z7V9j_ra_%?-Sl@h0?ti}&0fBo2L|M>UUQ<^bjf}H&*6~o+omrpzZzgwo$P+)S)3Gf z$6LzxUG@vd&)uW8;7fg$zOC=zs{u%@zS&*uNK_%hK<91Rb4Vms*=vifjg8lOa4k_O z?u5b@JRYbjt}g3ZTAn#liJor~aWw0XOUVYi=+jhRZeEvCKjn8t)fb-ZFY$)dVQ)2Sb+3o4UnmJv#{;xbPX$n-u zNU}3XM{CL)mx`b;x~5zb60a)MesRrnWTmFE6I3p9C%e15!?{;b5h1mvOC(b!tKF>n zwS!D|=+L2!jg5auEnQt(Gr|Q&X_YyZ7dN6D-{q;FrAXY8(WYHOtccaukqtEkhrs0Kc-Kh1a27cTp8X+PoIZ^5fxK8S}ca1)6h|iv4S0a z-8qDUSl?=A=VQMFCjF+~-alBALXyO> z8Lfw!ni}SF_S=1KXb1@knw_7Yz;<@!%8qTn`D=`PH=G;pqPy_WuE3M(7hb~}`%i7B z3#R7{t=LlRYJ?v!Pvv%=yr{NTzV@3_OA9MNqieH;5HRc$5uiBsU8ECOHL!m1Tu(p) zemYxNE&6g3NmiH|(eZFrM)t)bN&~riPjpAUY|U1+WPfxA>6|5YHNy)5>8;1*MD^!qLvG_CY*N)xY1a zNSDj$tNXD9H03D}_D{Kp7hd5zE@1&Det39z9@k8Ni4M&JPkfKY#>Vu*OSWUgOSP}E zd&xvqYxz?N3oC#AXl4$96-rf&=Q$b(aTAn?7_AfWe63Jl`kMgpu*i-=Yn_IG@$qpE zlK*Yp$kzV*OIC2xg(ShDR$Eoon%`n0GT-8adJ6VDV>qGUze%6A1Rloi{`z#7If1fF zZIDpEK~)1hz)v#lG!uypmp?gkL*1*`4XY?(fI$B5k#km;Pfb4uD*TR_o*kZdG!s^n zFWzp%Z81=GJ<7}@W3)?8O|2DOMHYnN;bC9_jNJWK?6vAprpdrmza^c?6c_fXnJAFg zLAjmRt>BN1GSiDPJIi7rkO{+RK!qaw?G=8lOsW$**mu3(B^( zQJ>fJnyoQ0<8SHaNO(2!PXYHQ2Qy3hZuN+Nx8b2H}mQp!}c zrcuTwUWmq0ii(kw(N}h17?0AK$`pf^)rJwe55Nk~1)4G5L38Y@jR*v(hCFnQ4WrFc zf$623SHbN0UYO=6egBUxLP^ATWaQGF1-kHA9M*X@Pa=sS4zs~E&Ayfi;!YP3^2!s# zGOtyTZ{U?{J(J4-vYeXSPrpH5x^$FTMu+0ub|t2|XOb_KQX!MICgO)3AR#I!?DUT# zvv7REX;0=F8>$X%=lGQ4;_LhG)vLoLxT$)=A;Vme>t`dqC=lcp2}hMZ8B8+)rQ7#h{f`iea;z3)ch7rgPPzJS8xazh zqh#0eodCI7F>dbgB`Y+)Gnm%d>=|FbGMo!(n%z!NmwCLG=#VXp|C06zJajf-@m_k%`2Y`nmcLD z$Mh@wxs;T9fLx=Sn_DaC*Y$g4M8d8eJ6=lpNIfoOT`P`rrj?lO1=*|+V`q&ikg9kEV%(te-3n+CNFb~RbjSn?t>w@)$T#@ z=ior0ktpY3$k-g%OH6&dsMUcT;+t7m=;@r66~#Fn>&fBtnV$;k7;UY$z8B{#kp&xUpkhuta^BeU08qRN{Ix@OgX*F z*M_fV^Oh~xvQ^cclPE@NC>Kg@hI6-RxWC(77$@UgM6$;!(992r5^yJi+&>1WEYp5$cwTU{RJUUpATPNHFypaR((jglJL+Af$D zIVvP8FRzh(n~#Z;J|YLB#d=nVX-RIcXV__+aFBkO@4E?e+5<7)X2-q z>T*Tl-tVx~-^0oppO(f^YGkagerfFI_NPgYPo6kILoMU&y@B>J_nx%Whx{TpKHdXa zR9ANefI?4Cp)kM6(v3Ne>2=%rTXl~?SXz0C0c*h=&M5f=B_AmZ`og6U9CQ)YGia&YcL~=GvHS__$#8j5SzkT zUfvuMDQV;iNmYo6hO+%Avy%b4(h~3eU7Ve@u(Co5Wk^IsQSTIP5aK4I^NNw5EZjWm z$dq`2{*t1~!Id#$JV^hNygY%|ZA{phSy_FdbmP78+AwP1qF~Lz)&hA??A)i&S|rmh zq5GPKmX?-=#>T>;uA!j^vJ|eEL83%U^YF5;vO$gtle6Z0-m$17hUWF{IvvWo%Qa^Up6T*YNmOZ;`dr zGI){k^{IlPpw^P>tzp}&T6dG?eS68|POJXIet(MmPNha1WoQx2oF`Z+&T?{Hr+IodF!`*|={e?! zsxb+|)zp@4d*{NxiZb84etaP9r-<0Ke3ecOruIT5|Eu+C*M+UETJ$~NCXvpTW|goC zT>Id-lDM}q-;Rg6tSiQ}MZf4*aP6C{A7_l{BqTK*n}ccxQv+iP%c6yM&yRAJOX^MZ z2L9`8zFu?Ed?kg)<#DUwlv6h0&Q@hB0=c`zu~{rLUx4dH{Hor*&wKaldlBf08lRVl zCQK>B&eQcemKQpPPU$K2`M(v(5|z!In(vP@trqhtF3@6eh;AGBVkMk&X!;=eaK=*n zKCzaTOKdy`_vbGf^cVI@GT22{>5pbj_02u9(djElyD)EBVmL@pbR^2Y&yYSJKQ9Z~QL#R$o(k)7MXn){+H+ z|4PHB-j1GLR@G`Gczg{i@g)z%{Ry4rF}!oG+rLFWhdkfVT)~r1_u_NWBdIc>*w*A$ z(e#*R=MRrl&Ttj{Tl|~KdyuCn#hpBMMYK*?LtKODuF+K1w52EQyAid5(S*6GHwN_r z(+-S|8P<;RZY$YPu6B# z=vuS2Ny+N?)}7ziQbdYnoSP1Ik(`{F9GT8IdF(x*Gkj@AJEPZ&>kWaNFlQk8LCj*#27G--30w(f|;OTx90QgLF*#+`v_ zgK(dn)4io-wWqj77JQrzzB^-5%%ySHRqzSb_eq~KCjC-|H70!%vYV((3HoC^@&zS{ z%%es53f!B>JjQc^>*D#P5p(B9Yq$JPi`(a8hq-bntlA*(ieocwvNv2LVa#V zlyCr5wwjtxo6YmPed7xHtqR3H3-&3j)IBH|g9($psg!Hy!`*qE&Qobl+ux}=Y42>T ztvxL!_8ubNo;`aQL;dC3%)|7uwDs??k6Bw-BpkoA@{W}d9^rGDFtg}!A-=bA!}<*A z+otJa@puyj?n<_{!+aUq*^2+lom5p-S@d3AUTDly+JA=pU7Wyw^6^zl@&F`SC>!#c zVL{hJue)TH{!u?j)f&|@6?0M{GU=>P@#|PKH#vGo;UkGo`JXte{Ckt$hS52KMM3Ww zSSGM&l5+x%EZY@rlx|H~%Y5&r*DEPGEOt6CtGZ|0hh{ePOE7bk?#%0G>xh9~Qbzi) z#baZZGluJNU1aNNEy;uqWwK0TtCClY<-V%m3N2z=PL=zH?nIe5`_o|6gB+>%RiD0A z*fRVu=6K4A_N#%=)tf@X%u-xbDuB-1*4Bo`ASk(b70Q11Lq?y=@7|C_4?AitLXh^ zsO(839-|L0`H@^y09iy?s*I8WV=g~9k?2wiVQY4$bWa|t$TfwVH%}-xTqN&lef$nQ zv6_}M*x#^Rh%>114cBcQ9p_<&vv}opSA$W1koDh6Ez}Jwks|0};Kl@r%aUs|(E2ZF zwgus%r>YRnzK!})0TUvLM42!ZmaFiTeNNN|kg-NBpStx@3{7ZiP4fM(qA@b{Wb)IR zz*L$E@LCS%4^y;uL35f7O5P>(^i>FAz|CpNZ|8c$g+fF>3t)%7y#E}8=O2(KD3fKt zj8fo_(SUhA+zjjJOa=;1`mF-Z!P?sTfLyeYCB11_fC$BnF=KxooWD%2DKt_sD3wZ*~hNv$B*sN z$P+RTJdwnkJ{$S+rLK++kz-f$O5N?kYX+%N$gWDM)1W_iuy(g0@-CEKYP#YaE^Ocd zwqQT-1>QEeKsByxpgsDkL83Pj9@BGjbQp%=X?R_qcLlK!s77VP&zn?iWml?qpZv-% zr_Qk(^`#-Yb}(Lp8w<=mj6rm4h&NI)O3WbWvYZ&GY=1qxS@#&hzZFYiWCrajlbq7LIoOM@N$L-z)0FD5WXv(4)v#; zIz}q8DG0EHJ9$dM(EE&^;vC3Ku|H?k&JhzTboz9lxzB;y%b|}R@o;fDoj(k(hhS{; zwasgw^JH?Oz%w5(^DnTBAvf372B!K^9_<7E7Iv~R?yxGdojCEJu<24oXtYqiIRfP( zBIpM8#Y9H!y0>t%&Q9d`9;$+aX1WyPeYi4dsLXt9lyr)8C5fJ~^ighS?#zNa zbCAevW5}aixS*A*J~H(CJit59{=5UT=_HI21-(`VZ!cs=-2!Ev~_? z3Pa~MYU-F~bG@iDCXsBy!sp!4SO;&NkkA5jqwB~9YqPkW5#Y9}* zD0b#Amn;-U#h*HyC>>jDq(4l&HJ7zd|v?Sx}GKJ3+}WFcG99KjI1AyJSeq zma%{AudIBHoeihuxE*Z0@FBx0LVoz=mcU%LG=u$T{ojhRd{l2*4xP}my71$;zv27C z-tlRF_7*1{c`+{cJ zN=lXvR&dOCig@%0Nn&MXWiSl`XJut)yL2Z;w2Jq0hdWe1EN3zeW#o-CTSY&8tdwur zryFm2r+`dEWVOcbV0b5FY&4Q+>+37ZXi|D8q0lcJ7Z8YKH07SDCXpybA6%C3Jtw#t z(f#L8Jng+@c6V2BmY)(wv75WQx{J)5a%PH^ygI|KuA3^Sct@4|==LbCK2RY}biY1r zsuVShj2cSz1q4X!w%{E^qLr{7fc!~W^R(@VAoU}9_nX_2Vl2K0OykH&{kH)}3>4b7 zTLQ4If>0nELyV-Pc|a3Zh)n%w<^k@jRItb9E!0_SoC&B!pu=PMO{s-1|5{wzw1paJ zbC$T~Vg#O(Ctv5~eW|RJX&SmdQcP7YB;(gRRM#Sn=n&gcRCLao@Tn~jd$wklgxTw7Z{bSl zZET!?57TEXg%Vrp3_cc!t*)-_t7LBfgA#s9q-K#rwc@w11o9YS#@5HHbaXaucTh4X zih1W-2W7yvhekw1gomfNWp@~7#)0cH8_whM^z_v1+1pP0QS1(tlwQ;Y2?^YF7jIm= zc;jB|u#B{{o3?cKee-v>jM_n?B{cD{vH9_*lE>D!tZ%$u!%B(U6k){y0GivkZ{NCg z>-O!$)YJg~KxI6A0s;=Ot7>OF&j}3i9J1E|?faB1y|`FUuyxPBzOP>`^1I#0oBsXA z&LE1%1)u~w>As@@Ellu`yTix@dYN~``&qADUqP;y#VW=91%w8AR%0EcffvO|Y}K0l z3`)-~lM?aD+|7NXVky!u-iy`N){^(CoU`lOOH5i>-KM6VzC&A2?@VJ}<=_s04jLM4 zx5C20jG=OZlSC2;k<^2OgJ5>?Z(!+Z15F3Z8Oww>vcR(qravRbu*6mg$;!!b!|#fi znvf*Q1awei?b;SXER~g&rKP3tXWh)z<*@z*j3+CL1&DA;^RR|0nd++t zny_fz=VxSPHNKl7t^N%5aDJV6!`a}|LdGFGEixqIdeVJ&xcZ`wzV zTLoR}6k|8)6F$0^llobD#bjWMo0xlxoYWJu=-LOC()0Uxcg-dw8T8x|K+X>~=}9=n z0(AF+^*xHFcL#nJo`72ZS&gu(k^5ile5YB>s(k-ZVVph9FxS29M+-#+YHA`_RZ}9M z3|V6Pfs%zn^9Yo4gzsn~K*G17u8xl-yk*Aw$lYGfyT!aQpO5GrqUwwI^+=eB2EiM) z{>l1WQLg6YuhUK6hnJK-EH*IEYvMMus(VAFd%BSRTS{_K`|pMS&d!5IpTnjAG?I{T z0}BV1a=`7IwhPR5|MvJUPece=%4}o&_)yu)(;=TJVruifz>g0-1Vg*`vhvs5;0wBI z@S%S%)pw&IGtP6{I7WNsJPB4*za9sE2xJjBb1$%7Mv}0Jl(Fe3JDtnUt5(d%L;q&% zjByowz(FMubaaJ2icP6z3l&|_cFD?{X=$5Rs@>G?EcP}gtL@!F_5a8JJ_By8>ryL% z8*7{_HJSL|Q%-WaPPa^)%*0F`%n!EqszaTSS(@%MS1vwSjZ0Q>h{tG(`ICua6 literal 0 HcmV?d00001 diff --git a/docs/static/logos/dexscreener.jpg b/docs/static/logos/dexscreener.jpg new file mode 100644 index 0000000000000000000000000000000000000000..290f20dfabfbc897080297df5e05d2a1f343946c GIT binary patch literal 14154 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/di-logo.jpg b/docs/static/logos/di-logo.jpg index e91ddaa1b3dc584307365eebe8be53abeda7156d..2c21726ff47ef8019f7d81caaa269e8f998f3117 100644 GIT binary patch literal 27346 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 e*DZfG0%%mJhQ7 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 M`F}2a`sdVt0B{wef&c&j diff --git a/docs/static/logos/direct.png b/docs/static/logos/direct.png new file mode 100644 index 0000000000000000000000000000000000000000..c96439ed1a7bb542a83744aedad7d5be64adce16 GIT binary patch literal 302484 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�`mCA5OUONJ&FoXe`eP3Bd-a71>Ooc^(4ecdpm~( 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�EWmrjOO-%qQ0000800000 V0002eQZ%x+Dni&woAkw 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 delta 7052 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 delta 113 zcmeyglk3w?t_hW#Oft--W}jj=-EM4ZZDQQo#3VB(#7Ni3BE-PR%GBJ-)I{6Bz{ diff --git a/docs/static/logos/edwin.jpg b/docs/static/logos/edwin.jpg index dc62da72a35b33bd63b3980626ef1b208f2fe11a..fa50fa23cc9d08e4dce9f931e46790492a584b0f 100644 GIT binary patch delta 24550 zcmV)kK%l><-T|N90kD4qIt2y<0|x^I009630|W&T1|bqLK?f62VR0fdfsvsUBT})! z2o*CzV$mdW;qWv=f)*DgQ)8m>RCAKExdYSz0hE)D1ywqfv|I1JoHt8dOKL<6?n{Qw z0B42cz>m>UwO3{}uy$P}4U4_6v{g$ZT-NVA2LzBkH^-3+Ep6(kpOYO1cYpo^5`Bt@ zf60wI{Wecfyzzpq4ruDEhTlecLec2B%W0)|x?aQNQeAD7a6`rL$#z)OXlA2ig2|>WFD8di|WhpKS2PBzG(RhSzj)+DOgl>~12prIa zyQ6e-Nzn*OgbqmPgdsb%TYu{Ab*!VKkB(R5`2Yq0Tk%ujC zI3aPF*kO=`(P}6eRS^E~Rb1`Yv#Bh12`{#|3ANO`x<)W2KA=dqr)LXTMB_*~(ZC5D^Y2|kP(|^b$F~{;Nf75+R*(303 z4hu%d)DQBx_0rWXJNQ|DM2W@5imKmmsG+Nc(Nt5svPL_bNH{6F+Cej98k%wyF$8j# zWQanLyg=rJ93;vRl?h`7?hR-pof-8#XMft6x$|&G+F|Q7WB#D2!N;LT z6TC|E$3BbS1KnL2Qx8ewKlO#(k_T?r2YMW;ClT>V96`t{(NXNY@O{<&rzZt2GqR$` zSyLaoJfqRYIg0gO%zgQA@NmjdsA=RRm`bx$+i7RZxHui+-IQfTrlK*Jh?Txu6y6;} zP(O(q9e?Svc?O}UZ~{o))8aQxNew*Q>`(*Rqa4!L7PuCX%n^bTDbrPKu5SzEVLdpu zBjTFXT3pug(>zGu4DPGtqH}j<;W!_jRA*FmNx>Mb?EkAcl z8yhnz-OfiH+6eFi1p0x{twUOB8fsWgzMFzc@-wh4j|U^-2pCb?r&;%$RF;xMc{*<& zPg?G%)f2Wjv>h?*ZD+xPjXF3>BB;)ayGmp%RC z@^|nbnOTN%RgU*wYUZe{k=PhKIp{hM$yWftTmF%R#|wwc>Z!V&lV}Sf0SJ?e3#Na1 ze)%0-OcM|sM$Q`p>)@tI3o7{C6R_oPBoS0IONK(1)^xU;z4qO#Elp!<>D<`s>0Z(P zCLTv_M1XPTFghkW!?D|C$BMI0P4*d_IJ<}M6TLdO>OB))BA?LSt~6L|H7_k6%I|1> zRh>QRssP^&%{$j``w(NL~>Rs%2FZ4Wdxk)Aei{{Re;(6^vI zUnQ@l>frdaOXYuJHw62SMM`>I@w-qNZ*kw|3eP2D;*rtF(#N#n%_9U9?uvieEW^B% z_c3!N+|}9Cab0MeTKYCaacfIRfAYL@2gG<4onGo|{@EoxZxn80h%t?T^jkiky3<@5 zb!_(XKhMcfT`dz)Ja=K>{{TLPOuD+)ZfR^Ec>bhrPsK*n-|D0|gb17ExltL}BGveW z3^!n^1YmAgN#~Yl@yjEg?-GAYP#3$6ImGYZ}-Y!J@Vl%y*u&Y#6bB3*`0}g z5n40c#tgmfX!AHt-(5t_ol_sc07Qbiqw)O$L8%Mh4QLNeyU?`%01?g} zO-?E6DQA;84lRHE)a?$aqn8b+X^q|^aGh+-J<>}ERs=3I^)OU3jtQ9{{*t>V5)cU- zig8U_Q&0REp3fk5P0*AMI9^~Wf8Np50NU6Ch!_$xXMd_f81HHs1dR0Dd=yHtXze>u zb$F_g&W4ePca4kBfd1;bSV=sgQq15XmXL6wi_u)E{OBb9v>T z0peE%gCoNuYn)tg&<08JR|%~3ce>WoM;W8E(`?rf?Mix(JUq&@SuD2ORCuMQ9p_nJ zyU)j`pjb(|wg^~VjJWUzVeWlao<5hBR|Yp`j!Eu)hoYzH?Gtjj%M)g4rfbLnq-Ezm zOHaD?aYuh`(y&>rz1%fd2^uSF=OFh{4{5_c0011y^J}kt1kRo)+UdZ=Zg%0Gc=28; z>#FN!GSyD`UV6Cxofbl`sj8|Z4=%tQ0mtj=uA}LQnlv}{CzJB@S4tb^p3^#Vp2uRQ z`$Saj;RKIm&dy7T>Pg*JFE`7D)!dA=seXwSzbi0{oP9Zv>(23>);oSOR1g0>Uun|9gDi3?5fn0FjO?o z?iLq&Z#&?1!0}er`*X4$;lE&=sHkjhJK%b&Rkn_b)1>Cq7g}~tB!|1VQ^+zOC;nj_ zTHb$txbjqYxzBlf++61zl1}9KsXa$}n)6o2@R+G!XLn5xNZ3D9%#{?notB04uzCI` zZhgI%D!bPHDso2ygdl8$D|J?cAsrBeWdo8BGK3_;67)%wAq&(_44IE~Vn(&VmN<|c zJPt5dlpu_uXj*SaY5iYM!>4Ypx7?|hyAR=-&rLjq0Px*_nYFav^Tj~PT65S^do=Y zVdl}~yLOADt(44d^GQ}gUuc_mM--v%r#_tceR892^2T^f?D zvamUaWv5%NbhXR|83uZ^>_T`JXH8U0z3eV@PUnDmA0=e8>M|SL*R+wyNZ-_dWlvFW zb2nz{!LtL(v%8u=a8x5MkB(9}#PEL|+U~egRJCx_46(yMg!54y1KG-SI2G1L2V{YQ zs+!)yE^v47FgCIw?Ee7j4-f3EnO-Mgk)$4dJe2EoeAF|xRvZ!k0AWO|q>8R18^*<9 z71BpSTq_(Y+}>hMih!@xbP(mV?0oL=8wI%P4L@wUu)}nsiguo^8~hJ2vzve4V|2!2 zHKwjk@0q8NkE6ds^Ibxdtm2uVN;IFSSPGt)mN#ZIsC^c3U8-(V`!Mi8-{@{n%%&}Z z?{Ie)1x(rM?Eb3x{{Us3X_!YPvC%*AJZC=@VY677Pyw2)k%7&OZcqF9qNk}q8kx9H zQ*_xs`a2&bm(%Hcl(_FZsE2>`J3o?0as5`b02=@R z^hm3peyMkJ^;QwtX`90b(PhoijU23hHf1BUSU>*&2tEv2m`I!cwNroV_dm*e`c*gf zkDysJx*@pF?pX)l zk%z(YrW5I^=6?!X!3~vXXS_+S-)3#~BFQjZ|#e}!=Q{d`poAD?z z^yNE-!wct=PjjG?jjVs3B0rhA{S>9QRn@>lD%jeF`1`K@%T>8)dPe^M!BxmVrbdSk zn8)N*R`I7{4=t*ug~#zQ{-brEr0Q_)NB#0tbzL?`{%-pJ04co&p|#cFqHg8q`DEEj z2QkeKYk>!-IaR@+t1I3A0EER*Jy7TA4gGsB8d}RW*0G#GvX~snA@J}XYg(bEhMtx@>izd3?LQF z&ubc7_Xf0eDms6ApLr;PkOJo%al4RNwnXQhmC zzE#wM-XRP>g{Si=_^9NN`y{$nwOMXgs%k=GkME}ZE#y5)s9!HrO7q@7iTxNo*8CJ~ z_0GeY4%z1Zr_nQ~r=G5+I(Q>|vr6FBF{35KtEy@iMdmpw9J6P1MA_=9TFBV>rjgid zS~6TuK(AK*$}Zo#-E-8HwAL$o2NT^f;*;Rf*T|J&(~Z&nn^1o7laLjme;ckebsq~a z8XkcE0P9kYB0uSQ-~Rx~X9OWcs-upjx?i8rk^3hjk)c1+2E-$C0GMW<%6HfKe_AVb{m}Vb(fTbqDFc9fZv=E8r?6B9fY)sA&11AWims53 zH#oDam~ehd&1}^YOwj1x9Kdr2X9Y)BWS$;J>a}#YdU^Oe`YjeIWQgUCBg>+Yrmky< z4n5oabF!q{^-VK?ZB$Z6{X^Oc%crhZ8S2_=b5l<3oFbQkMvo8=e?LO0Wutibnyh~i z&@u|OQQYKU0$**uJygvP9dpEVjC9f-O=#b5B`IRi^lh4!>1Db{Uqnc8hM}2j+IhDl zcAtjDU1_v^jkS^1P&Qf`nA{xR?fZO+tbGu1*+-J_#%vWH%W0>(O)a)*9Zg$|#9lTe zb7>sailab2w#X!ke>T!xAsiAnKX*PkI3Af8_~l#fHo6+w8#J(n)G+0fGiS8=sTd!Y z@aH5Cnj1`7FskOdNcRV@%2UQNRwIIV5_*EF|y(vpHwbj?!7hMC?P%y^_00@Qm+@OMpB)Zl!W7S0D_de10?J@ zrZqFVLU+Rle;~b8%1^M~T~xlFvhg*wHLdne?2PsEDcrU(sme3moq~j?w^!Uq?f`}Z z&S#E(gQ}RK()RjBwppNcOS7}(8)wLJT2748Zn*H))`Jxo_ZT)ZWAX~&U#Dm)>L|G4 zV`-@YErp{2&fA*wK3N6^!Bov~jwk8mXS!EOTrT0Ve+IUah;n&Z%Loh->VAVK$!QUQ)`qpAtpflKKql8ZI%?RP9at`fuHr1t1CLDj zuLU7hrs*T3)!Wfyl+?8{Q$BV;{^mC2@5UP6ijJ(f#{)=@?;JVfko8*jptV7GriO*` zJ_;z^f5hmb!+Xqf1oR4Ld2|Vjq>;xwN8qLPj9P0?149LHxK=l5Wip0G8S=-xRTjHZQa2%zx#Pi& z{YtQkg~w*KOl?zMH7S~knBy4F6TAYBnpetlf8)16IRynipxF0R-xoPR-E~ZnWv-kw z{s_kE#+KVF&KfsSrLK*GFE|S2Q&9~#;+jUc*O^Z=rl_^r>V-v3nzFgsz%kbteV+ls z!gKLh?Op1wsl>FF1J^k}HE7WHj`gjfs@hOK?c{sI!_{bF>B$`2$m}fbZT>O~Slo}I zfBItCsCyuu#T{jKo`Q~IGHG2HnnHb8PtDvaldH8RkE!C1PiWeDQOmxa=Zn-arvUnr zsT`6i^j2olyH>LAnK=3^oYiJtz$GUs5zz|iL`XTMK;(oW8=)JcbRh`Gnh-f52{{xc zK;(oZJh`DR$ifhj2p;NtX`}m9MqEDaf4jTS$u1@t92ysd;WoPiL8oS@EzHxmf;N%K zrgammei)qoh17f}Nhr2g}W7e{R>q}_2m%GJx!WTO&)(R@HZdT!27g)@OH+%?M-i6dXi_TcvwUWAmQ;eCUbkUEC zcls>yJAFBehE_I0dXdY~adn0V9K!dopNLfPPYi=ghCWK_rj|pyT)xHZ`MN38k9Lo$ zpq4iPWNkG`d2jieNi9C0DaKnMY9tCIX?dCUX3tecg*B+91RSLR!DQX=I zojD&7;=DD$D;@5O?No))e~ir-%W>DqRodZefKhw>KXEIizp=;ybSd`fBv7EewvZh4+N@O z>d_2k%I^eBh89B@4PzP_&^iFSHHCYQGE<1*a??d@0B*3d*KV0k@e4Se@CmD#Q8%{c z@Gx~d1uAJ;WbYi)Bf1P{9|YRq*`tNi%TF`ojB#)^rNsOORJg3I16zm*=xU!a@~t;m#n@Gxy|pz^%R70+Lo1~@ z@W{(S@+2&WRqA~Z{wTEOn5baR1l3gs=fXd_iFTNK4r-@4f9lr%0CeV-+ec1w91SFO zcI7621_6PRv@~!?>=!tyb>a2%Q<P(a?*Ng` zWK3`_c-zn@f9rf^wpiI4fa5&L= z<)me#^$UuXfz7#EhU2|&(2wq-$iczp6BRIcZph%Mt#)}y(F2kYq9vgSLJ))_qD_#5 zsM!eF2uD<%Qtgx>2*MHQgdqTAfHx&g);+enBbvjBe_k<>_>cBXtZ;X=q3#~ce%HsM zYpJUH`p)U6*o$vd)ml+ALkrJ-6KBlqD08}}YkQe|;@=Ch)^8>{yTMtnRgIvw%Tj&j zj5GY*6$-@ztFC?InQ&?2c|A^4YWk53M3rGfPU)l!9n|KZp!+QwOPlx7;JeGfEB24D z+@q26f5``Q*Ru^SJDtLavDs@b&VSih-WdJoIN$|*(-!-szAomjvN@s0vdzhFq44rt z#jf-_Gl9l>uwiwk($Kl!!z+pKcvH0TcZURJS~SI#^;MBm z!qQ(Mz|T(~qLplc?mCYOvg2GKjFM9g5uz>^O=~zA?PC;e9$<*B!tsoV2mL5sWP3 zMRvWDLm{dGXOr$BG65))AtE0ETa!T|8-M$)I*N^vM$kq87y)c3Y1@yK^&Adkhz5WrNiVx*`)!XhJXkg4nb2jO``Q$ z*Hpe}=4^Q_iahK*hgF(_XGZ)Jj4e}KByN{*RwGFyw#$p@=F4#G6XD=igMVtMZB;X5 z1aWe9JXL2`+f1?jsx}cUTSz*Q{)^6txZ&alyZTS)S4y+j3F8^%Vs3PX2?*`mj*gd=52oI(#oA$WvzNPm~2F|rVjh|h{TBplF$y%0Ge2tp8r>Nc0i)(y*u0eZoc zgegjS1qG5ytb1MA)=3F#@wICC?2ZhfY2B_Bt|yMsB8Mn zz8WT-fa7=Qx@ih5Q${_OzMPhOPF_JJh zO|5q7D`huxNeE#6XLBw-Wk08AbHeBGVo7#dIZl?6q%3sd&KU|9TkDx^629AGn8#8F z470HA%#U@x2hB@f>wkZ8>3X}52^>NoHTd-77bb0mC=-@ zQ&7gZ4o+|Stk+c7D=agXRZR)cAjttgCHAfHkQ+Shnc^mv5y!W)w>{UxJ)uh=zSS30 z8NTr0&N;}+I%4xvT=#gc*n26n+f6*JV17Xz`CO>(az!95c^LCr-(=mU)mo=zHB_#e zk=qs%?)i`GzJGp-vxWF}-il(^TIM`B5*C`_Y^JS*f;0XS9Zcwti5bBQ?~5IMJ;sVU zx_KJ-2G}u z<~M$eOKh(3L{dMxZ?fT%&W`k1cBQwrN`ESd-4mQymp6oaK#%vyeGPh| z6_ll;0ps01YcIcB#P4&sI45RDE`CL0Zt-cu!svD?((fye3k`-|F_(M8pPJ}g2KZAN zzSLaB$QX?l)z*PxMp*qUz~g5s|U) zob2B}Gk^a2EoVs6iM^O%cNg=>d3q}Dkg>9smO5sQhqWv5yNc5^jC9bwptSI_+>N7m z6+YU0X?1p4o6P!HK;>F=?Xo&baQ8Rw966q9S;PUdNORqS;lg^41re*SFj(xBHS?cl zCS(s2&@GfPmk`GCxy@YRjWRs&s=cdgxU}UVrhlb)b#vRdUIF4)%-Ww*)K=8VH1obm z9&+b6cX;s|VVPu`bo$jQO@E1KHI zHh%{gTmc==2{Y3=HhFehH~r7owv;{C4#r3h%A)E`BU@{8i=%K2>xK2!j-s!U%K*Lx zvbD?{VU57biPsuZmb#WqM&9rP)7}dUN7WKGZ4(@Y7FrsJA`>*^cLjWhWYiZ+9bb7# zQzU0T(=+V6coEfWc3aIRp|iHK3^n+~k$>kUj__1I(X`L*+Jih%md0I=@}C6@*|p); zy-f@f$-_-n;S`))nn}QS!2YV<^=*Q_jMPLtzMOFsS#smD1_g_DDgKeJOeBh{s(L9Ve z5!8RC757e7u*spPd?=Tw1ECKcmBNB%&q~P#@z+zssCE(5{(I{D0uAM6B$jYFpjZJ)Q?;%{{zF!z^;Q-I2dgnJUVL zXpprfry&E95QNJ09TI0`s2q@lnM=tg66B!>&yq5M$tP4HFEsMW7kP1E=)hcmPpJu> z>SIf@0(pEe(fR)XWg?ZDgrtt{Ia{eRvt&c>*eyx?Z+c_bm=11e%VDTkXI~CD& zck8jNneC*vuwm0kK;rQY2buHazMRw6yJf10w06cu*#7{T%{eYUB=uaUs;k=BG&E`> z?6;N}biiDDl-kK%ssZ{{Un1ResCut*g93*S9QZ zw(Ys&kol>9+CAjz%Vc=N8$<~Bz5f8&d+b!S*Uz4O0Df!fUYi~boPRyN!7GP#WUgV5 zj?3tt&MoYMfz@TBjzfm|0G(^STLzM`KI0$`n4Sn(_?&-1%{|ji5!op~81^!-@7l`e zEL9e|Mv@u8_v6nvS%@KRZEl%3Cx4JsR{XLChHOvyO?6*u_ba8b)U#9o3vhUL;`LaS z`sQkC9`fwusM@Ocl7B&QQIpgc9Fn%sih4E{Lfk8AS_7+F$#M5mmhjq|#zfwY}fm4pLMF1sI`T>Ad$EV z6=A8UjiL!OkaB&~wJ}H@4xEf*9{q}OM=Z7tRV6DVJXF*0hkpa$d9SgwMa{Q8KS@~9 z4;)~hTyDM>lCGwzT6>K{vgzB$pA(h!m+a|rHM%#tF3)oO4~WWz)fB<>te?LHM4&E) zqz~>J{KC^G5;_-mWC!Ef&n)?@>rhq0Q8AU#7$*mYMxI3f0Cl5CNr}L7#>+U?a0kly z$Nb@kc{{~&tADsY4p&C95#sKu7y4MGW4p$2M=0TVRjnsvWes$Xk>TXKhBA6L$JI+d zqHY&L=Mpo54)|P~&0t+21cAX_9w0+8m2I{#5+jYd@Bv@6g&iz7bEIUI7|sU#3og_3 zQ<+&yOu*hF?Kp1dEniH+%4pjVA<}b@j)%c%>hRipp%f9YL>%7gW`aS) zGPiHp%YRVXtXhSY6~&E>z_*P504_&0^W8lBBzY-|ea=W+3miwqL;;l$Iv1Usnyi8E z!DICMb z6;-HsbuNr?oUfxa^+XqaF>bGxHa+vxvClZ>?0a8auWz@}XZ{(AH?jtaJ2kYI=lE_P z`w85v&Vn=J^ItoY%`SQYN0Ue|9)Bs_mJBX$FT|{S&!=IO?&#h0<^7WdC8n`8nn+!~ z5z$WC2X$<7{{Rs# zP%3;5>eUlEkUzSyx3@1R**7O;PIhy@H4UsXERq#9AjFOy1cec+7+qnX9e*%WvV0{z z&O)we7=)Gby~81mADa3zvn?H0S4kaZYzB^j-qT|ZA@h!elgX<9?8)Xi=b4xiFtoIh zoP5{N-IUty*NUd!uQj!k)5K5N+dQstd%q9_@(YsnK_W+BfIsdRL9-1s%_H4ukVPC2 zvM89=F@p_jMgR+-=8&T}8Gl%ccVXbGCycdYzqE}jzj#_J@Jn42;wQs}!2baLls9Ab zf-B*SoN=>nhx!t<{?@E+zG!-u#KP)|Q}&2}=12!443 z;QbZDvRjk%Fd+d-lNK>Re`*AyQw~DeQqLTX4ryG2j&@QuDrxJhW2L8zzFA%v#*U$`}nzP-(V z6JyIk@g%RRKW7VD?cJJEJ?+El9ArM6f`6%>qTbd!l2vWBj(ghobGiDh7NyQ?F7C(= z#@XeSm1;}Vg+){qRN^Ob5yI1)ICUONK-5xH^iK8LKPYIE^#|F9RIO z=oMz0w8>+Yj=5Pb6mS#m&BP=O^B^Xjo7ve+@ljJJe_d53XPNtwN#AvP?J~h{wA<-T z6b)#V&JvTkamO!Cdnr)#qyjM62`)X;(scyhCS%#Yiq)g_e*{xfvZ~hTr!#@UJ5LY; z%gt+=4yIXYn~(%;JD#t1QcC#0NZzV+Hlt*bxz4gx$ON%-5WN2YF!28XeoN}!%x|$& zKw|G2SX+K#Awdcq&azOKYji+C0ORsXHd0E8@P~Tz~H_@W*tYub^LM z(9|-fnUcofe_H0`5WYnHr)V8-?M8XHaUE1llx@#!AIWrXj*+6UwD$#b`8CE%xr{aT`l?w0!4kyg{$X~oY3rrVskHPIH5F30?AW6&KSkpv9;*5C$EP_@bfqly z*C;9BW1jgO8rFf5Nh|LC4Ql<#q%HQ>Z1`blfBCxoR!RFm_C)PC`0u)btv3v28hwb1 z%=!LHlTS1l0V;TGc!%X^#ocwO%x5<48+07%UG$o>y z;D-uUxP#EU+9T?w`k|u@0002k0nrQQOVvrKseFh30HROSuJ>(|`!rpDoUu!ZgLA)S zB5{^Ddn|iIpZsN*>J{|oDutp){xs9z(yyzz+y4Ob3!2aIs~(Sc_-RLjlUmmBRm#r? zWp~mU5zXPm5qWP7dyhvn6)LT{h!qLDJcP{%La9!n9T0>e2@pA>st}b45{^hh8Ztof zDt5WtEs8wyYJ-GkW)JFr3S#2y)L?W9*4{R8O-ahD)a^Wj`ihUd$KP72V*F8+Ayno% zs$kRZzX#QDmArAepNJ5a;hco?RadhYv+eZ^cn$zH+$WQ;c^ogMyF9Da7ucCQ=8oNJ zga$E?K+q(|^0$jP1I2u&rD}h6YJTm_%UvOe@8WP4{{Y$jKB>NcRWhEM^Kqx4hXO~o zp~0;mg`+&zC+eDiIdLF+mAP*0fOBoegX^dR^U zyPx5xuaNk#xN83ZxeJioY>$dUK+=B2eXL#H0uBf&3bRUoX`0E5)jE39G=${6^pUue z>O%Sc!P?fQwg#}&M^g~~Nt>UqG4NJT`}nOf5&N#0ug5UrRVbG{ z{g%tYZL?631QhgeFk~_&1`mJ>8tqqJwq7bqNde{n2VkkXtF)`_?}|50Vu=3$BM!wt zX`MT$HFed0v^IJ5 zRP<=)z})g5pTI5}?^M36&!nR+Y#`y!@mPMTzcQhJ{$GK-d!JRkv|8NvhO{Vcaj6|M zs+!sOB6EK9ldx#te@tb3vsHI?rq#7qR~H(1j|DSb(Y+6;=kZ!^Z8sTh`U1J|k{wW6 z0VAMs_P$^d@mOAstP$22Ty~Ug>K1dS$KoFO-SQvhX)buDV_|0;m8XR=c_JNLQ&0NPepWuLpMX8hH=TUGJf=@=cH`(ID>TH<#FXRxXl2&1c|lAckP zJYib93e}YmnY8syLxoitCK6rzNcj=){EDUAD%nXzEkn-CZb0!WlVQBoP-;qBoGvDI zP91^#**lMj*;U=?TQxcU;kYVwzH=1AxH}Mkzd}1XzA{R2PUnN2*}u#x2kmpDYVMY5 zElF;K%4izq)P{_n?3{;u4s+_GY*z}3N5@eaa|?iRY3Kg{%Gfl$@|x{NAgOC|_TaI@ zWAN})mJ7LtR=j*o`>8jZQEp^!1$Sg!Qp!e+0E(~()u@1&|htF&q+If zOT$MTWcy4$YJ=NfVKsDBb6<3P25MK5`6$`%M0)U!t@7xx%T4C(Vy?_HPfJk|!5oMq zp$o2$!(N~gM&KkIkL7afrJGarjhw!|bWu(*EKHCdj%X{bJW#?oVTL%zgBk+BY@M~; z>EaBorl+eT`TfUzHu@*kow`&y5-F{J@y7BwnKO@~sda|1I~soKm{V3X>E&+KH!6Ax zb1h8GV@ECbK8qslOSGun8>wM_8sBy%oyqZX%Jmm$m)p5;bp6nF$AFUJJx}PPEE;zC zscL_~(@6G{?auv}-&Yl5O=W_Fc=b*LA4P9PXsDck{yhizOsgljUha*K7CxeXs-gTW zV|OI@1-^Dyq+-(+KfU37eLxPVchIsgY6tYYOi?2l?A+q;b`bSr{u0J zz!=;gHO{)*tAyK|xej#bSq3GJVTP@p9 zNi0(zYHD^!KzZusjO=`t0opBPNA8EmRV=TS?-BjsB#a!9zoOH0{WD!FNFeSzZWMaQ zhCufpMO*CpJ}ZQe{4M6L%Cp(z95k~|N4#(qnReDSZaoR`i>J*L@V({|Y%|qJk z7R!))!m!cK+L~re-Lf}i9tWsOX~`;1FacC8R}rGrZS{vc zoNTo{KQKC(mGw@aldn7&1u?--qbZZjJX=;{WWAE>g{h`r{OEm`{Kr3vyfRjSl5iKP z9O-}o<*|{t9MAS!+hxhr$5c-(KE-A#pfc?7kg%%$z$2ble(Aha#51#MAQJsrTlpsR z{{XXorkX%Mdy{=V9)GQ@V{zhV<^rOY(;JVKxLID1{hPG)46UftH=3K1nseO5(F|wE z^KtkPwVOQ!hfdHoip@b!O$$cMiGick_@=L@app-}B$S@2p5c9(qj_X5{l1Ds7Ld}M z+$vpEIAtNt{5=(B?P-QlCwCJX&L4CRekxqJl7)=9R*6QHq<^A^z{Zt|c7>+J;=^#U z%YgY9d#9d{8?^ku`md9tGf>yM8CvM4f#t4ih6`K|BEI$3R^BMZbWQhmf2WH1U-pU8 ze_^?|Qc*>SYMqLV4Vx#A#W~YAF9Kr|&d%fJp1RY1A`v5b9HzF4rp**pEac!1qOxil zuJ#%>gUT%b0Dr%d&9pUkW0IBUcAh5sbymC0b6}wROV6_uJAGG5V}Wi~K!sS=_bkZD z20LbZQhM|XTd?gk>*l9r#-cK4s9Yp=c{%?8%HN*n$a$(o6cv}d%yiH(($v(*13>X5 zeQ((|j)K)~q_k5vW)3=uaqm0%ipup3+rWgz!{&Cw<$vm~tn@xCo+JJit5%(|%UQ!T zjl^ZHEzeRpeNX1ERJ8EN3{2o@F^mUeb>axw3{8qQ@U^1=E`Z@;?X^A;&vkWLT{g#s zH$`-OZ48(18aB>%3JX~FZK5@Y6t@ZpnO5)r0C5l9%kd+h$1AHJ)plg0V|BBlx|qm& z96|L9F@IBRYx^vI_4_naGFLj;sH#~XK{Y#MKQLSQD0shTnPZduRqlCMIf$u)Pt3Uf zOMY!!t@mVb_@sS9oO0upqGwiBhG`NXvVz-70o|)3uy!-1t?vcYGuFu7wNK*z0NMa= z(O&2@^iV`242}qzFxD}=z5z|jTKs2XIT6e+1%LZ@`6v?`(Y@@#X75s0t@1M zLFzK1Zd5;OjPOY4q{ah*BO}19!`p{rD)o*I3pwpdx~|P|&A(IEK`X#}sNEy>1fAIK zSby7*`Sf2sc9CB-b=DYUk@HM*Bi!SX=N*USw7q*J#h2I7+-o0JDfWU#JBu-$#t&cq zR%2<0_qM92uXxNbJK4`%YzOMPPfF1F+IicRNqwjh!Kc+&wDlOFwZl)3Xg4nPJk!Ej z&|KqyIh3jn_g}{2O$)t|?~&KZboSwmSbtCpiofZpn)`eXZg^jkK5NzY_>m7Hn`z>sfD>1S2>v3VSH~HYuZ5`MO1Cgn!$bhG|ncTeVXos zbohm2wbr(-oDxTR(T9)KdA!@=xY8J8*~4}}t4c*>D{7%FN~5TCG@-+?&~!eosIyVg zTWMIBxWKfbNGO!6K9*`?1o;&JPOHVcbiEpLhY4Z+{}T@sph%@})lD^RAC!q;$*X!Sk` z)jdd#BIlCllA$TD7TTM<)~afeEmRTl%GL~q41t1qXMRdjnlSl8TyWlGtbh9-BxDW} zq>Zi_DngfvVkVI6J=Uke#W8H*(zYmvJ+t7RZ}?TcJy~Gbs;Q#M-FxD|NyobKlN+g@ z)LrVB5C!XrA>9c_B*c}DcXYPI0z{*d7o}eLOOv2sbCHdbH%9h{HNylRp=JG`>4+-n zD(v-aE-IarPDUnTc}#h11pAJe?bq=AF~mx(eD*=w)QFyk(DLfd|YL2XLM`3Q6j!oxuzYbdnrr4QR>P zRa8v;<0{IYHlEwAuYVJZum)8#wB1Wlr|BsE#O8gXS#nz8kbhV?r~0o_GJ{Pr`D}bO zkO^8Hhh#aYp8X2Qdqvc7>MPSK;cMfkiWaeqe>R?O`t9&iEz~ZWP+T_u06vOgA)!+B zO;o>U;Di@U_V7m0(t& zVd3VxO^V<6IDa)fZhp%Ld94*Q>1VVxWCUZoAChR}#NvET zQ?+jVwzWZM^A+U?M^#pxN0JFgBxlJ8MpAP?=7G%!Mt>2}F6iilBvJZ?7t~rMV>86h zyaUG{>6IhVA>3f{DNQ&zUW0{=6@Q9_XKQxLSt{Oj;=ps@VtA?P9$J)1oIn$IfY$xw8dP_P1)YQzco7Bbdr(U zPVMym7Ma+c#)8>Vceq^YnFK9{Hu1dfNpp?|Qg-AO!%6FzH5RvJw%-qRZ)8$P_dnm0 z0|U@xg@Q72!-=_mE}tI-a_rAgQ)#-|+mx}Hrhhcu)DezObDR$6pxJW^ot5xC?t6UL z!1P;MYM827sfR1*Dyy}&$xiCqokL-7y2kT!-Qdy8l{V>^%6|TQLe{g1{A2*ZjGUh( z^M0MW)M_5kXl@tkvD`r?ea#W^?(P6&XDKf(1<+4WR$i}^gEpW*6N}_L9x@%NvM|VF4{3WqCAr)KoFAe2FIZI` z$)l{3O+M{$mD1K+r87Ow<{CYg4@?3;^M6*-a0w>>B)ey0D06h2FGDy>(O2!agI!TI zOh+`$l*G?4-HG|-OI202C_|V*bGatV#_2{U411?oM(LzgtZ`^|*&F#4);g%)6Qm!@ z%r67MNi1;WD%Q53f~$=12Ny81W|6ajAK7NTlXi7arYElv5hRs$1>AV|AqUxS`;!Go zpMNE-qm*VhM?6w6_z{N>nth`rBsGMP6{zJ7=Bxdm>K1ApKFWs>%DBe`Lq|tr-X2Gq z^`i9z8iL;P(iv3?jB~IaN27<4L2H}J3~m|EWjoPwsExA1_@2<_xE8n`psJ^58nu^~ z&19ICt{RtEH%#j`P=8$uzjs!`*&>vG$#zRf^xHmJO7PxYqz%%W z8?|9&*P5H(XWG7cTV+d|M)!BIM&rdB*iS5Za@)aJD|-!y&JnyNps*GWes8qDRg z64E`B??0Ey5v`G38X z=N3fGZ#ef|9bZ!g6x7YAbab-d$jtjE9F9Cw0_R9`g4Xm0pT&7_l1B%~d3&uKhx(?s zD)vz`gkjQ=vwRmrv)Efr`LYi;r>FZ_3#H}L<|uY=bL;+*bFO71c;_J=$o*AfSsyH} zl0(Gj9Fo0HBjuISNaE)>^tLXD)k@@(LLm=DcKG0l;I%y1y}3H;?qUg44PJU%xT zxN;#++ir}g0h4gYCyzp_q#$gZW6M{CpsSOHQbg$>c48p6@H>~o!B^-mlRyI{%(3(b zm{WAMP*k%qyc6Jggo&Vrt$&&%83=}HX{UpG0Jr65U zMSqS#qG6AI%S5tjdawIP`}Jgks<(yR-ygahMh4vg9TQuHMOA%dwRLkoX{CR66WrsH zf6-K6t%_0_361{%h1(y8ij}3fzA?ivFK>@kj;OWC3BedEM^7wL4NM@9WuV2bZg5;^ zq^0|s8a4>oN)NK;U<1YCe=eO>`&8<>XJ`l9?eh*Quepe4+H21+e89@YsppDunBEVU zRO~tZ$cv5L-xn7ScF!#1#a4ew0LUrlQnADkv@Xo=l!lHwJfuZ4Nh~fqKPNc#O`z72 zQ)+6sYaC>tbft{PII*@zh*VY**9SC^LC7Pb9hW${#F9=)DT7SSPA9r^zy#%P^zuhM zO_muOBySmOnsNwUV5){m=BA2fx=8ROU^|TNGO}$isjKXfOAJ_=7qoxyvFBzxp&!|C z(>KbSUFY|M-uZ-t_u!r04?l{F_#!j9V8Z36-0zfj`=u?ucMkHP^Ut_C6Y5i`?sSmd zp|!~%6%#PMqvOltzsX~FO6rT1#%kJ!edLbL-^w}x=n+wHtf;MJY_q-7urM|KM+g9Z zNn(g#WTp58ZL&)fCS-q4k*$20;AuO%8=Ni|JB2l_k@Zz`2%{Tw-QGZTSzYr|)?BVM z6|KxKqhR3x^LfV+^f(_R%KLS!yw&}pvP|Pb0?v&VD} z?x1^kj~T}gs%dA`Hv6S))RfQm%C zwZ-wt7HOP+mDvY}(N)|_o?K4k%aK6weQy4E)xQ8YCdGXzmnf+A}hfZXFd^Et!o% z8Fub*=Ht05#L~wEd~!T7zG@2Nc9Lwz24jz@>gBegw$ss%DBst*%GFoYRi822)3TAd zU0F^HP!Rcgo?)uHBi|#--s0ytNdDOa`elGn7f`Gv-4*(bcveAD0qxGGzjg1yt-80-m~!haKae3R(p zWP>blaPle@)SrRh0=e){3$orIM^>*vBb1e3>Xnas9mK~Lk<=(?ZZk7!0C@A*r?6Mk z$Z+Qt9|t7|1Sa>25T&8wc<^ z@V{c2o|c}ax?bF+Lp0RR)fjXJNw!-D+vB5mYxUIadOJq9eSu)b8SE z1j85|9lGa#S#u7a7eYv28F2j-Xs3Q~rg(u)`9%12Z@;jK7K z_+@*jF2n)Nd6Dd6OPp{NeDk_f;NE~HmDdQEM|%Dz4TD;pWCg_}yag?u@CR-OMdn8` zF~s)Y2ZP1b)}olA8s#S)GQ37Ha6>8F|9H z)Lp3}_X(BW4dwGuHTUTNIg&bd`JMi1qXk{==e%*U-vQ+3dru?DNKxDA;XUK{r<<&j zo+p2z)KK)KkHe)nA5y3)`jR$n5Xt)|E~}cLlM_kL{K+$qmoxPBNZ3YrqW$@MEURdTASK4Z6_Qpbg@$shsd zqbsiQL<=dvk^Vo*Ke~sitDd0dSqX1|*d|j{!56$MA%RxTzZa`W!vI>fS zdI(!Qz4jY{C>uF8+L&cNMZ#9+Aay@{pA0ZC}f1o!)ih)5}^AYqoO zrQ_L(G0gds$PXVZsZDI#JzXO$_G)K;MMX|IlkHA=x!en!i85q|OP12fLX$Dv^=vOSD zKZN8Q6=xM>FW{=#DCUoly$T}3n5J_VM!vO}-I5PIicwH7IEH-}p*&~ADL{gvmSHS) zWvB0;k-lx*F45FN{{VI4J_lldxQQb_&Jz11XJWlxDN0L)Lw6|J$u-Q*^ z{{TK;HC4$Ri3vo{Z<yON;z3WsmeM4C%bl&CD9unP-Iw+43RJgK6C@kR5S zI+nIp^l|I)QdC!JI+7X3-M{d^uc1t$tDvusyW?xPzm?k+6Lhvq05e0E#5sH&=*LGL z$Hgt2i26&t{9)W4-x_ONn zq}^sJ@9%lj7T>ywWi|fx?kbnb1P6S$7POBc)lXWibTj}sGrgC8@xSy7L)7A$e$J`x zl=STHDdJy%G?mB=ayL=mmI0;s_I&NhsX=R z3wJ6is`Vp*5VS@=5!|St$DVJ;pj^u$9{JDtikRt1;WX9`=$^T+d2{7-uJYY+@9JOt zC^$!p&KFZOEEoh4d>4mR0q(H;Q%5B@xf*(@f0LDp%Y8uyN3SjIKN%$uGNNWmtYN;!O5XSSGbBf50(_&_P(00_%u+(zRwK-$K;@H z2mB+wLe9Y4GypKS4pB|!qi&APP6zU|1t9qu7~*lliK%#eual4`D#kIsRA-%(9;kLG z1AnMxRtF_v)Q>Ks1b_8-Rn=z*@~YWSnR-rblrvl^gb!&%v$7>Zp;m(n!`YWyI{4NZho))TF%N;YCMFRU7@B5$m$CS!JjPhFP-CTrS@$ z%r^RmpL2wGxk%GnqKt<;m$-bC_B5tTf`PwMJXE!m5r1*XE`5go056}AUM<>wmY0Tm zwL@IvzjhD%C0g3XFp|~=mvbOGMZ%+QM|pQa+Lb1WoT>8Kv9xj zDd31jM*!gi1E3!T6g0Y$kFaDZ5`Xv+;fBh_97J{BFaoZ`d=8nqG zp{iYS?0?F7NBd7~Qo?;m+w)nMbu;#iWcm`cZqDAycy2VTXln$4zyX1{{{Te|91_bp zf}SVH?2sD9hYud3nxh{x)_ntq3UO+F%kM)r?o&)5;+gQ@V2X zQ)sOcM0nzH`^d@IkM6Afp;_s*4w5>a)>`?ffcryQJ)<9qAJR|DJ_@U3xVDrQzJHn- zTb_Iai|5s7{hVAaqFF>y#CY0UG+4lvGqalJ@+vGdx|U|h!MNw#DE0KBrk%|{qQa1@ zeWPjL`!%ZSs3PKZ8_#=4^Zd~}aq%0Eg03!;Ni$}RvNY^QS2lYK99nq@LN`KjAp?>S zj)+1`p$n}P52~w%nlMYHcwonw!hcMU5wlTBh-x?sUhGnaTTYp(yhRfY#^LvL?s(cL zLEXpI-9Mx%j-`@WFEg2|U0Ejdr83Lqcs%V6o1WxA8E%w z1u26r0Ze(oP?a(nWGA5HnN~c8h7P>bf^gE}b_zacm%O;C>}rPcqIDVn01X>_U!S6Z z-Aw9df5W%@$MR6k$sl;E2)1gkkolDEm8UO}({SXIz~9wfnBE2k4nSc;=~_VyEGPLJ z^(yb8Ee^R{<8*`WSmE(^L4W$HD(SU6p21r{1X1LvtsA5&YG@x?{4!SnA`aWA{T0H8 zNMyqlBfXTI%PalX4c79AmqMgBi!B0qY=h10?x})=M@$6IF!!SX`{E& zcM-(blkdI267TomoW-ZD)j+;Ve(WAbGs1tj(LbW5FZSdf&q3m(BY$ae3~0`IDET>2 z+~rx5M7C0X$5`g$q^-}?e`QYX7fMfU)73TA^iv}4RklMfSjtpy|!2pqyka_e` zGWJb)wbZ<}SmivM#(&crzPo)^-}^7b;iRr}xL`iF4f6qw{Z^?o5YE!cqGW*db3s?H z>I#Z!oYp(aI~5K(NTrMy4cEq18dFe1l5OvQ`3Q1lEuQZY!|jzo{{Z&M{Fm6ZnqJ9M zl4zS7ykaH4LATLD)@TTc;-jy7Kc-fL^%(q=$hyj5@w6YPNPjk%PYxk`pe=Vt91C?` zfBR1U$;~#Jzs}$pYpB8M;eqvEM%QUe%{EJ6Z9_*`ou8*Q3pG7VGIw&pByP?y=8#g~ z)>4t>VEUA%*`n_9vI=bhf0qVE!3h4TGx;f6F3jF=YVK_VsER!OO4lt~YVmQwWCj?| z{Kj%S``TP}h{a05f4h{JP`)#!Bdo-R(2q%1W_V{IEWcC;f-I1K_`jy|c-7Qmj)LM4mYormx zc*KrlFvy#h<;UUkTAVSq7$b$7F^vsq@B?6>)mjuU#z=)z?#87zA}x z?jG11y`5TB%NZCdF1nb){w9xL{SppA**hD^P*X9oG_pqI9$=^&jf70>#f+X#-Y7{s7Vfj{K~LOVp4j;F`sHdZ@@!gCYnj8BO)%mro;+Flt1UbDTr6^=8Ux8$VEJjsX;l}pCr*M~IVg=DrryrgS~iB(Eh@v{fsZ#6llr#XE& zKh)pVSI*s(_}nt4;BkLz)aH_FB)i2M>g1(!jw6+w9n8JBEMKBrK@&a=$!=PscVKfzu#4bR#VAI zSv@4c31E@Yynjz3y9G0Sr<&t0clVNphRGp0;r^ERd8$0F%dyZY3xtQcaV{m!JLj2EtXL=`5wJCM zP?TT{lZ+~zU15K%tD0a*V0Q~W0+`g*UuL&DHk>|hWO)w1@6A?VaEg?>sXGN>12)QH zSMP*YNuRrE^-V}#qidvp2;I&r)W8W`&~|UKJ_=wM7*UBNs`jNn;^J?FdHR&r#|M93 z6ETnuPr-E54&u4EeipQSGy16=7fqK-Qb#XjeyT&=q8xvyvA0~Aik0Gpuyiz~K$HVHf?#>{JTk}h!bgyG_&^b57#P|+gq%HpdKtdTqG?>Q| z@I3%oJB+yUsnfq~Dd?hPQHbLlEgXVkXZcQeb;Gooh{tz(HGc=b}LO$nEt$V_zwuA28|secNH<1-dcAV z>O9l^k${|Qi%27onIk(D4WhK=29~i$X}1|&3mjZuD}i%~IV6w*m_iWu7r42{B(FdK zU?ZY1gf9@23(MkT$S!MKM~p9a1pW)j)(}tL?J0&C18>= z$8sy)$q>Cz(lEyNHQdI@ywHh(=;5&lr{oAv~mEY50sGrv*C2^H#OBx`L)j zTHb#c<<3Cl*L4dw)o^h|9N>GW1#dl|LlCsc`iNdxo*5p&lNspjbs1R2#vim%OBTeI z?T;0xw@t&8w|-<;Dy3|91$-yP*j9#u9k(@6f!q~QyQ^L^^H%0#Amv@l$SM>EmD&k7 zBo5BqRHYoIDcLJex^ki%Fi1}+AH^RD=HGwGMSF4-#ybk;*EQ@8X~-iWu8^EN1ng8c zlB(~hT?>w16S43-l)A2abh`>;PN9{5?B=?b3YQ5QSvPce9M@n!1KlH+PHLIjEKv3HG9KZ@~Wm@Sn2&MOJ^j z{6h++^#_eiPj>FB$U+wVbM%9nR1Qc&5wft^7#nY41Rf$vuN-3~N@;4w4L;c(N8P>c zIrY!vRR#Iy!fOX|wB0utGP&olPcAM7P{GIz(?&UtE^Ax~X~VF26w>){Z526@#2IAw z2alSBv0Mx^cL`qX$$;kPtB&8E`U9*1>hr*M1>cIuB!9F-ijeg z&m&`I9&yEx3Gu>;O}RM4DC*&ghk1;tEU5bY8TL8bbdsKLDzmL(%@i{J7vts@N3Y@r zdU*icu#EaGb5qV84773#d#_>ngZeDPTgSyq2^_CE}Y@Z673cc9Sq=e*p$;t zzlzug;d_Vc`l|*5LQsjiwj+f<1Xv;9FNyDj$plwLW!?1l5 zi@g_e{`xWZZae<~Nl)mbX|}c}42QJm;+%Aw0ulpMZk??(m964GcOicbf0vr|Szhv(XWWq)|DP0?e?KmsQN^1c*UW2w3p5E-y#CiJxcN~*zNB;n(#r{;~Y+?TZ z&A%YI)kwt89_RN)QguR76N!b&sAif${U`EOg=u)p96Uh^s_ls$1yWsx?JG}Uca`Jh zoLZyrYa?M98Oiht#Up=1*jRZuV5prpAGIXMpy3~?mRadfnQ9m|USn)@l*BY)trC5a%Y#`6=b2hQs`Tut z7MXc{Z6n+;T_X-YD*kpp>ZWZxd`|ce6%=v~M#rM_QzVnW zibJ1HNdTs_<;f#MSdBZ@-DTVp?wm7u=#9;hT zy>90VrSN~@uRU5?eyTEtVIw$PeWCSD&BAGI?xmO7IRrbd2SS^`=SL%6-i0>e6YXXO z3YU9>80VgWM3Uz?xb8{Hds!%S3=RH${t1@p1f?}rHIoZ!pm^k1e>FhW&CL;ZJ=s4s zqU$h3bnbuiA!fRwqweI1$7xzz-%v;BrNE{`z7}z;A`Y_Ew2ioO7I~yyiiw%x(0)h# zR+*_-WU^Hs2#U*e!?jF5^FYjSXnP0|7L(y!UTrc^riC zA=?}!w}lORi-M>~2G4H(se+lkvx=3j{4P+tr{XzkY2ymXYZ#z}AHtljRBhpm>UwO3|Uuy$W04U4_6v{g$ZT-NVA2LzBkH^-3+Ep6(kUy~gMcYpr?0f|1v zL_g%lo&K9As9t!%R);ioRzq*2JfUdxTxGParulN8Nx z@NmIQC#9%>p7tj+c;h4HqRCAxe1xFjR}^6g0Wy@A1p|^yrRcmuH%CMx2tqeWl7tRu zLS50iIi%=>B|--zbV3lF+JCL}cRJQl(Z|Ot@_c{;B%dGwC($$jlYqAl&Gdwp4$N;;o)I}KIy?eat%*r;fx zs*%|0);P7l7XUpnq88aDBzh;Z+N*SYAH{290QtJ#7t==9KbIi`k`S)c1R)|2gt!R@G+{2tLOGn*Fx^b{u=63DLi#{F-(N8p#^EPN+=19Yq zxEv6;#X}4-5V|!*11h2)-Ri5Ix^{OZj^QQt*8w)VmzPM!4XNILCZ3)gmRW`Mb%#^Y zT`6B|zDF0|H-W|D*pMEF!DKq$vYLx_u%x86$W5x{A#FUa-+#J!1co^NMRX3E>Q>1g zflzQ-Ha?(#mCtULscGNB%lafvE;LnE`-MdfTrP^Do#m1-+}c6GP1e>Kn;_KFkg13x zl)EHC6YIndXhFhEp$SlyFkax+f=T26Qgl{{Bq7tgyKje7^iaN2hK1vt8_JApT;~S0 zrNr_8Wk}N5=YN!kOhira=2W~;(on=)-Ux?RIPQKaolWwJEQY+uf23@zXG&#RXr@_CY1hNIamL+-9FsDEaCshgiS1bwC+vqnGa3Y;8z z6mdJmuRL?;z3@HN(Umato-_XdSY6p5cI|L?p~|9h9~7a)9D=ra8lzt zDlB!CG5fR1JseY*uT|{F-Q^TjjA$ z;nXz){C`N;?@g1)H4Qs}5=Qo)5xQzfY3Ao*fF9Kt=9aj%z_gBFj1ZAdnyY1VcwZw4 z>BX@h6xOQJ=C_WS;zsyqbzdzLo4Yp&!2I%~I-{ym2yttH1RM~0B}RtW zZ81lwbu(Bd1CE}aPEilU?Dg{Kv-b=AJu6?nOLoVp^irUtl2QO1sGi9CB&>bXp6#h= z`?^@z*_lr6ayahLM}Qb7)DDGe8q-kIQo?QY+!9Zboq=q4IUf)}!j9EC&%ENKw2~Xi z(_MJ_e(H@;J7bPX=6|x#T;~$Gh0g0yahy5FjsV~-^`62aXnccj-{zpZK&~%}8dCCH z_xF#<-@txlW*Ny=JKcG!nxe8tU|{g)py)p(Tmu1g4v~b%3x~_NtK)P|!{MNrKy846!n(%NqK+jg+EHI1*Qb7QZi zdq?+}c^$bD0mqoY=$Pvc$E}whD$PAN*k*9z?jO8P^y=TJ^i6n*e?xk>(P6OEytIES zy`lA1RQIZ=1AI4;r*D|_DuRBRh1t{J*MIp~&ZE=UZ9i6N?sSicj!)*tdLB!KwuAVC zT@^cr+FCe+5A%+=^IN6j@eSgOxUQpTcn7m1KOzrBLb>T!48Lu(JkZugc-h1L86%-@ zKzzPSVN2D)@o1OI{={wx_a2Ir^t_(Kfa8Y=+|2mXQAd<#^@~i0~^qz0}wJvPyd1DBQ;oV;ceJwtYW! zrnoff+3nW|0t2?nGud^Mpu?+ilI{v(_` znw(SCQqPk)4lRHCsoEV;M=l#s(;K`-;X2uvd!&{StO#6b>R_m691}7@{UvrzBp?zw z6yln;rl0&7p3fk5P0*AMI9^~Wf8x>90NU6Ch!_$xXMd_f81HHs1dR0Dd=yHtX#G1; zb$F_g&W4ePca4kBfc@2V%Br5010<&acmDvnPg2p#Qy_niA(B&gDW4=Ss6NaL=JU%w z1H`Tk21kZQ*EqQ0pbV4bt`k}6?{%%Fjx$GTrrE9|+LZMmczKm*vRQ4msPRiqJI=Dd zcb|_>K(Lc_Y!I-!8FAna!`%9?9@By!CPYIxK}>Q&m(*9$kPq1CQ6$T}RUqG-z+?PbcN*u9P>;J*G6}J&wgq z_K2z5!U-PBot&2w)RVfbUT>ERtcUG09`8Fu-I{+s3NRJod1HbzEUpY_=1QQFN6hl) z9FngoEp+sNX&d^L(0QtUvb>31{5qBSXg_@6*T63tms2~1)bx2^I~R37va3=|!BEpX zxL957yzhb61I1fg?as)1hW&zeqM@<0?}6&AR@yo%PL!KaU1`}ok{<5ePaw#ApZJ7z zYk7bAr}ce54xPHX-*FAg?e%}o4g~nI;AD?bNa~@r4vN(JZH3osbd7`@ z3WgpwABa_&dFG~>lff(Em4}J1VZjH;t%I}v*#wl|!L_Y8t)!8>A8HKZc043+^A9n< zky$&{B;mT7=4kEQe2;Z^Xt)Y_H`_e=ANI2gePoo9hc_jM-fxPw(B9=`J7t9T(2sw8 zhnq)|?bZsK{?~UeZS)BY#o*Dte21 znY%Yu4VWHPo!rs`f}t67d~%V-CxCzM*LA{@rK^UZWsVvACz^=p9?nytz^<||J0uJh zRMz$pbA!KufwhqjXa4{&cz(*+mEv{@8bRmN$xgRd%|kn7VZk5v6iUiSs^T%cY*rCn zBy=UhvBI6r<|Npt3jJ3>4qHyg&hHVhTaKX9_RFgbH%cg{Y3kv>!1D_^z4m`MOlC7$ zYUJ+unt2HNJM=#_)G0d7DVhYMN&1C=sp*Mhc4In+(PtIfrsY4g4+IVVhUEOpV%RSC z2XSyz&7Q8$>aU;nS=O0^a$6k}{{R!lbMaOiHHnn~8LHVB9N5O>{{X+5DteRwshfoL zH%*iO0Hd+;S$#g2xl4}ox`=;&Q?vOg7<6uTmbi~5GxsZErqkA_fIZu$^Lw-O8z=Pi zRFI5CO%pvD6$JfHGrkpf7fwLlMpivfqN!bj!&x`w^a?^969DCDncwCvKdRP%17H9i zi4}A2)h_OSs=_-hGk9S7EV;Tdqm_^5%%paU2mb)!2f>R|2@`+Ts(pWc=lM^6N~ZqN z^b01JL^m1!3n2dhFBk5k=Fu?%b4gnd`AI*RD{DeqFV!vY_f0;_Ozv1divg(8O=d$X zWMS}pX@vS}xu4;_DLoE9HS|oh@JikpA&ubk%Ry1~8g|V%CG?Gq_^_7#N_-tnGkzro zUYw_J*kOF~Y3_6qakYPw#7FZtKcbYj>bkfHWm_9i-ye0~vej-{UXj1>RdNsMk)gxp zG5Hl$ylL1&%WA2iar{g_sNHBOI-EO^{{VcI9al|}{{Wl5zshexsBLw4Xq<{#iCs zfy{G5n&3g|4pneyD$4hN-7!=+^lO=x{{ZUfueuYn7g|~>ZmjW1=I>sZbpSxgROkob5HHLXz7Lr+T_Ft9Q< zHw|bUf@f%=jf`u%wz4+t#sPq(bF${WLw}azC>$_wKc98Hvf1OIk8Rv}E7NcW5DMn! zwT&)&gIYS39X)@~yp%ym0dtNx-N-E4B6H5l=(q(dl(|urmzp|OaPgU*2PXLWm0Y>s zD(XRR5QZPZ)A^MARB}jtl3goWthX!GH6by__tSnB@*bsBFPEvMdG8;@{)`^$ehM~v z=V8o;Z1aCp=$X^g&sS3&JQ2QGrEqH)(URg-)inzu^A$J_S+lw#Z1q(wWNduXNbEJO z87?QFSE>%mZr{V*bJUfz)+>7l6WuZ5li<t=krknT9j-KW9}6!U z8i4-*=TeR$Kk0ej{{T|X2ttWfM;%LazdxZP_D)A5qd5yj*WIE|6+w24r?k^hJ-j4G zM~Z>A;rva<{*qQ_73Gso<5h^{dy9$W3H=vmU;^Sm0A!MREca91Cak#e(>=_BBf`Q4 zIJ`+!KmK8we<|NzMFWIINajS zu3^FXD>buJNi##Ed~*TJ9h?;%U6OctAF9>T-RbAx@94BxrII6-IFBxhLYld*AUOAL z@y^PVZ`Cx;0ku&{AN3DtD=wb7SZAwgt<6n4ws4AG2^u^=JpBrPrIwB3;%c${LqNzX z)kkxYfC+uJ`1MmXJax|z(lOIWc{QVbyp*MjL(#TsTcwui9eoiY#u|oYuW9DojoN-2 z6?LZ3_BPf>SwPunYGZJ7d$;ZKDzWrI$7LQ%!x^wtdo8A(?KHO8q;)lJGZA>$kZD+PTf>}? zK4@(*Xu_+S=_A}8!;ky+SOs0acGf!ES4eyAE&~(W*W#frx=toc@lVG^P{W5Xje+#& zzK6b9D6X=>Jj~#zf#J-RqkWEWd_s=anqC{lIjE**3jI4lS5ZaB6B|uP z32ZGG4tCtvq4LNuHVUR|gmFJlD?QS>O5t}6kTtY_ltYu;-edYlUtUU6ROx0#3!tNg zuu@X9yr`?6oUX>rZ&UOcK1)c92DCM;4QLnuasf8E(bHDM*y_P_Eq4)Sa2$GP#ds+S ztv5*>Ca&I#9HynIl9}_e2lp|zFMcrA{8V*i#yA>8e|X`~9EYmcwFRmR#WXZ8k?>JQ z?k7cm78~AUkSCy2-B+Wl?(#)#wLwj6wZL-u9lNG?jt1lpG81i~1n#V&yaye|7H3^? zmUm>hyUUFC#}v{vzP!qLrFBKF*HkJhY}J*{&H;|N!|eDD789R} z$7=6YbxtLuupYU|`Kv~Vymzf_4OY^D_irQK9v-Vh7fwj#=0{;?Yj5$8TE^sk7tt_ijW`F?l}O}~ zPolFnmD;tJe96brWag_f_5mq5NREhCN+LncDhDJX2;B(X8=(kBJkWv32uaAHDhDJX zA?3{pc193{h(PyK+f5(ZsxsmCZQb5~eo1jK$l%btCkeIK8Vx%&L2hQ9yb-jHO+3%Z zW;IZ7lOqP*LejMjU)rl&){tY2@VCJDl}^4=ifG?E0Pc@5;8mQFwSx`dCBd-Yx~<3~ z;U&Ohs^e*-l6jpxAhtFgj&YKbCdqKC6!GVP9Ju)_MI9mGY!vMFSUz5BGj_Ot1`iFK z_gY&;yuIElz7V~RgL1bD*t*7KF}vVG*7P=^>|S!l-K>?=5}ahsBc_aeTffm~ zk=yCaTr#n;6V#4gi;JuyO zUMR(7vZj^T`^d{jk;cd7vECBWLxvm<2=FUEUvDwHP+IFncDVGD!l+f#$xBe^Wa-HG zj}_sr0a)*JUuvW-jAm$m##@fQO0L%oWEEcB#_LNQnu712G@!0|9TM>s<`el{3xH|K zP2`Z{nkI1oE|%IyS5~qHow>O90nII~19a2fg(IcyVrMqCp}xaUu+#j<#anGuZ?Cw) zNghF!;1l3FpOSAJY>qa^7{gjH2ZFbDXG7jsPh8=&P2gv#=k)x4)AZDisCXq(*H(yQ zE?0OWWH7QAz-t)L)`8Fk*{mzvagv-z3znKIU;}l9mb-MycZgZU?|@BQ%89+VH-Uqx z*eO#=(v2S<;A4aPoYVp_7Jw2e+& zZXm1(-hF2bzk?WwAUS=-Jk8C@yQhDKTs zks)L{uT$uU@kOUJ#X|;gCaS1EJ`wwCR(;q>irKq|e~M zFfvw#jtL!t=M_%8KE7&mG-2$BZbL=}6lJz3Wp5k3r;cE)CgnjOgT0m~HLly*9MuB( zK_#lRR6-APA=r2y1t!s4()|Pgqg|++8{#zNcU=Qo-*upR1udp6t+-v_5;@F?js?#f zdIcSCjMmG48zXQWXPG>e&W4^kI9nWBV{&?v;ojrlYpGGjI^Gi zaZ<23w<}QGcdhyn`>3)oaCwBqOdcDuI4Ub$o>Fu`&|77xKJ!Ky{%(qe zVu97yKJrYsH1WKirz$mlNQNRxu%V}P(gqIdb5GEHmW`#&`{{69<=_?jNLX%B$ob@h zx@*~ghL;`A;Y3*MwU=iH7&mP47q<2_g~y3=WBT<~F)#P~cZ+IYLef-UXv{$8UpsalSv_}0dJG^Au<6tlP4k{f7_i+Wr#V2 zuaK9JM(Ptx*kfeTcYsSXk33{I)Aw3+6&oUrpo{=80@zT~wl?Ihe|NYU4uH5*Qfv+r z#z4mIMoQ{%HdVb{tF2mkB5LXz-s2)BoVcqf*!i9q!ID;HdWhj}sSX0L;0{a6v6X>p zj@s@{bJ=TTRLtB5IB`4ne^grT)U`yfCD(d@f24+wpjtX!maUv*;lDLV``l#WHk0;W zRoBqc*1+g$VPvd#FyWB0{c+i&BxCAq`*ksX%Oa%hb5_#4Ik!n32QcssRntm#`1ifA zUufFqos6+;ejzzGO;=M5KnD+GxGy2D&XV8RQ*PQWQ7gXG{_lsIe_A(DU&1KpADH29 z82)!|R^6x_Xw-Jmd9u{UGYJiut>)5s5;`pY>uHUTE|3?T>^dxU+Lh!SjC(GDWx9#l zH&hGNwyM3{abfLialy$^FV>j^a!}Sn<`eFh50MLIlm>zt03d8R1x(d8i`8pgQu(8q zvE;TW^RV(AR%!{Ie;e>lFttr^k-A;MSdAo-+b%Dsn=QkzPlth84XUBFRLzhP#mU(5 zRh?gLGRO9)*hH~yAnHf@FFGdUhln2U=|7=eD$iUejAxaJxzZRUBe!po(KN+Zb6MRJ z?8~>uqJ4URMNlPZ_GIVktFgGT?RYpKB3_8b$U-_JJ}Bsrb3zjIK;(oW2tpUA+Fv7BH!dIr>jq8`r77eT z7D+0x?YnmR@(Qfy7dV#^N!+R3Q#(M0ianbfa(^J8daIHHKw#{V7~3kLuj?}SXqt8d zjo+f_q$sgXe;D>!`iEyOH~@6q@>ToP#KNRcukdf9}+v033bi z4h3%wa5D@fb9vdL=2kI6$!luM-b>#1WzIcG=2vIv%Pe&b@uePC z{_C0b6=~F4l_PJCrr}Y<^64JuWRsG#4KdmE&gNLy;^E@)2P$u}-5tc}IHC@ylYeMz z!Q#G%f6?};J9J&!7z@A|aT}7aZ(TqsKPsGXx%3Q{zN14<7(4#}3kIz0PUy;0DX3#y z2PZfER%@zk6_y#xDyD?zkYs?LlKWQp$PJ=)%<&UT2;fgx$`7RqYqNFzVtA=J)@_>r6tzWB0N)7)sItEZ8# zjzN$@b2L%S6Qg@_957eU{{Y$hS{SO^XsVYnP5vHFy6^R0K}JKHvFFus%cZ^aGnn1_ ze=RMtyT^}zh;p;NSz!@K{^`EUhD$m-(Pi3}-q|RsBXmx2W?bG8?E*jFCG<7wh*naT zj0cZ&`K-SEZxg-F;NYE^9J%=wjl0FC4-28#t4qADJS;XDc*b4t4t{H)a2w%FYWq>7 zsQY{@;f?OZtpnY6kHtep9F-1iFtoZyf1VbAv*E$RP+Pd&mgPUua0-j7rF2F{$G&s3 zeEiS*=(U|CPA2wYh1_4yA?4_+x<%d$sx~n3x^5nJQPN*yuo9#RM*aZf0&t& zJWoKjP{v$C8_MT3bA~j?^TMk3t*+wJl!ls>;nmM>-FOFyUo&cbPf=S_B-76MBzeo6 zyu>=dmU@JTE7vbZqkMv}4%?duc=6fb3*|?5ZxL(lxfXIJ!3g-nd^~X!aFiq*emGGL_^F6)m~U`AUUO{W6HnW8Nne5lb^x~Ilvj% zWm;}lxI>AN?s@Btf{yMWe~sS6Z5ZmleYlp#Apv$u7i)|alIv>P3b~yOHvSns*Uap+ zpAcL7teLsDUL4HeG59`<>1|V{Y40&QSX#)cz}fh~f06yy&)uNgXSZKCDj{@FBMt<0 zAL)gC)0M0;XldUHCF%g^L&s%spqaDMvO&2c2h~}0wMcYtrzdv%e?!q{x+bj4P29NW z*~s-9D^;d{vsXti^5+ipE2dMwI4cn=J1H8L_jM0vf!T9UZxQgz9If|cZ`3AAvZ0zJ zElFv}K;(oWGQCGcnb|4_Bq1hJ@=1ibC_*#jjG%H!)d)+?JhDaJTv&QA7a!B=LT9>| z(+t3#Uko&Uf3lHEf6a1$lJkI|Z<2SHNza40eo89iFLOaOy+aClR`U9p9pdtSsvA{2 zvdcC)jC~c1hmw~V;3`FeBU5;UV>y2j{MN^!p}$tj+ijeX(sLv6?67!}svU~xy1Vt* z)=c)&Ti7t^q#$v4hJ(!c@?TDA>s_+dMA|!JBW!=n=A4%we-e7GQ`J@NY?>N15%ycl z3_4&gJ<4rlvd2L}*lMKvWXE^P_Kto4bP7(I3U)u)f;RsE(iD?up)CiDxF0p%8h99X zjC@u)igIPiR?`n5SvU5CxVe_=U8#o+mPbtRI`Du8{{Yzhm0z<9YijQhwe8Cp?YnMx zvic{p zn|mOjby;ZRkm0^SCtB}T!KAEDxX1&hCxRA!Cm+yrPju5nc1lnNJ&de7`&iuNilWy@ z(nB~N{CVdKF9a>Etsyq6z!DQ^v_tYl6&4sZmot8|BA zdQPiALsIw4Eo{*7_uP2lByzy;UmsD`m}hK*p<11Twrl;jPrB7hR9eE`5J=nw3b54F zM$rVCe@Hn#>Drj24+l<0F^_)5IHQ(Z2C9;kk{&8)_(Os4JlELTCg$6opQNm52aYgL zt~Xx`$yZZVEj`Ae*>vsW&xy+V%lkUqO>U0vi?iIn1L88F^-VB+EOYnZsFVfJ)PeoO zf0$Zi;zvU6?121xIpv=Caa8ADwo*1K_GBfM~D#2Wm|2G1c>8qd;nMNBS%XP9O)S)Ml*rG0?V}hROVJv zf738Gi2F_(xyx76FtVC9#0YepMP3|8-Z^b{#=f0=el|LNb*w_`<#%t7C4WJh%{6{=w5bmYO)8v4rd_c zebubHNV3}KDdnQBr>LGu8d}CXKF)W~hk~%vT%x*BLs=OGlCU^qz^{WTZ*>z)f57P+ zaC}$TJ&V*!RoT_DSxL_cX!Hbym$_MEp@cn-$<7ohWR#QQorvIjD%WckSY>TQec0id zh0WWOxsR&(hU(7hcVl7?$$f#^XlSO1-FN*L$l9X<;Z_GBE3xxho}QJ`QaOi=DyvZN z>RlM)IbTL;>WD7-V%=XXYoLCaeRqCz$7+W?)Fd($Yq8^It=D zRcpImDw}@1*49r?5kF^a^0~q8{6G`PE=$z}i5-Ff{{XmM2Fx_mG>>(rK@@O8$f9Fd z#tb#B7yvGVnnH}=Wq)ER-G_p#o-);r{{U$USAP(+SKyYqC&W*O3xWRt{U~n8D+E`= z893u+-w*U9Y5lEO-F(p%Es2HI6sPSG0nCsNN64R|!8Fam_WO)A4L;Ky%f)>)(KRiu zv={;NHzW95W2`6~WRQPw*?p~~>IAkZ4})-iYaagAR%xm%bP*SrSX|n77^J}D4&eP2 z!?J6W_%I;>NRt{dK!0ZvjZ8TUWlKDAG&!Ym4msIK*y*RPt&WzSGWlhAV;VY=yXpNm zb-q@%lGi~!T+aSj*iJmpfL}s(W7&jyGTQt7_{S~NgAl|wY&jl1UHNXBj-WK-x@NxP z6fqJ`{eq%u`)IVb-){#d2>2X)NCQ7yuc3dku3e?--bUT%1ApYcbJuqfSABb${wBwk zgW^eFRDWk1TkYMN(mn0N>KtS~oPv?m&+zT+W4R?(+gRtluXj72s?lm(=ECmmfc$Nq zSy@)3y*N}=K~+v7cM%*dIm3rh&uLfC4b24+Ud(-kK!w&S(qaZnnC3Wro7jbR-1#UsbQM3y~BvpKr-+#%$|W( zX}e68IauqJlHo@IKHS_wK+iG)Y1ze{l+P6vGI#aWQf7Idxg?$USFY167W+-Ul+i%e ziCp0+JC_`C^yjjd4@y8I4Um%K-90BzP2y%fo9L}tLw`_3H7hEuZi;g_922zh06e_b zxuGg$mYKN#M$@_K_jM$%i}aQ1r$cHsNgJH&C0u|@7cmRZ^A8XAf~3^cwz{0Xqs%#4ld@pS_^-DYAO5A@819qx^b73T8irKU zGFaRTTz}kx7s#L5c7fLZ)MuNA5!FP=M%?zn{Fg`Q=^86bPjFX1xx!ol^eVmDew&`@ zp(t-OQ5g*tJA2U4xMna1P~C@QSRlAtm{3rtUAhC`U|5!5QDYTblP zY9+eqHVGqtwCWOYT7RIPW64}rIKxurKh;uNu78Y)&Vplt3CGEN{MQhiMn@>SQQB^CB&5APP^jaX8CdUKTbN>a~Va)O=~ zIq#9dt!Nn}lD_ZI*0122M&E6A&xRI<{{Wk>)nuK3c1GJ{|oDutp){q)n|(yyzz(0}F^HJ{^FJs|Jy z(vJrwwXNW*m7WgD@1$}go5P4A^4=Qv9*$@#RaYL?% zQz_}MHyU~va3p(b92(L1S~JaZeyOMPml6lLTk9-=)ZwGD+Db*{2t*X@iLa62jQ~0C zE^+fD?n?F1bFgq#-ZBtyb~rvEV4be$`D~Y0-KZia-%#wH5&jd;Fnj^%x1b3-1>&xb zDynHI>Y-$?NYdA`L6G6#Lg?Ka)Y4mjCkK|Di1t~V?WwhKA%F zI2_u1N9?|m(R$|Fexzpv@v?jlCX!$cPD|fO8;L%oFQ4okt!isvYYjwoF%RUKx%%@T1!VsK>%D1+kKuI9emRE{sbuNe z*qw$9k7B6}JyQ>t?6zJDZJLCLAg7~&gCUVHFnj=5*J`@;vhh+D@uA?yaGJv(e2}E04DS0OerubGZd;MQCLR@#>rg6q-w9vPd5{ z)A>oHZC4#ps;MoO_?|ks+KbocXE!mB; zv+FzRs$R+N(=dIar=v$c2Ir9c{sC~;dZqPleI*%lVFwO>io^9y{gn@Y^85|s-1@Ec zqSoiUHK9XmjY#R8RMyYI6Px#>or6aE`eQ5Qnyb6DHm$0~`5x!=9d{?f9$EdAY6H|DL{+OLk^NWkpp+WLR0*Auua zJ%v!XMIBu%l=6(R;|kT-UaY8u&8Mnr94e^EFp}@_BjiWJ@+y~bt7Rn=wGTTnxdX(i zO@{MTL8&QjaJZS-ICcl~WbQsAWmk8lY}DubhTy5z`OH%e;Os(w{Rr&p_{k~7JDv`A zX8!;%s2|$nNY&je)LN3=36#(^&8ZC;J=r-9_#EfeM%b^hR5OHsVoyeANfGzQU^Ls^-4v_zcvqCGt_T-iY<#9b4tmW0srE z+QnU%W}cR!BZ4^)M?x1~ABMfaB#FRCIUma9*Go31>l-?tK~?I+uv`!T+*D#n({1px8t+y*|1-ipytIRX575AvB- zPjJ268yqZueMMD6_*lm7N$?AN?6XM4rYxU(!utAv9Z>Pp!K277eVyn!JvRs1IDXY$ z@rf!6c@M(T(0xzITw8!KxISx~^}kmNhJG5KW)HvmU0bItVw(~?dAkoq>~cZMM4+xM zEANodlI#v;Q4|G!uj)mwR_&AWv=0BztkBFEjVkTVBe#f zLq|UlwBFG4ZCtIE?Wd%cDUY=^J0u`H^>apcK1%@Y7P6!GL*uHJSIYN@{_v7U4oKh8 zX}W%yu9c(^cOAD1J!8Wldyk^6_J1E0!bkoV^H*hA?Dh^CS*Ii3I10?Wbr{59b4fRH zu;~$h{n}IF{{Yc+zKm2xd|H=Ew-g!iaYgqXmf(>JplAN|THLRSQ+bXtf*VXuxxu zD}UdvR@b6y@3l^)ptfG$K@^P+9CPq7pzcqZS)RMM{i2Pvk+ktcv$6P8zL>bOy4x8W zJ~6=N_+yvRVmg|TxaS)!PfyGare%FoV5O3h-5gU~CAdqBzIh#xHSNU;Jo&m;A>+io7ybfs$|+sT}Em0p+ogxE#;yx3Hh$;hNhZ8KZ}!rJsy9qtz&WG zXXXN;meU)LmAF}6k^as4dWKfiY8%Z>$;~2FY zW<U>jI)Hw4bt`bU5RZnof%~8Cv7k=MGA`3`qPHq)0svI(q=Kdavvv#z@D3iO1 zjb{(K2R{`qTuDO4T&qN*O45H(L*Qdd#XCaNV)0?PSmnTcj6KuOM~&KkV0~A~(V3`g z-3+aCQ^4}qHNyq22a#WT>nm>*V!9^#yFb&#e6RhYG@saRZPb)eVj8DnqXTBi( z&C9@;#PhSb`KPYb--v`r-bX2|qN%e*6-zld1L&-phO51XjiB<2Kkt9!vuzJunB=8- z-KUAZomH;$T-Yc+((~-a4&PPMnBZHLkRetzy~{E(fsWap)SkTpmh3-GI{B&Daj1-% zDi;YIo=$)Ax97R?9%_+A1!eB@9W)GdwKXyT&^$?BTlP<*ptW0REfme!gN~wHd(Qr1 zvb{rg@F6j<`JJ%&daHk{Jr9c~i2neEs@11#vet0TBXJpPi*wYDUsL(3)h#?R!xK0f zOk)Aq-FSjFLla_+ye(+J3!peyyKPT|bKPB5mrb$ZP0?K+8$%`g#*MR`!h+U4o9KOG z#Vx|$6Dr;R0PZ3Cxqc*b_~mtD`mW5BjBd7cS5p}eV~9SXW-5Pejelj2-oLX=GbMAa znu?{7^b=FIL-Pf{l81}?Jxd&)-mi1Y!OTTW8h&NR@>}z2p`Nxz^{Rgt{?G${iuXaMqJkk9WN<{$hOv$1@Ct5H z*W)`8$c|xnFWY~bp|8A6QcsB?cg(A5YG%doGzA$gzD9eGYllvWjZ9KU{v>DQryT8< z7vO`P!o}CNH}F;cB#&+~tK%E(grgr6>aHjVFNy63sLF}CQ2nkm!6TxR7!CxCj{>s~ zZXJxP);KsU=d~*8yEVf${ZCy4uL16(bdT5)cVoF@ZbyIT(R}sVMSRuQSYeV!%`wc6 zbB;@#b{~?`_3W1xUtdRYtbJIg+6f%)EXH>jJ%9OGjiw*s+Nz?x<1oPQXFYMSAFAm+ zD?{gL=WbOc_Mk@wpH*Vh^kRnB4L&`f+`H8CPYG*5bB+M!Qm8xKe;bW7F7`*hM_(n= z+lDn^KrVkO{{W_@Ywhqkx#50D`L9>s@gg2YHq*npwNe4nFuLAc9a6v#CZ}qhihrVv z2c0qKld4pmRU&yEP=U=aL?IbMLCr5jAq1nEL}dsim2P0HG=#0X`D?w`!(GN>G2B5YprcvI3$ksqYodd^Le+$ zailQGvxe+{R+Ng$R@FjUl}AwOX+wu)py-WVQD&o}w$ibzj!Lffs#k7ZoD2^EfEMh> zHSB){ry%kx3THh1)8-u^{x+OI2nlSe8R-sKPg|6Wq(dv8?s(O(eMb9PAB|=kPEwwj!tyI+_ zTBsxAm8=;I83P3J&is_6G-2|FxZ%9XS@wTENXQ%|NgG@;RD~}T#7!aCd#z7{ielNr zrEF0SduPEs-|(w?da}W>RZ~Tiy7$F^laF=fCO1<*sJqoLAPd(LL%I@(-2kCRoUv<$4gSfz=#eWrl6y4|$E4c!<&r!|sjs}$PLSy9l2yX^5q*Hk<3 zux@^2;dGmA>5ri=dBGg4-Br2Gs0@E-=Y^vG0B3Cy_^F1ZtA{leUd0;--K^wa>Uw#4 zuc>s^wU+7@vjEEBm!Hu=c6(!rnwmPE>8y$-i0Rk{zzwpl1DfacwU4Qt&v$-3g3!js z!4Qp|x%VkBf-q8{M{CGP!tzQoQjn2Nj;YN}x-eI+FEpG*A{3!sM|9tS5L|ysOzw;> zHI*ZO*x*6)1wq^=j)IbUs;6*6105uX8N*sKc2!jqKRC*=r;Vq!>#N_y;_LyH zOzk&P)M@%kKe0KVXqH@-xMY784r%_Y)Qq6hOukzm4P*jVhhfEeZ~V;{|@o4&hz6pM8Wrj!>Azt5tWNN7~OQ&lh7_#p+;J-iXLbjjQET&%P# zx6m@2V85H)_?&sC1%>q{c?Y%0pVAXswZKwGz|H1x*m!xa(_**&4h?^A8=tbl-fKln z`dRRW&i8N-G}FX>^p9wdVBM5)!mvnSO5-9yc3+gQrv65E%MVXQ9;E}3vXlrru9S1hPcV`*f9Kx=;T4JtdrtI%uUz(k5x=BdwCwBUO3ry@%<3VhwyWB2yOoA4} z8+hJ#B)P`}sXKBC;iWaqnu}X9+i!=ux3VcDd!O&gfr02ULctk1VZ_|O7f+9Zxprx& zDYV^fZOT~8(;9zn>IlatInD=j&}_Md&dT^6_dULBV0taBHB413)WenZ6;;~XWT$m) z&Y`fk-D7#V?(k^lN}F`dWj}vDA!}L0{xSey#!gR?`M*zHYBdjN6gLa?SneQ`zmtsO zIGE3C0CX7udF5NKddhukt0;8+2z*wlDjFo{>Dtr8c)WkGIVw{`=&;{xl$l|1a@iwu zWMf{#mbhekB~dr4-8Hg$S}q|iZBxS`gdNDv?mj?eM(gceO{XYJ8N)Svjm%MJm-Rcz zM{6A7Fr&4Oali`B*%)LohqS$*65Q?q&JWQ1m#iv}WbxKXrr&nB%IRw^QkkCTa}6HL z2c`iad8>bEI0Tb`5?!;glsURi7onUb=&SbI!LF#9rX!kW%3^1jZp8fZrK+mi6d}wY zx!jXw<8-4FhCS1)BXrU#);P2~Y>oVi>m5{YiP8_{<`;qBq?R~x6>D2iK~=_h1B;kh zGf3IMkJ)CullFH{rYElv5hRs$1>AV|AqUxS`|*P~sU^ z7~rUA=i+8oyc z*8|iQRP5(gvhw+@b+Q3*r*nWO{%b+zJjYeTQtJlkoo31lp?C1=*jpr0kNGaiX&#$r z%PC$P%d~;IQ)70le=NH5Q+w?DSI<&Q2~cq;{OXjc2?kh;@V zNA^1DDCA>VoVG$*N3wi()D{3C-M;2NEJjaGq1yu3G&<^fAnmLtu z1;6n+2A?;woZ`rtt>+%=qpRv*qMDht4vv;w85y5sT%1m}DMDs6HW5u2%WzCg7B1 zr`>quRrjKc)jTcJ^=~-KS?rv0IoUYJ5SGUfaH(iff3%lAO`H$&0r{yWIkGT0jszZ| zKb)xx+%i5VhsNU94n!&YZPAqgGHw{;@#s}_gbkC7d1~;q6>@OONS!1O%tRLc2Xgp$ zD*Xl0XaHonmOg;<3T~FF3YKO!f_x7!ku(t1vqXa-5X~(s^~P|eDQaVw@b1T-9;f9dPnZiWv10lgnW;PFQB8*_ogMgcxbn)Ws04jEpesHuQquJ4)nUUwdc_gO2K zOg~959FIfF)KOpKkZ71=-?Gsxnx3ov(mwrJAgZn5cX!9`hY^9dKnFzD;ZapzSuI^$ z&zfmn#P>MlpY&B2D`J#}f@6Q-cE{o3rD<+2jBv~g+kfNLW2!BZLU2Y3(bLNmgHs42 z*=R9qo17OKDJg#DhK+(YQiJTdm;mv3pUbCJe$_gznc4;SJAA{6tL|bM_L}p|A22ep zDtY3ZW;cW7)jJM@*$s5L6=A42Tm@1)?d8wkAu97?n7!Kn*jI5hXYHIr=Qo|M|h3z~n zdD)KWN9?%itL06u^ZY^Ye8NI|@J{aspT$M|5q}xoFky1j?sv*NebScSJBN8tdFR|6 z3H2$|_c};!(AwmX3W=Cr(edT+-{i5orFBKh<27wVzVb(BZ{-~T^a!Z9R#aB9wprfk z*cclAql5rIB(X#=GE)2kw%H|#lQJjB*1k;eG@adz&KC=v!kX7e`l`8vQH{Co?;tv? zu7CNdYc5wB3fATq(XeoUdA#F@`Wz3EWqrEVUTXf)StfC_BOdDqfC&wvITu5pF|9=1_>uJvUQ*z&?ijMhfB)S^PgCjqr_nG>D zoLV(I<4HTBm9rTlBcD8k*IjEHj;NX%i9f9V|>&V#_c58jts{iQ`O6DMQx{}9#Oxqb(N~G zsH;9>x2I(za=Nmd7@#5Y^*qB>c1ONPm%YW#amgo{NrYibbIZ9=+R)T=NW9AY01^nfCBjT4M?@hY=9gq_jgW*S z{C9i2|^9zj8vQK%S`KQ1Ka8$Q51$(EuG1wC~ zg#IS-`6toH$p%>9;p9{+sXqh01#{q@7iGLaj;&sTM=2`7)hizMJBf}hBdAc&+-7Fd z0P*LsPhhX7km1fOJ`PF_2v!O^f5eOdvyL(Nhd=dF)YVW_kGhZ(;mE3+NN~$s2=ZQm zEja{&I)w9OBVv$a2ZeBZ8sUcwk2Ep$5aYU&iKF=+xcDAp{p_pMmuiS`9(&gKJD<%< z(%flkHV@!;;eN$4JuN*;biKJshH0stsy7g%qOJkJygCQ?o=4EBYD>iNe`CA?X8P~* zP$U930ENso(VW8}XNcxLOEq26&2Y>I^gqhdQFR#`Og~ZlE4?ksl5zl$F~|8|u}^j* zBa+WeX^;LUA{+SFIDqvW!jiXLBx^yYscek=ImlSryF}E^!-fyK)YDudsBTztt_1-^ zM|o?h-NeobhA=uibGxs^wKue8+D< zrH>0+l0XB^Mps?ph!#_UBm94qe(D~ou6l!+WF@`>V3|!*1YZ1&9$dAe&-$LgI_ zR7+6)DPCMxFr#L3WzXRCq`e|X*r@EesMQFM{nY%Sm( zCvv#5iRX8?H|o1GjwbWVy;6L|35(wO9mMB3#Q5&IMNccp_HaB(l7<$Oh}bjay9#oB z=Kog+XOW?gEd=|; zxdCX_$SNu5e<5u0_tmE4*{Pise-$|9PqjJf=YER+07-AO>3uQw zI?nD$jtu0C_tJR|xasJ#yVYGR)iYF5(zco`5*P}@Ro-1wP+J~!w~uwYwOQK?Vo5$D z_Eaj{6&*te8ENUA!mQR<9~_Qr32TQ%d(KWuVRqr-j|18xe?=ymx_FKQl*)=IWgE3; zH89Cfe=&+y@VG8zSoKs)G)IAmj7JvT~e zX`~ro$Dv%Zfc_JZa8;aDkiUYfWTTosLi8w$4q};W6%ZT;mpAaa zO48kF=EG$@)BO2-)mJ2PBqb9)zG-cFYEFPv=h<+}NFexbnbc6R&N4(yGX5s*^9p~l zN+!xGuGJ$k!|X+#LDRQ=b(Z{dFNl{&>>PTlFcK-mv{=S7WimrmbKJSgL;{I1`R87*^EC9_8 zUl8UxwP)@&0KjC6ar-SbzW3q~$#y?tvf5Nko+g|xF(Uo~Mba2P5#|qzYyND?oW|^=? z)_`12GOBkSTLTGg6eeeWH|*b+HD0Brx?d^_-036$;JxSBZ~O9Ai+zTYh7%))eJ~l~ zaM*eUr=scRG-{J|n5)0N=S*9E>Lrxd``fsxUnCG6^59z1Jcm_1YO&DJ0N~E{e_zJ` z0MIQDQ;KQ(JEyu+)3dy%iH`xJ8E(PD_4q8JuIE=%woGjBZp!wGC>q}@a6+S=S!8xx za;K`RscG^bATInZ+^DLn)Q$u~(HQ(ka-xGCdA}Zkb1aB^=Rf8uW2GmA(^xyAdgi_5 z&y~`<%XP=UsekxTaE}+9E~aQ$6fg+*FAk~$-C_8qj!JQIH1$&d0F$j&hXIk3HCH7W z@u#6=lvj9MBdHubZaHIo50Ud#Z0@GC)RS{pI|1;MuU97lk(1X~D;(B_mcwM1RoofH zQ!8B+1V@=1obl_+J{j>;{RxvESSf$h7Y_}B7IN->U+rit6e4MSS8(6mXBX?eRobx4 zQtSb<7&$a3iuVymA@ahTzSq-L{{VwU3|s8*&>VhB2H=0XJJc-f4Z}bK3vlHW-fA}J z?9||YD?m~Yk&%uk94MNXhsyam0&=Wl8|6lM*+J@uVt_aLhE-s4Rvk$4>M(y#SA|_x zaE~gjl=+vW=Gj9v!l*$A-x(zG0dS{{^Gev*GUprxeA3hmqopnb+IGbFrm80qH{C7> zyjOcF-9?JNCV*+U+CK>eGM3p=&5b{bcS(g=CJm%t)VO>1lXpyHqvKJNID!0J2rBtYZl+ zU}<+U2Q|uSYI$A7ED^chC8H^(QAHce+BYdrs+LxUyyOKLCE}h4gj8@25HLCc@KIHl z3aXa4I#&jsjo2$0prZc(?W514Q9(!l0NTazXer{?9kQDaXzYKi`W~g%F3jhof3)_+ zEGN{Bzcrb6Q$J|NPoXPD?D6cUhT}@chOkH+02mvO^ia{kEVGy?;(U(D0jzFHuYt{D z-W+fOc$2mjPxx(n#>9dCTrVcgSWfO?^(#@dXv@80o8QJMT7MABkH9O|ob1Axg|C(u z)Vyz*8=w87Z<>Futm+C%T#Z_fp#D^tD5jTuV0*8f;nVjy@!Z443HP&rJ|$0DbSs|T zD*CP;=!|}=>8I#-)YIZ91aD~eT>XI_7**RgpN^*d>rHelr{OV?+1Lk=RlP%MYo0(Db~49!`4w-f zf@*0@Q!&kO@#>maKq??CKJeYA%}R!MF~H?Wdm8qvz3nY|Yla9oAtII3RBncGIB5-j z&hm1KS_psM9^8dY@uc9X{T%)iFg&t9Rc57k4ODLMa8)fV@4cD53qe+B97qo83X3@N z6)F?u3dmFX6ZanyqM)c`!`b(`g(*aS;Chu>@v@xLl{=>|RW^#zBu9=XAH0m6i2c={ zv@1O}q0(nl+RI-x5Fco3N3>({Bl=1CXTeo$mll80g4feSD|63)aeVr%AG4cAVPlI=AqYn3P9z|5LJ`pjNt7XVqJi~QaMMN! zbgzF581pzuk>WOLDNzka0c+ig(93DlHCKqDVYu8r?w!vYMF=~%`n#v}g;CV9OC{!W zHEXLR;=|=UiSqJV7Oc2Mru5V{+G5tsVG%?J@_;a1{`#ztYkju@E~VmQVCS=nk_;-bE15}DeqG7r6;!O>YD2MDrw_~1+w5ffy96a&fw&&uAU(jVWXc_OYP;aJ(gVyIyw@4 zJJzc^e9mmG-?&g`caW?S&)NI+y%j}BZD03C1~t&&fJn*6Jo+e^dndeF>Rx|aEOMSr z<7tiGUB0Vt{>%|LX)B!W7!R$(e86LWRjN${Gqkd3nIJtJ&{gaDf})ydHaB@kVxh-L z6tRNgy7XY|U@exo0fnHPUq%sw`Q^$7;k3E{*qlm)KnzH_^2>K#8;&#@WYDjAo$M+1@% zOaYE-TG3sa&m{yCzB+q+GO@CI3iTX2-o`ziqrq3MmWXQWsjdtHI;wXMYz^Mdtt#b= zj1?DMOksZ$N3ed02O#X7jpQgPnAsXxBXSQgR1L<$CU#=RPbVpIBiF@SXM?;MZUcwa zFmNp-9f(N|BZTux%JqJn?-*&TBjI@7DO>t}lT~3vfBygwWO+GI90(*Hi%_d?6eOLC zcUktJr|vFtaEvxjYmH!WGs--LV*@N#lnw-;foW7i&>Tl|+=Wfb; zZW&W>e>k=3b4j(5UE+=Pa#Fd+5z5Yv>GMzt#XHUc1cDS98>yrz3q|cx+fj4TQC7?w zEnTedBU_Frow3`d4hqJW_o8kQU#t^S)w?cqPJ(gNwZj}=@2bM9DdeQAo|0e$ut@0M zKdGk&>J|S0OI5kdd@tpv>{cTG07xN}NX{Mmf37G;L=H<>v&lN89FffkLQblGv&P0X zMJ)0+iLf5`9%E+xNKguMN#-WaI5=@3tv(ps{))QoCW=@4jD1y&ssS}iT6pK^uDzhv zQ_XRgyZgyQLu8Pg@c#fyd_2`2S7q4f6otY=+_;w#=NFiKAHVgj*O&txV#g4a!ZvsGHFIJ=6N%x^6_jP)LA{>Z>i zHN~V6$V`!)iiXj8a)V1)qqN(Mu7!>+FO|T##GH~y0ZbtXdyCv$%hZ5je<~8=&3e2@gt!RV2uDN&VImNeuM)6H8DqH>?_`Kx zsA(8udz$WJWZq~*!1Q-Qr7m#gqEXXlD0;@qJ-D9ibpZWSL?_sCGMY%oF~zPJDkD|W zHm=Dqz~YY&Y4Gv-WlI-1{`-mbT<45S1dyImFtq$e5YvL4V)?6D+TB4@e@IgWPL<0EYA#&V9AX1b~=o#V&f0mD5Z;HOLoVK)LW+E z%3HrOEEQ6=JA%Fw;_NF!K@QuRsKD+DsNL1C8TqSoF_3bu<>VC#1Iq0LoDv6TZmLp_ zQxxo#r`vgAH3- zFvpHC@0kSu0MxtN=5tubvBj@p$Rna{sfT?>1cduhIJe+`_)pn?e(&CzlrkC}89U>7yLS7d5T~wBgu1ifMefHj13c;taBTgU8K6Sgr;d zJA|)xWWaNC)yHqylZ|GbB8@#H6cUy@j;Y`}Vh6Z4;ck3-;cVJDoEBKm;&YGHW_mu8 zOlL&_-jkANOalJ^liz1kfBqvrp<_DM+Z0-kra%Z}?c&F;GCnyf+KO!)skHl?EK=(a z+3r)Y3;_I(L%OolxIP9vb!aLhSHfYrVZ(f2pB#Ut6pfwScGwT}>pFe{ME(JV@M8g1>Wc5RX$4%Z@5F_K^BXSrHV50~2cXJ>ve&k%22R`uw`VuNr<#_vjMLIf8-ect0E6OG zdT{9GY4j+Z2_kb(GjO6&vhx|^jjr(-O1cauBP*K7-7dmji0Fi6dYfJ<4k3T}N`$7b zb7@&clGYjf#~&@flVxd20XdVfX;U0cKx%H0FbtAb$!DizwUqR`HJJdCZ~z?EW!asR zA8M_CgzrTVrDu_`vky4p$OQP|MJC*wVia|7#Y4QtRF+hIehm8@?Yc=%H}t^B?H7)Q{Hy_D#+) zKg=tRopxcFz77ZJ{)ul?hDiR=81~vdq2d=UIP6I?d|D6t`KfY3X~#?Qr8H%jRV3lm z#LzaRWZ~F8iN)TFxqp2a`?nqc0Hmk%QMB7z6NW?DbMa0(O@Rpksy9zono8F3AG?r$ zhQG_rdaSQ|=nVnM4VbukZ?a({9TcvO!*-k%6u#Al4`UPTtk)iA?Je)98PMnY0l4Ho^ry_V3>z;o zwmM2;8Zg$3pEcsmDV73Uazl<+8?2b7;0JdfqT^K&Zx%#aW zO0$mrNIV~(mgJ*%(Ho1#sF*}pFdZ%?$Hl98wd>eNp>V@e-UDBZl zNJ&RjZkJ>sCh1UwAtq2g)E$Obh@=nBIus#v2=Pb}x)6~Lb6dNP5=iiW#uq%{pk$Q7 z{QO%ST7BX$ekfkIbA{6QKknC_tt~%Q8AC9UoGw1l`ljaLG`9Cr%k3P39oGY)P2h8* zk*{w;n{f&DvjYW7y}^ug&p@I{bDUgvB;`GN5R8p(yVP&{%h zKboLw=H`gI9_*i*(RG-AB06_@kh5J;QTK90S^mQs7e|-wQa_5eHdn+D6Ci37$=J50Q7LEt;8Lyg(2}2ws@b#)ht#$TVd+lF#@?^Jv z_cL((w&^WXKtKQh1o#cu9TVukb>oKXk9WYPw=7J)89o4f*?$!P{E?{OJ7zz8XJ_y5 zozUlRZ|vFJ+(QEQ`u`yOd3n8ivjYHK-2;R7{FC@T`u={Qd$IOpFXN*g zNGOEgAL8HAKnQRLFav(rTR(rymwm^}c9{{a9;9RIZOAO9h@@AxKZeqI6m<^}ix z9>90NEdU9)1FC$a4qOG)fNQ%<;07SLZ{Oa2{M*@!o1>}HzVgiC<0=rFs48Pp`)b^P8PZ2n@@8AKU!}|sKX3OJze(n?8 zFC=(C_{e^tJ(s=V0kMNZ=hY6KxNhwhTq-UXq^|J;>X*Y3@*vYYA&;NGZ;(87;hGlw z?$hpt?-il$n#MN2{?;?fpH7+|N8rF;g8>Kmvk4vAx0j2K7~d+mPw=4N!2^N^{!Hh; zgPm97hYI?IA4*d~Qe6Y&CIsP!xpAjk{zCBR!tNk&RFJ<6F+nlF2w1WB=R*E}|7Qi< z8F9(SQz%l0E2z%ta~Q{1+1zozp8_*{W?@lc!Iuc%<>8;zT3f=D61k;~kH+ z1_j@L;nAN%HF(QJo@>QS(F*7p3}Eb~4UM{#wz#BPUe%Z3!9;&4f7;zW;d9HgvLz+;m=ank?Zu5m6EK0RM zIqyR;Ow&4hY?AX~14Ks{T5MM~ZKoQ^`ONikj4Lg2>J%FYky@<+Q*SVxyv>SvC`3)R z!tBaywNf%%zD(~>4&GS@tc_K>)O*ZLCXf9zkOMaJ;mW=sd_saXQ)^~R)IQ9V6vut! z!nl?Oe$1R9aLGcmTY-}t3->bG)Zf*PyEv@SgWIT5nhVvDHWv!dDk zZGq|5*)o4&~D8-(`eQ?UN#qPI=?dP0&UTJvX5V zexV65A#!m%so1u~e3V#RML0iUW`5xkwu+0yDOyYz9hn&U`^X^&L935`jgxkNcFVM>>A zCP@RRS(m@FbYJ{7J>Ub_P`PI?1u|IUiW>PUN=sONga2UoQg#(Y%PfBtF1u`wsr!8N z4oVI8)aamvDtb%y0uy7!XyZDSKWJc;2a{ml`Puo^N;#g{b9ruvFtHw{_%Gz%Ta~NZ zZ_X88EX|rW{DSfC8rl9>nBMaCsMZq$S<`1OMINkXvQmDGzMZA3X%k~^OL^IJn?7=` z#J+5*~>xzp3rRtn8Q^AK6pcn;weTU@5CMI`2QT7WchA;g8+7!j$` z$u&a^EfaMk*UXWpx@|0V%RI!c0%97^HS!g2=ez&t-W&I@GqJV*U4IpNdq%}EA4II4 ziHl2F4~+7q*qgrp(pN4$E@dhuiZo1HBu2@}zwxRv31jtW=?)_mc)~(ZdkoF&h+nr$ z=9RS}?wVS*4zJV)`)P~yNBWeLPG+&wE>IwoBVP=m(_5VL>X8{c!;|vo`#(;4$LEG8 z(K4R05PH!=>3Gi|tx`w(Ojd0$sSnWv0S%EoJqzcvGsVnwf|>GGRLhJQIL@|$QAVEV zuY$I5u`VKs^oq-tXHOC@Lukkl0}t<4SkWHsl}e056eHSW!*Ly?qq`iv@*QiT{icAi zS;!l$W9^__V0=drva07ENM9S&_umD?@5YJ}na<_sFdw+}%b<;@M#?+1@14ILbHKio z?VcLEWO9R_i$Z5%6_R0xee-N>6C_S2>4Fb);^!ju=oy;$yYRxF~-fF=|^cQSk$)ZS0dK9;4FiO+xc8wOh zv-iey>u3Hl6Xr(py~)`e>c9UFkE18Y@_ z$Ln|>cwOw*%?vd}m%Ex6a+w#pysk0crtzNPQ)K}OORL(9*H+-3T(>g<$tyTpnC3JB(8ZDCrjp?e{>g;{Cl36IhX@q#)aW{STC zY|62$gbUGM+{>dXXr=E4NyE4^)aQL?dD9;E2C9Q1PJVR4pUsU<%=)le?8Z)O!i2g= zka?Q>x(nU}W>49QCJX3AxTT>1pgu7Hu;xe>WlFaS}WsDwSCcW<&8nk_Zf zvI>|Ho2F?Idumtp^McK7F+x1PxG6h2JHzKe+w1hPpiH^u9QO&R{?3t%Ag)UmVJJXj zh*JAF;ADIi`c;B^QTq&;T&!Wx^O4cUHwP6^<3`$3A_qs!-$rP9e(7SE-CRoH zWii4(c0Er&gI3Y&Hb8u3xA}i3WP17C-#$D7kjN0)iWx0#`MIrTuPv@X%i!_Sn88J8 zPDHiPz1Z9MzF`N7!$h{zdX(X1+Jy!$i4M5GiIe6m{oJxH%^Phl`NWy{YSy(egfOA@ zQ9s)G%@)@&@eP?tmLr9R5F&2V;=*r;Iu*oFrSu3!v;^0N=rCMkUw#geGl;FA)r6bl zFU1i-8wPp1fRB@piRln*x|V{9X0EnU+#Rn+U{UJ?pc+d$0*KG_q5k}lGl*Wpo= z0H;Lst6l`z>)wr`Ywb~zF1###Y!)GozTs@$5?$LBL9g&DhAH@zgH_kL5A}T`cg`gv zkgg>-l$rgqKh=@aFOyF2#!YJ%Cc~S>XNRW!pATL}caO!?sjon1OKdy9RmNdvy8v02 z)1EmGLvuo%s+?w_p;qPU4WVNr8;VEArfr&|(B!a=T_9EH>Y}KWr!TZqkLSN?9GfxIcM)~hG3xgv)cFV=DD|W*0XsL(mY`P(){q8=eq2K=}H}~m% ze{t@S4foj)?;AgDGYgEqq~gS;Zx`!+<0gv~N{$HKh*B(y&%3VvlbKLOl=5%1;?8#5 zuT2o+CKrPC^!SKKP;$siNifP>@|Dk8_5FCtV`J!v_URn5OZsCgQaSqF_0f%#kKL~QKt><^L{EG56oQ9 z^fd`;QM3{lA5a^9wK+F6@C@0-nM2!K4)vX9OTl&f{LH*u(1}siH2VFUn9>$c`J79uk4=Z-d4-j7>{=IOdehOK`Rw5);FFS`H*;t%WeFDwen@uERC~zSqWOD>D^x zCIi<_lS-`4#pfv~Ci#xH71Oz`Euq=-?r=~gGHN=0J3g!1OiEZ*1ox1C$ew?vGniua z977tA?1WsJ4Nr#^Bud;~NoA?Qeq}75N)1D7@eGuqs^-prz>S0|Lw14S)|bB9dP}2n zqx0kfhTqTTxmo{{DS+ACmoiU|VQN3;Ov-she z_eWK`GRW&*-MLHkOH%q}1y0fF1`x)y%e0p>b8huh@y0dBHDzrQbg&AUo7N}eP)G#D zr%e0m;m4^l&oRR2gxkwoN*tN$TesY zRg+a|1GQMr`o|I9R}(;vyK`)mNB=RF7qz9!UG>AlQ_TF~Ds(NJMU0xk4Xq+rFr~Tf zvmcp?N?qSqQ6pawvS!skzt+JhsyEv;x?P6FHI0-MA{f=4L=vf5?qpw(!SSg^%cM>J zi+HiPQRio6xLkY-n+<-b=!t~jQ*KeEWok@jjM74?@s3&TrDB@1(mwfm^1LWIZGNrPl2b(P2Li}FIIKV&0>D2=znPp_C%eFY;%Vl?RV1{Vu@i?m_!&yNni<9`rDD4PQbBtQh7Y4wwS`4IacEa} zI(Ew37C%hN3sYPolAg80+XJtuZ|U1NG6@W#JjqhRG_5K81}ARSL*@Ou%6O~gB~o+# z%JBE?z1-+sK;`YU1!`q6ZN*am^wBc8##>`OtBriFNPQwlnun&o=%KW3=WwL>%(iz4$D%P^XM4e|hMgB-q z{dH8d=hez;Mp17axgPw}{)WicH-zg!t_}93C6m5iY5944z7Qj8FARN}rK;rO7EoHZ zBPx>HgIJhO@S4)uTKyqP`ihi3n^mP&uaJ6?cXuBHCFk~?+RP6MS)PJR`I--G78$xf zTu-U7m%n-QYC+}8fD{yq&`n!2$0qk;dmq>3R8va^?YZxVmaVJSl)l#M&Odz)e4TP@s@!7JgHWZ;DS0xUvBtQ|s@A0F+#<5K4V_C*>kbwUfQd?PrueS&?RYz-ZWN>g!d!ps`cO zg5>t%1H7{V;qkmRuW9G){iC&>Tye2j(MSgRiUZNR3dzy1L@}ht+)bB1&$Yv@$~A#I zExH!jdX;ag;MM91Us^By!$gDi-ryEDZPowfNzVCXSCDH)%;^=yYCC5_iMvZ$N7vK- zCD+kHZr)_1!TBKy&$ZkL@|+6kaxnce=@pu*QDRgxg!S=@2anBYFf{C`n(;V+yZgQA?MLneWHv2Q~dn}AT^ffa#L!N{f3WJyEbGR3(W?)AW6*KaP z+?lX#bmPM32TS1z^Da~yYm;jEVkksEUry)a*0LWfeS2u`ds6s@0oE&p9CRu%MB0B= zjDdGOlwzoH8H+RC@+MVX9qsTw9&A^gJ3!Yq8@_+PKa_(Uah&kJBW4sc|39Vxx z1>Je8V%jyBeV5(YSPfyrt_j!EDaiKJUW*vw+g0v3Y*7WON#iI<`7vw3o?ilvtipca zJRuSZ8q!^IQ3m8{wH*&f#a-aXj@V8+j4?Rz$|@HxJNvOgv*zY5U?n-ep6-{qZKk#h zXkza>%BvYIO1FfjFcU=!2_-npjB8hBJyi|OEEPF>_f2ri$GIJ$i;Yg?iKOq}R+_*J zZJNTW5-^V~LPIUpI`0t+`7N^jyrr74iRSWy9|7LCwZ#Wgq2(FZNM5A_Rtm(z(!|PZ zBw|XC_|RnKJ&PM(S{BRlY?@J>AXIuN{<-0YZexg*(bWXFW@^Js_LOxQWEa477H{8*ACOu)nuUMrX?XEVK}aJ)PRI! z+g;*+sY&q{rh(+g_-EU715LGUJ&gok{6c>D$jKulBze(v8x|D!UC>I);3NsjO%W0j zzd#a_HT=nMjD*BZiiBjsoP^|1JP8ShQ)02c5}rzO{OFN09=*RmcnaR1+}cvHqJLw3 zBJQsBp7V5#hGH2{4((yf5OxbU=+SOq84o?=awg-@&fh$`?~+pz<>Q2U!VTi?4H(rq zl&g$x&d+}R{`8hjymU^znT=_eo7uA4;PUm0U6W+wk!u{UieP+wieQ#LL7F zKXd%{KY!dNUjBc6P_yH=|NQvRYyMxo@IRmP&nN!#IhU)M)GHG7UUp3XZJ6<1zZ|TQ z+GZ;oY`0lNTWm5o`Hkt**sXjYQ;LXM%RHlCJMSFY;{BwmxgIg!zFlMqJ1Wc);*;?3 zp{7twnFL|??zD`I<;C`(TFZTV_m+9B&b6qAMnv#%a(Z3JOiN2EE!}wBDn%Kvef#zV zh3lhT`G*c2(mrvb+?Xz+_R|wZj*x1G^`~mdO1^(Ls8Y=B?856uLgdb#In&YJKCkT7 z+18dId*w?PpQxDF_|(*fjW`z<*VU`Pb4uE}yNynto^RRfq4cez!*%T7?c29Klr9<> zaXMaLCh*_Z5-!Nkmy?zKF*@4W(NR-ZR~7F>QR4pl(P8hkQqTExodh9qadAOG5-S-y zb6=%hB;7}k9Xsajz4`il;h({BvvcRD$g13Qo*Z%;|B`k(L-)cP>#(x2!}QeDo$`Si zsbBHv=tz`zPAMxZD=Olw3+zicc^5IMfa&_mA`(;oH_0hf?v-Ju4FE?1r&^O4Z zzk7FIEqQEgOb73}VJv85di>O>Q`Xi$@~rArU)L#H%P2@nGDX){_uoC~*Z$-;D=TYr z!hWhc{|v3;$Bo~+?B+BkP%ZK1df#DYXQv#guuoL+{rj`&p%f#5%CPwDc9yV?jt=sJ z5=<_?KJm%P<#X+~nVGNNMajk& zv2j>w>7z#`s;VTBJoPN>>`P0(&j$uIef)?eICJ)_ML%xW@6)GGms_9i+)lW1<%+Vh zG6%=QvzdlR=t*?zK7GngN)nWmlst5(I5l;oK4{;*eb1C{**G{5BqSKssczSfBc%QP zw+Zj&ki6(M)h(@{puj21sA+22UstDb>QuB^GWK{ob)dk*JuzA;jN=qiv@5yY3PseU zURj;{nPg}hn3$OO`t|E~?_}>84=;cB+$Lz0cuZ5X{&!!YCP8H1z7oq?T26^S zYPch9ZMz!F#>U1EA3jK#VxdXGj_%#Jk0+0lF@&s~t!t-{kjqfTHcl#L0?80#86z3P z|275ubNYFi9DFE0OUb@*zk2nmz5TwqV#M}-o8}60sRimPW=&3#O49DCiVBh-wejg` z->tu!_0a+}^vsyY?DyIT4oNA_$f&3&WQhk49>m1N!r8KL<3GxPTC+m@A(-ZrA2K7ESY z(TwK*Jy`DBtf+qD#|>9khwj|Uwl;k;v#npxeAziTG+BP_z$eu0KeIPKD=X{Go4KLN zfU{@MCU$-}@lfJIvFrHaWY@wOz9bwTl42Gv70ayrfs*Bdufd^U<+yb#3|s3qr) zFtf0*;Ee(vGn_wv{`&RnJ^xPx&w8<{CNJ+fS}9Pv;pqAfKE)%f=qDn4^xokfIjFtA%V3~Juaj{eK zkzBu7sU4**KeatPJWiaTD`tP5md3`$hFqzntjxyBy0EY?rf74wJfnKpDd5BlYiny+ zSy@rmkHHK)j~+kXTAR#iZf-`x{`gVbb>IY!ubthSH*b1T5AKVd9tsaI-`1~v?pzn{ zWuU)buW)E+C@C|u#Gyxqfq?-jytChPgZRL4w6wHDz~)^1V0Y!pD#8je{;kYABBc@^ z(A=ye6f-tDO39OPB$veT3C+d#F10N!3=y@AQN`rKC#YVZbT8!YneYfU*Ga;hAd%}Z}-*AchhaOnQQNZaJ9F1r_GIxAxci)ipN9FCvMzW#_i!R z6O)r%uU@32ys@kee|xz#+bB=X(9pf3!;ab6*_n(iV8iLYk@)ZfwU4emtaRlSrwU)Rc9JP+l&fr|E zgr%?VR%HN{o2%>R$4Q#~ zoi5+vKjexcNaI;cEFgb35_CkWKWxKC^Pbr&w}1bBB_-bE@`OKwJta4CLPA22%QOdH zdU<{S{+;K5LwDgdfw^T8;DVhycfNoBo_@CwnYlJ~BqefNG{3TCgU|_G-2(>?K9jw| zaxO6mR~{R?gE2(CY?q9p;(BB39^_Y2Qc|Z7zaR>yyPj^}YiMqMBnXFwhE5@ueJl0s zPcd|@sjcPX<2&`_(6Pbl&_Eng9LVY#W&*+Qv|xVF6=@~;F%R38s`+RI|l_U_F?^%U~g}pW_2l_gysabw&*|BDB`rC)|g^m}l zU*Dgp%Z?lwpOT-yIQO$DC@6@!X?=Ztx;rmm_xics-d-F?WcrUEKaT0MW%= zfy|VlDijvdX zs%dmsP|$CcjUMZ)qO#SNs`*UC*U{d-#C7~j*QLFC_Xa!0B&hh7y?G zmqZ?76$60qET%YUMbR_da7aNjrvSuR^d6ksKL;K27; z58=6;yLOEX4f(0PZm@RI(9lp-t!R2ENu^9fPzpkcLzFBoFC(B*XR=xm4B${WLavCxq(Rr=0xVFMeR(PZ@yM6JerX`IA`N3pThw&G{ce#I%(J*51&gLM72(1_z_1f}4Bu?N6RO$t9CB=Ccne=|@wE(Xm^%N}{7rAz`TJ zBZnB~T#S1D<5%mm>Hha*vsy^~^ppYPzkefAzI1h6p45MF#_r_F7Qk=~g4oWT7FVvk zeD&(%XPp^jD#Q!wn3YU0U!KL^cGy?gg=VR`xO`CKW^=Cl(J9S4fP ze*5-kV&YKzI=3p#l&&SePz;FW4grB^%MJbM-NdtZZwZ&z_w{Q~X%7yNdI+QRP4Kw&W4jYn6OZK&rE!6Mi^-5K7qa#O-X!WWfDF74B*^C?VxKJg=#-27bWS`@!1q)bc z*x!(spTD^>yKC+=5xgr$FNF5LzaFwv%vvLNOda)hxb>Mz^=Y!(atH1<{s0ES5lbp? zYNP2yVngMOdG`#IJY3s zC3ABUi}f>m7e7AOr}b!aGN&91t=UplWiAE8;_l>Bgk*N@nxxWUQNO~#v7NDvr=BYH ze7JQ`UE#3tPsvn0(OvAPf%kUoPz3xu@sH2gjw}ZaSo;!d3ablv^ z%+Qe^r&h+^f{p!{ow#}H7D`vd%+I9MR4YBbyI_G6Wn%mGZOt`FB7n3O?jIG}>1!W` zJi)i_+_WH@Da>+ZA%~7V!p+U?15&EF-W3w^h^YHA=4f<~J#WD)YK1x6J z?2gg_b>N(;wBuOILDczqt_S(=-raRbPmX=^B&zh%wr&0aR7`)1F0J|2TVEnXX-rN} zGttqZ;HOiSQ>o^5yJbGOf1jL!;zGHPH+{+MSX(L)$rME*?>v7l?4qK7;lc$=%kQDJ zh;ZPAOP4MsFtrLn^B5aj0R`H%5u++Y_jmAWOZ}cbdqSQIZ?=rao7PNB*r}+LqtN{M z(}S^oO&AB_=A<)zJG4GI;6Y18<;*X z|MggLPjBzX-aQ35IZVmCxCyCe^ES*!j#MI`6XN3q6DW2Sj<2k)a`h@IjPeKHy?Zw? zk(XHWJN3?;y8%fA$wN3+#J&C7w{Ks*RL$AMtkmWjO?AFLpZ5H@kz$jEK^Cgwix<@I z&7~7|*xvVCTeza9r>CpS*vxPwH{LrD;1#S0xT9s~1S>;M#kk+r;zOxflxC7~Bm*yQQ z69lFrDy}J|nq~X(sINvBNmg87!j_hn02D8jxF^r3_Vo1u%HJHW3Yz*m zV55Me0ko|p;y6X!fwS?xVX&TgZEelQ#s(NRlF~b^%@)K%S66p%^MEZU)VthE=~!b4zi;r`uJLb!ihTMsB^+fQI|UcGpcyTl>1Z=XGVwe(vy z?kJQhq#|JT(4&?p@u}j-i1)Of50u;hq-EnbV9wf-mXdN>{&N8ola*!#2_9t&VX;R@ zNQT=`T0lUNARkDoEG4CytT*O-*O)X$3yg{PNoj}`1)#)%1BX3kk{~052h~GGf_w?Z z&%n@dbT;s-)b5RESKW|ofDuzY9FVT7tE-V=6c5=2RhqN1vBeNZY;5nPrm=^ul-OSVwB7oaWuusT!)a*H#XMtRx zZxx>(#unRmWgm+neL4U&Z|AZ%H4P2ai_L}hQz*b7jWfe!nTL*x#72aNGuQR;P*Ky- zAqls(wlZ04)LPuTY-h(UATZe3NqJiBA_PZe2&8L^lSCM8Ar}}Nd`LmzBtDzo=km%5 zj!yI*XUK~53if++6JI=kE^C<=9v%+9-||%X)|cnUo1?eD@$?A1!*)O_4h{}bULHT@ zQD;})bkWq%_+tAGZ+2W;`*u*Rx}NC${(e(Q$(;Cj&L59E#(jg5^V^9kpq zyg2g;Sj)m<=l+b(?d`FNiGTw({7-sk=JC#;MPMk>_vP+6+Wqd$Z)$GNDlJXy`c9Zn zF>kYd2g(lMoRvjjbyHVU>mL{}=Cq_35EB$LG&1ULYx6HPhD3rw5Lks$8})tnW|9f= z5IGgq{G5c@wr$&>ozZs2eO)z(K{Db17w{o&G$87r7uZ)b0gBDeR(q?f`w}(bYgFpYQ{OltO78Ym_ zT4@dZr{bq8`oS7)cp&CZ69Cr@?gk000V&cew<4K3e* z$RTQ)0(c6l^QomJNNiaC2Ur3~jOZJet3XkMgJ!7AC7(DVYLOv8CmB5-K$KovS&?$3 z2EcfEIs>;3AW)o~Y|;Jg31k>B-e>_89ND2Cjj=dZ*hA0+QQcqQ3)ByvGKbaNyT>BD zJ0|M~Ck0X%FE1~4lJkKLJ!SjAz~s+`he-^4Dw0f#?{r;$j;t3mm(fMkNZHjx#rS0m-?<9IB=jn{bcpXETBji!YVd4 zHG>hFXo{Zb0>i2183=>@{ry+k(;-A{7X1L5yLt1_y#oyN^zzm`BM|m+46a?d;)#pF z9>|!H|koTmCaZ&k*tc{c7g9oQe<%b7)s! zleDz7^1r>=K}xD}f6B?pQUB5m7=0WVNFHl)T3|Fa++BmmT+U!?9f@J!8 zXh_Pk5#<6(aq!Y)*C@yR7rq;ECG55&?ESjJp4-eaP5pV zKB}p0Ad%qPC?P|}WCH9r1v>Q*Mre4Tz9WK^M-LMY6` zD#ImfYx(&5e0*3@vm5gT)7rwo`~UKVgJ zSsYVO*2Ccp$o}(ZpadAOzF=!}a}%ic*2YR+Nr@sAqvT3%UBHp>N^@kegAUzyV`5M& zr3yCn_4K*{p6@O95TUfo59;v#DkR-+1y}o!F+TmNZ-mHFU2WxBclA&IdxU2yd)3rq z@I;hXXyg8W!$~@5(*p@lSs1IkyFHLxaFhnUBo7}tt;QV{_wZqelEggT@H1apPEHOY z7WX%$m7ScPUSRk26;X6TNkv+)xpCA>LE(L5B)v`WlSZ+f546QaMYT?zJjUWemL8}+ zyt5L=3N?^Wz7COQ0SFt5$Q1ipe+PjjEKt~&{0Rsda9_${LpQfYq$m9!eyjZ0RmB^B zfcGoW+}LEs%4l`g$OHrgki|wH+<*I+NbLOlJcwyzuNB4Z+8xZ)fn#H~?n)#oKu9sW zG@;5WirhYyX22Ex>*w_JU|(NT^YBH$@IU#Dyy#Nqm3JCK)iNummG@ea3clJT zcEGXU$k4EEBU<24<*Uq00C^i1eF;=}>Q2Cb zxT8M{kuD~X=9+^;Kaj<33cC1yi4)6rCdY{naUfN+LW%tDJ{d1#Mp|0!Smtqh%6Wt~ z5>s5a;lh||s@FMJcXxpFJ;K6HLu==mvz*n=oH=v;JkLOEmFPm+@bBNhQwc`@wlUCg zQH}3Pdixe~kuy>@q5r$el`q2VkK$ZhTpS%8@mwsg@8%-MggX$Sl9CcIa=q~OD_&lu zMMWzJ1oH&3^2VP3_5!fklL&NnDS55rCMOS9_>%!GO?@k_WD)30G7C%gNXEMYR5zE( z@;0C`2l046#wqg_VF zk(ELi`COcws2Lc*G1BA7~6ht4p@9{X=(J=ufca$c7(qcPbCB7 zLsbFyZU6E`Mn(qhrOvNkAH>Bi1!yIsVfGZ50rJA);v#Ug!cH{;?bPqzC<{%kt-gyB zXFY^HowY;jN4D2lae19tSX@LyjvZ3=NF9TF*05!WO%TMlkdR$EO#Zc&%Tqn-scne# zP~rJ`&cA`ww6qdtWnRcZP&IfCIsy@7zI@4*epHtGdjl_d^Pp; z8SmeNKlWBtSwaLz^tugE7!RBRVV3d7M^aHB5YO+ICFG=~X{f2C4jkaG7IsObzxI3g z(O-)-BeT%4K&cj(D-!?isA*NX^pO> z;Xuo1*$R4GGO80GAToRXu#=RapboNr#`|IurNR0hoqyPuO<8i zh`sCe`Q?q(>lbyM57~XbmW&oQniJ@0)6mgX$45%}`|UKRMu!$U2(AMiTBy;^bKkj9 z$kFQF``{+}IKg{uE?>sJoi{P*?di$en@BRFEN~3mHT~pc5uJDvJ0v~{=vxP__F6kQ zcma%*Z~c9o@WN=piEb*M0!@@+8;IVB9~op`cc`LnLLp>RW4BI z<4cdDyRwLuzR2>4XdVbMXmVBlIIo0;6A+ki$ofdMiiQJ2ikzSM&a|?!zbI_TaTcRX z`FVNZ_hOlGrM`U3B8rMU7Iy2?$>{x}trmCxeyQ)))5~e$IwBk#9Q8FdQu|L|d~4H! zo)R>G?fk6d5jV~izpWmWMHFD^U=LvlLolK(?3WUQP8>^^>)7X=xZ%Tx4|f*N=NV-I zWtNsI#c1j1=m^I)igJsIiw|J+Q;tO-^+Cf2)`_Y#hlFt4cm436!OC{GEtD!iJ}8+Q z-kHtu($!#T4Gq+W;uZIu$kAK5yI~}4XTe}1O-4p`WBQw%jEtJMIPeQJ9#b@Og*c>H z;0uUx(BX**+p!0%7>^C0YB4b}zz;`TTPS)bG&MD04{0qlZ|90)1TsuXu|y?q&U$+A zzyaM;rz9mLY!=4MEoNT?fugpSeXTYkut(QRnilD)sR?1HWMo*531%<}9L50~nO#BP zO~M26R4F0<$@3gHbD5QGlmT2iCpU0%ak%My%AtC}yWw@U?u)IgqGAcIOy)jkjJmC( zqlBbnxyw)5{f#H1A|o034q01SkxfffR9X5#Wq8|I#m&Ao4`g98SG=;meo$66x7vt^ z8sL06@UgH5|G00gI5S4m&&nZ7L4wkGx(<;5uv)MD4H}4vf2P<7+))~W%tV~2qodcy zigTy3xp3OcOX=S8*O9>*kj=f9rV@gJYHjV}AZQ7|;_@N4A(1ldC|m(d)YRsqw8$5K zH=zf0;)^%|3~?Ch!$gM|J>`DdK1W0> zicNDuVLb>4asd1~2?|GGjRD1E=dLxkV4z?R$mJujXJ%*nOmw`YV&YG7=Rrfk^XAR$ z^M$a@kPNi`U4|pTz`(%8&24jLH~=&etvykC>WmA!ZtfjLFyP5D_kTExVki4P+$xNY zjs`!22GGAcMUozv`rH^!tLA0`(6p@V0??T#_e;>J>}-+PMyvtK)Fsi1)rRG5D&_a? zeL>-ZTViBn1nj-d?H*6E!OPm(T9m`$>%SN$G>AnB3NDVNBYi#nX|;G3pXGseWFrIu zq?m;Fc4#|5p#D?R&tK=DgBcjGY~PLwvV!~zA5FMB*b>6S%i9|~*0`jRETR^zAUtq7 z`+9rXSy|CGfLilFOW0>)C1!OgLnoo?d2DD<@L4cOSf~)iZTW&Ij|2kmjva5o>a*`O z(X+D~8SUbc!Bf!6dSNEqcHNFw`R2Q{w4m3U&-Fx!vK@i|Or;Awn&wyt^UVtjt_Ob4 z+JvH#rD{fhY--xYB)pkFS65dz`t#@Zu%iX;Yy?7Xu6$MIZiv7?emu|4e)`}68y{bb zEqV)BkyA)#)-s;3(QtEf1CUIO?O~6A-L0dot?l#Y3d=kYH3TP`++e6VuU>H*u29kK zqGw_TmBbLtIL|xzwvyuNDr50U(l-qQdzd-h;(hoSj|0 zxCn44fgE-5qL0JD_Qiz-lqtZ4&+}HPr!#?@<>lq!u{&#O%KOKHnebE{8gffZ6xbMA zk~q2QZE85GP-)PPa{t{6q+9E_Be?ARF$05p8mX{|F}(V9hfmQ*%AfE2ORx)XZ*SCR zA0Hneq%m&D51)|M3$6_wMs@Jup*~FDpR@3eMUds&cgb9rLsFO7zaPygh00Sk`uo%n zkN8u(eggh)l%7bRUzH&gbeanHktlg_B*E^nV`C<8BhoN2MTdof_{&A^d4l)^B@Ye? zYWqofj1EshZN$@OBDwaPD_Lk$Z!i(q6@iR!{SdUELm=khrPSc@gcgqGH9BHsq@-YE z9$s3or9d%o{8k!POaVJ0@B$qjUB~o}ZOjDOg{37l@LYUUW<5&t^W7lKA_pOZ;r!{z zx}YtH3xPrn_rYvZbr4*NU0vlj7bgH#QEJAx+d4bZit8@8`Zz6Zx9~xVO74KioEPNh z+d?3%9X(p}>C+uJL7&t_micA0*#gbs!AU>*(99>{z|}_p?$f4|$O)i={0c7QPoBW- zio?nTD@G?r4#^`;vS2@}WP8J#H`h=d?%aH@cl2mrUY@h1rBL|YmVT}C=lej)cJT2< z>AoH_AzHhTg!+1V{7w9WD5U&Q6rl;hRKXach$8}LL)-4FC_pvCPB<5+`P?}cwJ*=u zfk{F5j^x7Ok4 z6N-`l8yu=73>AWyZKb4`pO{!kapE0`c(?Z*O$RNk6k=nZzo1cPy?zZnC}i~25o+bH zQRo~%oWn{&+x*n3!k-Oa!C%A!@)B%{V81Hir9X;{tKS=uh&q|EDmVPWB&JD;8(j~(JCtNbpw>k=;^ zZFpqlzm)CJP%V(gVu}>N9DFL?1^W+f*Drd0VaRd|)v(Nao!QZRg&U^^Pk@M9$=XT6 zVd~NSXnt|NnXT_+JdtOn}8)g2FOVQm&ZJVTTs~8JP;Fv9NSp`gIo< zu&B?+v{$iFh_~?Yk1!CR=lTA7&ErRpXzA!cQ9fVFOk=vAo<52mHqwgu<{=##e|}9J>2|=b9ne`y`hbCFK`UpVT72FhBy-hkRYVrAE*O&M2vj)=q zJp7QFep}(Ly?cwHy8$|ynVGpZ^`Lq0;D9Z;ij;;H&gG{zXc2(i;V&?N7PAApO-)Uq zD)900qJSTHT~S3^M+xqkl%&d}8T4swY--ADapFNl1lzxGXF|62S5c_ z!h$7Su_g*A?o((r`SDP~Rd)+o5f;JW>Q&$@ze9Pq%gcR_9jo0~ori!?Lu3D)ijorY zM>*uvj$k&*fSzKvNh}huJLIFG!`muJ(hs@OMcnvf zg5=D=5QV!(hYzm?T$bupgY(bC0(id8REqsdZ9-f|UZ%1$8>cRyjeqh})xYCFgsXeElSEZcb zR6lhdnapn2u3bp_2NvCt^dJ(W*g<3*Q_~jRyB8^y*t&(GtW=|I*x92YWH*6;PDgV< zmk}H--@g3?8AI28Oh^{OG92CFChtUd?o7_lf57(yI}9T#9Eu=&vWN2Tfp9M^-HDDS zw$xs*85xn>*d-?R9xxIfS8QFX{kDi&P@Lt31taJcJUnmrw#oXdib_cM%>6hH!{h#! z@l5T)+t9MZ*ErBz$1^t zd%C(FmT_=*&>{xUeJ0xmS829MKCRm>NU}ZUzFYTppWs*Vi9D1;m7w#fvGF~GQS_Vi zvp9IHzrH$)(hq=yqvzxe$D}hwlm>7i)SlxfPhLuYg8m+wvEZQi$r4s$>&6mxKQ{KQ z@0Jfpgvbp^I2`I~YR;THxBtqYZKm5+ay`(Y3I|FN5f;vUo?lv8ihzL0mV%BQ5iFQ> z_Tt6A=x3u53Rcz8UXcvH_*3mP&?4>Q$4@56P-M%%(z6I;ezC}DC#-HDAOr{4K=HT^ z?HgbfUVk9P^=}iVH-|nz)c*Wg&&Dv&Cl&#Ks|Dzq?#+)lPkIYh?25uw_-RqtVS(-L z@Bt0Au}LSo-AdM%9THI|ivD>(e{f&$mv{nzg4hM24~Srdk52%KUyfP155z>+fVyw6 zaz_ETvTfh)Uug~>VM<2E9x*Y6cdDqn=n;%lbi>$4{XiQA2H4GhzO?QtC9QGY;?52o zzY_?sgCL4>(P0C7kB^TpC^&Fa01^Q-lv1d9ZBqe}kQ z;e+z>EzvzM_b^jKAD8Ea3hst73r{6FNkq}BCj@O@P^%HABD98$b#xrOtj)=#aLT$O$)__RF=`$=_P(enX;Kw64(V$==Dqu${xFl*Xm0};!r6Ey#Sx_! zYOqanyfdsp&Iwc8UPcuj=H}*tI8gHPMajwAF3>?Bp0!zYrzE+ExZipn#!WDG;x8Wyj- ziN0GAYZh9(5ER+=879fTU0p@%9~O<1gRL7ULyvw3*Z@}R&M*X-z?-g`NK?Vo0z>X` zgp1vtwO3~|F+wu<`7?ZIm`Z@($gI@Ed4r}C1gG@FhktmB_I3`Au5aHCfA`0gL1IP& zyp}Pa=+;6b5;nll0o!ZWq9Y=#MvWGJcM2NiX8EVWW|KM+#B~yyHmsQC?FZYXP0k^E zpFH`yaL}hO*P{B*A8W-!?KDgx0SM3rfx^kaCsp*ah}1~_ z<0aG-_+JtgZ!j+Ej-rgCo4mTVmSVW?5Y$&RHX$V9phkAOxw}h$l6H1(X0rsKLIvHN9Yn01TF z6b50^^oD31cGU95IlvyEPRITtX^>08q((8w`G^mMw1K#i?!}=@(d#AGf z0cq*Rh6cgdMu#`#l~ts4_Fky?s1hh8OMeE=U%YrHg#uU^?ste$G&@8htN0HA3W$rN z-#&rJ!Mx4oOP7GwQEvA>ICOnf2V7B~Qx=hf)-^PL!~tH+y6S;!02R&~vLEU#?s1Kj znuN%veaM5j_up?-o73A^=oToHZ?k$DV#mq^u1b|0b;zn zIDo~x`F8NmAz7l5gUx`dsO+=BdCbkiVi=bRF%u~b+~p$wamdo>kQPUA@$&YgJ!MM= z70KSw5uK46Zf<7{4TB%=Ag5dLeUX!cd=L>CdGy?cBS&`1%DO^$zWeUU9gJw;-rv4` zd;k6!UENPXbR3*lhl#XOKt+TljOc(lb0%;nMJ4Iq)&fh7*Kn~AU2`2f^XjD0VmM#m zV4Q32|NObNjt+e|`xwX1jAuSFQc`{b0n+5({G7;v7Llc42pa341?utenELjCr(=Q& z;fZ&uudXJ0!gN?h=F6u~f6$spP1GYJsr*hrd|;FY(|7KFH#}LtVxbeEGqADAA;WPt z3pA~DygZ$nl7hV=_U=-GASA(c3Mmc_$)KY`m3MEO=WVAAs`A

HN~ycmC{IqCh=7 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 sOI#yLQW8s2t#b2IGSeyFVdQ&MBb@0O#T#1poj5 delta 107 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 yOH_L_XWZ4(%v#Hsq*iE-LHr)! xag8WRNi0dV%FR#7OsixtGB7gLHGpd{wlcAVXt0*MB?Q#K;OXk;vd$@?2>^aj9PI!A diff --git a/docs/static/logos/farcaster.jpg b/docs/static/logos/farcaster.jpg index 08fcca1b403ec31cf7d236b6f9eb2a0bc1d9e7d5..ee11a92dfc1d0a1dd997a9b62748dfda6eb31c24 100644 GIT binary patch delta 5459 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 diff --git a/docs/static/logos/ferepro.png b/docs/static/logos/ferepro.png index ab452702a5905b24ebcb656571c4aec29ec5e814..e0fd8f7e70101a1f776ffb3861fb955670ed9606 100644 GIT binary patch delta 107 zcmX?lmFehJrU{jt%uK>8W=k97SvNMlUm0SoYhV~+WMpM(2}Ifk237_Jvz4tcGcYiy smbgZgq$HN4TIJ@aWTsUz7#SFu>Kb6t@T#skAE<%B)78&qol`;+0PIK~DF6Tf delta 107 zcmX?lmFehJrU{jtOft--W}jj=-QL*rer1S}u8~EEfw7f=sg;4Twt<0_fx*94)fff_ u2GtVRh?11Vl2ohQ{FKbJN(LhXBU4=iEE@W6%zXgVz~JfX=d#Wzp$Pz@XCa;d diff --git a/docs/static/logos/firecrawl.jpg b/docs/static/logos/firecrawl.jpg index c80e9f267e3e01f0f2816ed34d77fc1225bb3d27..f6c7d73575b1d940899bfd297b0357c36a9e7e8f 100644 GIT binary patch delta 8852 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 HtI_`lZMC@q diff --git a/docs/static/logos/flow.jpg b/docs/static/logos/flow.jpg index 1c00a3522ab4b47defd3610d137a96a2ff1297c1..697ac511dd0f04ddcec81bc7af18e7a8c45e21ba 100644 GIT binary patch delta 12832 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 delta 12741 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 UxmR_~`3ykd>FVdQ&MBb@0N3^x82|tP delta 84 zcmeCm>&lx@$;l+cY-;u?cGK;RO(tgIM!H58AqK`)rUq7~CfWuDRt5%7_7rWHeAY}# a8A;CA5+Y|5xyYLV2s~Z=T-G@yGywo{9~kcd diff --git a/docs/static/logos/footballDATA.jpg b/docs/static/logos/footballDATA.jpg new file mode 100644 index 0000000000000000000000000000000000000000..189340a1ef9188b1414cb25ce60dcb17b30a1827 GIT binary patch literal 18287 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/form.jpg b/docs/static/logos/form.jpg new file mode 100644 index 0000000000000000000000000000000000000000..049581d1c3bece1e014e68afe86fc23d60ce0a2f GIT binary patch literal 7562 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 V;!@98{`-s0ANu}((qv%_{T~64OmF}I literal 0 HcmV?d00001 diff --git a/docs/static/logos/fuel.jpg b/docs/static/logos/fuel.jpg index aebb609ed0651e1a3fc5b6ec2d6ef2e3c1a90c61..cda069c94d2f18c30f947b86122a6eeb7c62b840 100644 GIT binary patch literal 14677 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 literal 14715 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/genlayer.jpg b/docs/static/logos/genlayer.jpg index 36639aaa460cfb509c53fdaffad9b422de2589b5..1a78cddd72f914bc8aaeff6c1382df5c235b933d 100644 GIT binary patch delta 8858 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 delta 8869 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 diff --git a/docs/static/logos/gigbot.png b/docs/static/logos/gigbot.png index 20368670dc4b712b778ad26db5dbeac0ae4e19c4..236a56b0253c929c5fe23be692703a24e8359a84 100644 GIT binary patch delta 93 zcmdnqz_q=BYeFR_Gm|ij+0q7i*2bpRCdREzOo{d4#<~WEAx1`4rj|gYZD3$!U@%+R d`ttN&^-NOASR`N7HRm$`fv2mV%Q~loCIAB68m<5U delta 93 zcmdnqz_q=BYeFR_lMJ(|*{9e|w;P*Un;5q?F(uZE8|fNZgculF85mg^8fY6BSQ!{J fx=+lV{;QrzN*Rmf2Pw^q3_#%N>gTe~DWM4ff<_zn diff --git a/docs/static/logos/giphy.jpg b/docs/static/logos/giphy.jpg index f07d4168ed2c566c95611dd9e6de1d2ad10ed63e..2ecc1c8ce1ef1ef8191fa44bb7ce848cdb3f9380 100644 GIT binary patch literal 6287 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 literal 6296 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 diff --git a/docs/static/logos/gitbook.jpg b/docs/static/logos/gitbook.jpg index e01c847993831498a8af675d9a715276164da4dc..0f34e1296b535613eebe9e95849f706326e62e12 100644 GIT binary patch delta 10489 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 delta 10535 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 delta 24690 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 Fa$<^{@D%_6 diff --git a/docs/static/logos/goplus.jpg b/docs/static/logos/goplus.jpg index 23c4a1d320142e6220eb27c70dd3e9a117a37a59..b89f57efa315e5f858ef8769ebb6221168c2016b 100644 GIT binary patch delta 7215 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 delta 7164 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 U$i1p-&SwAuPgg&ebxsLQ0PL3+X#fBK delta 84 zcmeC+>)@O4iIYi&+0^V)?55irfA3@!H_|n-2r)3UGBC0-G|)CMure@cbf1_z`81o9 WG8VZHQkoYTfWXt$&t;ucLK6UAju^54 diff --git a/docs/static/logos/holdstation.jpg b/docs/static/logos/holdstation.jpg new file mode 100644 index 0000000000000000000000000000000000000000..89517fc74dcfdc8e2afed7b9c3c0f5b93fca11b7 GIT binary patch literal 12611 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 w`6WnpmiOqVo3xJ1%FFHmjD0& literal 0 HcmV?d00001 diff --git a/docs/static/logos/home-assistant.png b/docs/static/logos/home-assistant.png new file mode 100644 index 0000000000000000000000000000000000000000..cd4ed36180ce6b871e519f4dd853392297d89ed4 GIT binary patch literal 30745 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/hyperbolic.jpg b/docs/static/logos/hyperbolic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e97c501af99d53b41689a3f37185084e50a8c71d GIT binary patch literal 7910 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 WDPxg)Ro9%)00f?{elF{r5}E)~3mCBg delta 86 zcmaDmo9XRrrU{jtOft--W}jj=-QL(F-YagTYh)2(U}$AvWMyceZD3$!V9@A3F?aHY YUMXcPav!8LFERjur>mdKI;Vst0L1ed`Tzg` diff --git a/docs/static/logos/ikigai-labs.png b/docs/static/logos/ikigai-labs.png new file mode 100644 index 0000000000000000000000000000000000000000..ab33af31d1c958f69d1cb48d32887648616f6169 GIT binary patch literal 13729 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/imagegen.jpg b/docs/static/logos/imagegen.jpg index d228785eb8ecab518316e854b1cbc6e499e6e5f8..1ec59d4686fd2cb646db8ea54c409b8b7484f308 100644 GIT binary patch literal 81787 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 BLOcKf literal 0 HcmV?d00001 diff --git a/docs/static/logos/injective.jpg b/docs/static/logos/injective.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b47c1149a41c6575d1420bc8c9888af597c03ab GIT binary patch literal 16389 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 Jw(isX{{>ifJ)8gl literal 0 HcmV?d00001 diff --git a/docs/static/logos/instagram.jpg b/docs/static/logos/instagram.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f685f5b5e8576a1e9db68de1dfbedb79d2e41ce GIT binary patch literal 14950 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/intelsgx.png b/docs/static/logos/intelsgx.png index 0ed2334b87fef328162d08c3d0abd0af62ea42a6..f94512ded9f1a9b0d0d9a96c0fdb6b4e1816c4d9 100644 GIT binary patch delta 110 zcmex(i2dUs_6e1o%uK>8W=k97SsRIU#WMygzMA`-hRt5&Mm8~x` vFfgc=xJHzuB$lLF<>sekrd2W+85o)B8eq}zs;)U7sDZ)L)z4*}Q$iB}Z2TZl delta 110 zcmex(i2dUs_6e1oOft--W}jj=-EM5!+Qc~fL5PvAkwu7sp_PHDm7$rofq|8Q0fYB` xJq88_)e_f;l9a@fRIA+ll+3hB1|tI_Q(Xfr8VbeOCjm7uc)I$ztaD0e0sz~0AUOa4 diff --git a/docs/static/logos/intiface.png b/docs/static/logos/intiface.png index b4aed7e783f7f70798160ff977121d68703e8dbc..a89c44b3f503cd72ce4365cc950ac2a16526c715 100644 GIT binary patch delta 107 zcmbQXooU*3rU`wV%uK>8W=k97SvO8!JuAdm*T68u$jHjn5{R@746FmdKI;Vst0H9MIW&i*H delta 107 zcmbQXooU*3rU`wVOft--W}jj=-QGBT^{fyhT_cMS14AnVBP&A#Z36=<1A|8QiMb36 u45}rr5hW>!C8<`q`6-!cl?+A(My9$3STuZ)(!2=Nz~JfX=d#Wzp$Pys`5&(U diff --git a/docs/static/logos/irys.jpg b/docs/static/logos/irys.jpg index a3fc14837ac58be136501c869f02dc08414a1519..f1eaf641fab1677eba8333533cb629f0b5f9735c 100644 GIT binary patch delta 5762 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 delta 5771 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 J#&tOSzW{vBBCh}d literal 11697 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 delta 6408 zcmX|Fc|4R|*nUPKTdC}dO0tFQB2B5R84N}-##?q`%9^n}N|Y@zCfN&P?6S<*36Y(Q zeb1V0EMsT*yx;r%zVqKX|6KQWuIs+mIZEZ<)4VW(pt zgp7G#B4|X#axrS08t+!aS~7CeZRcZOGX@F?{uC414Z0y(E~_DYO;&vJ4ZU@!dOqDv zkiF%lmEcd6loAjta3%oq0h@A$AHt2TJOe%TWw{GWJ9CN7EfLGlbRSZPwO|UNSFm0% zdyZXVx^eeI?^89AtYr^|YgL(JLw!bJ`t?pB_xCeO^)PaONpE^T^HpkD5xEo{5j!Qu zJrhkArVRZTwF|yc9}Y{^W3c+nmmpuUFPO;?GweMU(^G=>cd_v-f~V37;;~gMH|Vy5 zurn;z=)*^;G+QhSE0mt{!!Mlgm0p+e7P#O;lL( z+CAAH01y>;3H1JQGwFz5!a1gK%$Qh3%*-~-(_0a30e1o$0Q9OIg<$5vt)1Ox1N-dQ zA!<2Na86J>%CbTFH|1mVUH45lbCkWFmsN79E3P7*;Qa{7Tw;EpJ6{^QqqWZ;T2v+~9@W>2&^q0N922zkFBjeq+km_sZa{*e6-! zm(S1-jQXDCeONN>*6W<7J1$fc&~6OM(_`tFw!f=+*xo~}u5`2+n=oA8{m_N+R6HLO zo4%-Bx-WWU_b_qM0C*Vn<_gHxvuu@_Lo>-H{hEsJz$!9>gS*RK|g*7%$> zKZuoG#uQj`imm92JcEm2I+Mwktr>0`9kVr3h`%oP&IwfhIRDB1eDIIQuR?G(h+2`)Bn18R@NluAT25=~Ph_)hA7p?}`S^D9`AL_iYhq7M{o zG;%GoaXetn(qE6PR$38o2Ket>`W*LT&Vx&bXIVgY>8jUVvF?nSo-O~dv0X@0V2wP% zrrIfrz*nC5QI(BXa+KdATRPp-vfU@C)Y{iI9oI>$$TD(q7}Sv1a07c2xFt*=MSJ-z zx0zqYtnD`qgHtGDO758STsWR~7C%4}7{G|fP>Kc}`U=C=tB4?1^f6Fgz(a%cvlgfW zod0W)&j4&+JD-@OJo@ZqpOE$V1PNJtQn?AV)l@t5Gu7+Xi}iBtOZ?^z-eh7i&T=j$ zjmA2@m*Na_c2ZWXueC;6;fXcG${@Y+q<5fot*`=3U$2*jBWB!9%>GkUHu@7j_Mj<9 zbMy1kUdWxqiJ>J6y0fN63+@=}>)3`Z=|- zF#P0cj{$-H=kr*}y;{Wyk&EONt7o~j#QZ{j<6loumEvCfyQYcYGhUeCF>r1~8>$u; zzi>nC>z}P)+a*X~9*)#tVbgbd77>)2wrpNE zk+D^ak(w$0jX)pYVXc*1n{8F;j}d)AV|g^Z{jPBuTtTb@>QP}EwM`^*Vcc>`FMh`} z%gee8d9O{948g<%qamNN(k(S;hQ-6)3Pu^0!^@k~+Qju0amBv_k?Cnmlq!R*p|viO zFQUz3q_{>&6>X`O>b&s8CXHK#WOyL&Qgzfib#d=C)J0Fdvb4a#4beXr{&xVc#2hn! z8P6+HtmiHF7u2cs4{w#@E!9{}nO+9h3FH4w5oyA+b_H;DW zcEtT+adoixc<|Q&&)!v6xzMCbzEuw9d#egN^DFf`GgGR3?)8ZaAcf1NU)FEIsL?3v z^6nZAbguDf^i9}QUCrDlUrhaePB=OqXI51mRP(8abS{@4v=v_3tKuV-n{x~_ z*OXF>@kV{F@zI+;0{($Zg8D?9*2q+GZx)EUD~aa*kxh&BskfYcF|(hCU-kg?Wp{NK z4Wo0=V!snm^4X1OrUI<)Tq(+~({uuF8p~U^2j%!p{wVUQEkCyakEzw2RIn9z-Elws z8|Zv}+k|^Ka4S4E+_FNxv>=J2#rfhpY|U~=hz8CQB^9h=LYPfioPVXVQvWlJjoBGX84rXAUh}pBLI&s*CZ=)b`8L$kp2XMW~4M1F{dB#7aFBg9d7~bjkbgvPAOVGjbl#%hLM<|Vo z6Oy%Dou~MHydrA9fzR9!!;A0wbWF0en+&4=WQ2fWwbBHZ0EeSbEBe`m{W7G^KR4ZE z-wq)nOwn-5ofqjTzl8!9q4w3!vX>>SZaSDx=1M%OPj^nAMZEGQ81DH-%SHHTz8OwK zJax>^v(Ue6#<{${nPvye69Q9+qMs6;Wo+5VE19x&*Q&8(N8k42LjCrafkB$& zC0TrU0SYIqgQJ9FaY(iN%gOK?yzqlVYnpBk&(2OEQa4<0jaSX)mqL8Llm3dws2#=hBEODHp-l|xu zzURo6^OxUQ@CbVZ{ZmWQDZ(I1Ck$Y=SwCGq~vqIQ$EXb%cd{rf>-(A zyB*G?1Fy<#)PdjGm_+>T+uG&Y)g!(nx9Kpc{sQyO{Rd<{qsV?ULH?9q#_*svG2qPw=!H0_~-pg!eugb!a zBFu%WMmdb_)}<%`mX32GcSon(TuBL}@x*T+IZW?i8mC)WMfjzvF_nUffnz{wNq%s7 zJkO)R#Dj%jlRGNS=2;{`!LYj|Joab&pOzNV_6Caa>BYv5`9uQ3d<{4o9smHBnnK8N z7Ed!*ZYeto@=+E+zrodm?;d-4NUMIhWo-SG}PWM^C}=WVJKbI_v`q5^|;qvdk~Ah?fJO9i?&RRRgB zpLP*L2~SGx+)sSW*Wb1Ld#HE0Yf4u6W@D#_q!YYM>C5aA7|k|3bUd$ zmn^fD13}i4p!|0PW`DDul`!%!WqjAsRr$>A<rk zGIsY*yX9PUd*`ep)heeBrv*zK71uC`L4lpJ=JG8(t*(aQ$n^0R;Y!;m$dKQyzrm&b zO2+e-JRT!tsuxk?b@i%XFtl1^!yHrMoc#9hQE*R%zcN0kxTP-TCd;%Ti`Ot~JrN4MnB)vki_mVc?ps6v^M^+o50MClqcu-UG1%)+s5n0!w%SIiI;+S?oOk0oG7|OyBI|@n6-y8H%ASdlvI7wnHtYU zio>%wMLVTq$ZPf;YL;@45}L&_8STDkDxN26yqkZ)TjCy-6x1GkB)D6AER6-uMR? zJ{!6n3%(OGZ17;Lt%3*L!7J~S9s_NhNBAw2ZOcE!PZGD@p}!CDn;$r=!-F0vZ1}vS z#Zl#{n@3JEZ>vndAn|i5(~%+0X2vrEX%4#uRw=04{z)R9el;Iw<(uML+p1&8g9&?> z(IKPE6ONaCUPAiPs9zgS{^G+6auRVW=)LD)#FbwjtJw(mUM@n8h16xtt%Sp2$z#A0 zL-5k8Tg1d%q^7ASTFw`Ct$Wa%HeAQUJ570mz9(&)9Szs_$FJw0Qs0@9R=WlV1d6uf zNO+BWLBdFX-t}oC5jekw;BM+3IOQ)8vf+dP)e^eKj`|YYEUj}2=vCu4GN-D!R>3+S zp$LVpV0{ug`Y0uDtfO(Z&pfAMOJWp}kfcMrJ}cHzJ>tAEvwvJ_NYmUj~!K<%Vn2ODr2gsfI_leWY_V<~J(|7&KuJJ^1o-`Zg;TUUVim{ZLO5t<*)!x{gM-^)53%Ev9t5@7o#3OxTf*Q8FXOic1L zob#n^-;YUR#z!)yR`7r;wb7vZt)9B8xiMjtSDJJ4_TLS-gpo?bP@vp1@zQvyJsZg? z>pUszZzzf1y7jV0M&IOka+3wNJ)get>x*a?=)u3zF`lUj-$%YOi`8?W>DsQy4Tjx` z;35qZ<%jp~n*PQPg@Fxo-HKi2o=@t>I`K`>?TDsUlnki?mM6T7KWOpYQGq_))X$7J zbHj}@S=WL_zBHr@gjRs{%-pqlsuAPP}&>mX7KPpDwnPZ)g7hf%s(F z#PNBE_eQ7~;Ivy-cp6tlUzx~Fr3oz+!5JQ@}r;k>v;-Md68&$F}!)U;F(R>_wwrU%b~t2TiCg0EjO;Q94c`=C5>y zru5e)({tXaPx6{XPH{vXs>c!4KS@0X^JPZ^&LeN&e^;2o4c&_?Kz^`d2$pwdXL=)L zRXRMk=9R;^#d+8H`vYq9bZA<3c#8P$O>Hnet4g| z#tuN}WTS#D0|45MszLf@@yYsZQ6%ImyZ9t7ivzIjYeYhRAbE4bPBz4$lg%9lfHk-9 zRo@V^C?m0tlk<N5^7sbe}F3c<0|(Fxnn zeC6eWelWU_VO#R`V*A?wR+Aq&Z>4l+p6BYz=AU6Q4=cNJZ7R6=tY-#)OhAXseF&?8 zURyaUFdA$;n)QjjQQ#qi5gp|or*;{`J>VX|V6W|J0A6?(D=foWd&TBERDCLhgO@$( zf+&MAaQ-V`gGbVFzSIHe3{IAvfhq0y5;*5@UFC{M9{?wi2rlb2rL zbRGztzNht-H=9mTNzRnJIp9JG+mCAvugVxz3cXG<#pQ|eW8LH}>L5|~mH6X0F1k|g z0lX(V01*XP-7cs%q!mln8g diff --git a/docs/static/logos/letzai.jpg b/docs/static/logos/letzai.jpg index 4f4874e2b9c22a573e882b5446dd77fe5cddf9a7..6fb407081ebd36d1bad0d664bb8eb1fa8c1fca30 100644 GIT binary patch delta 486 zcmdllbW~_V5R2#YS}D$!J)Uu&)vaG#@KJr_^?j!0eYd7WeWCC@C(r#d5$3FzwD*}` z`Nah@ypK$MZ&bXmm*r5L%KFO5bH8M$34K(pJ~LN;zQc$9&9hk|80#fYC!PJ3;r=!&CRug%mka&3uIxDGZT@nh z{MMC)^YT9ARef0Zoz>&ev{UDfvxU4i{x>h={Myy$elDxoxb)K>)iX;aYF8YympJ_J zTg@8=2w>ga?QFJo+0M{AGbZ0qv|ngL5R2!_S}FFHJ)Uu&)xBR_uu*;F^?jyQyj$Z#eWCC@Colan;peQFwD+0c z^ot8BypK$MZ&b3cm-$ef%KFO5OTT2u34K(pJ~LN;zQc#TJ}{N+OVtt$(Armes1WS<@MSW-8BSxeourN@k-_WN@DUF+SGvbAoO z;P0sElF#+op0DS6Ul7uxnX~3iL8{+o`Z>zdrB(Kx zR^{j2dZh}M%74AE^uwRSpB8;uw&Siz-|4j-h6`ynF|73EQARE_k{l{Mm(6=BTG4_3=(*q^+v^&?EQbJM@Rn)%b>zxpix_~Xn% aH^JYR+Hc9%@A8=3$Z>Gu1TJRA|2F~Fcljd# diff --git a/docs/static/logos/lightlink.jpg b/docs/static/logos/lightlink.jpg index b918cffb519a8c61277630902c3cbfd655978017..59ce416bf8ae498ed63e77d9ffb0edc0d2246a7c 100644 GIT binary patch delta 6717 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 I42}l=3w3+JO#lD@ delta 6741 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

MfEMImbk+70D+UQ;Tk6* zVW(`+NB?gqG|L{;qg&H@6IEPL&WILB8Ih_R^Uf9|+L?`HmKJ4SYeqS-bmRZ(GJH?j2zY&< zH6VD!RLXw1I>9H5*q3j~_#s+;%BHA7k-z(VQEr+N(k>ekO!rT0d;wglPd#PhJ_~(X zddTN)e69CNiWsr&&32GVG@tW@_XYNqc5;a!)aH+!SV3dovKK{Z5m0P5*UN8#fYNOh zx2JLhKPHyv8~3Jb?2fO2v$8K+YawCs=+O|%I-f-4ah(Cjh8tm+rKizn>P9#5wO5ku z713?&(aTV0ZEc;9EB+7@xCK!}N@^DIojVIn5I~9LWX+w=xby$m^UrPYcoyVqv*K6oU7Bw z!V>+Hj|1xA$2<%KCg@4T;s%2w4S%SoLkuvA+*D z#+*Qh^uZ>hnw%YDhBL#sQ?{SP6EW2^X;(#MDA+_I?Be1K5vAjoSx|&JtO7A7BC{77 zcuquKGzVSVID0qr;=bXxlMk?MYXB!=N#(p>DGF}P^a$9h;vg(8t z6R3K_xd>Q7sI|E(_&zfhSAaNy_=4!K%0gKO5Bv=DGEqpEi&x52h@lm}>t(qO%7;MpxV2NP!t>>$r-YgVf;cjO~ znDC~>@&ARz{c_?dwNc0?>xdK+bqw;&L=y0DblO(hUqhN3e##~}5b=#OcuZV|S8;uC z!jJp-okn;>F3~uD$-92?@8GrL^C&q{l#?93o>4yX6_Xx26@(e#~AW*UM5fh9trk;!Zu z`is~p-5Z@n2Lt>U#^?8NwU58`?{LrQ?^>L)UHYB{_8f}+sy}b=1<}0|gDoYV?e|ko zw!``kF)*!OIUw8^yU5dBSvus|Ij8*s`il$5Lv@z+pkeB?mkNWPU$Cn;KcRc3OW!5*e z>p*8+RSgu#G9)M|q6Urd#q4S=WM2l}+1As*q=L?7-)nxGdeqep)QmaQn3OF~$)p@+ zsyVE>!pQ5W`Ii#(yLx(-m2@ucTLetGv6h-`EiVWJ(KG#oe<~@D1=x<3ObfC{@$ecZ zOB)9YYHqaj;@>*ZgWFSZ<_u);!+wq=vbKg;0BD>&-%s?}x}Sf9%R!yIQY49(GQDde zufFfpk^i!hN09L0*Hd`G(QiLHwwWq*%Jy>blx=xZ25YdA-Q+xDP!jp!=#;Je@jmvo z&}d6aVKPyNziJ(e_I1HrBk9>>WAql9AX0Dm@|oG&?cf{=*@>L1!h(7*cu z-M-wkpi4%PZ(2(vTi4ral*txWIokxNAF#5*EfmNU&Gqf%{>W=+s1$0c7^QjUeZ9&L zSzpdfzQ@PTDy;$cQqs$s~$hg?SdM2(gz`ZB~9y_@H5ZqO0txkV3<^gD)s~>DtjFZKH zZDsC>m+(-HiN){*DUsgD>LzMA+DW4nJO+loq9kbP6$R!rkJREDgarXX&!$uPqRu0C zu4$dJl}>hPcXSpUO7ji^B_sI2%hK-?8iKfolH<09(~M^0u!R+twpuu2W$T~_btK|xJB;`2pBuUz$m z{H)-6)PnR?jtN23kWOFBQZ45Cwsrn`fTARe1CepP92 zFWhunv26h2{A$c;b%wI75GjhWxD&3CIri<^i&gK({OtyX)MHN(EK~MmaY|`8|4>c& z?)axKpjl+`xqkv+edr1%)7)uPXXEIW^Ne2oXke;_92 z#UlA(v@LLy1;a{!lIKT_doZWes{`)7GU2UAduab7+Ke>GK)adE1y)62vDa<=#XtPC=d}L!L!hEyD=q7=mcBE@7vVKAd_N(ghO*Y^Q&PInuFxC#s_l_O z)93K^A=$X7_VYNeNwHs_w!8jt6c2AS;TBO)pMJmSY!#@EHCgn+FgX!IhcJ#;!aJMjDV2hiZdyQ0ppHwb!Q3pEC4)7udxGar>pJ}V6 z%B}9-{aYdQ$j^&hR9H@Lg>VFt>rCpT#T_#0>2`)0-z)6T@%@Isb50O{@rEK^|D15* P>vMR=bNA0)J01NWI}5~q diff --git a/docs/static/logos/lightning.png b/docs/static/logos/lightning.png new file mode 100644 index 0000000000000000000000000000000000000000..fbd88feb3f64c148fb0a34035d09b775462dfd38 GIT binary patch literal 92448 zcmV*JKxV&*P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 diff --git a/docs/static/logos/massa.jpg b/docs/static/logos/massa.jpg index f547d4a3a4d782b8f0899ac621fd38708ea8a382..3eeae5c173633dc81c6ed66dc70348945c949aa4 100644 GIT binary patch delta 7088 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 delta 7054 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 Wj$)`-S$#8r5XqJL9{|_k(EkBs^PE=z diff --git a/docs/static/logos/merkle.jpg b/docs/static/logos/merkle.jpg index 14b01f901bd312452ed583210c91f426e31d8eb7..2eec72bbfef4ca8ab7c1242587679bc4f0f4f239 100644 GIT binary patch delta 5642 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 diff --git a/docs/static/logos/messari.jpg b/docs/static/logos/messari.jpg index 11679ec29a6a52159b0fa6315bd30b37e37354a9..f94321d63e0e45816b80d6b0788d573e6fafd1e3 100644 GIT binary patch literal 8377 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 literal 8354 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

Aa0Oj-NDP*33aO<1f>np4@Pb}No-F8R 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 delta 106 zcmbOrJ3)4XF(W6F46~`(r`S!m7uzuMh8XD@S%erES{WEw85(FC7+4t?G`dgBWnf@X sEpd$~Nl7e8waU#;$xN$cFfuSQ)iuDP;e(XsMW6--Pgg&ebxsLQ01pEkkpKVy diff --git a/docs/static/logos/moralis.jpg b/docs/static/logos/moralis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dee00149e3471619f180063bd3dfc177f5587515 GIT binary patch literal 18971 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 delta 8437 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 delta 4905 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 diff --git a/docs/static/logos/nearai.png b/docs/static/logos/nearai.png index 3adc94542bb5f95ada7bfe34c571b4e9fcd65807..a226b05a4fca03a8abd77279f967d0843ca2599f 100644 GIT binary patch delta 110 zcmbRIhh_2~mI;-d%uK>8=9k*_CpR{2ZDO>w4Kda=Fbpv=vNE*54X|igTe~DWM4fLLnd2 delta 110 zcmbRIhh_2~mI;-dOft--W}jj=-EM5!+QevU8)BquWD#OuWMyh(Wo)5sU|?lnU?U*$ zn}LBrwZt`|BqgyV)hahXB{Qv(!N|bKRM!AmgE2&dzt@+&Kn)C@u6{1-oD!M8=9k*_CvR+0>=HNDH82b@GO{wY1R`w%11kfA*~-?JC-3T# XQpO_ps;)Vo0SG)@{an^LB{Ts5kti9O delta 86 zcmex9mFfFbrU{jtOft--W}jj=-QL)w*d=bHYh)2(U}R-vVP$NnZD3$!U@(2+jikxD Zx}=n`$UQrgaE}29JYD@<);T3K0RZ*Z8?XQX diff --git a/docs/static/logos/nkn.jpg b/docs/static/logos/nkn.jpg index 7d71c3952b1673516e0a112fe6a723f697635161..d6accc2549dfe7ed850182d1f30cacc119ed7fb2 100644 GIT binary patch delta 13159 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 L|78-6P^e!Sy5WV-_ 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 diff --git a/docs/static/logos/nodejs.jpg b/docs/static/logos/nodejs.jpg index 05cae4623b9789af29bebbb8b71f99ed9ae9bdd0..63981a6aaed0e207d7f061b6c933c015b62c8d6d 100644 GIT binary patch delta 3686 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 Zd*8;%{mJuom~ai$7yFMxJox?o{{h3MKKK9t delta 3768 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 ao0{faK-2$y4*$0){eRiN>w$Y0BmWPXlL>GD literal 0 HcmV?d00001 diff --git a/docs/static/logos/obsidian.jpg b/docs/static/logos/obsidian.jpg index c4a9fc8d447951130707c4321e18215eee7d2bac..85b1352ece51477ebe0fb56fa37de9cde67c2103 100644 GIT binary patch delta 6773 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 diff --git a/docs/static/logos/okx.png b/docs/static/logos/okx.png index 68673cc261b3e589418aefd6910b4b42bf62dcb4..6aa73f6d6c367df1eb4d7b9ca67d5806c7a77f97 100644 GIT binary patch delta 105 zcmeC@>F1fy#mUSh%wm42U4Qb%$r`L7#<~WEAx1`4rj|gYZD3$!U@%+R`Z5CpgKCLu qL`h0wNvc(DeoAIqC4-THk*Tf$77efJn)87g7(8A5T-G@yGywqg#~iT$ delta 105 zcmeC@>F1fy#mOYYY-;u?cGK;RlQmdFjC74GLJSP842-M{4YUmmtPBhq-6!TUFfgc= rxJHzuB$lLF<>sekrd2W+85o)B8eq}zK}z!?Py>UftDnm{r-UW|K$aaR diff --git a/docs/static/logos/omniflix.jpg b/docs/static/logos/omniflix.jpg index 21f89c5a2a5cd8ec52c0fd8670583fbe08ae7cb1..a5874509229b05b9a319e834dd7caf92419ebe65 100644 GIT binary patch delta 8446 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 diff --git a/docs/static/logos/opacity.jpg b/docs/static/logos/opacity.jpg index c02565bb812b1993c67ed7222afd5c119d0e22d8..594200abf80adca135ed69067e63eec49c660d2f 100644 GIT binary patch delta 8412 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 diff --git a/docs/static/logos/openAI.jpg b/docs/static/logos/openAI.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64424fe4af211e1d9b62363bda9438550fdccc74 GIT binary patch literal 14838 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 G!v6<4DbI2M literal 0 HcmV?d00001 diff --git a/docs/static/logos/openweather.jpg b/docs/static/logos/openweather.jpg index cbff0f452fa32340fbd08885f1c5b706808c6382..93b0aaa70302bb79b0b576fc0f54b018c4c24c32 100644 GIT binary patch delta 23880 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 U5-Qw0wJ%|Q-lDsB@$ba{0sjadd;kCd delta 23570 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 F|Jja#YSjP$ diff --git a/docs/static/logos/para.png b/docs/static/logos/para.png index 63f70edc7c8e3f289f20252f31ad5c6e28d88ee8..00fae443f361a26b19b554471469714f77079b07 100644 GIT binary patch delta 107 zcmbQz#yF*oaY7|0Gm|ij`K5OK$s3#OoI;Fs4Gcq!jI2y8fk@lHz{~r{Uez_{12r&sy85}Sb4q9e0B)@v;s5{u delta 107 zcmbQz#yF*oaY7|0lMJ(|d23XY@5UxOrw}7uBa09NLn{L#D?xeN>p tswJ)wB`Jv|saCo9DVb@N3`Pb?$b9V-9; diff --git a/docs/static/logos/pglite.png b/docs/static/logos/pglite.png index 3758cd57fac3b64ca683715ac3b4563a3136517a..60d3b50360a1ebf8b175ecdd84c28c578e38ce1b 100644 GIT binary patch delta 105 zcmZ4Fu*hLTB_}hJFpK%6cKyj4n|$O$jCBnRLyU~9Of7*(+rYrez+kqr^<@SI2GtVR qh?11Vl2ohQ{FKbJN(LhXBU4=iEE-njKpJ delta 105 zcmZ4Fu*hLTB`1>%v#EJ&RFm(gTe~DWM4f7Y`hy diff --git a/docs/static/logos/phalatee.jpg b/docs/static/logos/phalatee.jpg index f626e4314cf146cc74e4c02d57cde7f61583bf49..e0f0e6d6444d124de28b09b7bf5c767d2b31a52d 100644 GIT binary patch literal 10000 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 O!T2BI{}&4!^!^7sdI;tK literal 9976 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 A7XSbN diff --git a/docs/static/logos/postgres.jpg b/docs/static/logos/postgres.jpg index 69b81406e108bce5e25c93f318d811def8077956..cb35fe3d19cbb0c873fc3c0d554a2b97b0a23c44 100644 GIT binary patch delta 7028 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 delta 6925 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 HXXw8Gt5Yuy diff --git a/docs/static/logos/primus.png b/docs/static/logos/primus.png index a21522834276427b983fa1f88c076e54d9476d4f..9df68c2bca404ecb4564ebedf23a64ae691972d2 100644 GIT binary patch delta 86 zcmbQIJWqMU97axNCSexyOYQoTH!o#e$}euLYhV~+WMpM(2}Ifk237_Jvz4tcPfiq+ XQpO_ps;)Vo0SG)@{an^LB{Ts56hIfD delta 86 zcmbQIJWqMU97awi8D>-S)~F`m%}W`V@{1ek8d-!G7+M(^Ss5B=8yHv_7&N+1%$=Ml YD5Z==?t_%(MFt@7boFyt=akR{0Q$rh>Hq)$ diff --git a/docs/static/logos/pyth.jpg b/docs/static/logos/pyth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4c7d556c69ac1e44f465b7c0ff63bd3394aecf7c GIT binary patch literal 9608 zcmdsccU)7;_U}eOl%^m>q$o%c5D<_e&3iyVg0zHCLhnQfJ@jIsi2@?MOAQ18fduIt zq^cx9=v6=n9chB_;yv&F&iUh<`@8S+KA-n_@2y?tJG0iFSu<;9_S$Qojh@W{mqBV8 zY5*A-0FaRm;B203R6|9@LKm!~rtwJicSbirB8oczfN=5h0IMtCFfxYSpql;tiC;V` z8&9`i>E95k-u;nZwF3ZN^io z0eAvnKpjy2)qhf+M6S62AiDj1z@;9_L}T9 zIT;Udj)9Dvf$XdU;35q-IdG2r*HrwUM0MdJB{ez4`E$Sc(8~ZBIZ1n}i!@Z!6jZ-N z&XH4)QJ$w_yl|1>3OA3q1X%VrWj!lv59Bi@=9@C^-cNI@Fl{ULF2J>vp2)k=bL7Kjvfhy ze~AsWoZ40?UV(m^$M8YF8_hQ#^99iNvPngN(^UEtBnockfJ+B7po%C)bXp)1_0hyuX!RcHZ62lymQj+im~|;7+9_mo z2txVovaaPOj+i<*=@E{#3Z!^4%<5%$D|lEpgPMrpW`@e^$;_n+N-s|kRGnsr#2aM6 zo>X3CH=adgw_Y8g8_#^K((t~h?>l%^3Wq%cKPy~H`gAWb-bHMu`Qqp5PA#v(*#!4N z=AS!KH@^+Hk+v!M+v)&$%zt3~pItF)AJeVEM~*i{ZXxmoz{#*ZaKgc=qjpa{hH$Sa zrCcV(J-no4El?gbO&>nBslC^u*ijNp7KUpCt@2g$KKw0v|R1S*A z(?UNxWuvk!q%M|fadkIN9KjR6*$4AF?d+UH3zd9e`Q8RMw+%)LuNMdRz@0~YuLe(W zO*w~m)=}8%74mcI>-*JJ@@6}|@MRkw1%vch&U`&O4305@`|j%C zU6ksjJLfCi_JK?P_|;Y4nV88!Q>%R(Q5#$YW7X0CJ585fx*;pnEd?}bXj7mXLE03EA7m!r#1EDH) z?D}XF&2Nx>{CAckpQtomo)>PAH!EYuZ%A@!iqESlClO1~HH-;^ic*RO6D2P}44~r2 zWodkOm-R=?o>faY2{`L*H{A&hTPS%hm-1@$er~FnTy`N;Zf_H*;NQ5cK(O5pNM~IW zcJ4lOcQ?Od^|DaO{n~_%Svpi$JI`#jcHAN$MP^n?Rq z>59iRq^#Z?msAEznGx7d+_`%O+>t4pWoIv|2z@_HV3LbL@b~YEcY}uZq#{8w=&i4q&Iuwo?5_A-A(ll3G?dzXb%=Sobo4);$PBBSDoGH5u z7b>zacEB7cYCVdJAM?gD3;u}aEd>HBh@Y#IRcJPi2TWkNmyPjs)1#Xulbh;D^I^`} zAECtL`cXHjm66fT8W=G=*&Jcp?tUdzC!;KPMJG;5;u~j{CRZadu=2CQdlpyKl0$js z3D-18sq>xvR60~wwPAtd4{%T`A$ZIy)h?@lBJjhkmX-flJX_~oB50jYf3ZL_x@v#d z8S%t4)~TOAqpSKFT)ke3kCg>7PWW=r-9$~OhAT7^YQLUh9j~({vh_UQ&7viW6)CiQ3VR&DPO;$o!c1Z0Y`gCEty6UOXbGXkmz9=gcmN~Ak(&( zx9&4@SjK&TyuIb`WLE|T#&0a z!Acvdi8i97Djq0$JDL2r9ha#t{Ro51-pN7l1)c%_z_*9D)@T!+Y++HCj28Gg3kjSI zdGE7!E@#pE#5DdOG@D<`=&^`#XXSc!b%ifv-+;`qvvEkm39A_HnaZ(ZeR2$NDrvtf=(Cu7+~5Mhh*kEl3;KgH^gJ zo@Lqoc3h-8Vz}?s@T#T=()d;EYMQz-!)c??T)AMIjVU~!{}IH!!#8Gj54WrMN$N<9 zkbypopDtj`dN8PvkP88E2#OE{H-0`Lo13M=TXIx()@CA0>n~an!*8T&*Si^^aWffM zFPkccAq7I1?F_iFAb0p}iMs za`QN?Pc8n`_15X6kIDoG-27n4wwiM@ps+Ura;n3-x4llpRk^XsaBP$g+*azHX-_uc z7gF}Ws?z&{JGk$~;9l>C*c}v`9RfdnViF;GHCVYWYt8DRN|U}=j@RxRbe40~hxFTl z?}3HbvflpD&U-RZ3-cT|k=_J%r#OGV0i~E@?YtaELpzHGr=}hg8>{t#+gV>dqK(Dh zN$(9*2?i1bwW|h+=9LQ530}exZ_u52iEXl#n@_hnXnsDM-7DK9TUF$OFyk;n*+d;m z4MRS7ciuG8X0kz^`q{bBwfgjj2AkmL`cBE>> zz*Xc7_$@8HuNtZq?vz>|mh$=LZ%zttB&@*|Z@#b=G1T z`0TlX@~C2{0;B9r(BDn@YtQT2Z?1%I(GeudXyG+81S4Ih#e3c1<43Eg!qt#(D2#m; zeY>Q4p-`0-(L-v|rE)BcQ%S0(j{E*nUa*_!rKeBaknwb|!Q2_g&`JI)t)IY`qaff0 zG#=dqd8E?>J6y;BSft&2m#@JpH>sxG6?as5#u0i1A(bqaG)Rsj8eIng`K+RK+f7eC z^?eGqx0_%!XVrJ#o6k`p6klF|6paUQRhG=46D=;(ObmIhc!;uO6k)p2MzIe}%jJYe z%tF#D%im;Eqx}ZFAMM>7scjG+J|lg8OnRHX-njzgctCSEX4Hg4O_z+oY00C@c# zQF`5>xtTp0aF*Z&?TXW*z3n8 z%lE&}-^pUAv<$e(;;iTxVT-NMdH#Yj>Tc+f7ruFMGoyx*<1Rq;R<=Pa?A>A8r#~pQOGqh!F5>k{wG3mL_e&N8R_T{ z)HNfDSJD@($c&JXkAi>uob%AcDHl^LrR4|LKaA;6)tvCLE@E4>PK?^ZsO2otO7ERq z7njl3yWb;rtWB}Yx>geZ43q792G|J49@#!rsGPrlUOy5C^H2ykG{}Gt!C|bbaIk)& z7gQj!_2ow8ec5t9_LTh$8*7gSFR7JaiIM`w(ej;l<=yCzXBa{O|B_vkrSYx`g>i-1 zGxa)zjM4Yky$!tHuge+nFrg?^w2<6M@+LAkNR$w{F$P7(p8-@Jxf?9O5{()cQ0;fK zwJs8V;_B7L2&~~XrD6cHG&uTOEl-9;;%musGh9*iR>`u(kG1agJzMl5EPk1PQ_jay zmulqA(kc7+yhOXqOXk5cxhb#6H9@+=ad&Fv<{mW)n-f+^vF)xKZ3OC&uCZmsi=A#> z#n@rF_^$?;=7XZkGq(fdS^!$oXXsy%h{5{p#zM()1Io_*z0UUc7PSQEy#@!Vr1+gx zA2UUAOWL1P?4d=U*!vYgn8*65?xm%*t;6$QKCtRI#i+04f8lA+DPa4i$iBD3#a3bJ z%1Y%M$@1+}-|J1Q>MsSQ7PDzt+pvSkh0fWaWN~4{y-rYL!$2n1?NHRv1hbzG9}iG3 z@r{MX9c9J}EO}ebD;T>&gT{Q*zSf~444FYCDWOMKv;=kH1p1#mND$LrL!^y&$)*`N z&dlpgXvJ;t7PX?&hwcVbo|bUj*GCCEY?>Q-HHmCyP1tTivPK#9&361`7qG${eKj-=6DgZJVEjTecWDl+`5d zp8tq&N-H*``qnEOAXkF7;J&hMgH?^U4`fOem7eNjG6iE`rKXBV$U9==59v&e9YT)c z4?LGAM7F})(^|berEQmIT^wr2GLeYuw>4~mb6!B@t-BRvn`?84{)FYcI7qP#zy7A0 zXR>VcxvJN&cb^9)@j=p zW}wiX8s?x%ptZPRQQEh3TsZy1OpAHUkV-W$YVjT(sQf6kZLd3TAa%Rk`ms@){i zOtB|VpWE0%1JcJf;$_LA(`8z)Oy&!amI8985Y7x>cW zJXT&g71ZNeW{z3D^lG1m^}3y ztrpESs{o}NAH<@cA|v}pSGTL@88K(Tn;89)0Bi-WBB|e?M!U95>zUU}@K9NGw7%bU zW!)XfTGHz(nUunyaP>{azEvx&+$(`rjSSm-wW&xjd|)B{kQueFi)*YhrDkjVa1m#3 zZfUCdz;o7&>%*|dw$gO-amYJQ&y@kM{wHKSe;qYD-{8_xg(FnaFv7Kz4$b*N<;l-g z?ys|Sm$BE4<;n9{+Tq{LFPAl+95J2n#oqo1^8Dg(dhkfq=+IDfP2WOVe=Oc0`%4Z+ zU_HT+EcJM@0BVF6yScTi=aSHPU${tT?p{*{0YnY(YG>_VYAx!j2hSRP&U+PmUU|dC zuR#UsetnPexl@12lrbG+_3PT2I*7iryvUHhspo~0$5I)nPF(EuuL`c+F6{J8$1mXF zuM0|D3_%bOG9j;9bpm3Z`QCXk6=G9X6vQI%KIU`FyTsUwFG=4wzAkxD`rN1r)JqUZO1zF)!f3I@PF@3$s zxibl8D_Y{6HY)bzHii7 zwE!>fkfNjx(ig_cw0-Q~$q#h#G~aYv_?CEY7@x|w>VaibQiS56M=!RJx_bgrM9HKA z=jCVFeJ4>ZzW$oX$F}SWw%rK*RYiS07yLI^!ow#ls@(AbLz@?B5v+*FsgM+_!+sIP z#Nid~;8mOxcX+zl(m6?C$Nr!|t6up_Q+r{Y@Ny|F@duS*0^Rx8l5vS0i^71F%fQ7H zv8-22pahX#a3|Y709qB_}&6Hh;pOLPro+V z1uG>uye&6rwFh%`k3EGEKuM7Z$fvnfuCOp6rSFF5?146o3&h6>PRu>m8{mEMY zT%cD;3$!+%C?I!pMw<8Ml3>Y_u1n6w%jUq*_=A+f@`S@?A;~W)>9#(iOBThGC%j#M zVE$wj5>F3MXgq)Yer}?SKO@pRz;puBxeLEWi)_FK+ybH9m#rq447kU0tJ}5S$B1x@ z3_d`;J;*q2TndoLbND&#dvHfUwZ>-X-m^Q)bS%}Jv(VNb-nxXPpL{#`3W%-*QPgeU zVD8pcCz=TucAPs;6CpE#t|!9k46wc+LlK>PN=ZhU_#t3RJM$Xh+@qd1*Iv@gKSnOk zm|YH!1GyE0prpVcSLxi)y=pEWskmC!NHN5HwQ^5(X!TG6A=6lt9|OXF69E5=m2KZ? zU&mr_`%(SNtj_Kov&W<`V^ZS4LJf4QQa}6JchvLF2YGFC!mT0%DW&qeK!Uer&%tiJ z+*TKJ9>|m`pI^1Jzh+d=z))=tYfDAdG4E+HNn zbp8DV^hf!%+ty1nsj-hb$30m@P`;xEu-v}u$%a%6CDCWVJ5(%tv(B{@bAY1wuO|!p zZ}s&xBtQMM`9w{_I*Rz`+)MGJD9T#n%xKt^V%mneDJAjnJFxXwRT~ zWeInHhnXG+x(BK=P0kv}{Sd?cw^J%ptieYW0-NGm7J}Qs`VMa+q`NoF`kNuOhZ?W` zz*=J3#6k|>LOhkVu*G+0*DrYo+V!aa!dfSY6IV;FhT~8tQyIH~gnrpl0Z44q;^k0* zt^&h1VUC~7=8d%y-!*d$yPte$%meGu_hQg;PRl*3;H>bvqr&R$gU>XAKJ~v8Z!S(ek;s|ql@I=JrMrR|$9{47z3VJYUkx_0Z$Sq0dnqAaqvJaep^xRO! zer>0ruFp^Q$1ZzRvvq>Nn*jUA$IKVH}A2g6dsT?9<>yPLt#*w&M)I?*oF)hqsRg zE*!}uTt!`dh?bhL60Ml<+^sb1x8uS`sSg&l`gvZj(TwBQED2WWD=Cv(L<%~gu|nwm zm)ni%igCWpFo`k(&r9nu{mHUPvyl7xBd;*!s?=!W5B+@*g=+nPO$jN?O8ew5H<kLnB(fLQ}$PW6#x}uVd zWm~9H3|9Eb?5|EeIu={2e<2;$r4i!^46v(-*<;$ocFSKz6 zbQ+I-mp>JJkRkkxxxfqA0Z&#`;@2~e68HNzilC1Us~qzpj?eQ0Q>%#IInJ{JmBt~28?MpTKiUer>4 z%8=M_l1zBOoe$0sf+df3WEvk7 zW+GsfBQ>$?O+_kK<~3s^I($sl=Rt*LqF`1b2$3ivV;8ruxLzQ&ru}M0{h0jcJ~s4Et*^3!fVD^E&3GN>XQXec^L%=DGbd z1^*}BK2PW#Vq7x&9N4VJd_OSNCFTgDVIC54@I^ayd&J6^Vya8SR&^0jH^;Cp-Hnx#gZ?!l|a^u~hUpMCUr` zZ{=Q)fEUpalV==-Uw9YWOZRLyM4GAndpoghKWw+ey@Nv>(z>7t^X)vk*TCf-vL7*VUcWy6DkKM|ll{%K2z3CsbUEQ!%ME!a&_# zJ>?Eobgorj(M!ic2gJ7PZ#d^B@VXBc*XJ9+9)Q3;!X*ocx$%yls&{#6b$uQ7I$m05 z9#U>D1~t1hG+xx969AH?Atq}8z3ksjf?bmhMucSEKp6L^=S|sUW@mrQaYSiM!pM06r-|8ajM1SsD z>r7jxH9_W2ia!5FkBFPBPYp(SZpE|xfz!-036Ep}27dYugXV9eGdb!TnLgV8h0_ny z52sszg148J(0mF~OZm@tZ4k~my-XS|%Tak#WzivX268ylXmdU{VP)YJbVR!El^68O zOCxMSRRfJ739NFOO@i0*MlFYhla}p3I!lAg<oM4nwEcH~ulfF5-o^?pS?OIW=zON&^H{5xa+vz+|DF%@G| z&^o8z`1zUVW*yEqXZknO0}Lkd6q!!v|{0zK+?rqQ2MOk3VH559b>;ZnEs-(8iTG&DG6&a%)ML<6Cfx zh6khd{)JA{uXhbJ?Vi(1nU|ERn?}U1%QjxuEo|A_F)a6wtD56{J+m@x<2;AZz)zBlSCzvhUAskOTx7J77ioM5jBSaI2 z5`X<)0+(MHK}1MTL}!k4AIe+_@M>s+qKqkWMN zg5CkIjJJ5}shu4dcNvXfud4~FkF~&P4_vWf;6bL_ff#+qgL~CF9vgN)GC#MevR_8j zvMPx5TdtWO>$-opKc$;~z_S`9kbx1%jp0+g^#eXImunYP8IbHLHnb6ZB{(QA*zc7r zz*z7v?f-zMP0G{#n5|j{gNg}zC6Te>Re^G^&G9~ zv2Mk8C-w%DhDg<6CVa7@jw*-Ny&pxb45}rr q5hW>!C8<`q`6-!cl?+A(My9$3STww%v#EJ&RFm(54X|kVAf-B!)DNc0X5N&x<%K%>pEMsTOx_Y&o~kV0r<%$fgNaY%+w!WwTgM6$NyK+MKX7+16`%MN zIjF1s}qFCAbgJWmWQ7!|CeAC4m<$p=z^~7X1 zRVn_aCG1Pr3{fa_`N$f>!$ifY&ET9&8$nYHo|!dH$+#6bRYGJ5lRSX_y9jCdp4^w5 zgoFBmB^3UuCQEN-=8YBpdFswpW05pT@-`|Ti~zpS<@H%+WSDL4rLF$(1877Y6{qJ2 zAKO3GI}YNZR`tw(XhYCeQH-l9)HRBOvfK&(nSaoRfZ9i1Hid1*J)1OEA{7fKq*QQF zevq09!#l_8tSGbjDD1fX05<1(Hv|<7!L}`~vK4xwP zo2wwGu>SDGRcB_712d*Sm>GFgMFtvf*3l=-6w6|Jw(*Id{=6%NOn(Kx*hy=LZIduu z89Q!Ao$W`YdAOpj(R9|^gP2Sut^Co+G=)`mOm~W`MC@Y);)!Y%{%E?^4i^$9<5XTW zp(NdeYxC*Q3QGQtf$6rl2NfMdPu$6~U=1L?nDT)q=b~95Pjk|gC%R;#^RvII)1NCB zk=HjQ69nK#6Y%rJNJPEZEaxvJ;%)1hrq#-+VAdrcAn2FWsCuu$Td#ETIi`p{d3(OR z{?)MZtTZO}9!Id_H~!Cc6!~H?l`cJoPsF$v}2Zn{?F%6y8Kn%Z^3Bd{c` z*@p5jDJBe`=w}-%T{tbQlH{h)wBuRa_GeR9(5%=Lk@nasYkUUMU-fn5=~n0Y!%@mFvW#wMs;?FTw5lwt{tAqBZeWjAXCZb%YlOa+re-e}4L=$9VG zD(J;%=|Yi&D>X@ett|ex9+6G4M%ZgjxI=4woQ81u0JAO8W3}AbjLB;EV+ALCBBE%N zeZy=^N_g86!9gXfnk}(uAxc-Cjy*zYmT)}mPDJRfJglC7uf&11VHs5`J(_ZItxduv zEA%|viGH>mo8^`M`yl81*_}8YhtSA{uZA5Fx~0w;r+?QeaGi7}uvA)aVJ#6ynrQ@2 zzAH;JZ>FF(y|6T9-;A^iY%p_q$_Bqz3J=*=XmNcJ#d0b-WlxM`aN19~pLH4)CU7!T zzG9o=sJdrPn^qr-$DA>GFO7XG(lJeK_@%k`UYlBCOhzm6mND*jIv0I9YT{SkermU! z;J2rAmo7H7afXFEQm^W+7+~*UhWy%EiI=RHS49pQ(*?Od|BgRDx5ceGE6f?_CzaAq z|5xaO7uC&DK{lzwM8%38Mp86hC6h$ZMP$5iEQm(~lp6OJv=~UszYc>=#xNT=+EDwi zzOi^hZR2FGA2Hc9Eaicx(i9&?h8yu{0tE`wQ*GFWFf`D(q25^qo3O6~>xyGbT5=ps{V6_*m{V+RgfG5#+0tr3_*+BmD{H__oXQ(Rr3#ZeZf>@pgtjPl!5;I$ z%rWoqk7;w_@=Li4_pncJtwVL(@-yxjG*%0ZK}^y(qTsBohA;JkIhkK+AU&L{qU)Kp zG?0=bePmf~etiCh;LEprU-R)u-ZyRT+Jl)357@)2>~k@vpMNQnJZE%T1xa&iQFg zt0$nr-AT1Wf*rZ&zo>D~VS=s4h&JAa>uBf5_XJFx>#dia#sA8AyroFmi*03=I(z*2-&Q55gSUpeEA?acLHm+MF*;%Lm3 z!Kp}5kSC>6ocNKV&t1llZUs{z)LVS98k>`i?8p1 zB>}d}jKZZQaD=)WzC5N4b?J&@pA6uj^q1a}l@=dlN;d^E3g8uMg;O(+#QdKjs&SR=}^h(DQ6?S>t%$N>D9d4_Jv zjz;o`#8E{=H+Yx!i$0jTuOfd-VWnv`Ln~SCihHMN>}y zNNUQjg|z&wB6_7863;^cnHX-gMN_u=Z!zMR^1U^0fSh{H{G7PmRlKXvL|!;iKn9(w z$SS_@Vqw|rB^%+=!^)(C(sV`#o}7_q1#wz2`e^8h>ga4!iC%9C zVxbAy8p`dev;7B|93|^Axn@L!?qNCCUj?-R*j9XgF4Pz|b#BXYL5{g#;d8!M3Abb# z?hZp$qsy+u-mb_RG?z*G58UA?Fp0Vc&>Pu=adUod4FQ)=(fpN4dMB!2o_TtM@-}3m z;)}fjF?d_Dxwz;~aN_3RewkbBD4F=nEosl36o?!eN1Ttws`Bnd>6efca3A|`m^v;& zm`v}JV}Nx0@JfD-#|}$bB`{vxW~3iNCDc_y9G)^ubfp*>Bni>^4{1mjnY;5Y$G*Tp z7p}0%?=c_z6>8_xNdZSogywP6mtD`AIaV>ObQ#N~x0ZDsUeCc4Osu+w1=X_yK&i$sSAx|9>RF+{0J zgGo;7ypVv5Ki2i?g-wISu;8~4hF|gWv39cP3o3$GbWSA%OFIn)3$VQ&^4?I;XSNJ3o>j$KH(R~v^a z`-V3j{>WqsUi(XQkojI^6(?^0>is!7tA5WC$h9I-0W9W?v3Xz-CwISKKru_+cp(du zFR)RQdvcn1E~xeP1F6Io3=!T}x&2!iSgw#$Iu#dTwx24mj7U1(kKPxr6XO!h*^mED zSSL2Tc%s|$h=t*M?Qj`dW-4$wIU8~tyUJ}?pv<-W>9;UZjy)Uhauv2P(Rw?Ztc@^k zpTYA=(EDbE7bQXt>I$G72)*Zd7YyJb%TLA6B^Y95L@eDHeF;^V%qpRyKZRv_*x(;+ zslcKP_F!g(+%%%iin3CG5ZN$Nt(+GU%Rt-}qI}x-^|84eiHjwTRDj>*KZUh=4R|N8 zla{X;%keYTu#*<98HqH9xf3hpvZWeOQXR_^YIH}lvMU`+Pd-<=77)T*?%eW@%T?Lx z#bmouN2eBIzoxLCf%!|z!7e?d$D-rGpi0MDfry!Hj%qlTvRDmJF|xyp0yXSASvtUj z%cwYK>jkV?=w*bJuxPczV>c=PyXo!Dy)DbN1t%vT&TKUCo|}Nh6)$E9FIMXwveXJ< zl_V1Jn%mAycLYZD2M{Hfk)b#uGvWTAbu>_ zRtA)83QQIMSNb19omqtiG2Z{kF-!T&%3SV(j{BQv;3G_wtrVr5$-zt7hkol&_jVEu zTZfXUB<_l>oJ+G@h)j_(*DyO={An=p%&8kBa>bTpq)beK$;mu3+BZhVKE*)1<9m;pklQk^p$X`J3r`C6W}pe?e+wt+W~TnTq&+!^z~sT_ z^^PA0PeRySWnzBBCw*enUSOR?1`7$meBbHv)-)vwr&MalKN!&SE}LQ+eT*cwXAXN@Qp0WMsoOrsLC~ zY(B2cNj)cOmK$+b5GzN?%P(Byt)RyQVsZ{iVrjr1_qI%ymUjor>&fffH^o7GRkOM< zBIH&=juA0|*QI18j&V`IYDo|NCX zOR}?!SKcW+fKsWSwXP&R9+2h3X_Mc8172u(OMb)=$DUv!M*UV-flqcbgqKy8m3&IV z22+Bs7%EI`!KHnj&^J%>hEUPywlu?2j=PylxpY!7^arSN5aFeKT(yl$NEILL|LTV^ zYP?ETJD&?vRzxowQpYh}^(a3eA8TJ5zYhguL+OAV$J*43yB!w{{`zsST#}|KK7P(y z8d2QfC|M%`_o{01a&@G}Wt9(yhks8|;ZcAah<;wk1bOQk8 zpR!RN$cquC-!kNlYC?(WiFsY9Te|#o!`o%2RM4&fpkq8Fk8}{mN`4v0)UmwN=rru~ zR`~g4d*V)Qb@7*VT0$2I;Gp1`Hey3M3n&`z_?|T%NktvWrY^` z%IhU*f-|!w8vlD;+eA4gpcSY$Y5D((a5F?p6R0z6V?cZxFJyEmZZq1jwKo2yCDAaL zgh4N~%nwfnL zoFe`xic(e(jQU%K4AANdJfJrcdjIAQa8e)@DU7W>AClFH%SD*)ny{rLzbBW6)hD4oTcPI) zcuT==#F}CHldQrW8l%j+!$-6RN%(|%J4QYfsp+Pq3iPnD|E-Pzm#Y!sdroHDg8!)w zCn2CcjV`LB;Mk-eQC-EW5GD-{B@DA&-%Jv5kj1?2;M^Br?%fdL7g+(i6YBCFw#;xa z_JMGA5@s4qHcY00vwwapP7^iOZYku*V*gMxL0kM~foZ!2B%gQ4!b519ZPyxasKh~o ziHNM%IOwMkAh&}Y8|>h0;|5|kkYtv_=n6yLe@WE(b4R^hj~#8xoJxa2C#p8@s<+O zy0;Y{+S4!GRs#3s3+u&&==rL;#A97ywAY{V5VK1k__CV|JM~6r0w?IRJiGD2GYjU& zw7nhAFYNI=y88W&mQ<=}EgwL;+2Y8bhgE+U9zZ{#rbV7kUee)*Ng_lSYmN>CgxQL9 z`LU+gS)2E=?RVNA&2ufGEp^p@`nAl~W~p~iy>m?Mc`xJ4vI;Uz;#dC}Ug#~ryqtwz z=B)z{W(h2|&8@kPM*g}H{KGx*;*->&=R5q=Y-`;I(3oGEN8E%VQY)bTO@^0&ZLGQmb2cAmrLd;`fzw~}B-4EV`HTIh)w=YqI+%~X3fUX!icW6JT z?OWs7dHtk`Dxr-k+-=nk*!p<~tG|`MS}7P<-?kje_?z3kBqu(*y!!W_ z^HTE-r|lwrUl_R-5!Bb59A@{6HWULFRf4y=xGVI~kBL$Z2W<-5P5w7lG95J&Y+et> zQl8sXV#@A2+TPSK%ln4q^TB2R!cDI>MqSYTqwbp(#sF-D1S)W6dbdg65v#kV@&Vh~Y${o(4>J{C+KeH67OCM^RYKas)_vTn*9b}xd^W|uT zB)|nbYUYp3USP0EFH2@(7}j8hWiXU^#~7+D%H)#+d2)C=FrCS7>9g#15-nvlU2Ao3 z2pIxlkbyfA1qGC#hSR)>of!G0@Stb0jPI1PehL~_J%g1MJmEG|leF;VMPoK9uVf#~ z)`CFauuTpII2Dm%QI^_f_+*D_GZBU>@(F(tDEJSCbkC|&l`X|V;#{0Vdi=5mx}zhQ zu8^|Qg2g`SwvMbxB5UuB+Vep>f=cN4Pnwt_3|%4S5~;ngTh-NVe}&wip@fjl*3dupa)R}m_tq{6XP5?1bDZ^RSJ6|N z)E+N2FHBn-LXCdAq=nGf=F~cv{8=;!WnJASUlh8uZwQ%Lv`lIX0B)?>pjb%Zkv&(g zWH~_*3d1DNb0jhXMHWqy<-guI(L=6QdNto|z|w2Z$sOvE6%RB-$45FQ66FFL)FZ9E}0kuIk_KBa-gNv^ud z^w+1sDDdUg)@mf|pM8Vh)RK#*hE=bZ|G^@cji8rAP-o!9P8O2ASTNJ2mMrVl1+r~h zDXv~h1Ks1M8xgQ^XyeCPd!d)RIi*)3WIhzIZ__o@HPFu5_ICh5U7mOm0R`a-84aN9 zl1U7dZlBdy0jNN0;l)!&YPFD{+$a_w-%z)><+R{VRRLT2-5JS5aW3kqr=Ai0$D!i* zu1h1&^Yb6EvSus424A%YkOm)!q^FAAWMqh_i0%LX7O6%YbWI!vj%U~3s9HwYE|wVc zDKKp45?6LZyFc8Rnq{_|x3ja%FWO`Ct1jdxTK@VKO5u5UQ&!j6e{ zwH=N(4*5pc@Pk@co5e-of6~Y6lY+L_S(!}K`L)L<2Y!y)n{};r^~0wQsdxSq50*8= zG|ksBZ0?u2Q^o6SkE|L0uC>pNjCDym1OpJ==jXA7LX8;)M^h5NV||{izX374 zfg-YEM&V6eb&`B9$8FK?3gXOQa|xM`Jbpv`15|xV?eP(6nU(O--eD01J&7WxueO>= z6;=#Hn}u5PgTR2`Vwd8PBRrODFv_JJFh~HNY34*hPC0k236xyn#N64kxtXEoj>u!> z9auW4>}n^02t*=X<>#Vg_4SqMVu7RR=i?&5fx>gqFwB?%vRF5-x#E3l3b(75`ay-1 z1gD=v=ye~xe@wt`0^|e}#uTApWJfYSAr+X>r#^6Rv36OROo5k*d2dyglQWx*A1k;8 z-GsrEcD06QvbO=}vlu!}g`_@cya=22Eu2!7P!`{WqtO>^iQ6zZ;! z4{zr+8oe?LTDAJ^q*T_Ti+G)fv`Zr3sw1XHgOq5^Wv^F0=Wi-W!VGPqJK*7TX8rnh z8B*al!g>g1+0}jRK!7~j6T~3VvjoV=0}SL#P$ZXVlg^|8spz0U_IpmcLcn$gA^HX- zA2K%!YQJ$n45#8d+$t!V1`C@0)G5y+ie^f!NFtr-PAOh7eZU>DAXlVrEdJ}4K;cP_ ztHj2NdUfm@3akLyiW0zOr4Q3G2*lQX~7 zS;($Yg0z&!`~#?G+gW<@z`BdN;<-bOt+6=Shkq_^AO0+NMs#`|c(v=54LkEXMz$I| zEptBWenqwXahznlIOyz{C>zo!=2LW6xK5gUPwcU2~Vti1K+ z7UT8nxHnt}e|V_zwG}<{$nRXz<}d#F-83#}CL`_|za4~Pt*2SyIPJpb&uX-nq?WrT zJl(lgs!vL{NyZQGb`4zw;yE)ti*2dLdI()LwB~BPo^c8{78>cE&{)kED5#z_(?MO0J_x^Tr{=s{IS$i;1zEbwj?9Dai@=B z2+4pU)vsTo9_P>iQUtcsNVKh2=r7-GlpEPQ>fflQA(HoVN9qTHl6$G1Yl-D2?i6KA zMgMwgSE!|Ft%Dg~P2S4N5jymOW!m!-{7}8dEF*h}$@N9?3OMd=zx93`78zH^LW$?+ zX?p$&yL%w(`N!^7Q-j5!+Ja*hJ4tU~2*?IKS7;}_&AONO&G8yW|lejK*q^9zx%vn!(q zkYBxg+NGlgS#wIRBIEgpts}Qv%@BeTcLX7sC)C>{n+!euqRi;xJgg8Y2=Dt~+wEvu z0mEZ8Pqor}MY^#?*)k9-<&zz@CXFG=uxFc9!e-0(0AhUi`=W8V>?VCpvaoK7`oh59 zA=xHb9R5c3c5w0mbW@|IO49a}|N2vKN5F`OQMpZpztl)@A0(<-9l@$!E`;Tb5hrgC zjBFtMA_c|{04e!WYcGg&8FY@W$!w@JXa#5KZEPjyu+YO)l61f<`dUeG>I%=SDV_mN zU}>QQgn8nWrg)!fL~ZT2oR-HYnG(r2s$lc4Nk)Ga!K}(my#OMWlPk>X5+lc|9$kh4 zF4eJY!|b>rq;wG)iLkb9yzX=?oKpE^e1RB>6~sExj4IV5UsHXWU|^QMw0tDTrP6%n zdNRcUW&n5$^zws7;u4G3=0sSz(^PkFDcbki6al2FT?Q7*11P%5%}o)Fpt*q^9smx@ z+K}a8w50G=G&FgRV=tRYM`Nx9Bfa?}eLy_lp0r37Vp&;pqxtPyLiMjf-`+WA6pZl329Ov~)9ufDh88GK<9 z@gz-cA)ID2QYH^5i2qm0i^frW(oE^AK!B3X&~#A;u#?(0vb$H@A=z0}sL!WSXHH>{ zoMh3f;gi(ob0`KhckYC?J^ts>yV(o973(97Kq2lvvS@yPlWLt4`POgfiDGzFzFmJ^ z%bnDZgp`H{s;E@c~3{5^fT4`ER$_%jvU*I6`9N zjs&;0IM8;HYJ17AtzFzQ!eY^Eu>cnLmMwwFuHeUO5)jPpE)~^sxU)fuou6N9NbXA! zn>1go{)l9lJKj>>lJGV8_5t^S8t!E1K*OPZUauHYe1(TZ)s<@=JObf#EB)>B!3EcW zxQ4Cj7y~64qa+@SbpAw<-8vUjYyCKkxjKSx)GF#yciV~lPIAJsU7WOlm(=pN{yO2n zxWOU6y43X2o4F&QDMr$I!6DYS8vIB4PUu@q11Bo*cbnjOCy9tu)aV@6XL5ig^Ulr0 zRHfc7+Yc2Tuv;{?6HW>caCvCgqp_m7&c^E~D*&m0T#=)_Q;Ilx+nJoh&In9?zOysJ ze-Mic!f4wS0DUW zbkjEu>Vs&obeG0rK2=)YU+5aYSwTon9&u4OE-Jdtp zDfxRselO!h?C59|#~JtY_mQ^KvR46FgruYZ-bplwdmIBz@my78 zg`0b5?YS}}TU=sZDx(h#ZT4&SZbC&@;iG^k6#VPP9R7BFgeE ze_1ucr!Gniw-Iyy1++2s0c7{9J*Djh#ax&Okx!h--{mgx2T(F27b!|svN#tr3UBfU zE*4l7eLuzKQ}Nv?R8?+*XgIiaa65DNv2vHTMQMv(YnKW&U?s&H6cQ!8PE2U9(@400j+#rQ>y2N*U$P;qn6H+c6S{iCGxHtn*{yz zN%IF#jcTIdbXIjh-pj)#4y$t#b9ecP>cLxyvm(w(2}T-^{kyBf!@Tx@xuqL>n^yHS zhIJ>i!!5|U5b?O#MwS0PkKdSppR~1?o`pZF4XZ68US7+Bc6mekEP7+($e&VBTkqF_ zYb@>cs18Ys+Tj-E%G0IJie}GlM~8s2X7%HX!*V&MI-j?<5w8WFB3jm=OpGr=KFO68 z@6%&C_lRU?YcqYoVOT_eW}fR^UY=EAuzKT3F_w&Y$qBn%Yf&|Swusym1=@B(1kq<} zv6nJXCh&r$%b5euz7RP~Fw0#C;0MkHkyoIHPRH8Jfa3V1joC42?g! zeA3{+At{xEQueO*4S}oV?C~OB)ui#3Rb&Ld1sH*hzv6n1t541jTdIR%-+!5gN+Zaz z@LF;xHwnyS>6Xn4@ow};Ab0K%C!adK!HH$GqaXtZy&i7{6OjPrula0}h@jN4y!bSR z5Pz13W|F3p$t;$p!+@rJ6q(bqo@UvMegt@rPh zwY}?QePqlGc)0mA-rKEE4!;sg+K#RSM`5e*?e_Kd*5a0u*te3 z2U{^B{?KXSb1Ua*cTuv)>L~AOLr*E2ZKD}3oi7OQH@r;aEE)NG$fu^Zew?;{I_>kO zKdD(+V_Kkm{>e0Lct@g#AR!%KDdbu>s1s&J23YtW$2Tl3Ta^tze*g{6kb*L1z#S{+ z0KYfeAuEkopvM)m{MG=eCXii!P;-1w&5+;(#eOoVVeV zg_DY{tbrb1LWxXfA)$|A5)tfn>@{({HZb>|E{{E;Qi!jXgJcj|r+$@6nXXFW$4^N{ zy=CJst@xkrT}Ti&s|4tfpDqCN=DiIg=Qca^_dGUbLLX+gto?LPV9iL&yQ|uH^mQ5* zJwyM}DVe5Z#y}b8%l^1Xl zzV*KNmQuYl%(Q>>cFc`TiqV?USAmx@O68~t!oDds1qRbC+H>B|s?BnTIoZqRFwWSh zhPT${p3!_%lVex;6I<}6>kOq@la{#N^DLVAxe?K$N5OkaQPhx_j$pdmGr?R_B9z$^ zU=A^(BhL$k`6`eDGj$>@A0uHHpnCMaV%=M%0aN4`A)>TpyQ(o;vheFPyWqQx{YD? z38X36p^2OB2W^e#@t*EQoJ~H>k()-lhL*R=p2;xJbi{-mW9}Vl<8wVd`y}?bAI!T${gb{vM{XTOVD_1@|6V@Z?z5i7hW%r_GG0NbdPla@W!) z9CBhCc|XVzD|7W9^l6jSYTMHRLzel}00Xol2%wqlsi!|jDk9I{5CnbeeZKzA0n7?} zVNL4xgH~n1qJk>*s}UZPT;ALlE-Df-qy*=X9k$HiTN?8USBSQa?tc)lFHhPpOXYf% zv(sSmJa)n75foN80Xzk#r-fSbQY!Pu~w{_te;&-&`ESQ}4I?0)tE372so;Nl_JApOI?`Hv|STrSIFv!cB1 zowR*c{hOsi72yr<@Paz@>A(3G3cv4myendVS9F4W(&BgpecEtS4?`HC7@O`1*_t&Q zD=8is&w2~h+^;I!3JUf&>~hp<|1?%}_TL_C{CaFUDL_oiZ~Nvk{PfPD@tKj@aY+cK zQqQ(lu6NS9vdrJ)?55%lg~92P{-c2hIE-@7#Rd^sQJEd8 zv8Ra@C$570Ia2Y<6sD_BVndy4kT&CQ-kYyqOJyAy#HraOplV~OK~C(Bnraf;9*`%Y(Mi$N%ceg zfUsyIf#Zi=Oju&MDjKfBmLsYZL=y(cgSft70YDzC;)K$YU&epcDO!>4c{V~DaHD5I zYR=LdmvKt}ljo$W?43smpz*sFgq#|c=(TK07K@@cj|D?umvg_K`bD3&3L37T{mt}u zYiufx?Xf$K%$wicqXrZkis)n9`|S;|_XrHr#r>-|bqITlVGnLdHyiwh4rP$Kj&Z=!AKPg0*3eIGUn^uUx2i9!`CQXVv^lE^97x0?P;$iuRlp}`dM z_s`;jT;l`m(IMS6^8GQ+bXBIyyp%&`0^3PZ%x8*Id;=>}oZB zDzddjOtl@Z*LrWLNfyo|PHr^a28n`LTSobC?5oXsMfct!=3TYA|(_+{1u2=`uz6S?W5pjuUH)DzG2bkuHL+9Tj%Tz5xIS0pSn zZP~c+T}c({T3`6RKxQp4bWhvG_6=lI6}+duRU8LXg>g6GIbrZA(3s07cZx8fBqeW% zFu|aieyocT_9f;4`JOy>;=!F~JKXywBaHT=!uCx)LFa+yj`Hev8NTxkXAvw0W(AeOs_N=GGynrM%ScBm; z{i+o(VoQirNR#?WpDg+E=gx;P|U=hqeWW)q2X@s=wPJd4xT=lJ*@{h~VIp74HR!opMaUy?WpOttr22}iGb zg~{%kbi`1*dM22Mc)1|ZP$=NCBju5=l*B32nCRVVTr}UOUnnB*!QWMzm1#!P#g>=v zgXV4P^>r&@WVyd7O&y`sYoF|8YWqENzvzuIZWi9KvEH|>oBz4xB-Z#eq34kB!J06x z;4{A1#FBjhI{A+c<*`q&;1HoU?>gU4!4aY8e}4l>1G%23m$pNsTJIz;^!XkWJKI}^ zz(#>UfsphRNF5};=Z%V>pn8w>y5b-%qjvvGv$=#@MW9>8P3umi*lL?-amvwZm6bMw zGUlHEq0>pSgnV%zTU=dS+G6q@5WtA6K41!$ww)6%6Pg{wW*G?dSB97z$QSc{UlaX> zv`m0?gXw@43_fEC{_;q>RRP*9pDZq62a7!XUh*eu)nV5te^+)*Xc1>2y`~eWSyrFs zA}7aGEdNQq^(dGx8f~io_*vDBHeBlBf9}D&O@a|s-Dr`HH{RCr9LZM`{?l6(pKd2< zKZ`!9Sx4`*N4Igfn?#UhARj=>2bCJ5M(c1(x=F)CltQgHd&KjdSp zqQksH3#IN|xH(*j5>jk1g6aY0Xp>8~tVa(N<@QQ9%PR&}E3Wv>&nj^EFd+59p~MQx zK#1J=eu|!0lfP$Q(=~HH=11GLk~6}Alh^P;wp|EO<`usXTl@0Lbk}ar<;wrvr#o7` zt=$_*1ZLfJ7xh?!#_^p%ju}oVzfeh1bf$hmHr?;Q;?9!p+`c0`x26ZsS#E7TUoX9g zC%iSl2u`~GL`d$0FR$llX6BuaD#wT5{ruUerQ{X~v zl!tO1SCy_I^rC1UBSU0gxM;;C;1)pikQa^a#ZMTuQBpMa4{dv%&vIoIN<5L}l--}@ zhAVmguDla}28NIJTmshp81PWuVElaKjCr9__Y~RPzO4eJQaJg*ytAFw?*0HGbY83xo%JA}QlPo{j00UP_~gcm`|Ows5wI#0M({_6 z9l1NAz=gOU(d>GBQw~I)x^9aVptd9aG1{|}{FzzcKv-{tY-V2R-}Ba5 z-lJ||2UL=U>d%a)Zux~a&$45-;yeUJQCKz}BL*>v&<3q`&(ghrNn1=3j&=bc<3#pRniWll%698R6F6q%aviNEJW{BTy zQtQRdcVR+LL8>wJ{SVUyZqi}49_Z8^BL6f!1mRxnp?S}8k*g_Z)EuPUv8dly0Jzf6 zd!GAmHQ|h!Ju+a2{69=1oHve@X3D-QvLoq^gN`4l-b~gEu^y|;V8a6cVn6;p6%K%0 z_*vCFqL}et)2cXtYHAE?&vR#2Q`XON)nilc|L{*)sb!k^Zf~8|BcN{_yyvS8*NCyNwg#T)kx4Z#kVdphz&i7U58o(=jkCaE=d|6PKi(GD>ULuN0A}bS z)$<3rA&s8wLQ>NUzYxDtK6n>v4)^ZZ7u}rRieG?N;-P=~XYMi^tn{q2PM{BpS+9LNo~-(1CNGAJyTockv<AZK1QIPChHDNl$j*Ci)sz(Rd&JL1VMXBXx7GWVhV>%GX}90sfQ1 zq<~|q(yz;Vpw?k}@DUkQM9OKetBeH3L&Cn@K#gIpQwb z-CxZstXl@)=nggx+aa5{a~R$y2YZm z(f0rv=nP~u`;ueG`#lHI6mwa8Blhm+LHFfA-7l-9CZY$>3OwYl;=844+&X2{qWqytC~EKb1r1**pR1IS#mug``1`m=MSKI>4x!bvO(!TmXOzPbYouZ`8i ztH?3A5ljb*G$RUFl%lYvml)#}UNwUIC(y`NrFdKXVL6MNnSrnQI1#7;r-Edc*4KK~ zmd^$Mzq`_d@2PxR&neO!#l4d(@~;%g>9NeIZw3B?6fW1KrNb0EAKXT0(+?P?#Bv^Q z(bA_?&ds1J1nfZam%br8PI6^*S5Xq3G?I zRnXQEn59tTFJd?BNhx}gQiQ&pN}@FC_>>dt6~nLS>51m9U)^r)i;M@Fb)MkmF)jkv z*sFr>W*)m0Xi&}D8++^S z!`5X+d0`88{?chiRF=YH5gU%Q(XOhSBLjY8m0j*|2`;=Qu_mzaEDU zrj{XJ?Z)jzn`$^@uRBQWxY4d8diHiyc@iWjHM?cC4Br)BGb|)do>U@(ska>5#nclo z>KryWoIYXDus@aRY1cSNz6{8-|A8<$9jHH8joi%3&~=WWT%f8KJOFYOX66s z-a}<*4X?Sm^FQfS!TMl}BU};P)Nvr@Dq0&lDv2~x;5&2j-9(a61XAfZ3jDdJHnlo! zE5sK%(y0mbRJ*)%O>1lXgB^Uh73=z?#U%!wp0L?qq7=J)1#Cq_{g#9NEYMo4(PumP zk1_+SP>@vXZ`?!{xZw2C^ju}e0Ub_a%4I)Z__+7U+>q&=70>loJ8mytm=8tV$Oh8C zwu&|(oqt#`pW7lMoMoHQ76R2zLDM^@Mg`8_fE&b6=zBT}P1MQ4`|5#-pevCXMlU0& zlkBdXb30rPXNbnhV3R7u4Ur$HyzI^L@#IT@vBHn6M5CfkV!G{11c!H+({BBRFVb$1#)m`rgcxg~p=aC8Pf0H^i7qLT=F6Fu($DDLF_N%glnb^q~SVDD~&blie={%p^eA>i+oR~+1sSI6z{>= z^Sc6h8*F`b3q`j~V-uxw%z*Jju*$d@?St7KWTaF$e+>M~5$yEqq^|;$ckG{Hr)1~K zr>O^!!GdIoQ2%eyL1E>9%s1fn-!0N`&w&Qnc40qHv_)p~Fwf2uQpJB3v#?reL}O)G ztN2N?Jime{+lLW2bq~_QjR^6DTsU z|4=gBUQ;-Y9fo3gUo-=AF+PUYk#_p;FI>bGnj=U|l5MlClNck%C{x}CM2_lp{_{G_ z>t2Z`(>^Q{f{QAW%mf?VDNmeN&y9Nk0mLDV!oiIja?i}UJ{R6~ap})5m$l|1xIM}{ z6K_@jMU!A4Bx4qDK0vxYq^?U>)58wm_0_?MsI#U>VTktHMz8=ao}FGdvY<5u>B;c` zdMP!%>*(o3D-W=b8uoDbw%Xmk>E=DFI5w*G0nN1S^VYY=F)+WZjfGu&9ZQgI9RTCxQ{fE4kp zJ$;*CkjM@02T(SFw8|Ox@xRl~&Mpe>`NNfVTfMOj0^%sevns&q9caxlh%aV=MVLn% zgmZ5Wz%z;^EtelaaA_+qxlT#s!HyqcvmYP#@dzKZ-r$%%HX9q7A2jT~o!h2od6#;Z z{Lih`k5B!Xxx*os_ziTJ*Yq>~7Hv(Ztq80)e7MhC%hMj&-%NPva3lBb;vbM$(l{jV zz8?Sn#R}J}I9?%n?aROG`QIP^Uk%qCPxb%(uT-*KE}7X}o3a~R<7RYmkt7;K_AHy5 zWUtFL;tJW<$jDw5H+#i3%F4}%NJeDU_odJ8_t*RJzW03}_m6we>zwmk#M^KEOG*m` z2s0BgX)kRj%NUq5;IAEXU*h(TF9*q&>fQ3+l=QnbzkW5wZk_&FP=r&INT_{WUaHc0 zhJ5qT<5FyIRqeyh0v0*d4z0FNhfzu%nC3Z|N3vd@yk@OJ*7u@!D`99Z46+M`$i;Hm#oBy1H z?WzexSjW;wR!F>fATlsuv+{CwsKnbxG1e-6-D}&VI`Bw%f1u-8pspW-{*8`I%;l|Z zn_LoGyF0hse&#Ak@%>T5^`)_iRwm_y4rTlR|1jF`=+d#V0&#SV})N|nsqv;eX)J^P`I*n6@k zdi5d?1dOJoy~9-LQD??)#)dSkPR&cV*@Hi%c@gdz^2BPg%fb!nB9wN|_7xxV?oaXzn)ET8M?mC{ z14^SyMSa#~va23r(V$y%J!&ui+L)XZ{QMSCJbl74hGKrs^UCxu`DTxV7M$=dto_;= zzGOqkKjX!Vjd+!d>V7n`GaP}%wMWRpy?>|R3|IZn-2SY>lUocC9n)OV8)N8YL~gA~ zMPbgBxQG5B-6IfMJGLKA{EVi4GO>6)=NBh_uYN!UXR-oo+5|AT@P#~mg`aaDaEjLw zweYEbA$Dq83KRi5>7dMRHchd%z_-w=3X&5Y7}jl@6;=nFGMX0yV{Y%1^*IZMuMvWa zkitOk$Re5Z9nfRLxip zh?xx@{!xVSue&zAc6^*GvMC^C>pR5EYprJS<@LMp2Yz=#f&_9yGbA3BCETlJ9bnZ) zw{bgbXSm(TkchMP*8e8s6#ztG+0D&>XL+29%63ri8#7e6_GQ5-^Yqkg&0omx2Zvg& zKYX5gQ`rx)R2^!!x0_FDs&sR0(ZAZODsN@8ZBU)Sl)tyOK5i&YIN$9RTV2K=;PMv| zyB@WLF8Eb3Q0Ee$*j3$Avu@J$<~?VspV0l1r;fTR6nBeu6L)blgNthh$FFLs6+11B z))KL{xI)W_#&Uy0!$ac@-k{~jQ{JIf-m0~uHevCUqtNYauj8i`L#zq)Hg@|zgZIre zBRl&I;iK1M|Fl>Uc3Y1S#lL3~r#(5&jNc`BV0WVo-jXnts^iVOsbe+kc-*0}Am(lW zH2U??UP<BJa+*PT8(S1R;;r??~{$5|(7e*fDcYKEed# z;xfyz_*qd{X{qaV0OLvD)~Cy`d9YR^BylOEk*Ph8 z@LHkL?3rEF23f43yOVY)B;BU`re@?hholH-fj(wsa zyCfj;#jV>hQ+#e6*yjn)Q=nNY45GU{@E*$>2rQ6}7F80O3g@Ix@-P|-PW{pOa0jCG z@JCn6G9jn4A4%CI?Xo7G%Fzp8EgK$`wBFqHv8n4T*7QD#K@gxz6*b$u;BB=$nD2R0QD13Z9}RdT_D~rhw8^h z+kW?TezWs;FZ((qQS_5$+qiyL;CXcl`S(uPGj#t*7kK6qcm^pvKG|mMo`5d=skWi^ zJKEA?%EMEedq8sHJqEh%wE|=Dp>NZ33__+kMF@Uy#v}#_l#jnJpBK@idNJy&(B}31 zw>Go+BX*aMnF*vFLZmG}2VEXerp$D>@S_ZiNy4wWW4b>HWNDO#|8(Y?H5*9CH=TZm z#J(;fIZl~(*p?+6nw~aS;R=P5y!LWRbUOICmVb;Ewfab^5zqU2yUshm411%_TW4be zJI<3M;%=MKVFrIXJ+yN%%r~u`7pKp?tN4rac#SM=G0~{%_h(@E=Spipu^YyO@=%(qvMTXBqD!(!(DmMIY6#r)@Y6 zD1OyLec8WVsG6k*m(&zjh{*bn`l@D7`fj{xgkb~P{R%}waN&yK4Z&^4^6u_@Mj>n9 zOt)jtzarM-kaZD8PTo`!&Z7*xU)d#-;wOc6U!dRjs~0YovKCalcO~K_>YqM^WS6@d z%+c(Zf2Bl5E!?@yfuS(YS&+Rw3-oa%nMk!lIn$5I29zNxjldYL6sWvkMf%tfj=8$G z5Q@+w%K0XFqH}T)NtxHU11DD<=~7qbilu*f`ywJVe1swpgq)BVwZD=H8v9$thu3|)DUhcR=I0oUR~z$fuH!N z{gtbj>7)1T1Xv24#Z)4lxN1g-ueHmaV7(miN(~=t_7}et;+=E2voI!JYqh#5L<6zw zESYi%j$Ka-xPE)k;z+}_>G`MTm6!rX8JwUh^!xPesn(}5vn;1R*_)qwNcltw6t%JL znNCBo>O&fQiSE7!UF!hzgAry|gPrg~0XH}qwES9#(78dB$o3%(+qjYR*#+wmTdwCn zuH(V7)C~1VPFh*Rh&{K|Lbadtd#gxk<%OQBVa)YLU~e0pCcSZY5K6BHrwo0YrNv=} z8xx{e*Xvq)8KunZ9gm9$5~=F2+GkFM5ust~Hr0_J%!87x`q?uVIK9II?_fIYbA7$$ zL;}TG(c+cZ6z~t;zU3`PBDDvv?!R1NTt|2?wqWYM^(uVdFrhwd-ca;ZLW~s3WSq5> ztJu&F{70(g-eT(2ca=t0n2Z->{FWgrx^`fTxt2a3<=vY-;o|z21<|pt`PTcoNg+!L zJ|TZ0eqe?$rIQq@TV3S*b=ASH4HAePnDk`5?>;Yqp;k^P9s^~Zz_buEY}z!baH&P8 zM}3!}lGwjb{<;R&$&B2TD0*A$5Wtro3)AXjHVZuZJwDaPU$Ewn%o zjj4qiMk6Ld@l9X$pUhGrC)lw0KFTI&}SPTFRciR~^-kByvc=PL-SJbgW=`(%Qqruk6bc+#{& zbZJ=}r?!kx*guvQ421Z;95!Cx|9Y%CpqLvk z18Aa{kK21XL5K%+L-Zf%%!n9?!Zlm+QbgjWEcr0uGU;yi6MF==6pSC&?kgL>!u%6i zS_&#}fN>PCFnX5ex-K7+oyJp@;0%X$>%%6{UVS^yIE;Vl_~payxmso`XUFh^#26`sft(J+GyO%4fXx%f;=1-4Wj1kAOADf<^4Im`mqE4$Vp)Q5ta^n zAF+XSy3~Co^c15%5mJ_jOSWO*^}qD`t$1#K6}aKb_U}?uzXF=bN}=;pzXGT10^_b= zZOlXnyn{8Smx_VR=nr8{p`MAg_S(3S@(kC=Je^fo5ChjND`E+Pi#R{EKWRY4ca*Rc z%?+WmVNqS;t3J%d?PceC&Nc4I>p>{Ydu9+(L#;M=86=RT+%~T+xgf?Ma$u(1uxMpK zzFCmUN2`3^lpQdLrzXps-CXwRZ_+@)$C;Wh6joK)(s(+crY22s5%&Zzb?myQE`dq* zkS3%ynRZ_gHjs31rEANAnF2Hp8yZl2_s_+?B%OeM&Ctk)TMJjiSl#SjEcxWi6H$xY zhD}-RQFlu4M-A1KgfeHqEcpB@mtg?-MOuPwag*)iV*epc-I;Jt3isv{#4s4G7OkmY zEWF-$VU+=0_`(4F57~1(XYmKl@p7_j!?@!|Pt$9_7Yx@Aocd$_K{laTRCqSA>7$6? zUMdhK^H5o&^7;f32Zl@lAqkK^co)Jb40JdVSHnwMxPbd7$Mn1Vx|lQ7@N(>7*Y|b( zXOyxvHX;6`X^9b5;OjC?J$+ef;R@|Y6a(J`ABRCGP!lW_&uw3LYF;hj=D0DEW_f;u zb=b=W$=_}=dhY0RTu#KBG@xny>?@rmCJk>^V7d^@(S9-&<40)$SXW z3cx5o7r`FJ**P&57&(vVP(j{>&V~;*{WK3qOJC{tV=d#(s=X9|NuGe+8 z{lyyxNRN-;g&m?^+FdaQ)?L_)2}Vd$#>e8XfZ?mJPL$ zu=t%EJ0Ba^DO28EGH-e@B^Uo!oYF37hfeI=$LbLeGIcn=IV}ql32xC^cON-LagrY zxaCZ{lUEyC%?N+@)&fqmS`;qScrXF|ywA^Xh3{jY46@JdR34JrE6%CTefiMYWd|Ua zW7Lw>vg62i*RuaY?#50;b@8?g9H3u>3WcH@Qq04AJUTe%(Hm&(4CTQ{j9mSAEQDsY z&D?DHySkh>|Jb17ftjEmjK>xn;AWyk4}vmV)c1;NIbo~L*X|V~DA&{VyK~!*U~CyTd0w^5Ia!} zQK)*_QocyWwnT@{oW8pgppJ4Ly$WCSQfV|;n%Rk6gk1mcTW5N#T?~%G!=g<1$U&rC z*g!Hp=gFEPXI}I4VRP}-ZveS$Nu)a-&}Tlyopobs@+Pel(m=mudA6WWnjhDP-GvFe zN`oEc1bDcis%1#Vjx~jU*dk-P12R&D&YjdwWsbE7I645PX<8lE2Ue1-!WXs4j2-L+ z;b>e_^T>rlLfGfYnxq?PKcn$^e=ISCLXpc~<8P!*nmo4M`r3b(ft`J;D+DGV#Pdg6 zUq`1$16G8x$>LT>jPzA1fU3??9Rn{o6g7pZ<=y8@b&(6lFo+^5b18d!~4Cz z;F^o;aL#6C{@C}r*IM`5+2bhiag?gBPtl$}efH!j3OwW~J(KIVcq9=q!#Lw1f5&R| zLl=Y+1qA{=1b_d(KPXS&V^7^)n;6|m7rjpD)BJ|gwYWGb$c7oNBaTnQ=T!cZrnIlY zDH-?AzD)~*V9nk$yM9z-DBSHC6G{{u@k|ZSaHO#y{eCFNPi+vqCS};286QoQa}~&W z=PI?{IA@?@gUP`L{LI7X2%DM}pzH#*=}SIuhAKwd7%T*K2LR=iQ{b{rEfnbri|nBoa!x7dg*F3s)&$ZYI_N z0^x_5A*;QcadiT5Yt)1=KOM#~KU+!M%QlAZx#Z~dT9nUMFQGd|J5vN-ZY9yV9Ovt( zBYoA0jb*Tiqk5iYaJ0mJD%X=+Ws<}eSB)wzX=LTOv;p6Z-;whHLTsWWtdr~fl{tc$ zfgGKMDX{BxWt#5fK#?bH@{fKv+1H$r@aTbXkZqed^ zEt0L?1DBc6Sj{Y}sKuJj#PNC@f?4XW{Z#~Bob%-!%Q`Q$;a};XsBv=3Gl_4}(!%Dk zeanFpp`^jW<{pWytobj^jRs`W(JTY2xsH@HvnD4)t-@I<{9K@vP}Je|&>HWJ;!vL2 z_}Y-)R0)iFbLpEBi4(~d#+yn6SwmC66vTo=I~sMzRRHa|2nRgVH;71DNGVNr2d=_r zWy8d9O;0EnIg~R>Cnv%dxr2)7SXCP`xy9D69qinNjM4n3haYJ_Ay%04S4r;bY^Q99 zH{M;nBj8PV7NQJut1P$(JLezer%Ih^WK(@5Lt)Ma+gP;iP$w&s(gOq?JxKw$a#8WF zPt@X#$b)vhsjrJ>w2z!n@}?Px+lcn_u5Qj6>V9!MY#L^``Ih-K0=+1ZA`e}BaXb^g zhb|rqC6M59F4NZUAq{!vF&w4C!GQUbzxS&MOOf+SF8dqlF&Am5yLnX2Rea_xdWRF_ zg{7AL`wS862o1gL7qh06F0TxLEEY4t#krnB#1t&PHr(NOjq<)$A)5_``b$X>9m^n_ z8NW6n?A}N=5u28AIKzdPGFJO-utgM7>GPjA=r3Cs{xFRJ3`D3$yj`=In<`#@Y#4;J z6whRZVt1y{2uL|zO9^Y(o@#0vn$iif5?9hrl~6K?-3luNAf{Y9CMp1ci}q%cG4M+j zzIwkGBg$SNnJ&5)9eHLs>369C9?5vxtm|<{%0N2hmJv6DZm&?p^&iPP;}fhd#B{vB z3cpGz5N1&ecZGG-5zpduN@8>Khv*bJ96mr2pR4m}Xst=USO@qErB8EQFPX3ZIL$}d zL;55r4LD#rMb|iy9BqJ7a^`gC6yb*d%Z@f1L(S8oLbqGKZ{h~BrG6}1JV!yJNsM>f zi?VA@{Uts8L>AH=pFTrvjdmuEKv(4VH5-vbR)t}IJsg7UF>vAGm zHpr%QuEj<%;Zr%0{8&mb>WR{IT3GrJy|IP20MbC6SWSlOTPXse>fFFGqe5TNg2!QS z7!!KC;eaY_Hltw`>ncW9n*OZ!FTVd7`F|+1mo@|ZlT%Z&mUbe1N@BTzI`3RN`OL&} z)t8aOnxfLw(p_A(`BTbLbnhJJ(_VB1JyF18W>8ZTO7xWZMa}y;$}BA@$iG?~4Sz<; z(s|PnPaZCgPKzQ1|9~$0MAsLdhpvEv2mgmohY|+I#$W)k+!jol*`hL|^1R&B7kze9MtW1bDHzS8A`6^h|mwNl{Ubd3P%Jwz5 zUN~c$oWiRxUV+Fyg295OC7}}sti$gx6oHC@;wIR=(bE%efvNzuM0EyP&9f5c=cqru zT1xm;y3DX;C|$k2Z`Vroda33TT+xxEH-?~=Gu(zSf~`Q!bt_?#_@_S^D@mGcDU`gx zOg5wofp|q6;j6ex>6EMDMy(ROf^(%2Gh8ANj`=aqM6ah@hsf)eJ~>0@uBg7lAHe&W zVMC#*Fy;$2-3SA`L!d_r%*S0#IOT-WKf%4^>RPJtsx#zQ2!e_!mjFa}{6}=pUSB@4 z+{g{G=8AiOFi{`drZFGqfLBFMN0Nxw50EzaUJ4n z}*z(j+rBWw!X7OGE$FnwEvFHqfZ$c zgb!1~aw7lX6WzuS%AfV=*j6+?!ZLCM$(1)dGU82>=SBBs$7r1o4SUc_eW{RNR`hkzhwinH9q}pQ5zoq*Z>#DVFgN@KsY{$i{1DZR?6VuaTTBO zL4~udp8{9HyfAYD*+jap@B$4)#Bq?v91GKuXE-S!QSuC#2SaWB>+}$%O8=L|*gC!B z;5flc-S`$x@^LiFx}VU(;>`%RsLGKv@@?!qI$ZS#6p z2>g`}>`e}VYz=QuSJ@EvZ-8%GYbJ~49Q}a~i#Rk@p&r-V2yZ(s${?HRzX7ggr4a6N zK78CfWs#{yMgko?icGP>^HLNBB@6@QMwW3F?#TZhAvb5-ArOShN5m~o?z}gmKe1&k z;mVV9mdw!1x`w(*zL@hpZjj8E)iVoN!^GQ0Mj3=8cTxc}O_B~m%Y1gB?Q|=c5vk#8n`qoa1t=!w5~N6f>ccajO%Mk47v68M#w`k&F9|%;=Gz zghy&erKVYK3(J$na?*$PGN@U171dOCd{1;20I5>cGZ><+R;GxJD-_8s=dJ)+4mPW_3Xs3 z?)0*;0En1>-ya}R@Ac(VCx}ifETg+D7_!xKc+%zH^F`yfhmE-5qQcz6@+1mHv^{7H zl&1i6%pGE#{(LWWxrvfssJqgtNqK6H2oL(pCMmt^Jbo*h`Nu`*$%-e+LceMC^wM9aWM|A~cc_aAay569;YT^U+dK<}eE`-_^!?a3wvr};(iu1oFWGTdC z@420w;*9Sbw3uMIz8R}xdzCbfnH%X9V}QSUidFl%&qZ1fYp#tN{;uGD4jo*%|x_@RKiTWDN)LNH8iVr5OtR9Sk`8xX9=4LhrDPQFKjAt8l?`T#R%~F6v zW=0~2ka<+a)&YZ9Yso(NFN}{klXp}db}ePr53QLLP50wL?w^1Zk-m@|NKN9 z@;|MrkxcPaPSTs8MS`Z6If*B$w4{L=$Fn0O^+Z6{l*%7dEF`r^xwmy~xL+Yc^`7~} z@&Q7WLz;mS(Gd|JWl;JF)1S~N)^_SS)j^`YS7GR+Q9{bkFp*|kYmN`xioSZb|X`)wIE}ST*~9vw1Iiuuq(HYS4WbM+rg+$*Er2na2vjQT zi~cUdr+wPllyiJ>@R8C>4Gp&MUEH)gn@MgY7=-MTo3>^OS0Kp}L3fe!I@{Uo|MV;6 zDc`5Z8lg!UubI}Dw9R^L7Cw_$6L&{fuo`3ZnyEcS<_>z~bFTx_FRU=d0jdjN;8rM6f8czKYs z@kobCGJTJ{rYSh|c|z_%mZ8LkVQQg6$8!-+Euc>h-y>!Lw9FjK>9&s7s9S{sj=e@V zz6IdA6v=|!Gk%hoZ6L4=7X8jaR*Q^SZ+`EDQLF@$5t{(4wk@4(HVtA_T1xieqB$ZP zojp*l6n&Y^;(9Fu%8W@^cB0dEsQ;;OVCvi!J#9Y=cWCGcD-LA{xFO>yNvQFi*rJHP zt&UJA1455`x-K-TsxU*g_*!dl_0Q^0Nx{-wZDXa-H7BvcMDStgs=8Qt@wLVR#-aS05BoZ04mhpl0{*dn8d1HXG+*0@kx11 zpru-lC`V$#r=UXs1;W721%5IC5P2(!Z{p}?(7Y~WLlNj}+;^%sqp5Ki6ZRtmy!fAL zp&ov$D8*H$hBTcqKh`CAA#0o$_>Rm;0+Zv_8VrZO2g!GAD+>SjIU84AciSQ;1V|M6 z(In9&lmrB@I;{Td?!%^+9}bJ?@^=yZ7J)F~IWj*>MXVV7&jyH^j46@TY9tfeX%9k${kZ*u05LB<1o{an0}{c)G!gghP5XQm zwA!~9(Z0R;FZ<2S`z#3k{I=1FFy*sMh|bdRSC1&jzB@)Mv7ULNT(Kd!0-lHri?24W}fzE(s0R=O0cQ5;u91Ed0>@KEV<>X zi3;05q@FMXTFPN1BO&BlUld3u0k@n8VmXI{RAzPCUU&HKC-;ulQPP1uQo=NkT#{zh zhIsH%*w?)rHlC4uG{kHVo(tBDC|Jd#qjXUcqil(>_sfGCKD(QCJ$AbeEfU$-FqCjV z#Z@3F2MQL-O&KgNAS$vLqV44>c(8GNj^0N~qCv0nL&I(ON=zD6%P z>ejch|5f!0C89-W8Hs2K=bto=+sfrfzi=}1%-ihEDh~DC+=aHn+IUI+M@z-#_OnD- z>cr~`zy0c>E+sN!cZawO_PF>Q?(nMSNR*&@!3TpI)Hu-H!jPSnM0+8Z`w^eYCA|a> zE6Xk>?S@{!Ia>As0{wksP(Q0$u(y4necYQ_6E`gSA*54v+-|c(Ovw92Af#ypCVshB zrxR2C0685_Ke0KVzO)Da)^krZi#BI=dh}AF`#3dtgpqEJ?-tRM+!r)T##Y>G)97vK z%sE>aHj}AE09u}f!(C=KhA~}sgj0mQ3H}#NGu1#_XY*I2{R0H&0iwir#;3XmOzMg} zpR08C_#EhbVOM<^S+?+|;off1wb*sKhP7j^&>inDmVj3hTjO+TqWZE)NxM~g-{(WB zT@NLb09YjOpYDGP_x++lbv-b6b2E9sZ7u5q z+M*8c+TQ=;-Jk!h)h(RnQ?pJ1JHS$B8hCoC+)tvZwaDc0O+w0<{M_WulcXhmbip6T z?%XHH)qFwWl>5}Nt*58e;&UZ+_gmFCunH`>-u4B2`=blNDmrc)j zPGDWOT!B5WxkacoRU<6C@+fah0R@`6@2Qy+!t&5~#nf(Gu9YD_R=A*Udaoo)?xq7f zvD2S?%2-HTpj|(KraVaf<07NB)ld}}APlDD$8yuDC4a0zR)CA=if{Ule*6Uw+mg2F zBcqQnb5;nJ{pZK>LvKk|wR32ZE*os-B5|!R^NC*S2zuHWPBdvVCWu0It120dhF@A3 z@^P^CD-`5JSP^>c9NS4j)7Qg$XK0I5kTs&J-dv!=IGgnS#=Mp>L4V1NGSR)14em}w z184<+0`&C<&>2J}X_8VtQ?h=_vM3kiU2lmr!WmI+OGT&8G$|QQ&u|7*&>zi1)EHd> z&oSR0x+el$F(dlm0y^KtWsYebqtkH7^N`PrB#(x}tE}It=dof8j^DsfO!fFs87vL~qGB*$4R3`+IQ=4O3gm z1`*cCl2i2bISuY_Ap#euv^^sCrQfeA%dEh%cme@fyJs#5>i8&ws*zieB z$=FiKY504Cyl9G0o|Oo!Y$|zaKtn~)WmP|?Z08^i^+Ma$Z%evn zgzYWh#4_5f?)geB|Nm?4#;*ECvhL=MJ5Wi;r?i@p7 z#QO7@@}n;HN=cfTRxFTj9Hx1I)IxzWg9!rmYZ7U_sH%FV?E>Ai`fmlQ(`J^Ye<WMrbXNg-ib`}i02j&;@-fAY{|kfP+wB6@-q&e{@C$(C78 z&RT^?XOq&Ku*o0E0NG=mGJJU!O-C6gkW=&)<0S)Lv{Kr*G+8gMde1d5E)D&>ju-8C zJ-GzSeFrd>hNANzxka{li5v%-hhi(GQ*-foaU+qe9N|g!RQCPnG$MP`e8xd--q$~Fw!R|GPQ!U?RQVM{zhso0-I_e1@7m` zy3(lJw1xH$>mx}!O#qz{#nb3SA@mg`P3ax}4h}P{Cceb$8;z=g_szL1@XFSY4etZ1 z?Bz_Xh_z3{lZdUS8Wda_xAt^~NV9}ee=JO}ITF>!GGC=tXVVSRzQ?s7cNe#5BmWs7 zY73UZTQlsAk$r?b!QshyqJXjn37>g@v}yl%fWXo_=6sTu zPQQe1>~Utx?$vxn2<1_$EPlN@sc63^@%efm0uw*n)01`ZQCXes#A%K|;CTGm75~?c ze<3jWN0_uh&Zt6gYV0Ck@z}>aK&D)c6VIC$v0B)e zKc8D0*AgsqPkkZEy9&8CU&$H!K=y0x?JzJBp;h>%m12$YtZ_Dyzjsip>m=+>BG8_~ zf3SXcP_VzYvsP|x=jexpQ#P6IKSRC9(ya?mpI-~&VYTVGNKs9@*#f3xWy(O-252te zy&qGPxkhgv7TmeKlzgZ9l>6)uQqew{CNycdZD$cYyk|6LAe{qy|#wl_7*XvSdSHxEylh(S?FSek7V z6WRNOV%aV!3%dE~@&^b$VDWEGQ+au$3uJqR11q;nX$%dWE}y$w@^(b1D-4yLUDN$d z#%4WC#%GykJ^J1|WVo?1IC7CGAptZbkDh@u@n%}X;jz6-*}&$LTccc0(xZ@3`cKVU ztIQ0>YJ6IMo&g(ni~iHiiIOfiTeThr^lgLOQPmFkR-eQAKBSUUKS1VByO4HSe3C`m z>@kgwrS57(P9fF*9ch_4{PqZ&W{di^_yh(eKk=BHR2^YSrT}s;uZ5aCY>UOP1WY|piR7m zZAX96Ptf1c3t=?2CM0kRM4lsK()9ScGW^W5{tzD(D$#-nTs2ps`! z>-WD5&Nu26Xy)wL?`=`!f`oQUacb;bSttzT_zi1>Sg#UohguS68VfK* z7xqM%ISn17()y6Fp`np#jcpqhoRPrLLGd6roQ2EO~po z%EZI27|pm{=&}=mFMWb`@za@e~)VG zA_;qbH}^*f_E@ybJbjxr0PCBc;T~eE)Agt_qK%Wfw`HBY7r}L@@ba3`R)cEUQDkTu6G63pYuUUWNyyj7F1n|` zNo(EQC%n<(ArrhG#H!uBR5)Rw_4b!zb+d<+Linr8_BrnY%4M3mC^#*E`6@#=E(Z$= zIb4K;5rr21frAOCC~^*Ngp6FfNxvTq%t7K+xQJ|eYdm!&ufG~m{HsC4hE@J#BX`<5 zhyj!1e!cx!J}bqZ-&bykO--z1*Pvs=s{gy zW@LO2plw-lOF^0Y{Jw@nzJfs1OW{JwGSb#o(=0pi@u!-C&v3E>S8cyIBMGb! zu^Y7{Ju;NMCsdO*xmxsV-H2Pr|a znNhC3J*>j&8%4{#SKrhFxCYsV;?v)<{wTlP_q3N@SX$h@pPRe?XFoS#@rnl{?k@Vn ze3Ne`p1=aawe#?JdB)<%3Xh~HD$!|+>TnA!A)noCgNhSHpyC12qX>8g*!v|e>#bW_ z=Q$*OY_o9KVBVGmmJA6@)7=k_Fy>03)3t^`PVCCh7xP$R6o7F~|RF-RM`$&;N7|H=j-c&!`*0=0aH^UZp% zY_!85&rR`Nv?s?X(;0l+fPVzl;;hu}o%a5%8qm7M$l@YlEgjDDte& zmhXxEac#&%n)W#T|6?D7H!jhRPSKX|uq!u@6n~Rzrq_w+Sjsmi$&mD5 zmC1$YgeswV`C5(nvRnp#`if`APoc^%^?lEpjL-thOx8cWxH9S1KfrwXET#G93G=Kg zc^QDXNA%L>dn9Ons?v0EFtRs+ef(y!#;6A;bgpkXPE}#;ee+&|iWhb*G%i%oU;qpv z=#%G)35wgxiWf!bSSBpig{3SAe@v(UMR7~^E4b02?s67$;Hj3TNo^vg2{sH_V4jmX6I_1D~Waa(wUKnKn?=Blo z6)$GH%DllYuk~*%Dpzi@JquSIQ!VuuF~Gu`_lfncs&A%KKwjyWx0HWgGam}<%2AN_ zLPiZ)7;yI09Bo7kYBl$472tb(Exf}mEC2rJjkzKpNxN%!0Y}&8LFBI5k5V#Y%??RE z93AGMCG{KUaHr=Rzwz#3wMhexZDuV&ZN_OA$?SEpnK6C?7ymxeW))scv@5Ey!KqbAh%MMkM<7G36S0fYEsAMjo{_iwspmFZ@7 zNKUcd6|qkGN=K{d@MM*D-V@y@pFcpVjgww}=SNT;cR2KYz@>)kq?cD^27h8slPxaK zxyNK|ceybWc#r3!u%j;8l`NU>$ZK2MS{V5@W-sbT>GS2ol+2mE6|nM)z3fnoBz-+l z=KbdOIKNbI17{TcNW%&S`ilz77E$#FNN*f~rBgJW&S)o~CeYRUe8fJ&K%MCBsWkLN zFk#&hT9LT9pdnv7O8)tEUL=>h$V?a)VFL9_aF}Qp(nzj#A;$2}l94+0F}hgzhKH@W zOXhomt#uOtZU=U?U_p+h6aKo`hV50`b!y4}S9DhZR$P=(1ph}rMQqs=@Ys2wWomga zc5f1CIl5I?ET52O2g~LbX0+Zlekne0+#$A7+9YYB3kJITn>1RXL|1lnH}W(EzHUlS ziAI(HF=+m1`9F$M3O@efF&kZl{3$RH0FL%bz`E~8KP5}UAK=(Wax)s+vIw;}&t7jR z@=FmCxQBhe&Iqch8O|)=(MYsUUDh0TD{aXIXI@un^zanYOMkaiFTeAt$TB=-~ z;a?}_!+po$W+tMap&MVkqQKCJEBFTrliJ=-W!x_Vmou4L&~_etKExBOeq@DClTOED>9scGSa8CxnsHdNVa~M1=L7uPY^c*T%g60|@@hlkwCcwK${&CAwUqxX9AE>8iShA% zG%BR48z6pF1*}WrorX76?A+rr>D?U6H`6qe2~yhkredc8i4Ia@)0to#^5)}Q+Z0WZ zT27{A5<9$W8tVaaR{j(1f@peU$}Z%0hsAn&MIFB-fo`PSeY-l%L_)s9_rWd~oYQiO z8;d!F`Hl7gCcU@LeCn?^Y;~N7i}DRXz?S()bB-H%SEyWN>W6M3_x>^*N^aBJjT@npoK0vez&&#LoDSaqCB z6z0>eGee!9UKuoq2#_z&bWl3kSIU#><=+3M?wPT`VpVae$ll~|YW2b5>KlXK~P>sq6aey93kpI zd4j@IBt5)h5RM|8tI6)YAg#+}f4~=Q0)>uzw(!aPldr^sspP@iknfg@pEELuf2<8! z_Xk8lA}Ga0Un19HaCH5wE8$Z@w1Bo5SUhpqDoxY0;0Qf}S~IQW#fWgnJ@a%n+Z^$u zveiiDv%G1(jJMoyA>wNP{5&{SA$Q1j)y$vhR&hBtS~g#%^8m7_HaqDmZin}SW9HKH zh+5>u1{<2;OU~5-XweC|sieE#`EpzncH&bEUqeSOD7WTxsG-39t6N>g$C67nG;0W= zQhJ^;)#1N$v-iDx%&p8B<0U7!?OW9iFxn%qZf*Ere~E-RCrD3k6_V_3MK5E%M~a{u z+fyy$n}>__gu`2f8Bp-yYr9u4Z4+ZrnUE zSy*MV&AD~S91<&y^Kol#&Mg>fJ89Pupku zgwp!&*dw?fdtvUx9^O+e%S#wXYQ!67hI3vSO*h(8$FELo@*$!WBQ)nsa$WL-t;A4Vj8z|Rx8}7<3xNY`7_?}k`V9?wDhI0*yVl3mkknHeFs+=AL7DMKV z*2HFK2wawQcGB2Za2$bOYt~)*1$zW#+VxlyNvlDCkbsj}#lP0$^}h%2H&>Tjubd}q zp3_ijK8_7OFhN^GzsRb(JF2kovqhOxx=^_hcWA5SQaVj%BQ=INN&E2^wPYw6rRg#0 zgS_hAt98CvYKe>1Vhs4!Nmv-<#R*n86ihKMZnIGQdMsSPAe_&X!fGpaOs^Py){OF< zyRA7mdZ43Z5wK;$_(=Owsb$37Hn{tLiFL6^08O(OJ!J{S`pBpdZNIIy>jT8Ug)UL!%F&^-~xMHUkeyDJ-W4x$r$iqAS(KI@+gDKZSH#{EN{o)0d%V49 zu7f`lB?Q$$-ROUKC3(RhBWOV=3)c`A+uXYc;&4!whdQMvMY?@f& zpaZFOxqIetjLEU)T&vl^tbgO+CcG{zrYwRS12imW)QQ!hV;YBF?kRm^ZLL2`0a)OG zz%JT{HqN)j=D8%>G*kDrPKR)Q!mpBrDc>{3n*F;(uVIX@%J=TOSq--bw z&4;?HmSg(8E64#&F(ZuO1x+b4nJ>F^kCD2ZRZmEeNR6!>5mGqE5X{t};X9%vGGAxl z$;*=n=gRa>pEep!N4F-eRZBl>j6VZu=Jx$!3|6Rj=tbF^vVNdnLo0;RT z_EsVz=KabR&wQtOB*=N|cmCj?iQBGT={~N}BpI%|MRFg=5exCG_|?QU{ZHwVn@8;M z1D$2MLkB7=bv&5)^|CC0fI`! zBd9cQHeXhn9%V}ZC0YSGNW7=9#};m~Yk7EvA0Yj6dYLJ_aljAceQ&uNEjBi;uhno& zo-XZD+uVHf(*{AVncXW1ie26?+-sn3k}7LcveokA!Ei+F)GJwN`bT=Qz>39#^kq#7 z*p1&)rp?8Y)#)EpYZnpb2SOem67zFdxf!qjC^sscuwJ08H7#MN5xGx?s1(`)iYwZ0G;aiU{ck*6Ir;?s$Ai#!7i{yFCCzxd8vX$J zrJ5-gN8X~Rejk$6=k~|6lcx^%9ddw}zj>Xw4$`T0VhLIU-Gp<`Db57;#BcYxKl>mW z9w2#pQK?B}FFWfQhu%Lx-ns+lA~U7NDrj_LmFNqhGknHPMWxMJHr&vTb z=CDs%e4M$IFLz2?DDj`F&SR^v;r|N2^D+$bV#$xTj>;T@pI5?JAxH~_(M@H&{e;uU z4A2iv@mVm9OOEeiW!Mlek)Xv)Gt%fq584-7Rw(Z9NxBs8?Osi!M&d?27tDP{E`J}|d!UJ~P2TC{-_yK= zyy$EcrCO{m)WuH5=V;;N0^TN`zYvcx zST{119o40rQ+ZBY9(2#?bBrJ{!`|F=HSnvRa0q&5_d+rm*q6ntP}{gmrl)F((>6*jb>mPC8$3F#Gba?-?- z5oG-mwOU{r(EZ?KC9oud3{URG(v4tKW8|vCHe*c&E+8B7=K@8c`6CWZD6S%x-oK zo|~V1kAKU7Fn3Hb(eS}GC1!cy^FD}cuOocvJaxTwcDyx^Hw#YnyCBUk4V4<u1P>SHGij1x9<-S6AL&Q>DHB!FG>Ub zrY=ZCD2o4T;z@8;3?~3@e=mQ9eb-&K-*C*B?5f8%>@>=SZi?HQl66PWelMSyui#|t z+yhUdn2Y*c+TO^D&+i@Fwa?c)KrZ*kKWV4z@19V8J=f`@-u0edPz*}O|NG&My=$o8 z(TL99Jwt(8;k#09o88z8-3Dg%`i|H3ntdw|5JpJ9vV^nKK6@50fE=gZGs-X-72bO% z|7L`#3pk^0_xL%HW24hV@&ufquibp8uE(C5&6~Y>3k$IO1`S$Em1W1tu1G!@Jv^AB z@DQ(QrqDdM98WdQu$R>Q=HHYFy+H_k+M zW%jE~>%t8(3yNd@{MO$qU`mr-)2bj$>B%LcI@hV-gyomJ9WS z50F1y0S9JOP9+bJ^}hx`c%C=bsJc-m=oFF!mvpSy(aFK^K> z9|@EQz=?W`(t~&g(FU^0_){L!BDGTEAR}^xFdhF$V^5cr|`AgIZ#U5dEaXU2R1G zQFP8yN=ewXm1pyaOIi3iGYK3^UL2?}vrQ}1Up`Y6FLBT$)FhWu)X(E2Btjk{eS{j4B(SBh!Pw^o zGhkzK_kseTZ~fH#9DGCI@)-<>!q zd1EJVo_uKs&%Ety&s4Nv;50G2d*(aBTNP-4a2|At-ApXL*bK`Q!~y4;gc1&|&VU%N zCxN%Zj;)zfOG6kFcuR`b;qYL!z|lMH|64Wq3&0jzypDR?@Tx_bSHm|aG&TqseNS#h z?=H?pETZgiJ|G|#Vo-1Ru|0^&Q5`Ig|MfDYH7=B zszLKQL3@#fRYe1Q`FlalBYXbit*Uv#^`e~P#%CYnLZ~%fq8o$R++k?q7cH2C%(re7K)9Gu!%5w{U~gAeb?*C+ttPP@@F9gh`KwXefAA zb|R%~9Yj^^n;D!Wrr1$Y2y5`&AXw^kE^tRPxAX%;AeTU1XKmwM|K|(v%tOH&FdH&| zKhieZ+__@>WA`qihG&eN_eNT9`~pOuoY>FKzAH84tw}>c4$fuSy#14E2Dt zN-DfTpvPFC;SOvJ{pYaxR}pgvopEN{5qwx}Z4j{y{syatJ>g>Hf!*?1>8tGOQRE)) zF2Wb5X7E`s)7-3nz*Dmq*E8c^-GBTsn7Y-y`(EAWb2K~l#9;jV8%k%t#a+z#MOj(r zQ}xd9@}BgSPW`!-{U2Rw%~N(O>2L`N%KVCQI-f^j2cs-7X$^KAtK)-briI)`5QLhpFWiAYi-?u*GI z(uY1QE9AOdHfD0zDQ++h9Yr_dHEAqz9pN!ElBZdg#^M(8y7ND0fV=`8qmBmOcCc})9&ec-EAWPw zvpUqKRLj8wc6#Pt2*UZf{G2orVV0H&*Sab^&*m2UmV+h&6NxSLbYqRJOOvq5ay1)q z?{;RN&@;P;Z;7j^N)gad6gQLZ*n}vBwKn__2wcdYt)NYSn~Mh-mLP76s-Ko>bt&;i z3oXR}v+e~u--Qm>hBC@^wK=+c`Ffd7ZqS2*UB0>-&(0KQb;(D+SF2n#FnVJC)J1&q zl^R|V$sYoMzx)Pd9%DiX58A!y0s>P!(cxCwyW;SR1dJ;)Lg_%iInl6ITCrhORbT0g znE0oCnlA?E97|j2-38uKw>NZ3z_@hY+_;L8(L1o=NabE7vd{gL34%<9 zWwIk}LbZ8&poZFb^KtHQOwr`>+Jrv;Egd44JCV3O^tbmNBm7ogU(;h6M4Q4%Tl|^s z6Z1YCrGjlRxg~kbzuc~z_W;3@<4o%2US)FhQ$T{|P|^`KgJz%h;*)uKs`k)HMxYW% zX9}2LGsSjl692om|L;8JdgRxhNWBo*h;-B2-2oSY74cv9^!4I7M03pxRf7HOl{W_fzF^oZ%}Ss$)=cn_H@o9nTyJFAFAY6m|1V>xHC zT$e~3Bw6@H+ks!r#RCMnj-Fn}G#kRQHXr*IC>FV|tFKAdlswkl-r(_zY*zhe_5+Om zW{wi?v;LD!elz9Rch7j!jqz-cs%!VIs%Yi)z+vVLZu@zq*&Gm#J!~BT>>1C_=aS=u z)UmIeK=l(gJ=h)~oDvfgi@VDbVGocP6HThU(2>-e87bx4cOJOt#j~&SCh%PH*NN{h z1iJTDy6)zBI+xyS`_=p<4^`jh!<)d6*loCz;P#)~v~r36jo9 zqa^$t6?Ll^ykWm#-rsULH&1)fvoNpcc|Mn5)-FarAo;<2!ZZZHN(}EQ*q!-5MO=40 zmHqoS${yj!jI2lpk(E79WIOgqW->!Eird~Nn>flAk{sdKo;cx{r6bCE>>L>(BctEP z^Zn!Z*LmId>vf;MKG)~E-s5@?qkJT`XZGVdHa4+mh2L*MM=v8ahPby3c#?&?G`D`g zdrryZc1o1I%GR3%k~)@Z~n9*jm0+(G&aE7_XV)I-|M` zKfzDlOb!0M3-g5JOHgC@$r~;+eGlXivQam$F7@*(K(-`4K5O#_s+QVB`QhYxNG&s1a1K`pN(fMm2SQ!dYr?*UmfN^n=KAl54*u^ zj!JxpE*eV+prk>cG$Zb9Sj`JkjdG($e~QME)M#z?O5P@VGV8K&DE0Py^JK+lLmxki zur)0?l}GSP`BZiA5j`@hKW?;K>MpIS(a3a1Tg;_>)^1};aTRQlsQ;9WgmS6s4m@HL zDa;qVC;PBAO~x8?J;}1l1{X-uw@112y6UPD9*6+6ni5#?>++ax;Jytrse~_s*!UHL zOO9jwzAIS-ct95Y%1p}Bz&9~yNGrH7RC5D)xjqttYt%e%U9w_iI8I+#tty{N30umO zsH4V7~cJoQv-udUi39^o9fkei7Hc866QKOz48lnWXmU#W?>;Bzd5bn z#ht;=B`F{)odP+vpKx(&>;bqyE!Mp(woCDMDhcl$=ua#Gk!7BpdB=noV&%88>Sg$M z1VIcn7b}Ym19=3+Jzff0z-0FDNvD+39X#wv`;ygkk>W-H>XVt!-RWelb^!uVgV_~J z&mpMBcO8TcqOju<^M_jP72srLg;R+z{1~~jzF|huqV^0iJXKWHZ1G2q}Z;=7;@ZE|77C9UBPerS#%v{yU0xjL`$7P$GWj< z9B%_+b2XUq{*#n>McxKGxDYDlRzYOf)$hDdIj26j*+#z&gqq>{4p>&dg&poi_#4s$ zG_W`ra_+XT7(g*{`45i1Jsu?4m`S8HQ?>Ri|ZPWkCTgwk%!l-Wmp& zT$rMu3x~^EF5jjnGW^RKp{;K&aYlBg=%@Yjw~r_1og?;e&sM>5$Nd|tNqtk8_s5ZQVsT-v{LVCBc~~#k{r`xLc!Rl9Dh17~_Pjrz~*@aWMa++(qp( z0nODwf83u8@HsND2f<&6Tk3=JLKfE+0us-%$yt)j$FacjvzZGok28?01C_{{_s?{K zqY2^b4R?~_sJWg5`&6XyOxAV$ik!-z86>X9!aZ^lhrwBKuqA26D#ucr{=*`|Rn@{y z^l%)~GWcgMZCu{GYbqw(8%ZrHpybbO^i#ovxfwvX#k6@NM`WNuC)l5tq4m3a@gzN| zi6j9(lNvILR7br?p?q#PHE9mNl|@^<*{hImm))6qeejzHGpU#_1E1>^18aLrh#?&e zR&m8n&y3{?pGbZ(@77`B5uQ!kW0mw2IeXE!r9~nlPrbc3oQgEv@LYqphBH}GHK)8J z%mOS|Ce<}-o4)EOE0Ac_^^o{h;`R_4Te+MnM%$A44KvG%)u0p;6!3tr`QGznTXP} zl&7oUCeeGY=pzpPr9A&oVnM|xj6cd}9*Z|HsvO&Rv=san%8)2CZ=IBB7sRXWa{5wW zN5UYglJYpexEYTAQ=_{t;!K&+2Bg=w45nqrV1z#?4V(G?cGNjk?3asnq}XZl3gfR> zA(M^`R4KLi-peKC0(~#y|Ik0pfhaBP(5cqx;p1A}1gcw*v?`7*_=(TF*UQ-VYP?O( zNZ4tqWaa}4dZ>5X)5Xo(sLZT>UX;G%p6qYV<8L^-#&`aY$KQQiK78g7w1}MD9H~3C zFUM}YEN?Ps+BkNZ(ywp2?v|Y_9l!37RnXJAy0ciRGxNl*(*_x=97*AJ?#y5A^6K1w zi}aB$n`O+-cdlA0iNZ;hT7@hr{Sb?(MqgbFZxk;lg@99^X4m5l(I;yU^y2F2lq9ts z1V~e$a7@zdF38DSkK3JTc0uwL zTaCtQ0ZJ2XeR5}y{vw0hSizkvPxXt*_Uh-*NI%(na$q+5let#}v+SkET3?HWET#Ai z)jR-x`RKG0S+V3)NowsZ`~>1l97Q4nZDw^WRRgRdtSw}@#<-34YAhy)bNa5mm_8Px zC9zQxXYrTZ(!j-K2fz6DF6|B5qPtfwv>^hwgr*??7XAr_|OYx%I>qusbdF| z9Rds%sBY_uKbSQCN9uGL%OZHiK##XgIBYj<4<>{-ZI|CMA$+0brF(fWJgPpHAj#O? zMBMD{Fn|M%yYDvF>qhW~JTS=lih({5&hlo{&IoLmj-f%Hl+t^hzi$?{b?!b8czi|F z>8QxHhx2R?JJ7X|-Q^+L9A|3l=Z^|~)d-*X05QFP!X2wNCp)psdG`BJVQc4u+nfo` zfdXs;`dN&UZ`v7;N6+|+936$QmLd~X>v}TV3CLRU0i3HREcd3OQ=`psklzLd3KQ3B#lLnn?aUA1xUrkQODt-ou*>_Lr-Fgmcs% zfwq?X9}OU*RihCw$Qw>`r}m3*A z@MN{m{@bN1h82}~L(=Upz~g)SFNv)Bk(eg>!9xFS$lr$ShrTn_s(_g-OYj6&=+s@A zWNUo-set;Owd*ZQiI(PrB7%YjZ@7JpGX_TF%jGTC^l}i6A8$B1lvC3T{p*8kHhcP& z#dE^pep-zceZO`D(H*v__5J0M$i*Z?pTU8QxHUD0bZ^fek8UR+>j}`K!eU)pYm73O z95>x{Ad82Tbj~!4p*XQ5EuERUfGuq`EG>(l>@fkZ^N=lZ1op>Vu%4y#u9tF7OvKQc zRWA$-rReIp4d8q;CetX!m&q4Sn$z~Ma7~44nl5M6;g@9{9JP(Hu+m!}*ujXbxQPG* zw7ZUln0J3{R-iPEjun`YGopN1K{q>ra&k#>$^H3a?;!QH7P5m2=8ekj$2}c-66{`8 z)K)uQ`-~aJmPykEWckVdbUvtZGULN9%lSH*H6~`!J`{U#75wUHe)!hhC6U+}j+5pFaMUGv>3-qS$24u#Ana`DI3JC(h3g6poiVAw zRkr`vVD9xUg=PLr2YCuE20tc(@tyF#azlk%^H!@_RopZ`E0u1bR0ustU_Rf1W4G_9y)UTWKUedv=N zc?3lD1#AU^0;^|u7E7OO{q6=J%~<_wG~UZ|VZ>Q^_Q-nWrv^J$XOrj`QH@+%RxkGi zJ#X0_TPS*0p@k87UA^^UZXqOiiVHk@Zts<%`)^)7s8OTAbKFKqN*itH7k>qLVz-U1N=c~fKE;MJP(W9f}BAj z0At%VV%wM;Qe#e<_Q)C5t@5)VHx#k1t$$}rtn(W}fuRwuvU!|{1_dv05aHWt@;s`T zMvi(~A251JnF;sLuj=9Zx=_?Nm_>is;_v`819BUgHMeyU-Ybj|_IvN5pmKPp-XcPqxI`^AYvdc)P`=C^s{9=!v0*GjQy zf$fErkVdZbG)Uj6s`ILyQ|3Ulx&;gVq`3>J`JrRJ4=ju4EuOh_l@LaGwi1Ow`iF_} zQrj%-8E~Td+ntE~36Q=gHp+B_`DEk8mU$+ocHD9?R~VQ~9gDt1E6T^w4^CP{29G+fkIWdO z%B=o|o7ytac3Yz>ucWH=?IEAT5P>8u{fgaUC<$apHB#f(A#QD*Yt6v=$2?o(V|E$0 zDfjigH?40WK>>*X4UPA5IYMg*o&tL6VY{n%a_aY zbc0T^Ka&DL)#odL`xLC6M|`|_RZbec(}sSkW0f3bT5Fvv7{U4+Zc{X)qq-hTk~TnP zP)V#Q>}7xKXiIrF=DytdKqlSO!@_;IR8mPQ3R~I%Wl#bCt|n#Q-`63@3`mOeRwrjR zhrcv9J)V}s#*~?{r4vT9OHXmxS?cVL)TQNE2wVMQjG4`%8~N!}Mr{mDC4{>b(Rsx` z*Poj-ue-pfn7##Sg-$zE>Gh6)&5dh(1x5Cj|9|WsQ9t#$lkvRbg`vrLkKh!|eDACc zmUWJtHK6+~`2IPs^iUdGs}FItU53osp82@L#r_Q!SI5&V zV>t{fGK7&ORNG+s0=auU@TN9h7NsxchP;W=*Y=;-&+!Kq#Y|HGt@Tnsar1pEr>r0C zIp_~9(m2Q!MsAKcYoWI{wv(js(_IPIGx2s}s_6`2R6v(2-vqgan0_`}MnUJ7=4Kb} z_y3!mw?a_jIP~-9{vLN2>6c_AN`LWIAAb4tat&oXMI8pH&i zn&#)MRZh>k_GQW55Z?~%i`n2qXW!R-TG`h6=>RSk}S(8CO$__QM`eH>)ihgLmXr_-F4^VzlZo<$4 zv$c;nCo;EwT#y1zvE)nx4qEdv=eCgEMLz186enlG=X|PkTqj~DGv0Lu+@DSoz|>6ZVHp?kz>*l*1sD-_yX9+LuXjs zfD|yAXcETL?B6Eq3gRKEs#ev-)ZfzoBOZ@wd{R2?LJ9-S>DTu%jDEq`5sHxbv$gN%PUi1B3wQ;ARR?`X2XD-Opv`wG9_oy%OFj`eZ_x l`P5(Ku8fBqRbOjCn#aQz;YJca8rX1;eDT90QPF?D{U0vtJ@5bk diff --git a/docs/static/logos/quickintel.jpg b/docs/static/logos/quickintel.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3283bff9d52a1bb3aa19088f9cdfbe613ffae672 GIT binary patch literal 7103 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 HLLmRyJ!9_B diff --git a/docs/static/logos/redis.jpg b/docs/static/logos/redis.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16164c03c5326f9fd66ac536089de1fcaba39d09 GIT binary patch literal 9899 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/router.jpg b/docs/static/logos/router.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6e416b80f23340bc0b2315416a864afd970a89c2 GIT binary patch literal 5626 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/sei.jpg b/docs/static/logos/sei.jpg index ca1b606cc98ddf9b3b19814a3123a6c5d7d4e716..fc076d1cb4640a14146c88a47b85b1d900b16e52 100644 GIT binary patch delta 7925 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 Mfa~Y|XwF9e588beN&o-= delta 7938 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 U$i1p-&SwAuPgg&ebxsLQ02z!J5C8xG delta 84 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 MF`vjtNiIhJ527D56951J delta 9321 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 diff --git a/docs/static/logos/solana.jpg b/docs/static/logos/solana.jpg index fc60a24c063ace38c0721defe02b2deba922a70a..da195130afcb7b7d38987f9996820ae1a616bc2a 100644 GIT binary patch delta 6877 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 a2VWY0r+3m~a2FFhg{xHvgN)awK>V9O*5so7M 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 He)jwu3(@-G delta 5027 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 sOI#yLQW8s2t#b2IGSeyFVdQ&MBb@0Ho6%YybcN delta 107 zcmbQgfpPu@#tD_2Oft--=B-gpz8jl7!$XX8jVwY846O`|tPBmb4GgRd3>w`h<}xra tsFt`!l%yncnd%x~(eOb^^CD0KgQu&X%Q~loCIE#<9kl=e diff --git a/docs/static/logos/sqljs.png b/docs/static/logos/sqljs.png index bc96fd230392a11fdb438e1f6e83f3c0c5ef3024..60c6d9be2b360aef756d317029e4c3de76fcc972 100644 GIT binary patch delta 99 zcmey;$@ry{aY7#_Gm|ij`K5OK$s4CXarQ9QH82b@GO{wY1R`w%11kfA*~-?J85kH; lOI#yLQW8s2t#b2IGSeyw`h<}xra msFt`!l%yncnd%x~(eOb^^Wx;gE`|UA03DA2 diff --git a/docs/static/logos/squid.jpg b/docs/static/logos/squid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7cc922fe5fdb6577d325660a1c41173849a730e GIT binary patch literal 22531 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 diff --git a/docs/static/logos/starknet.png b/docs/static/logos/starknet.png index fd0af2883496c51c37e445d553b4ff5269be6953..aa2644e6b193a4a8d8b4cc31238739a2eb2e78af 100644 GIT binary patch delta 86 zcmX?Zcie8nT1HN0CSexyOYQoTH*aIKl@&MEH82b@GO{wY1R`w%11kfA*~-?JCv(Y5 WDPxg)Ro9%)00f?{elF{r5}E)gs28XJ delta 86 zcmX?Zcie8nT1HML8D>-S)~F`m&D$7lWyOtjjVwY846O`|tPBmb4GgRd3>w`h=1%64 Ymr}+e_d!bYA_EY3y85}Sb4q9e01rDB@c;k- diff --git a/docs/static/logos/story.jpg b/docs/static/logos/story.jpg index 9d730efdfb2b1d2b4d36eac8a8ff457f699d9c4a..95d0d6346e8067c84410fd877bf5d79b199f259d 100644 GIT binary patch delta 7555 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 delta 7559 zcmYjWc|25Y`#|@ms;4;t}~@OrTcErUhsA8+{O1b znjPi7!mZ$Bdm87HudjyHqFpM3<;Ah@X@r5f5w`j35GXuk-oBA>-q*bLV_D%soM z&En3o+<7)VTNP3untG(3BQ$i7;24{xDau&-j7u&Lcdo53*rd@b@~Qr<*jGn3g$ z=_~X&2V2-^O~0p60vvFD(K_y_xbjba`F3bhA2?U&Y_tR5vc_Hb+R1Pl<@2{r7&6z4 z;i|G2{jd&=*4r}ZdQ*ewFbm^F;4ram)eW7~JHYxxdx+<&H1!dCK4nINJE|FnL#TYStA@GHZ^pVj5ixIn4B-V=P28eu3th>Yc|95 zH&GZN&Y#nJxVxM~jjK5Nj7c}?%M;F#T)rDpM5N}>X{CEo5?Muv{psVeT z>)^cj(-PeB1!3!mddxsV7BMzq}kQRxi5b^Iv*b>i%5K z5CpYdc>48n6=0OavOondg39u}6T^&Agh_OtX`83U9a!s_t8se%spx1d+8<73#@o|F z&R0fLet7)H*o_Ktt{7Z6`h824?#F(<&ypTFZv)q>)Acl}eH6bb_N==Hf2f>(?1iv; zm+6okDwht2;m*x`%dIt+APZ|g{AvFmK%RvNvq~Ivxcn9sXRKhBmeG9ChT&9IW9=C} z@=~4dcZW@lNvrQj)KGVsCAMVeZLt{1r2}{7m`0y}EdMcJCK$*8$6AGfM<4B=iLH7q zyW-MZ9z0xVmJ3caCy%UoxDijIwApRZ{W$-wiXtO(925fjs@A&T=hYtnL;!%pwsRx( zdM>Tv3iKH{1C8fe`m3LKA^lQixO1g6{1bIh8SO@!B&>h;fDw|% z;3b;S#L2=(*BPK3e3C1o>h3kB%h1N4{E^G?-I?5^v)c@jd9lC3S?jKXbPEKJSY*lD zf^FZ0ju^xwVAZ}M)3lVgZ(7t-)*P?>VzZ~PZFKJ4I=ru7PKO7fu2^7U5^oxTTouk8 zZY!sB1zm5Mj%;c{H_x>{0~enVP(Phs(P6RviHa#NiOtES#F#uR%Jy2D@@Tmt{xPug zU9wOF0bFchE{lh=4+xr6-^;$B6u;!BGzN(@N*@yu;EzI=Jz8fYnlFDd zn3YQsJ0^{Cj4X~{_FF>Cs<-t2nO$UNnPR!mvo6{⪼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 diff --git a/docs/static/logos/sui.jpg b/docs/static/logos/sui.jpg index 6223877e451af3edf9e394a8047a9e0b57be18ae..ef4b7f1991e7dba665ea7280834fc7cfb4ed292a 100644 GIT binary patch delta 11255 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 diff --git a/docs/static/logos/suno.jpg b/docs/static/logos/suno.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a17f2fe7e5b98396f5b5f2a6dd74f2a64ec228f3 GIT binary patch literal 60038 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
  • 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/supabase.jpg b/docs/static/logos/supabase.jpg index f2c3ada35ed2fb9edee223a92dd676f243e4aaec..b275d5573a0435893260d4d029cabaa2df19a005 100644 GIT binary patch delta 3698 zcma)8XHb*b8jh>W>aL2cqJk6=73nHy3?;Zq44}w>AWd*3(mRA83Gj&pT+l=WLWv{_ zNRVm>y@a(uRuEVMNhs0@5FoS=AOy$_-W~7UA9v=SnfJ^)-zncS&-6xojd&+joz9~Wx{GlNnwck`k?u^U+yqAEw3x~ib1k1 zsp<@d2T(`{dslib)uJ9s#ld3JkgMtk=vYd#=DsmVez8w#h6kixw33_elSVE*$Jr=@ zTh_~Yp<1)mWac;JJ|-NXbDX@0VMQJh5n=NjW6Fk;wPx_@a(Tn{KxCaM3n`c77Jc{a zr}g8k{B*3QM=K&=BuH=r6_(*iy8i?0d18zbup>hOQf}}R9R=0ow7lqWvPo?7*Xxnl z?nuPRg|1rNWiK2Ql6z4z(XM_hP8&wuRb-WMu=Byaz~4R^N-2_mQy3wNbR4laTcSl* zUrqYP1P8@_UhThW;EZCj)U2Zi8|kPEq@8n|KIjt+`CPLgQ)QxhGkDXom03M?W7=42 zXeTqyvPlejOK2A<42IbDgsid!m+y%|?y0jD8EVvK`})K+yG_If=;W;}yi#J&x-!~i z9S6t7hd;fYGge}(bOheW0sPa}g^< zw>_?sR^Bx;m@>sZ*e?j1$nbz_)OU|=MsCLb`IA-~wXm-8P(pQlE!a2H|7`OMwZTT;+G8RHzc09Yg`o`b9NGn z2g>V_f)ITH_yrb~Bs09`!UzuZ~&Sz4gGUx%J1J$>_C?+_C(*^cxETV{#+iW%qflhERv^{Py0*1en6Ck zGTtuOJ<}MoDXhuIJLHoT9k^3t-c!f&9T5eI*g{EV&ajhq`rsX=#t;QRU-G#a@1Ci0 z{?r{aOTf$rYh$zDMuxH9#^6z?R!Y)*LeB#4B@lH*9u_=3Z*R@);e=-N&GI)3&X?SN ztV341eyUHuJdH5i(ONXVSYnhtwZ?D~;P$!oe`;*ae*MvlCkEL7qwFDo?XoY3cOe0*@3fn_SjJ3m&BMvt7bDgLaDlTQGFK~% zj!k)^DI;5iNH&EdkJa9MsbbT+n^kaNR-2!Hp*=2~a8zMx=Rdzw?TWl&MKD1)-K4EW zX{VD$O8A~LzG)>i(p4|iu-YTq=oTH`wrl88?l*2MfOk13b56&*pHMlc@>rrXm=<@} z+uiEB3Vwiinpv5_&895BG4w0_{T(xRJsE}Z2-7`Y*d$!_bQvMwA+*7Tn5N&Y4*vY2 zKXG4PB<7Rc1ya1AwlRyD>%7=#&MQ*Qr%Yi2h!-})Tcauz3v^dK@M2JAz31p6TntK^ z1r~VoK6F@({;2Myp0Bw<6)SAjB709H=C2>@Uj7$}M=6W+|b;(oCk=;*!th zZ{l&3h~=4NzUOdluj+Mj*2tI7ady|B|^sK=uDfWC6T-()Yk>#GVZl|_gn?yZs5h}E znKj9NT0}5Rn)69mK@=!t(=cMtz9&1TC;y8Y(6(3)wU=R60i-dbEy+5ov2@{l?rERk zPdD~bkBh!0_8%fnM@*Ezx>9~a7Jf*|M2GsU{O@Xx@w>VMKzX3W06yVnN1OKkwv$GV z>csX>b-$I_oZ%6gDz9P<)vr;<=u0yw8uym};zP%2oSXKS{BtwUx`}Us&x{sgimLK9 zxki#D=V{!X*`%hyQ|D+^%V%ov4Z8+K+3cQxAK@$Jqk+ltgSRl!NaA_nZ$$$7yMFWe zOfjg&I0_F8*#h4`f8V*Mi}e2;{~xC*^OATU&81nm(c(>*FP3t#!oN2*0SG}G1kaA6tZCuX1Y{cw_j4_EnASUI{A-7Fm{Br zZPi*5s_EaJN4#V?J2^SdzDWUAIY01`g!-!6T!wX6pnqtIm?<>e<56Jsy2FFzv&cTU zTc0piPfot6T4Cq;#uePP5WC@*VnIOkmGRFpM)<%1;l$KTAWTs`>M239;1I@9sQOY2 zQVPH&Tu8Y6i7=3j{2F4p$f>l85ZKf+aXaH|_mXp+vIxjV{ia0F_TLj@>= zIJSlwo$N114fkgowe>$3%(+`A@cg{LXQI%m7|6EWUYz#inF_aCOR?@mTBX$~0dZc+ z<>FQ!B3*?p{Ul@&Jh7N)f*52M{g+*x$sTW1Kz+$olgZB64@WZNb34|{gw@I4U@twg zxZ7gz&x_oG&5&UzD4iVCH!`G5fnEGZswnmYY?2GF-+|wv(APt?YtG6*IHp=MaB|$L zt8wE?<$={c$9&&3_OS;e_-63lf*RiSZ0Ew(0;W67Pgnx}jIn~0=SF;Kp^WZTVF#ZV zlET=7gJVS7oJa*Ew)tZovcu|%5-y38JgmhvG2)X(|JqhNv(>I{v&-vVTaHp#9U}KX zwtq|>#?qAkw!#vW`ybgG%39_K)z@1}w|rL;DmI+Ve|xXWAMjQ_G*aH>yybPWcJQ4> z$MQLEj_ea&iaXc-89(^uiZH>I;E}QA8%)l<0Yp=D9y;LV>TLM#mEj^Xcrwj@?WR+E z)4)*^54BaqH0kmUwaP0m-6ML|vqP`1&4iJY!{K%JPdMFAj8O!BBo8amfWre4cVAnXfbOocPV$9-B$j?i-!4I(6Q1PlaL$com;Tl6d%t zIusZo4Rc^FwLp*>ts9sCK1+jd>_XPL{P|s0)^qc}; zEc4Qn74Z^hD@>QNrj-CF14>I%)N6WrIx&=eRPDC^d}53;u+3}r7ae1`6c2KySKE<+ zz((IIG^H1xuvZd;vS`msJ|Z(KgBz2qD|$P9gv!6{ZVx;~>?TR2sdXr`d1dhS0)>U1#^~AA8QebM86!eBXQb{qFDGHmWtO^~b^? z3C&L^_wU2fmkymluZN^0-Hb_P*O!hZ!y#!yrYSKr5SNBTFqu+vZ6&+U^UUf*+F3xC zlH#s?fF~w&AheGY&6kjrN|C(4S%zq0m7p1JXWm7)dJpO9cSRsKKRaF@(gWXuF?Iqm zxrmFs{9J1%HRi52h$zM|XY^Ule3Cbx8vcd5q`a46-6wEN2FqnA7)f}>8YZ^yYavd$LPmZ;@@45(I> zsIgGKIKNyS03kF*BzJCLI<6?;6Dl+@2uo z=iceBXPA=dD~;um6h5iksc?^)f>{g)Nl!BVOt&?_X+W?1#1Gtj=0HI|hdP_N7 zMfUS4sx93YVQz>`DHly_%{RSOc6m{N)rcFh-fa9dU&jgitR2f8yoG7?MbOaLfaK10 ztDCB-s%k{l6BFcWS^kR;rh3Lm7a9ef*n8sK3jnvFZ37&=4+zLwvdaO+$cady)Wy|3 zx{Is;ZnshGXGcBU1yJ|?Deb-@8c~oEtMA^C_p^_j2}MU4=spziL@2wAWf#mlwwVE` z=&8sZx5bG3nfnZM(ai;h3c zXRkb{>n)lmWhJK6eXLdRp@y~9FZ?kgm3vqvjU`hMcQ_ZVCv0yJ3N81!`#448tz9YD*r(b9`@~YZGSghZ>;v2pU68sG)r@ktI*hZllCzXLgR($Dk-(G?p?0Dpp%{`;j$p^FSww&? zvQ0>&5?$Ty8q<~fx&m3+xn=a`GYRZ7fOtu%uVBU~ss38`R>==GF!B1Ht|{yAW;onJ zl%6G`3v@!syOn-9VO2!czdB!U`+RG3r@;=EY!(^(WMLkKAMZ!~xFc_4-Lxz4vsq7H z40-Nqp*0QHtuYa(wXF|2_hp>``#XN$-&2(l>C^7A(|w>eRH297m3U0q+kQM|lgKGm zE3EtxKNT2{Lp@~`#-A0dARH=ngg{Colr?8W)Outu?OlpOsLj|e(qC+QiUu#b6hC3#9FEQT~=Wui$F zU9Hj7TW*>U@-Zw@$AiqE49tLif8TqU-jE(zvy7Z}$ei}9VR-puE`uY_2?X&04 zRC5BZIVPWipk*KmMHv~71|LN}8pOO*WSqUVt4fJO2B=IsC!~2Jc25pQMZ>+>l%3{% z0I{1i!n7@;r6(J9>-eh+BO_q&W>U|&?bcdc>+QtbJYwGUtM{_=Z#?U=!z?9^i_vFJvfq7c`rylLM>bTX)7d?v z!`9YL4wS$7{cd zMcUrq^|!8SsVJ{VIBCqZgsueE1>tt9AV}CXZaJc0oPe>+U-Jt|3}%SrOQ`cfuVl?w~S~lMCT*oGrR{@y;|3#t1)b7bLOe`U)d3E=8r1Qyj zM;3nUFGq+ihr${JAj^IyWXFYIo~bu3hl|yM()R)U6Ln6ov|;#%fse$eU?;e%G$9Lc zD7g2F)eGG#?pxL9kv=~Z2=|t;;HR0p^G&^b+@x19zR;mA60*v0;Mt@Isf zkiJr@GzU?cWz0H$^p1?TjQ!GcVt3@|JX#PJrpHwACVn6}=em~B%LeBt-eVy~EqrtK zfJKdFMITw-%P>Y`YUukVnwyDD+@|QviK8QbI`PGqZ)Cf`#$23e0bP=>USySWdnUx; z*Fn~kQYC-e&DUy;x)#H0J+PlrgG;qAz+>?~0jFUvBiNP3DMmwb0_a%IC?C}yJ3c2-Gosw?m2(|7cDl;KZU##8*z^i_ z-aGguRX?KKHmQ-?`U?*gz6g!diI<^n+K{U!zQZo1cTS&+YHbiGbIe0l6TNuY-x|}I zX8V9h#EuU7%`4HrKmU8@=`zs&cl>{xhBD2j53JXTfTE;WCtndtN4kWgmKuUr3Ze4+ zYXXy!vU!;JgpC2T!?>hQ(7e7!4o*F(gr4#qIJX_iP2$AFYJ7QjgS%fsKtmh?`Cmf7 z=HiEE1<$au>cs{&nwnDNr^YE^%$7tDzrimvNU@5AeT-Wh^N3dHcEevO>@FXgt2}=y z$cT;vpDVYyL+r6@4l83xZjWgjUZd3qv0)`0Y?0<#&(P>pvMFRo-q76*D5zPrF%g+h zs>p>)QIm{Xta%NyxpRzA;u^OENm7=UdZh$*sIxNUBnPFc0wms~-IqtFI}YI$_W_qs zq@N2h2yefO)SHz|F2hz7c*CNeZ1n&=Kpst=ze%W#D_gr)cC_q>IF658-#RFN39^p{ z?<>}beZC+Ty>n~`M8>^L=?uvyYAGn)!yqgm|eQ)sUhuxpj?=wW)KD`j~HB@0sgPWWl%zw!q(XS+e86gIw;8W$xWM_JMK$Y81jk z@k&6;rtki!-IX7Ci}V(9^iZQ#F~5^)@lN=zCd6gLWpOLGd{Xsx{+Wtx80*#8CBxC^ z=INOm$??$}_$S3%`+(&5SG;8eFiltwe(NR6MX?=2L!)kND3_)yFGy7O_lNg*|1BR?FAimuTZfB2 zop0DsJY73W3#<#U#h7f(RLLkeWO^e-DW;dHl91?0nw+EcILwhW8+TscqPY-xGfu&q z;PFWapORn$+e3xj`jz>-qu0V?AIA1BnpvX;?$T#}ZS(!G1CD}r-kzN=snL+t`|2N^ Cw1W8n diff --git a/docs/static/logos/tako.png b/docs/static/logos/tako.png index 52c1c15f1667c3e9b1f378361e00ae28309334ee..5f19c368ffc379335d2829b3122ec84f397d8f41 100644 GIT binary patch delta 105 zcmdm3x3O+QA15=DFpK%6cKyj4r@PsO80#7sh8P)HnOXvowt<0_fx&EL>&pxb45}rr q5hW>!C8<`q`6-!cl?+A(My9$3STww27u*M!H58AqIw421Ztf2HFM&Rt5%*?h|tv7#LJb rTq854X|kVAfH86O(`njxgN@xNA32h%r delta 110 zcmX@o#d4&JWkMw~r{g2P(cff^V*UHx3vIVCg!0H2i|GXMYp diff --git a/docs/static/logos/telegram.jpg b/docs/static/logos/telegram.jpg index 7c49f90c4636d2398a82a62e2ef3f495b8fd9a08..ff5b3fc356563055fc026f2e4984e792eef5dee3 100644 GIT binary patch delta 4615 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 BV6XrH diff --git a/docs/static/logos/thirdweb.jpg b/docs/static/logos/thirdweb.jpg index ef01dd2c4aed56ffb8618122e39f49f405ed8f26..3ec01ff447ceaa7474513c647cd310e630c108aa 100644 GIT binary patch delta 6891 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 Q|ERfs()*_qnB&3!1EGOB9RL6T diff --git a/docs/static/logos/ton.png b/docs/static/logos/ton.png index f4f28635159e046ee3de1e7649a3facb61b8ed6b..391df0d8176829caeb6fd8f3e540fdb678e41343 100644 GIT binary patch delta 86 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 literal 0 HcmV?d00001 diff --git a/docs/static/logos/trusta.jpg b/docs/static/logos/trusta.jpg index 811d0ec45b4845aad00523094637161441629598..c3f9f72dedc40080d7fbe9df457a7b2de07efd2d 100644 GIT binary patch delta 13660 zcmZ8|by!qi*zF(!DlH|gbcb|{#DJ8*3=K+3ch@LLHv>a=cMo0CUDDk>bl1h-_uc2Y z&;4)zb)IwH{qD8bTJJh_E_E*D9>_8;(U4!ge1(aE1OOlbULe0jLB;*>mQ!3A4UbCy zS5yYIT?IbD$ImJT?PD|&_LYQ0Ts*1{K7V-mBteFbzA>?x+T#2;iwnCQVV|+TGKB?QX22LOI;|_xi_9gm zx!~(}C(Xa+6;Da>FTTk*&$L@{^Wdev{Mo*L!w_5hN^ifCHIswm!ELxF_X!}ioUyaG zO|7X%I#j_WrcyJ>SNY*Qss9NO0KsIwSvXNU_p^_TQUWR=dtchPr239Id<$i-LcZ0H zxO|7UlEBtZ57umNGJi` zk$S<1`Kp@3-N!mlLczvG#YUpnO%$8XJ#rX^3~PpB#_8;NV1yF(oM=}}6XeY1=7?ea zM^mG!WgX?C(8x+?)e>nwd;#qVK)!ygp4zs7_uc;WDz(`6i6=l6!*J=9LTT3@O0*gi z=E*JO*|H*HuL2!!rsKVbfvsCpBVt)n$~y%VVKK9a3LQ_VY5w=FtKLr!9DR3|XvexF z6p^KN$%PEN+ct|s;b(u{86gi+{u5uZb!~D5o&Z_MD|HvHSUvnAIu5Fh$tsk-Rp^37 zaKlmSU57m3yC=Y~5;>ZT^Q`ocJOK^`4d7(=h7l9~1TZbbwBqr^c3b#!80SU~`dpjk zhH4VNLf%(d#r`$x;`;NIRDu(6itm1#^8?>4i+SQA_Lt_2>&U;YDFz`hzM76o2dzfc zwnCNQ8+W*D1%a`owpbBVc>|O=J!&1RC$oFs}d#>I(*VsQ~cKT)AUIIu!q)z>C< zp_C%?7!7@2;hJ1p?J^2?2qi2Kre01n^jR^$P_n45hRZh0cJCNWE(xOr|281AvaKVM zkgAbIn&9xt3UFIpslO!SbZ!zV4rVJvBmWV{f!!GNwIN~iZDt;BtgNdeb-|U0%b^Tb`tC;i zFeHTaCWD29b|iqx*V|CTc5ia2;q02~wb{;P@OzqiP)o*wCZ&Fh$KxAy8@Tq4!AxdO zFb;oB!_5(MR#onWe*wPAOl8&&={OjpcPrNp9~D*K6fQ16QW6Olg7Z@H)AL%Rmn9Q9 z&K9n{zs^#e6Z~EJitn4qs+4szh4Pna(fO~pF1ChuR%gp6s(FZ&3d&OpEJlR=WL1vp z2>ug51y-*=KUDbnW;d;TB72NH_wI}&f-J73E6f`H5WlB;+KcuY+Y)Qr+pWlM2+LaX zMdtJ%fq5Msjq*Jt+M#qo;qG9gl>&GVB(`!7SL{et-R1MCUkV| zV;(zJlVi(fRT(YZD|WC_kAcnB>8}INdfGTH)&hdH3@ zaG@pot;u7`X_1Rm!xR5KVR5yiU7>lWeB2}X;;=wHJfS$ox@#JHp=O_viL@?knDPbw z)vI+u_lID)AR_|cr-M_YfMbz-&om~YUOV+3Wy8*S-@5f+graxeq{g2-bxsfR} z$ZFoB_aIl>ncS4-u9%u}hlDyrwbd0ujl=njn7 zmgHvSc!5DB!E_h{!BgwnN)kX?Fz8p5G?yJyW*5Tw_cT&7wqn5cFfwU`n2)M9PW1K~G{V*0BKiNOCF}@4b>YaJl?O&7i9?%PD30&+l z{-Q_Q+fVhOToUTY{T}j-uOgbG;tA`JSFAO?CeeEMrE09a`e)kaQcfjNqg}$E0Kvgud-!Ac zoVl{tDVCwyWitud7G^~SnqWC*IZ0G@><-xc#TFGGKMKBW|6`Y4BgCD1qQ3!|1V^}g1#4c2~DR!g}iRZMMCO{{|fHD zOQ}iA4l@pGEhg)MbV-$)yoU{FPYzV?$?6^wUn}R89j;;t+FV_i*vK7M|3tsQ2sli| zyr1Ufo&Huf`=dr#mCoqc^!}$hLHM$gMXeN2aUs54xiuu>Er@yAjlpV_c|JhRTjn6b z2*c76!%#vC^%G_rdtnD3OM#L&K`#pno7C-voJD~7=Wo;j2D~Y{H&_=zvQozJ$?LE7 zpnn91-rJ!I86HAeu}C2c1AWY~i#?f4g?8q4uE8T4IvH(<_r+UapoDwATGqR_ zLS`*e^5xx3KFvcpMW#OKJBuFdSN0`!nMnt% zgEv-++zJekIrpXOpYU%zkPVveqF3@52VbgB`UDrLelawS~() z(Y`ezh(cq3d~+TTe*w_MGLVnz?Q_XI&rHEevV5({Y-#WPW+x`zVgZ4&o!8c9s+Lx+ zgh@1I7C%#!e!RNtiTF9G{_f-We%B>`wwWXDo#qG!*3sLnq>;j4MQS}TEvdW5fW6_E zU#Rk^=em$cvxJAhgT}Sn(Wz=Uy2jj8HBUMK!aZiyLEE6A!E%@{?MM6SoL5o`n!c@D zWRRW#%TVX zC|rW3?b8CrNY1oM>Pyr=G7%SOjIc^yL|3$1hROO9c0FiVv5s|CoA%YF9eSHv$qB0} zbWL?p>-AuCBs#og`sQ<~%{Gm0@dS`8@H7-2aH+l~m{eTN2_l?IRs&5XCQona=>M=U z+p*gy>8q*ESXjoZJQqvc>j`JYBG3I>ehSUUB|~PgLqL0QX{g=()6RzvZ?0v70biL`$pK4b*L!zW1_nFK z{eyNqpBH%J3J+5r`gytDL%NFkrKB@UY*)u`(%sl-qGbi6L2=pc(^Cd}>AFdf5B+pl zpD?{-mE%~I((FR&b=0GGDP$(U7Z(#WFeYT^B`N&LowoIFh}w+qJZL8a;&=p~5%|T} zNLyomVaKFQKRz5zJu}U#6Hkw7s14EKrfw^(#+8odnRCTXO^FmeCf*+N{;HgKjZr%moiyq zmTx^Yu-_{ly(sp?b|tc)Q4wexp{$DcTJ7mH&&oa7tE}=@j}`c`lzTE04WXinY2=X@ zBBI7y=qephR#P%7?(G)rviY&+qN;y~K}f0NM%pdi1U2 z!Ym0C6iI14!X%RhT(~KNR3>s54;<%b!DW@33qL!Qgb}ko#I(Zkka6`EG7+~Jlm6GI zcO5_0O3byiTs12&a68B9OH7f+-0gc!)m7lSnig2-*oe5^eA*5dIL4w){Nu3VHNkLU zW>Jm+NM#87u-wlzY+#dyvv+*DrWDPUnxkrGKZ{coO`%LpJ~MbaxEgWIHmx=-ih2(- zyvQPl9$6o;#JsqJ=$BOwRjE?^mE7n{DAK*5*d#0Hrm5ssrQPZ06C?a|8AcU`aA{;|p2O38{0t3{fK=xCmp3Z{wqL?;di zU4x0#*7$cvHZ&ycsn~p%p3#jEdyJXkX9j1nbp+vp*5L!hO%x5>X`gc5Xzs`-txIK7 znUWDrp+wr$t@q{CX2F>rtu)A*F3sg8@!y-&N_jlLi6%3;kpYVDsHL@2|2p5KrKL>} z&EuQd0S*vzriV~TohfMW&uro1RHTbP!X~$c$#QW(&5P1kIhItTTl?tj8RL9L>0e5| z1ZHc?LP{${P3LPwc$5@hL7zTGEgskL8U)sC;9)h~Q$C6FL& zZ##NhT7Ju>LbVn%Df5i<=2M$11a9Mt-u4sPkod!n(nxo{6E)J|0ojcLc_3&XMq3yg zU{Rc8AZB|I;S+9yj`EG5Bp2q_l)$wUy+l>}S0{C>MhO1Sd*9{u9)E|h48#) z6fRjxZ^2U`q56ALX|m(Jl#}g)f9W>=j9ECq!#*k#W!a8oyF2}D3X&1K6 ziaw&q;NU+xVNtk73sh9d=tG)vC_30anRElB-HI0e-^*0~kW?pjFtO1n59F*mGLZ6AM4e~~Pp@dvNL^y)5 z97JDAp?<^FR-^5p7ovbMP5PVrE4CSP<;YJm*(;PxCdT%m{F2#;_BwluF6)UiV=~3d zvH{2<`4a%eMx~vcN9coJMny$NiRl7BPn*0Ub=Jn1R>n70@3t9h8p7L7gK4?J(at2_Av?$O z+(wxCeQocfMV!)@5$$ZBYt+!j3_#RF%G}L8ZQ@GVRat4RCC30X56K!N5c!iS6x+>3 zfbJo0=r3*9aVJK=SGi(=QZeMx7X~W%E9zopfmqzhVF5TxYq3^p+CBkxAMn7;!t0s0 zNs`FVZV6I4l6BZxi0ULT`eR_A(eqwy$A7hkSv^>_q;8T*+cxTNBN|=Gx)kB+qE|q2 zr`*h-yBvL+2;^-@bSF#=ORhnbl^ED?->W3)f{|TVD>C1s`|jLjrTFtgpYWd?j!D(S zIv7knCAHKlNTjFIo9Q5;dhn*itSKwtx7wtf#1hNKn)`Cn@r9MDqLQT~$HRL11ygAo z=o@nventoHXZexG;jC#|_Fa>_qG~C5tSZ?A@*(1T89g?tfC7i;hVroXit4)yF`p@& zttgb9wtHq|GSoEj1nv7xqMx zThb)TpP6jT`3ER2FEO}`)fFo{A%~G$pIA=8|R}K3MP3l8^&}H&jC;u7r!S9%1K4^ zPn<$td>9YoNJ8(U(`eCK#FV#5%kkV!bwL@BUp_4X^KM`A z<6cCQK0}nQD?4qT-=+%Pr#MrUI^XY62&Y6h?95PQhjU(N zkZusrV(;>YCG1a4VXGGni>1F!QzgTma-x5=n3RdxnXlC)!vdFKDPa9`_uxE<5xX>Sw^w{Qd9lLL~H^ljFtzMkvY>aQ(}l9!2bp{XknsM-CO5}g*P9Lta^frHr?6;5gwDk1Q zj-@5Vt=s~u|6~L#KO9vbhY*vu7rC!5xV}X{yCd5YDKq20Ei9Lzegnm+Lm3~`h5^SV^gg=sbtx=9ukaA5F z7E?q#7v&R^;1hsSHLxhDktraJ&!n`0FUXAA^>z^J3?2VAe#N_}0Bi6(tT*s~nu7p> zR9GSiE_6UtC`V+G>FQtAMIGA|R!)8!4^=ez5dIl!FtV0<={4H17U(oqN4LiMWD%FZ zr?Om~O87tS^-rZ_@i1wQNofY)w8W%#NdlFc7J<3ubfCDbSMqh0^wnngN^V!iRS%m@ zd_w$&=3DO&Ix>L`O5Xor2(%j&A9516lV+c_`9P1`%IZGXv3KD#B`l>tJ@QxIB@zTD zjVSE|4K1fgU_+~vK|5{;u6_QFMiJLjiX!~UUD&L}eVbZ1K{7~#A$LT0#U{P)Q-ek} zr|xdy&x0YXkr2g}-;8`xv7bHJs7Lt3sn*|%BxOZm<%MJ<7Nt_RAc9;6cZ8dBRhF=I0E{Qh1*oS+6QMZeIxLvW#EA z;tM}b5%Y))6MKHrV+&-ejBW@`S*_&us21~yGe~4l=D4t8mbUSfEcaT?zo2_l+6Hc= z?mW-wp_7+qf1L82rio+BHCacnQ>$jTjyYxW*)z(WL)%e_znxj9hY^u%`bZ zW|uBarrp^l91)rtW+J_LUkC{4Dx0%~uA8ffeoRjxT{_RlAxd+q-pm|sh?3AXh}WOK zJ=<%{`M$%Wp)8ky&yp{`#i4mc$_?N~X9zLO|7Q_Go{i!(Fp~CpBRFYir+tB(I-phj zy39t>u^F6c9?g@efbAgt?JY=xY|66=A554$`x>X}PLNV(GRu#ls}Wmyyw2#d6TN3i zFij;hKmhKxuhiO{q8RlA0D{+fVP~LJsvNJ{x090XRg*)tly#Q@UAhX+KbHPc=T=6u z(yuJmCx3grw6BYYjE#2Js-4ECYD4IzNT$@a(u?)S)zDl|D4x0SQX%FTZJV4;KD@cZ z9L=iSYue`Gx?mJjyKB=3QB|@w7TQ=gc>6r5`TJbBcbNZ%HF%suTx6p!<^MoAsE8ok zb2@jMMvlCR!PAH!zvr=3s@!7aGrO@S2e+iollnUdS*;^#UCP=Gl+fvE7j52z=FEB< z@nNd8tOuDHxX$g<%|jQ2fGefF{sYc#Oxu}4-u7S}ip7qC(A&miHAVpw0hAJ+-?qoW zf@T&TeMzOF^fe(lu*}HtiG(C=JNq-sbg+?f7%DRzwkKfN1^$uyYb zE>9w@Zo`w{?;kQG5}!iFs1h;0WpY(gd!Mp7Eb(OxZ&4=Wv7u)HjZWnO&&%!S+ir>| z^lW*~Lkv74Zu7dzTS0oT~Qg^ZK8;YRfu zFXYu1Q{2N;I|LA>{WbKj`np<*?4gf%jv)^O9S?1g(I%((WzunhlA?TA$}n-YoXivy zF;sXOn_jU9+bGmarN*qEw}13|0yN=AnKgYstA+6#?g}tPyY{G0-i^F;P0Qxv5U7}r zl>Q!!^xOndUJNHTKqGD3Q zf67d*Gj8x&r2#m>(LXv3^I5_APC?D1wjOF6xKrVIIiQmf8dwu%NM$k52RM1TUAj`z z)F{BDc=0H(PI=c0X{hnhq*AWhg{8@9;o(+rE@Dm$iP*t_Gzct_Xh^H$iL5=Uep}-|;}bM%zYPL1~Ow zw=wpC#NDO=I!pN)cv~?shJr%b{*QyTg~^GQ>H`u&yEeGpSgzM%p{OO2(`kGlnDv}n zniDy3x}R)R?#zz(M~4fF0cL;lZpb}f#$&G7GBby!F$98NCdgeQzPd^DQgPnIF!1Xj zBrLt0v%30(H?#h54uih3y{(bmCtlUrEYW)}R~Mg;B0dde&=><3%{mA$7%qAV{wugJM%FW)z5#aXG#>YjcV`ct!FR>%~KmiyqmB&By*NVQ@fr|)E6yL^%DS+Hr zXzr;n{=OjQjd|~>8!2YSOTIdCXkx?1Ej6;K4T!@)p9N8P0C+P;F4QzBT*!$LXpkD2 z_-7la2lxy9%>CS|ZVVN}JVkECwDPf7rh{-M>AGJd(nXakQ*Yk*Mn1|eqo_C%z4Lxw zI&wdMxB4Z~tO=jzV1K;qjd^xz@r7r_iKtcQ!-t4T^(R0_>#@pGC}JjcomHb%wV%pR z91?V@dLh{ui2NZn*imcYd{)~Zz^zir=(nsMqgRYxEM7KFDv}q|iPrS! zm)=&^eir_8uHDZ}Rx7-ihEs~*0iVj&P@3@G#4#*9>wv(E|CrXw&+F!SOqvt`sD-Ic z^e`|l;dgVAE{GZthN^d#aH57LQ)?)0=*ih=;-0*2qTP1eGq9GCLaHTd+X8{-N^hgk zR||)<rg5z{!wSVk5lZBwAD~8UmBnhH2N!gam&D zt!0r%RoY5^R^ba{Svxd>@m3SBUq+@i@wyAh7C>*XmoQSvw6kLHzo9duw3zanl%>?1U(8+I!Y6-^pW zZf0gS=fp37<5vC%p^)RSn@#pqoZCNPR9G+kCXsZ{+7pYx0hHplcI_32`OWW9geaI2^(e>V?NF`e1hhMY= z^*7R=4*%$TJR{vS%e&R7^ZkCVn1y6_(TD|i?Iu5k^Sl|zE}b7@tPv;q2>=K8x)xUD zkxG^ZM_(Yz;$r0*i00Gtra8Ms;MDkTY1p~jr;sb_sipN+Ww5>Xh+AL?0BR(nUu3dX zs@+%8p$-pTj5tr}1jk`9tCc&=srzY}+qub8Y$}{L$W<&Nqn7SvO*~|%l?=mS%Tlyp zos!^J^GT3}b=a4bD$hKk^SHABH7RcUASF7w%8x>hcAA^mJzqib`^9VXsRBxwr=c`@hlhZUPhBRf{M_}(E+2?x zCk%>RWZGZGIP`8|z_YXL?5-ktzS*pnK1+;=jVB1e!Mp;Df6l@Qs zJX=%!){VuP-EZDc82D?tIM)F!F?GdL8yLi}SU#Lv%6X_yFCyUE$@ZWitlC54&^_IG zthE&t|NiVvTD!b)ZBE|USF+uP-OO1u;Y1_>R~%uOfUKo>;w3mehmWCeJ#~LBq{&*6 zGzuc^F45uiXjAZ5vizb@(Wmv#o1+WJk)PEfBxw&)Bg1Ik7W9TKCv5B@3NFu%!W{qd zh}^R0h=Kz7!%DgciA?Ve8T&!z9WHT}A}rd-R^NRm8%HQHF) z)jg<(X+a*AqF@x7v_r|pR=McO>g?_hL&vdGLW|*vD?JdVcKCATYF0qvA-8cgq+rRv z?CpFR55IRA?`s`r1=#dmSn!C;Ro9~@&ifcTIVb(zPBj-ue zj7|RdyYP!T0UxYq3>QCVMp65) z8zZzi;l>!aO-5UtqpQ6?Aw*4f8s9Y+Y6Ka3Ru3rl@$AXPL08^EhC+_ai^&871XnvqTe`J5FIrDN>`gXTxHXz zv<&Nap>z&kuI!mbS<`JqCQ%|BM$)gzSV(PIAu~Q*F(1f0*{*M{$(`8281jhHG-Hjr z>c0uon3GGSc2+63AK1r!jv_S;_3)3Uw9=;nj7Wa)Fk;_}zBvTgy)MVP^lM0SR8{)D z3w6w0OOvXQ?lJF%xWb)1o0Q1;1rCRoO2UpT97o!icsJ=MA25)U9Kq5|J?|1{1DW#8@-vKZ#Z0(p*z9cY zG`G97NfWCvN7MmoRO1UfjTtJ{`1e@i1O{FW#gE%0R67FXb*<%#?jnuRqP;3l&X zwj0q7`+qxLu?xNDcn67L$22I~4F5Sczq5iH7gs;>t817(Vd$IXP=_r;Hy8CRTDwec zboU#fQewf$MN@^Yby7=JPREGg&|*reTyJY+Bh^;D!@cD!_Cy$?acK8dIT6Q$igbqi zyRo=23Rz--sKhA+k*H}y3${*RC#DO| zvw(dG@#3DueP z)LGPFSh&Xm$tV{M0?FJZm2~n?>aq-eMI&JZoJqv zO#W=chm3);Oau8D_3rLRNGmPl&OWy1vNRiy@+Mfw<3oqW?7$L;b>9`3S|*^k!1VPL z=qz)*31`+V739C-Y-nW9c8&dOeVXvwTB{&r&h~3?sI&BQVL!b8FS7mwo)@>PR${{QWN7u9eg^@hkxFDE868T zHcXET(_-E{AZOgLTk!4^!=^Ptnni#R937{#%xUdJ@OZI8!tY{Q3 zBkq6);TQOuX<&TyIQtSYV8&4M^61sMQ-G-MS2l3i0|mVYUDWvk|D8__HB!kayB`a# zII_N9MpQX!O}Y_)3_`TbS?Q!AEvT$-Y)0ztuJ)jL{(PSr9sWNdJ7IMaCigu7M)R!a zq*z~DVF;foSU6B!TI)#9!jFK*iFwyN)3QR?NK36UJhS1ln+WHS zw(5f`HW6=0349@yRJB1sc3g4&IXRj-tlOW~^_AbGbVy8_;%{}hNRag9l~B~tbNnt$ z-art&^LOn|&sUdl@#VC{ajqUlGBuZ~EcO?zbZ|($F`u2(so!AKuLD~L9j=#T?dW?s z?1bIQxR_8jDw6-rgrPugnh(PKj%+QoxM-4pzQTOw+~;3I9YT_1rsu69unHDw(swCs zkFMEKKX&^oR{D&6z_|Sg!rYFxae+jy>9cUDyQh^v&6#*p7XmyQlLoKybA(TWq?|ki z$B#`NY+UY0^tDlR5p{KOl?kQ8X5lT!2~5jy<%!X;N*IijOc@fI_@WCQoai4LQ(XaP zi2sO*K0ek8ZZgb1D6jCV7V1L`{eMZjXS){{7iqK5FBVtuwZ?SCIz3MZ$LA7GXN<%E z^U|4V1*PUO8%J-1zLvz;_gY>Yd#$WK$T6#aJUEdti5lyqD=&%+-+^$Y!NY%1x9;Pcssd}xj}q4u7f6PPI`7RqZMm;Q zD+t?boSFguI|AD>2V+(OwR}h8jU{H$O|*`8Td;Cobl4E9^kLa#V^2VE66cVEbD}s} z^dk2qn-#)rI{f>obzlhnr~eKg6hwjtd6rfrn?r=94qAV7?2!}w4CEc;B*{@~pVO<( z(|hylJ?;9{wF3JK;~C_tt~6H`Ipmcwf2ZYV=J+r!>^9H{)D4QYHQnf5NfhiNjdM6b z4k_Cm;D|b(%`#2(uZL~crq_VHIti4C`Aa6mhv%@Zg#CYE+x*k*3I(B%5b0gh?COpp z>T5An1>Guj2aAl{rI}iR$47C^zmZZ(&u1ab(u$a;gcv|HnUQV`la24)%MJy}$;mM} zpLDwHjby%G2%$H99-a{3A{B1wS)LQgVDLo3#oIQEyr8&zWRUwTpzHcd6EB&Pb5$J> zzxg?f+|Fi%?SfOPQ)PqF-uX^%+S$x8@EZf9*lz;}Cz7)$%>5rq%5Hkf0okGkk{p@V-iqRPjU8+y;hE z&K;&;2g96ABZNBtxX)OjjI)^E&m3FI^V8w>Qo8>mc(G-hnH|Nk8Pe@i;UMC7f*Ww3$R zMx4*OV|sdMOKBm)CrZt^8yhBOr(G;aI9)w#&gHL=@A8Zd>)G$~nc9?r6a0lC?mg#acu#8U=oxZ@kBRsN`R~yl5?&+YnPxz)$ z=cAXL6h2z0FC6Fq5r&0Z-F)e@do#HdjC)xA;xs|JI$_pZ4B(LZ zvm!Y;4~itWr=H_?!J=St2qHE-LGwIg!U5PBv%#s3~P z=^<7ep}a*fO-vuiY%ta6iekE(3kI)p=L{2vFcw*}HIHtPYW?_r3k_@4eJpC07?ddyw?)JI{sqMZ124=(ueiwGp*gk+2qGC zH;Loz0*Fv*KZ~1DyoW4Zo(rR)7~vL?UgCpUzUiJds7LJlrzZ%tHfuh{DAB#&ZT_mt zu&IWkD2WccMdDG$=pn%OI=6sz^nAZTr%*!l=p=e6JeL^NuD|DT0P^dbUPaTNtVQFd zHV+ViA$t{GM7v>e^MqNgZ9vzd65fpHoZVS_=Gh$CA1f?#LftUcn;C@%qD+iCJYKkJk>`U=)x|5rV@2;Kz(0T1~$pB8E4d%w~ zx3qK}^l#^h89^q_h1-&BP%K!hHE1>jy>dsrX`QBgxO7{{Nu6*wgI) E0g8vc_5c6? delta 13615 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 SCHd!1|FOFMmt!Y;n)`p*9j(~_ diff --git a/docs/static/logos/twilio.png b/docs/static/logos/twilio.png index 02512af7b3ffce2083d414d09fa553f63cc0271f..c4e1a0241755cfab5cbf2e7d1c1c5e1549230712 100644 GIT binary patch delta 86 zcmdnj!?dr5X+k9@Gm|ij`K5OK$s3z8TE&fZ4Gcq!jI2y8fk@lHz{KK~< delta 86 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 BFH`^k delta 3727 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 WDPxg)Ro9%)00f?{elF{r5}E*w`h=1%4= YlTyYa_d!bYA_EY3y85}Sb4q9e0D|urssI20 diff --git a/docs/static/logos/x.jpg b/docs/static/logos/x.jpg index 1e1260c12849a399ca6780442c8af5ddb5759b82..1af6db1ba61cc09945a2cdbad4b978eef9fd785b 100644 GIT binary patch delta 9358 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 delta 9177 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 diff --git a/docs/static/logos/zapper.jpg b/docs/static/logos/zapper.jpg index f0bef0b6dbb697e0149fcd3cbd7bb995bfecc301..0c6c8daf5266d4177324563fee0bbe9b23a9e010 100644 GIT binary patch delta 1917 zcmYLJX*e6$8cuFKZl{AXb|t1Yl_^t8m7r+*l)A1ZmaCSEh%KWUscJAHa;IAD)NNBu zttn|;O^OmJwbY0kM5-puld7Gl#L^&^5JY6$FkQaqIp=%-eCPe%_dDlEKr5iS2o)fi z2vgBF&yr0ctD&!wMzVZp;H5H8#R!fw3hf~h)3`_f6uXI9L#KLrT8Skp4#0~h*; zJI1h$4^Jh9j1^Z=Oep@q6RKy=002I}-uDLpG=bOGg}61dWsbd~QaVH4tZv?HvqHAQ zDWV*;wSa=0`$Pm#=aRNz;Ng-gcJX=cLP6)|`RuKhc?BO0+W|-km`EtBiqwxcEcnOf zfBP&R13t(8;{Qn?3L&VsF_!E0d;Nld#zMN0ppe>VJtLAs;w&e#1r6!JW?X2HPcIz5 zc*jh0^oCQcl1?}By96sA8F z)>?#b6xAde$0Nt`{E!FwO)B`a8Drv%9RPta+-cfGkVwPTt>Y)iSI1n^b}94_OPA%5 zu+b~*r=3eu{)9SCBD2r9O?U7Ap>ZbHEB9Olo5BR$b4l)~lRzv<`MyEoTL}+8GXj9$ zIr^{t$Fxzt@x*IntOvpktOW@YyoQ=OqLyCK>`0ZCQt|R9cx(@DwcC*^!2?aq?Do0sfvgJZS4a+@P{nKP z0IFBRwjSUTGYwAtN#h{ryrebDi22kMuUh_wBa5HXZG;U&8G`#wf5E((`&fV8cKVQC z{+&R}(8+N2{$E7o0r=V77Bj`6ZSjq_i^u~Z13r1h33>^@SDruo@_`Jel7JP!ei3@jinP?$&KdD;6#% zpKEtB5e57PZfEAS;J`Xb=#rjP)Op^(F07Kl&*#g=f9iF{7%Zrw_Rv-olNel9bY%ebVD;mGOI&Bh zY|^9GqZc)Jgt*aTRO&bFTQA^(`qy)4&U|TLS6hfmy2n>LRiI2lDiwE^lteza{fP0_ zaR)%cAEcgpO6q^94ombEC-UP_cHQx~CAfzzRF;!h_qFyfH}}VBAx}dFIBNt?>ECyM_P=m{KIE zdrxAB3RA~kTzZjwn;dMpJUD(3RzcT8u};@?K9-+Rs@26C)A`39G?fgjXtQ}uBCAsm zIsf_)%NrHH&C@cthC78H?i1_Ci*4Fv`!KQ$X!*oCto)u2`1In0wb$Ck#a372BBzbi z&690T@>-tfv21b^ULE3>HN!&_HC*Jan+c5H9CG6|u;a763RT|ajuifqFq?9D{SUA! z8sz94kLO)xa<$ohy0jlmZ-5LHr!*RZv delta 1905 zcmYjRc{JPE9*;Id7lI**TFx*-UpvZswN5M1snCVddG;mtJ%U=IX(YdP9JF{<(kCUz zobr-~A$^UdMPyPmGPYV%VvC48Or#=cQF%Bs?faf{@BRGq{eG5v?p-sI89fUED^(DY z;8SLp4+}AM9<7O!1UI^QQl;z1Nqj%wgG(f441TjGfi1Q9EpWMHVj0+0=^}9mYzj$i zHXjxh_9c^Iw4VG}O$<|lhAK@>Huv$Hh50wKHX3()-lL=>ZVgMvqW?<)1f|hTiFU`EX?-!piL8sWrMD4TRNR|Rdq@-s} ziDwF~Bx;Br9e6@s^NYeic-yu}XNhSG0!ldSTq~S7md1(KE8*Nv(-LKW?foYU2$cCe z_(ctBCcNpFTcwl~ghTl`FANb^v69-fvIm35s1j!2y<@S~OfmuAo4huC$Pj*%$&g?( z(49skbruhoX|vV4Ft%*ct>snBFS9VSfDnzy;5+tfoD-crQw@pUHXhA})SI6;!B+)W zhOG!wNi*5zs1dhrsX?mS?acGDLhB0ds@JHMYjx~RVwegvK7x1Yt2~-!Q6ui$fA-W` zZuJ^ZM{hnS%s{ag7-~8c&@GL$EId>DX)tKMasi9mTXQERbYKMz<`bNd(+=`hEHm|_ z+BJ&fhMtscL7lLSYog+1n>rGN=7=CEY^EgV*H|U9aYZ%BlvT?Ckkab{9MAL6(Y^vR1(bu?gkh^#@vD z8O&S5N!Yw`(}KR8f|y^&46A3vxT(br1<2T#kuTk4!hY(ujon%dygk5aa0to`N{ReI zWB`;xLyMtKw>qW*TVh-(heYNd3S(NO$nG)hA2RF>;But|Bvy+%wuXm zsC1iUL#Z(zZ(--wPxPC$;iiPAu!FjBlBmW=iWgqQL)AU)*X2A$f9La;tMw7tD1)!W z(SSc5ysu1Yy(xU7Y|7lGG``LVW3aHp9ZMr(6Dg`qTnp1-czb*yEMDBA_Z?#8ZHBgJhQS zns;8ymEQL-!p!{HcTCGAk6>(}aXOOMy+m_dF3ZuCezdN=e|Vc03dd4Ab3VvMbk6q6 zf`)xzo_! z>|V3y5)uOi0As;MtbCoY2-nZ4V@irQnG)M3T0!3)!!i(I_}85Bpr8L}Jv@kLrQ;!e z1>$FX?P0jq=*TA9NK?uf$gE^E;L;f1E{(=$^bk&bZh>@E{aAQ|#--RieX=%=MtQWJ zh%2LM)L&z+ez5z;z;^yx9zcV_^qJB5?mB4U#tZCV`+?68@T2Ua-!U z0=2T-OaWTv0(pa`H7vV^^c!Dp1ZfJOPM>%*;mYvIicMQ|D_&ievSTmYL+`@sAtgyZ zqc-SzyCyoev~f_cbc>m;-3?#VcVT~S-Jd}mP(2oj$icluX0^@ldUzU_7Tbpvo_OCr z$cp+&yI6-&f+B>>C4uO4n!Ka2_&H*N2>^D$62%>->A-4i(8y z;ns3ro8Z0ZogrzCnBp$~7VW(jNS0(jP#qwJbDMg71{K)lVeB$n{bJSA#`7N0HL2x0 zXXmgXxkLeq@o4m1jeMm5EvWHCOR#)k0+Z)pRjvTFWiri&l3IV4r-X{9`E$c^@oF2w zfC?c@?^;hg?2r*1ZuaY&QUP`Q>q(0z4(k~dOZjO861R)0^h$@%%kx^;mgjM-k`|cFd9{H4`tW{}8C+E{nHu}xIO6}NKUz5*GCM1W7 z(JOtPG_QRa=D^3TTQ7}a$OgJUq|LPVr7gF4KRgAYvKlXzi2qdqqkAq1-{o}&ji>n} ejE%WrT}yTxaj|jxVS~TWW+W?-jvNIP6aNFe2dk?9 diff --git a/docs/static/logos/zerion.jpg b/docs/static/logos/zerion.jpg index 2c59584eeaee939cd0dcc0328dcd7acf7d7d9103..584c537a660a78eaa4411ae3a86b722e2fef9de5 100644 GIT binary patch delta 4905 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 HyM6xyV&ndX delta 5070 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 UWn&fB`+)7>zdG@oHwd&o}6Ua4$Z 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 delta 8094 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 rp%dcp*&Iw*KwIP{MtQ|^ Date: Mon, 3 Mar 2025 16:08:17 -0500 Subject: [PATCH 2/9] update changelog to be ingestible by llms --- docs/docs/changelog.md | 4081 ++++++++------------------------------- docs/notes/changelog.md | 3337 ++++++++++++++++++++++++++++++++ 2 files changed, 4195 insertions(+), 3223 deletions(-) create mode 100644 docs/notes/changelog.md diff --git a/docs/docs/changelog.md b/docs/docs/changelog.md index f9d4b4447b9..529b4810a03 100644 --- a/docs/docs/changelog.md +++ b/docs/docs/changelog.md @@ -1,3337 +1,972 @@ # Changelog -## v0.25.8 (February 24, 2025) - -#### Major changes since [v0.25.6-alpha.1](https://github.com/elizaOS/eliza/releases/tag/v0.25.6-alpha.1) - -#### Features - -- Dynamic plugin loading (move all plugins out) https://github.com/elizaOS/eliza/pull/3339 -- plugin CLI list/installer utility https://github.com/elizaOS/eliza/pull/3429 -- Enable fetching relevant facts in the facts provider https://github.com/elizaOS/eliza/pull/2635 -- Gaianet support set API key https://github.com/elizaOS/eliza/pull/3591 -- Add NEAR AI model provider https://github.com/elizaOS/eliza/pull/3275 -- Support for Secret AI LLM https://github.com/elizaOS/eliza/pull/3615 -- Added cachedir to filesystem cache https://github.com/elizaOS/eliza/pull/3291 -- Configuration: set Lava as the default RPC URL for NEAR and Starknet https://github.com/elizaOS/eliza/pull/3323 -- Modify the configuration for the plugin-nkn https://github.com/elizaOS/eliza/pull/3570 - -#### Fixes - -- https://github.com/advisories/GHSA-584q-6j8j-r5pm https://github.com/elizaOS/eliza/pull/2958 -- Fix default character https://github.com/elizaOS/eliza/pull/3345 -- Fix set agent from API https://github.com/elizaOS/eliza/pull/3618 -- Store stringKnowledge in knowledge when ragKnowledge is enabled (https://github.com/elizaOS/eliza/issues/3434) https://github.com/elizaOS/eliza/pull/3435 -- Update chunk & overlap in rag function https://github.com/elizaOS/eliza/pull/2525 -- Fix bedrock inference https://github.com/elizaOS/eliza/pull/3553 -- Generate structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 -- Exporting structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 - -#### What's Changed since last release - -* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 -* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 -* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 -* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 -* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 -* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 -* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 -* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 -* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 -* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 -* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 -* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 -* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 -* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 -* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 -* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 -* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 -* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 -* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 -* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 -* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 -* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 -* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 -* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 -* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 -* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 -* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 -* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 -* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 -* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 -* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 -* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 -* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 -* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 -* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 -* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 -* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 -* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 -* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 -* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 -* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 -* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 -* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 -* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 -* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 -* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 -* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 -* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 -* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 -* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 -* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 -* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 -* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 -* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 -* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 -* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 -* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 -* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 -* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 -* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 -* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 -* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 -* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 -* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 -* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 -* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 -* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 -* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 -* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 -* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 -* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 -* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 -* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 -* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 -* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 -* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 -* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 -* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 -* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 -* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 -* feat: Dynamic Plugin Loading (merged_) by @lalalune in https://github.com/elizaOS/eliza/pull/3339 -* chore: move default character to agent by @lalalune in https://github.com/elizaOS/eliza/pull/3343 -* Delete all plugins by @lalalune in https://github.com/elizaOS/eliza/pull/3342 -* feat: remove verifiable inference concept, will be plugin loaded by @lalalune in https://github.com/elizaOS/eliza/pull/3344 -* fix: fix default character by @lalalune in https://github.com/elizaOS/eliza/pull/3345 -* chore: Remove plugin imports from agent by @avaer in https://github.com/elizaOS/eliza/pull/3346 -* chore: Add adapter-sqlite to deps by @avaer in https://github.com/elizaOS/eliza/pull/3357 -* feat: v1 CLI utility by @odilitime in https://github.com/elizaOS/eliza/pull/3429 -* chore: commit d.a.t.a env configurations by @PisK4 in https://github.com/elizaOS/eliza/pull/3457 -* docs: Update readme to clarify difference between eliza-starter and eliza repos by @altcoinalpinist in https://github.com/elizaOS/eliza/pull/3453 -* docs: add note about 0x prefix needed for evm private key by @Bleyle823 in https://github.com/elizaOS/eliza/pull/3414 -* chore: client/FAQ/Character file Docs update by @madjin in https://github.com/elizaOS/eliza/pull/3410 -* chore: update change log by @threewebcode in https://github.com/elizaOS/eliza/pull/3407 -* fix: Store stringKnowledge in knowledge when ragKnowledge is enabled (#3434) by @lincheoll in https://github.com/elizaOS/eliza/pull/3435 -* docs: fix incorrect image paths in Korean documentation by @gkfyr in https://github.com/elizaOS/eliza/pull/3489 -* docs: New remote deployment guide by @bealers in https://github.com/elizaOS/eliza/pull/3501 -* chore: adding compass plugin env vars by @royalnine in https://github.com/elizaOS/eliza/pull/3494 -* docs: Add weekly contributor meeting notes (2025-02-04 + 2025-02-11) by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3484 -* fix: remove --no-frozen-lockfile from Dockerfile by @kyle-veniceai in https://github.com/elizaOS/eliza/pull/3428 -* chore: move characters out to submodule by @odilitime in https://github.com/elizaOS/eliza/pull/3509 -* fix: refactor string literal `http://localhost` with `SERVER_URL` env var in client by @tenthirtyone in https://github.com/elizaOS/eliza/pull/3511 -* docs: Added a Proper Ukrainian README Translation Create README_UA.md by @mdqst in https://github.com/elizaOS/eliza/pull/3483 -* feat: Added cachedir to filesystem cache by @Swader in https://github.com/elizaOS/eliza/pull/3291 -* fix: CVE-2024-48930 by @anupamme in https://github.com/elizaOS/eliza/pull/2958 -* chore: bump version & lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3523 -* fix: Fix bedrock inference by @ebaizel in https://github.com/elizaOS/eliza/pull/3553 -* docs: Added sqlite3 errors to Quickstart by @GabrielCartier in https://github.com/elizaOS/eliza/pull/3539 -* docs: fix branch naming example in CONTRIBUTING.md by @mdqst in https://github.com/elizaOS/eliza/pull/3532 -* chore: Trim block from Ollama response by @amirkhonov in https://github.com/elizaOS/eliza/pull/3545 -* chore: Update and cleanup docs by @madjin in https://github.com/elizaOS/eliza/pull/3584 -* feat: Modify the configuration for the plugin-nkn by @iheron in https://github.com/elizaOS/eliza/pull/3570 -* docs: enhance README with detailed requirements and contribution guidelines by @avorylli in https://github.com/elizaOS/eliza/pull/3392 -* docs: Fix broken links by @sukrucildirr in https://github.com/elizaOS/eliza/pull/3599 -* feat: gaianet support set api key by @L-jasmine in https://github.com/elizaOS/eliza/pull/3591 -* feat: allow eliza client to configure eliza server base URL via env var by @bguiz in https://github.com/elizaOS/eliza/pull/3589 -* chore: docs update by @madjin in https://github.com/elizaOS/eliza/pull/3605 -* fix: installing packages from new registry by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3609 -* fix: importing plugins from registry by @royalnine in https://github.com/elizaOS/eliza/pull/3611 -* fix: set agent from api by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3618 -* fix: Fix devcontainer.json Port Mapping Syntax and JSON Structure by @NeoByteXx in https://github.com/elizaOS/eliza/pull/3616 -* fix: update chunk & Overlap in rag function by @adventuresinai in https://github.com/elizaOS/eliza/pull/2525 -* feat: Showcase page in docs for plugins by @madjin in https://github.com/elizaOS/eliza/pull/3620 -* feat: add NEAR AI model provider by @think-in-universe in https://github.com/elizaOS/eliza/pull/3275 -* chore(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3525 -* feat: configuration: Set Lava as the default RPC URL for NEAR and Starknet by @nimrod-teich in https://github.com/elizaOS/eliza/pull/3323 -* feat: Add support for Secret AI LLM by @iKapitonau in https://github.com/elizaOS/eliza/pull/3615 -* chore: Bump version to 0.25.8 by @odilitime in https://github.com/elizaOS/eliza/pull/3632 -* chore: fix lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3633 -* update discord link by @odilitime in https://github.com/elizaOS/eliza/pull/3643 -* feat: Enable fetching relevant facts in the facts provider. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2635 -* chore: turbo optimizations by @ryptotalent in https://github.com/elizaOS/eliza/pull/2503 -* feat: replace AgentRuntime to his interface to extend client by @kesar in https://github.com/elizaOS/eliza/pull/2388 -* chore: remove langchain dependency for text splitting by @Deeptanshu-sankhwar in https://github.com/elizaOS/eliza/pull/3642 -* fix: generate structured objects and images with NEAR AI by @think-in-universe in https://github.com/elizaOS/eliza/pull/3644 -* chore: stablize develop by @odilitime in https://github.com/elizaOS/eliza/pull/3645 -* chore: develop => main (0.25.8 release) by @odilitime in https://github.com/elizaOS/eliza/pull/3522 - -#### New Contributors - -
      -View New Contributors -* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 -* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 -* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 -* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 -* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 -* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 -* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 -* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 -* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 -* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 -* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 -* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 -* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 -* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 -* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 -* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 -* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 -* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 -* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 -* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 -* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 -* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 -* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 -* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 -* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 -* @PisK4 made their first contribution in https://github.com/elizaOS/eliza/pull/3457 -* @altcoinalpinist made their first contribution in https://github.com/elizaOS/eliza/pull/3453 -* @Bleyle823 made their first contribution in https://github.com/elizaOS/eliza/pull/3414 -* @gkfyr made their first contribution in https://github.com/elizaOS/eliza/pull/3489 -* @royalnine made their first contribution in https://github.com/elizaOS/eliza/pull/3494 -* @kyle-veniceai made their first contribution in https://github.com/elizaOS/eliza/pull/3428 -* @tenthirtyone made their first contribution in https://github.com/elizaOS/eliza/pull/3511 -* @Swader made their first contribution in https://github.com/elizaOS/eliza/pull/3291 -* @anupamme made their first contribution in https://github.com/elizaOS/eliza/pull/2958 -* @GabrielCartier made their first contribution in https://github.com/elizaOS/eliza/pull/3539 -* @iheron made their first contribution in https://github.com/elizaOS/eliza/pull/3570 -* @avorylli made their first contribution in https://github.com/elizaOS/eliza/pull/3392 -* @bguiz made their first contribution in https://github.com/elizaOS/eliza/pull/3589 -* @daniel-trevino made their first contribution in https://github.com/elizaOS/eliza/pull/3609 -* @NeoByteXx made their first contribution in https://github.com/elizaOS/eliza/pull/3616 -* @adventuresinai made their first contribution in https://github.com/elizaOS/eliza/pull/2525 -* @think-in-universe made their first contribution in https://github.com/elizaOS/eliza/pull/3275 -* @nimrod-teich made their first contribution in https://github.com/elizaOS/eliza/pull/3323 -* @iKapitonau made their first contribution in https://github.com/elizaOS/eliza/pull/3615 -* @ryptotalent made their first contribution in https://github.com/elizaOS/eliza/pull/2503 -* @Deeptanshu-sankhwar made their first contribution in https://github.com/elizaOS/eliza/pull/3642 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 ---- - -## v0.25.6-alpha.1 (February 06, 2025) +## v0.25.8 (2025-02-24) -Please note the versioning change, 25 representing the year and 6 being week 6 of that year. - -#### New Features +#### Summary +This release introduces significant architectural changes to plugin management, adds several new AI model providers, enhances RAG knowledge processing, and improves backend infrastructure. Key themes include modular plugin architecture, expanded AI model support, and improved knowledge handling. -- Save imageUrls for outbound tweets/messages #3122 -- Coingecko advanced - various pools by network #3170 -- Add Edwin plugin to Eliza #3045 -- Plugin desk exchange #3096 -- new Spanish speaking Trump sample character file #3119 -- TON Plugin: NFT collection, item creation, metadata change and transfer actions #3211 -- Add CREATE_POOL action in MultiversX plugin #3209 - -#### New Fixes - -- Upgrade OpenAI and Vercel AI packages to fix O1 errors #3146 -- Remove duplicated plugins #3126 -- Update provider-utils #3189 -- Extract attribute from raw text instead of normalized JSON #3190 -- Think tag from Venice #3203 -- Slack download upload attachments #3194 -- Update pnpm version during Docker build #3158 -- Remove duplicated dependencies #3215 -- Quick-intel plugin optimizations & fixes #3208 -#### What's Changed +#### Plugin System Enhancements +- Dynamic plugin loading architecture implemented (PR #3339) +- CLI utility for plugin listing and installation (PR #3429) +- Modified NKN plugin configuration (PR #3570) -* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 -* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 -* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 -* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 -* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 -* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 -* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 -* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 -* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 -* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 -* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 -* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 -* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 -* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 -* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 -* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 -* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 -* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 -* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 -* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 -* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 -* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 -* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 -* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 -* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 -* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 -* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 -* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 -* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 -* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 -* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 -* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 -* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 -* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 -* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 -* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 -* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 -* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 -* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 -* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 -* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 -* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 -* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 -* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 -* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 -* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 -* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 -* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 -* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 -* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 -* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 -* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 -* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 -* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 -* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 -* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 -* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 -* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 -* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 -* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 -* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 -* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 -* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 -* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 -* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 -* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 -* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 -* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 -* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 -* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 -* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 -* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 -* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 -* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 -* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 -* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 -* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 -* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 -* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 -* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 - -#### New Contributors - -
      -View New Contributors -* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 -* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 -* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 -* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 -* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 -* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 -* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 -* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 -* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 -* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 -* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 -* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 -* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 -* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 -* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 -* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 -* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 -* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 -* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 -* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 -* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 -* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 -* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 -* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 -* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 +#### AI Model Providers +- Added NEAR AI model provider (PR #3275) +- Added Secret AI LLM support (PR #3615) +- Enabled structured objects and image generation with NEAR AI (PR #3644) ---- +#### Knowledge Processing +- Enhanced fact provider with relevant fact fetching capability (PR #2635) +- Improved RAG function with optimized chunk & overlap parameters (PR #2525) +- Fixed stringKnowledge storage in RAG knowledge system (PR #3435) +- Removed LangChain dependency for text splitting (PR #3642) -## v0.1.9 (February 01, 2025) - -#### 🚀 Features - -- Instagram client #1964 -- Client for Telegram account #2839 -- XMTP Client #2786 -- Twitter post media #2818 -- Discord autonomous agent enhancement #2335 -- Telegram autonomous agent enhancement #2338 -- Direct Client API - Add Delete Agent functionality #2267 -- Add an example service #2249 - -AI & LLM Integrations -- Add support for NVIDIA inference for ElizaOS #2512 -- Integrate Livepeer LLM provider #2154 -- Add Amazon Bedrock as LLM provider #2769 -- Add birdeye plugin #1417 - -Solana-Related Updates -- Solana plugin improvement for flawless transfers #2340 -- Add features to the Solana Agent Kit #2458 -- Adding tests for plugin-solana #2345 - -Ethereum & EVM-Based Plugin Updates -- Plugin evm oz governance #1710 -- Add plugin-ethstorage #2737 -- Add cross chain swaps through Squid Router #1482 -- Add support for gravity chain in EVM plugin #2228 -- Add Cronos Evm #2585 -- Add plugin-bnb to support BNB chain #2278 -- Plugin for OriginTrail Decentralized Knowledge Graph #2380 -- Add moralis plugin #2764 - -Sui-Related Updates -- Use Aggregator swap sui tokens #3012 -- Sui supports the secp256k1/secp256r1 algorithms #2476 - -Cosmos-Related Updates -- IBC transfer on cosmos blockchains #2358 -- Cosmos Plugin - IBC swap action #2554 - -Injective & Other Blockchain Plugins -- injective plugin #1764 -- Support mina blockchain #2702 -- Add AGW support to the Abstract plugin #2207 -- CoinGecko - add price per address functionality #2262 -- Add Dex Screener plugin with token price action, evaluators #1865 -- Dexscreener trending #2325 +#### Infrastructure Updates +- Added cachedir support to filesystem cache (PR #3291) +- Set Lava as default RPC URL for NEAR and Starknet (PR #3323) +- Fixed Bedrock inference functionality (PR #3553) #### Bug Fixes +- Addressed security vulnerability GHSA-584q-6j8j-r5pm (PR #2958) +- Fixed default character reference issues (PR #3345) +- Fixed agent configuration via API (PR #3618) +- Resolved image URL handling for outbound messages (PR #3122) +- Fixed OpenAI and Vercel AI package integration (PR #3146) +- Corrected attribute extraction from raw text (PR #3190) -High Priority (Critical Bugs & API Issues) -- DeepSeek API bug: missing API key setting #2186 -- Resolve Windows path issue in pnpm build client #2240 -- IME causes multiple messages on Enter #2274 -- Fix derive key and update remote attestation #2303 -- Ensure RA Action reply does not hallucinate #2355 -- Prevent app crash when REMOTE_CHARACTER_URLS is undefined #2384 -- Check whether REMOTE_CHARACTER_URLS env is defined in starting agent #2382 -- Resolve @ai-sdk/provider version conflicts #2714 -- Ethers/viem issue in mind network plugin #2783 -- Message ID collision in Telegram Client #3053 -- ImageVisionModelProvider Not Applied in Runtime #3056 -- Handle unsupported image provider #3057 -- Fixing the error parsing JSON when an array is a value #3113 - -Client-Specific Issues & Enhancements -- Don't force root for install #2221 -- Align base URL in client if API runs on a different port #2353 -- Fix Incorrect Tweet ID Parameter Passed to sendTweet Function #2430 -- Unexpected JSON Metadata in Twitter Bot Replies #2712 -- Client-twitter homeTimeline name parse bug #2789 -- Topics formatting bug at composeState #2788 -- Bug in goal objectives update lookup logic #2791 -- doesn't work in tweet post template #2951 -- Ensure action tweet replies to agent's initial tweet #2966 -- Auto-scrolling issue in client #3115 - -Plugin Issues & Enhancements -- Missing @elizaos/plugin-b2 #2268 -- Export b2Plugin #2291 -- Set default Squid Router plugin throttle to 1000 #2386 -- Export dexScreenerPlugin #3120 -- Remove duplicate litPlugin import #3121 - -Infrastructure & Build Issues -- Docker images+compose and broken documentation #2347 -- Update Zero Gravity (0G) link #2441 -- Don't start services twice, improve logging #3007 -- Docker build command by skipping eslint files #3110 -- Building error #2938 - -General Code Fixes & Minor Enhancements -- Lint errors #2400 -- Fix typo in import statement for Solana AgentKit plugin #2370 -- Quickstart.md conflicts #2437 -- Typos in supabase seed file #2435 -- If VITE_SERVER_PORT is not defined, use default 3000 #2433 -- Missing import #2444 -- Spell/grammar errors in characters #2447 -- Correct STT plugin userId type #2704 -- Remove duplicated handlePendingTweet #2715 -- Delete plugin-bootstrap sex message #2748 -- TON plugin build issue #2757 -- Make template message footer more explicit #2774 -- Akash splash #2816 -- Akash splash bis #2838 -- Nvidia nim environment #2817 -- Null check #2878 -- Default character OpenAI => LlamaLocal #2880 -- LOG_JSON_FORMAT env var setting #2881 -- Fix abstract package.json #2882 -- Client server port #2886 -- Handle whitespace in quote conversion #2961 -- Remove unnecessary @ts-expect-error directive in chat component #2950 -- Correct regex #3054 -- Single quote handle bug at parseJsonArray #2802 -- OpenAI embedding issue #3003 -- Remove dead code #2945 -- Add missing plugins in package.json #2947 - -#### What's Changed (complete) - -* fix(plugin-twitter): change prompt to ensure it returns json by @odilitime in https://github.com/elizaOS/eliza/pull/2196 -* feat: nft plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2167 -* docs: Add Greek translation for README_GR by @adacapo21 in https://github.com/elizaOS/eliza/pull/2199 -* chore: rename ai16z -> elizaOS by @monilpat in https://github.com/elizaOS/eliza/pull/2211 -* feature: adding tests for whatsapp plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2213 -* fix: DeepSeek API bug: missing api key setting by @daizhengxue in https://github.com/elizaOS/eliza/pull/2186 -* fix: don't force root for install by @proteanx in https://github.com/elizaOS/eliza/pull/2221 -* feat: RP for plugin-tee-verifiable-log by @gene-zhan in https://github.com/elizaOS/eliza/pull/1369 -* feat: Merge my Eliza Installer with the current start.sh script by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2229 -* feat: add support for gravity chain in EVM plugin by @Stumble in https://github.com/elizaOS/eliza/pull/2228 -* docs: Add "What Did You Get Done This Week? #9" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2243 -* feat: Add AGW support to the Abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/2207 -* docs: Add Farsi (Persian )readme by @oxlupo in https://github.com/elizaOS/eliza/pull/2260 -* feat: CoinGecko - add price per address functionality by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2262 -* fix: test/lint develop by @odilitime in https://github.com/elizaOS/eliza/pull/2266 -* feat: Adding plugin for B² Network by @threewebcode in https://github.com/elizaOS/eliza/pull/2010 -* fix: (db) add limit param to memory retrieval across adapters by @augchan42 in https://github.com/elizaOS/eliza/pull/2264 -* docs: Typo fix README.md by @VitalikBerashvili in https://github.com/elizaOS/eliza/pull/2256 -* Minor typo in CHANGELOG.md by @Hack666r in https://github.com/elizaOS/eliza/pull/2255 -* fix: missing @elizaos/plugin-b2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/2268 -* feat: Add character creation template function to start.sh by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2232 -* fix: resolve Windows path issue in pnpm build client by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2240 -* feat: Add cross chain swaps through Squid Router by @Archethect in https://github.com/elizaOS/eliza/pull/1482 -* feat: Plugin evm oz governance by @thetechnocratic in https://github.com/elizaOS/eliza/pull/1710 -* feat: Add support for VoyageAI embeddings API by @Firbydude in https://github.com/elizaOS/eliza/pull/1442 -* feat: add birdeye plugin by @swizzmagik in https://github.com/elizaOS/eliza/pull/1417 -* Revert "feat: Add support for VoyageAI embeddings API" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2290 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2285 -* fix: export b2Plugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/2291 -* feat: Add an example service by @MonteCrypto999 in https://github.com/elizaOS/eliza/pull/2249 -* feat: Gitcoin passport by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2296 -* Fix: IME causes multiple messages on Enter (Fixes #2272) by @lincheoll in https://github.com/elizaOS/eliza/pull/2274 -* fix: fix derive key and update remote attestation by @HashWarlock in https://github.com/elizaOS/eliza/pull/2303 -* feat: Direct Client API - Add Delete Agent functionality by @jason51553262 in https://github.com/elizaOS/eliza/pull/2267 -* docs: Update README.md by @lalalune in https://github.com/elizaOS/eliza/pull/2309 -* fix: farcaster memory by @CryptoGraffe in https://github.com/elizaOS/eliza/pull/2307 -* feat: add getMemoryByIds to database adapters by @bbopar in https://github.com/elizaOS/eliza/pull/2293 -* feat: support load character from character_url by @v1xingyue in https://github.com/elizaOS/eliza/pull/2281 -* feat: (echochambers) add dead room detection and conversation starter by @augchan42 in https://github.com/elizaOS/eliza/pull/2248 -* chore: Update README.md by @wtfsayo in https://github.com/elizaOS/eliza/pull/2280 -* refactor: farcaster client env configuration by @sin-bufan in https://github.com/elizaOS/eliza/pull/2087 -* feat: Onchain Agent Transformer - transform any Eliza agents into unstoppable Solidity smart contracts deployed on 10+ blockchains by @eternal-ai-org in https://github.com/elizaOS/eliza/pull/2319 -* feat: add Dex Screener plugin with token price action, evaluators, an… by @hellopleasures in https://github.com/elizaOS/eliza/pull/1865 -* refactor: websearch into a service by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2195 -* fix: correct OPENROUTER_API_KEY env in config by @everimbaq in https://github.com/elizaOS/eliza/pull/2324 -* fix: docker images+compose and broken documentation by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2347 -* Fix github client README.md by @thomasWos in https://github.com/elizaOS/eliza/pull/2346 -* feat: groq image vision provider by @rferrari in https://github.com/elizaOS/eliza/pull/2342 -* improvement: using strict types to avoid erorrs like issue 2164 by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2220 -* fix: formatting in Browser section of README.md by @derrekcoleman in https://github.com/elizaOS/eliza/pull/2336 -* Update README_TR.md by @sukrucildirr in https://github.com/elizaOS/eliza/pull/2334 -* feat: (ragKnowledge) Enhance RAG knowledge handling by @augchan42 in https://github.com/elizaOS/eliza/pull/2351 -* feat: add instagram client by @Lukapetro in https://github.com/elizaOS/eliza/pull/1964 -* docs: Update README_FR.md by @omahs in https://github.com/elizaOS/eliza/pull/2356 -* fix: esure RA Action reply does not hallucinate by @HashWarlock in https://github.com/elizaOS/eliza/pull/2355 -* fix: align base url in client if api runs on a different port by @C0ldSmi1e in https://github.com/elizaOS/eliza/pull/2353 -* feat: add safe_mode (& cfg_scale) for venice image generation by @proteanx in https://github.com/elizaOS/eliza/pull/2354 -* fix: Update package.json of core package by @kesar in https://github.com/elizaOS/eliza/pull/2301 -* chore: Reorganizing README translations into a dedicated i18n directory structure by @0xnogo in https://github.com/elizaOS/eliza/pull/2149 -* chore: Prep 0.1.9-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2359 -* feat: Enable Multiple remote character urls by @leeran7 in https://github.com/elizaOS/eliza/pull/2328 -* chore: lint by @odilitime in https://github.com/elizaOS/eliza/pull/2368 -* fix: Fix typo in import statement for Solana AgentKit plugin Update i… by @defitricks in https://github.com/elizaOS/eliza/pull/2370 -* feat: dexscreener trending by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2325 -* fix: Prevent app crash when REMOTE_CHARACTER_URLS is undefined by @tcm390 in https://github.com/elizaOS/eliza/pull/2384 -* Startup Error: ENV misconfig by @0xSero in https://github.com/elizaOS/eliza/pull/2378 -* fix: check whether REMOTE_CHARACTER_URLS env is defined in starting agent by @dev-whoan in https://github.com/elizaOS/eliza/pull/2382 -* Fix typo by @ericlehong in https://github.com/elizaOS/eliza/pull/2385 -* fix: set default Squid Router plugin throttle to 1000 by @Archethect in https://github.com/elizaOS/eliza/pull/2386 -* chore: improve descriptions by @crStiv in https://github.com/elizaOS/eliza/pull/2394 -* feat: adding tests for plugin-solana by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2345 -* feat: atoma provider by @francis2tm in https://github.com/elizaOS/eliza/pull/2082 -* chore: invoke exit code 0 after positive cleanup by @erise133 in https://github.com/elizaOS/eliza/pull/2398 -* fix: lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2400 -* feat: adding tests for slack client. Moving existing tests to new __tests__ directory. by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2404 -* feat: better S3 flexibility by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2379 -* feat: adding tests for github client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2407 -* feat: injective plugin by @enigmarikki in https://github.com/elizaOS/eliza/pull/1764 -* feat: Integrate Livepeer LLM provider by @UD1sto in https://github.com/elizaOS/eliza/pull/2154 -* chore: remove tate character by @wtfsayo in https://github.com/elizaOS/eliza/pull/2425 -* refactor: dockerize smoke tests by @twilwa in https://github.com/elizaOS/eliza/pull/2420 -* feat: coinbase agentkit plugin for eliza by @sweetmantech in https://github.com/elizaOS/eliza/pull/2298 -* feat: add workflow to block minified JS by @twilwa in https://github.com/elizaOS/eliza/pull/2417 -* feat: Code In Plugin, load characters from blockchain by @zo-eth in https://github.com/elizaOS/eliza/pull/2371 -* docs: Add notes for weekly contributor meeting on 2025-01-14 by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2426 -* fix: Fix Incorrect Tweet ID Parameter Passed to sendTweet Function by @tcm390 in https://github.com/elizaOS/eliza/pull/2430 -* fix: quickstart.md conflicts by @wtfsayo in https://github.com/elizaOS/eliza/pull/2437 -* Update documentation links by @donatik27 in https://github.com/elizaOS/eliza/pull/2438 -* fix: typos in supabase seed file by @leopardracer in https://github.com/elizaOS/eliza/pull/2435 -* feat: Pyth Data Plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2434 -* fix: if VITE_SERVER_PORT is not defined, use default 3000 by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2433 -* fix: update zero Gravity (0G) link by @Hopium21 in https://github.com/elizaOS/eliza/pull/2441 -* feat: ibc transfer on cosmos blockchains by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2358 -* fix TEE Log plugin errors at agent startup by @bundinho in https://github.com/elizaOS/eliza/pull/2415 -* fix: missing import by @wtfsayo in https://github.com/elizaOS/eliza/pull/2444 -* feat: improvement to logger by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2396 -* feat:update heurist env var examples by @tsubasakong in https://github.com/elizaOS/eliza/pull/2428 -* Fix typos in docs by @RubinovaAn1097 in https://github.com/elizaOS/eliza/pull/2449 -* fix: Update error message and remove duplicate version field by @MarsonKotovi4 in https://github.com/elizaOS/eliza/pull/2445 -* fix: #2373 Fix image description by @ae9is in https://github.com/elizaOS/eliza/pull/2375 -* fix: spell/grammar errors in characters by @Pistasha in https://github.com/elizaOS/eliza/pull/2447 -* feat: Telegram autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2338 -* feat: add default logger level setting to set the logger level to dis… by @snobbee in https://github.com/elizaOS/eliza/pull/2451 -* feat: adding tests for instagram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2454 -* feat: create version.cmd for windows support by @savageops in https://github.com/elizaOS/eliza/pull/2442 -* revert: "refactor: dockerize smoke tests" by @twilwa in https://github.com/elizaOS/eliza/pull/2459 -* feat: Add features to the Solana Agent Kit by @thearyanag in https://github.com/elizaOS/eliza/pull/2458 -* chore: set openai as default character's provider by @wtfsayo in https://github.com/elizaOS/eliza/pull/2460 -* fix: OPENAI provider being overwritten by LLAMA_LOCAL on pnpm start by @tcm390 in https://github.com/elizaOS/eliza/pull/2465 -* Typo fix in read.me by @dedyshkaPexto in https://github.com/elizaOS/eliza/pull/2464 -* Fix spelling error by @Dimitrolito in https://github.com/elizaOS/eliza/pull/2456 -* fix: conditional use of useQuery in AgentRoute component to prevent runtime errors. by @carlos-cne in https://github.com/elizaOS/eliza/pull/2413 -* fix: resolve type error for children in animated.div component by @suleigolden in https://github.com/elizaOS/eliza/pull/2462 -* fix: SwapAction in evm-plugin by @B1boid in https://github.com/elizaOS/eliza/pull/2332 -* chore: add openai env to smokeTests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2472 -* test: adding test configuration and tests for redis adapter by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2470 -* feat: tests for supabase and sqlite db adapters by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2468 -* fix: linting errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2474 -* chore: remove eslint, prettier, tslint and replace with biome by @0xSero in https://github.com/elizaOS/eliza/pull/2439 -* feat: Sui supports the secp256k1/secp256r1 algorithms by @lispking in https://github.com/elizaOS/eliza/pull/2476 -* chore: edited the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2483 -* feat: Solana plugin improvement for flawless transfers by @sunsakis in https://github.com/elizaOS/eliza/pull/2340 -* chore: update createToken.ts by @eltociear in https://github.com/elizaOS/eliza/pull/2493 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2491 -* feat: introduce Dependency Injection to enhance developer experience by @btspoony in https://github.com/elizaOS/eliza/pull/2115 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2490 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2489 -* Update ElizaOS Documentation link by @Daulox92 in https://github.com/elizaOS/eliza/pull/2495 -* chore: handle test cases in version.sh file by @KoZivod88074 in https://github.com/elizaOS/eliza/pull/2485 -* feat: adding test configuration and test coverage for binance plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2482 -* feat: Implement character loading from multiple paths and enhance API… by @tercel in https://github.com/elizaOS/eliza/pull/2365 -* feat: Load multiple characters from a single remote url by @leeran7 in https://github.com/elizaOS/eliza/pull/2475 -* feat: Discord autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2335 -* feat: Add Extra Multimedia Support for Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/2510 -* test: api timeout handling for plugin-binance by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2504 -* feat: add support for NVIDIA inference for ElizaOS by @AIFlowML in https://github.com/elizaOS/eliza/pull/2512 -* feat(plugin-openai): add OpenAI integration for text generation by @0xrubusdata in https://github.com/elizaOS/eliza/pull/2463 -* chore: default coinbase agentkit plugin by @sweetmantech in https://github.com/elizaOS/eliza/pull/2505 -* docs: add docs/README_JA.md by @eltociear in https://github.com/elizaOS/eliza/pull/2515 -* fix: use coingecko headerKey from api config by @visionpixel in https://github.com/elizaOS/eliza/pull/2518 -* test: plugin-tee - adjusting project structure and new tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2508 -* docs: user ID with room ID in MemoryManager and other improvements by @Haisen772 in https://github.com/elizaOS/eliza/pull/2492 -* feat: plugin rabbi trader tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2520 -* chore: add eliza technical report/paper by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2517 -* plugin-tts: enhance TTS generation flow and caching by @bfontes in https://github.com/elizaOS/eliza/pull/2506 -* feat:add plugin-lightning by @jimtracy1007 in https://github.com/elizaOS/eliza/pull/2429 -* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2545 -* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2546 -* feat(plugin-devin): implement client-agnostic Devin plugin by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2549 -* feat: Updated READ.me file with pre-requisites to enable telegram bot by @neelkanani in https://github.com/elizaOS/eliza/pull/2547 -* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2551 -* feat: add anthropic image provider for vision by @BitWonka in https://github.com/elizaOS/eliza/pull/2524 -* feat: Add more actions to Abstract Plugin by @jonathangus in https://github.com/elizaOS/eliza/pull/2531 -* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2553 -* chore: optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2555 -* feat: add a way to create/store/restore agents in the filesystem by @maxcoto in https://github.com/elizaOS/eliza/pull/2389 -* chore(revert): optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2556 -* test configuration and tests for client-lens by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2534 -* feat(x spaces): Don't wait for mute, wait for silence by @tcm390 in https://github.com/elizaOS/eliza/pull/2576 -* feat: update integration tests workflow with improved caching by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2589 -* feat(plugin-agentkit): test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2573 -* feat(plugin-coingecko): coingecko trending advanced by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2568 -* feat(plugin-holdstation): add plugin holdstation swap by @cuongnguyenthai in https://github.com/elizaOS/eliza/pull/2596 -* Add 'node-compile-cache' to '.gitignore' by @jazzvaz in https://github.com/elizaOS/eliza/pull/2597 -* feat(plugin-farcaster): test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2567 -* fix:Incorrect boolean parsing for ENABLE_OPEN_AI_COMMUNITY_PLUGIN setting #2559 by @lincheoll in https://github.com/elizaOS/eliza/pull/2560 -* feat: add three new langs into TTS by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2562 -* docs: Add "What Did You Get Done This Week? #10" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2558 -* feat: Add Cronos Evm by @leejw51crypto in https://github.com/elizaOS/eliza/pull/2585 -* feat: add router nitro plugin by @RaveenaBhasin in https://github.com/elizaOS/eliza/pull/2590 -* feat(plugin-new): initia plugin + chore revert to integrationTests from stable release 0.1.7 by @boohyunsik in https://github.com/elizaOS/eliza/pull/2448 -* feat: nvidia-nim-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2599 -* fix: Add instruction to escape quotes on JSON generation by @lalalune in https://github.com/elizaOS/eliza/pull/2604 -* feat(new-plugin): 0x plugin to swap on evms by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2329 -* fix: add missing plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2626 -* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2627 -* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2629 -* feat: add plugin-bnb to support BNB chain by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/2278 -* chore: fix develop build and tests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2646 -* feat: plugin for OriginTrail Decentralized Knowledge Graph by @brkagithub in https://github.com/elizaOS/eliza/pull/2380 -* fix: Resolve chat error in openai-plugin (#2649) by @lincheoll in https://github.com/elizaOS/eliza/pull/2650 -* feat: Cosmos Plugin - IBC swap action by @stanislawkurzypBD in https://github.com/elizaOS/eliza/pull/2554 -* fix: a typo bug in conflux plugin by @siphonelee in https://github.com/elizaOS/eliza/pull/2654 -* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2670 -* feat(email-plugin): add email-plugin + improve: fixed avail plugin duplicate dependency by @jteso in https://github.com/elizaOS/eliza/pull/2645 -* chore(spelling-fixes): docs by @nnsW3 in https://github.com/elizaOS/eliza/pull/2669 -* feat(new-plugin): suno Eliza plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2656 -* Revert "feat(new-plugin): suno Eliza plugin" by @wtfsayo in https://github.com/elizaOS/eliza/pull/2673 -* feat: Implement runProcess function in test library by @VolodymyrBg in https://github.com/elizaOS/eliza/pull/2672 -* fix: remove wrong comment by @tcm390 in https://github.com/elizaOS/eliza/pull/2683 -* feat: chainbase plugin for eliza by @lxcong in https://github.com/elizaOS/eliza/pull/2162 -* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2685 -* feat: custom s3 endpoint url for 'plugin-node' by @dtbuchholz in https://github.com/elizaOS/eliza/pull/2176 -* chore: lint pass by @odilitime in https://github.com/elizaOS/eliza/pull/2580 -* feat(plugin-new): Official SimsAI Release V1.0 by @simsaidev in https://github.com/elizaOS/eliza/pull/2618 -* chore: fix types syntax issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2694 -* feat: add adapter-qdrant by @oxf71 in https://github.com/elizaOS/eliza/pull/2322 -* feat(new-plugin): suno music generation by @Freytes in https://github.com/elizaOS/eliza/pull/2679 -* feat(new-plugin): udio music generation for eliza by @Freytes in https://github.com/elizaOS/eliza/pull/2660 -* feat(new-plugin): Eliza OmniFlix Plugin by @OmniflixBlockEater in https://github.com/elizaOS/eliza/pull/2693 -* fix(ragKnowledge): Ensure scoped IDs are properly used to check for existing knowledge by @augchan42 in https://github.com/elizaOS/eliza/pull/2690 -* feat: Hyperbolic-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2701 -* Mostly aesthetic changes, fixed some wonky bullets and numbered lists. by @bealers in https://github.com/elizaOS/eliza/pull/2698 -* feat(new-plugin): eliza samsung smarthings plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2678 -* Improve GitBook Provider Output by Including Query Context by @Evan-zkLinkLabs in https://github.com/elizaOS/eliza/pull/2659 -* feat: Plugin football by @suleigolden in https://github.com/elizaOS/eliza/pull/2461 -* feat: [Space] improving handling of user ids and memory storage by @worksgoodcompany in https://github.com/elizaOS/eliza/pull/2686 -* fix: correct stt plugin userId type by @tcm390 in https://github.com/elizaOS/eliza/pull/2704 -* fix: Unexpected JSON Metadata in Twitter Bot Replies by @tcm390 in https://github.com/elizaOS/eliza/pull/2712 -* fix: remove duplicated handlePendingTweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2715 -* feat: add error message by @tcm390 in https://github.com/elizaOS/eliza/pull/2717 -* Remove the log as it may potentially cause the app to crash by @tcm390 in https://github.com/elizaOS/eliza/pull/2716 -* feat: improve twitter parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2730 -* feat: move cleanJsonResponse to parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2732 -* fix: delete plugin-bootstrap sex message, because it will cause some apis sensitive alerts by @klren0312 in https://github.com/elizaOS/eliza/pull/2748 -* feat: add lit plugin by @dezcalimese in https://github.com/elizaOS/eliza/pull/2703 -* feat(plugin-holdstation): add plugin holdstation swap by @dev-holdstation in https://github.com/elizaOS/eliza/pull/2741 -* feat: Restrict discord bot to respond only in allowed channels (#2742) by @lincheoll in https://github.com/elizaOS/eliza/pull/2743 -* chore: adds hyperliquid env variables to env example by @alex1092 in https://github.com/elizaOS/eliza/pull/2736 -* feat: Add Sei Plugin by @mj850 in https://github.com/elizaOS/eliza/pull/2720 -* feat(ton-plugin): add debug scripts and fix the transfer by @jinbangyi in https://github.com/elizaOS/eliza/pull/2744 -* chore(core/evaluators): source example links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/2724 -* fix: resolve @ai-sdk/provider version conflicts by @antman1p in https://github.com/elizaOS/eliza/pull/2714 -* Bug/fix ton plugin by @ajkraus04 in https://github.com/elizaOS/eliza/pull/2755 -* fix: ton plugin build issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2757 -* feat: biome automation via python with reporting by @AIFlowML in https://github.com/elizaOS/eliza/pull/2733 -* chore: Use latest allora-sdk version in the Allora Plugin by @conache in https://github.com/elizaOS/eliza/pull/2707 -* feat(new-plugin): adding Imgflip plugin for generating memes using the imgflip.com API by @krustevalexander in https://github.com/elizaOS/eliza/pull/2711 -* feat: Add plugin-ethstorage by @iteyelmp in https://github.com/elizaOS/eliza/pull/2737 -* feat: minimal workflow to resolve ephemeral check by @twilwa in https://github.com/elizaOS/eliza/pull/2735 -* feat: support mina blockchain by @lispking in https://github.com/elizaOS/eliza/pull/2702 -* client-eliza-home: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2719 -* feat: create /.turbo/config.json by @twilwa in https://github.com/elizaOS/eliza/pull/2768 -* feat: Add Amazon Bedrock as LLM provider by @ebaizel in https://github.com/elizaOS/eliza/pull/2769 -* Fix path in all files by @LouisVannobel in https://github.com/elizaOS/eliza/pull/2763 -* feat(new-plugin): added zerion plugin by @pranav-singhal in https://github.com/elizaOS/eliza/pull/2766 -* feat: add moralis plugin by @bharathbabu-moralis in https://github.com/elizaOS/eliza/pull/2764 -* feat(edriziai): Add Edriziai Startup Mentor AI Assistant by @ccross2 in https://github.com/elizaOS/eliza/pull/2687 -* docs: add docs on configuring secrets for multi agent workflows. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2632 -* feat(new-plugin): adding intelligent email evaluation and automation by @Cooops in https://github.com/elizaOS/eliza/pull/2709 -* feat(new-plugin): add Form chain plugin by @tmarwen in https://github.com/elizaOS/eliza/pull/2728 -* feat: added Ankr plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2773 -* feat(new-plugin): bittensor bitmind api for eliza by @benliang99 in https://github.com/elizaOS/eliza/pull/2682 -* feat: Add plugin-dcap by @Liao1 in https://github.com/elizaOS/eliza/pull/2638 -* chore: enable turbo cache by @wtfsayo in https://github.com/elizaOS/eliza/pull/2775 -* fix: make template message footer more explicit by @HashWarlock in https://github.com/elizaOS/eliza/pull/2774 -* docs: add one click deployment to docs by @KanishkKhurana in https://github.com/elizaOS/eliza/pull/2631 -* feat: Add swap & improvements for multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2651 -* chore: allow custom TEE log path by @batudo in https://github.com/elizaOS/eliza/pull/2616 -* feat(new-adapter): mongo-db adaptor by @jobyid in https://github.com/elizaOS/eliza/pull/1427 -* chore(plugin-coinbase): Update tokenContract.ts by @AdventureSeeker987 in https://github.com/elizaOS/eliza/pull/2781 -* chore(add-tests): plugin abstract: test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2621 -* feat(client-alexa): Basic Alexa skill notification by @brandon1525 in https://github.com/elizaOS/eliza/pull/2564 -* feat(new-plugin): quick intel plugin for token security analysis by @azep-ninja in https://github.com/elizaOS/eliza/pull/2391 -* feat: add Mind Network plugin by @zy-bc-ai in https://github.com/elizaOS/eliza/pull/2431 -* fix: goal updating bug in the goal evaluator's handler of plugin-bootstrap by @Alirun in https://github.com/elizaOS/eliza/pull/2725 -* fix: ethers/viem issue in mind network plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2783 -* fix: client-twitter homeTimeline name parse bug by @JhChoy in https://github.com/elizaOS/eliza/pull/2789 -* fix: topics formatting bug at composeState by @JhChoy in https://github.com/elizaOS/eliza/pull/2788 -* Fix: DTS Error mismatch LanguageModelV1interface/Version in ai-sdk mistral model by @juanc07 in https://github.com/elizaOS/eliza/pull/2782 -* feat: plugin Solana web3.js V2 & automated LPing on Orca by @calintje in https://github.com/elizaOS/eliza/pull/2136 -* feat: news-plugin by @ileana-pr in https://github.com/elizaOS/eliza/pull/1248 -* fix: bug in goal objectives update lookup logic by @Alirun in https://github.com/elizaOS/eliza/pull/2791 -* fix: adding exclusion for extra folder for faster future rebase by @AIFlowML in https://github.com/elizaOS/eliza/pull/2813 -* feat: Add Access Token Management to MultiversX Plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2810 -* chore: plugin-0g test configuration and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2805 -* test: plugin-0x test configuration and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2807 -* fix: akash splash by @AIFlowML in https://github.com/elizaOS/eliza/pull/2816 -* fix: nvidia nim environment by @AIFlowML in https://github.com/elizaOS/eliza/pull/2817 -* feat: improve message parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2772 -* fix: plugin-zksync-era multiple errors and issues as documented by @AIFlowML in https://github.com/elizaOS/eliza/pull/2819 -* docs: Create client-discord readme.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2812 -* docs: Update client-telegram README.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2814 -* docs: update embedding function by @rubinovitz in https://github.com/elizaOS/eliza/pull/2821 -* feat: twitter post media by @tcm390 in https://github.com/elizaOS/eliza/pull/2818 -* fix: plugin-tts by @AIFlowML in https://github.com/elizaOS/eliza/pull/2829 -* fix: plugin-twitter by @AIFlowML in https://github.com/elizaOS/eliza/pull/2827 -* fix: plugin-udio by @AIFlowML in https://github.com/elizaOS/eliza/pull/2824 -* fix: plugin-video-generation Fixed multiple non criticla issues. by @AIFlowML in https://github.com/elizaOS/eliza/pull/2823 -* fix: plugin-zerion by @AIFlowML in https://github.com/elizaOS/eliza/pull/2822 -* feat(new-plugin): create gelato plugin relay by @anirudhmakhana in https://github.com/elizaOS/eliza/pull/2799 -* fix: still run Farcaster client loop if error by @rubinovitz in https://github.com/elizaOS/eliza/pull/2830 -* feat: add new readmes, move some others for consistency by @madjin in https://github.com/elizaOS/eliza/pull/2828 -* btcfun Plugin for Eliza by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2797 -* feat: XMTP Client by @humanagent in https://github.com/elizaOS/eliza/pull/2786 -* feat(new-plugin): trikon plugin for eliza by @AmriteshTrikon in https://github.com/elizaOS/eliza/pull/2653 -* chore(update-plugin-initialization): btcfun & trikon plugin by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2643 -* fix: plugin-thirdweb by @AIFlowML in https://github.com/elizaOS/eliza/pull/2833 -* fix(deps): update dependency cookie to v0.7.0 [security] by @renovate in https://github.com/elizaOS/eliza/pull/2834 -* fix: plugin-ton by @AIFlowML in https://github.com/elizaOS/eliza/pull/2832 -* fix: plugin-tee-marlin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2837 -* fix: plugin-tee-veriafiable-log by @AIFlowML in https://github.com/elizaOS/eliza/pull/2836 -* fix: akash splash bis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2838 -* fix: plugin-story by @AIFlowML in https://github.com/elizaOS/eliza/pull/2844 -* fix: plugin-sui by @AIFlowML in https://github.com/elizaOS/eliza/pull/2843 -* fix: plugin-suno by @AIFlowML in https://github.com/elizaOS/eliza/pull/2840 -* fix(deps): update bs58 version to resolve integration test dependency issues by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2848 -* feat(new-plugin): A plugin for the Zilliqa blockchain by @rrw-zilliqa in https://github.com/elizaOS/eliza/pull/2842 -* refactor: simplify and fix exports in Imgflip meme generation plugin. by @krustevalexander in https://github.com/elizaOS/eliza/pull/2846 -* feat: client for Telegram account by @tgaru in https://github.com/elizaOS/eliza/pull/2839 -* chore(add-tests): plugin 3d generation: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2850 -* chore(add-tests): plugin anyone: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2854 -* feat(new-plugin): support apro plugin by @fifahuihua in https://github.com/elizaOS/eliza/pull/2794 -* feat(new-plugin): add arbitrage plugin with example character by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2784 -* feat(new-plugin): deva client integration by @stopmalone in https://github.com/elizaOS/eliza/pull/1238 -* fix: single quote handle bug at parseJsonArray by @JhChoy in https://github.com/elizaOS/eliza/pull/2802 -* fix: fix merge conflict by @tcm390 in https://github.com/elizaOS/eliza/pull/2873 -* fix: null check by @tcm390 in https://github.com/elizaOS/eliza/pull/2878 -* fix: default character openai => llamalocal by @odilitime in https://github.com/elizaOS/eliza/pull/2880 -* fix: LOG_JSON_FORMAT env var setting by @odilitime in https://github.com/elizaOS/eliza/pull/2881 -* fix: fix abstract package.json by @odilitime in https://github.com/elizaOS/eliza/pull/2882 -* chore: bump version to 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2883 -* fix: client server port by @tcm390 in https://github.com/elizaOS/eliza/pull/2886 -* Add more data when scrapping tweets by @viv-cheung in https://github.com/elizaOS/eliza/pull/2644 -* Update pnpm to v9.15.0 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2888 -* Update dependency systeminformation to v5.23.8 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2887 -* fet: use axios to fetch price and support two types private key by @v1xingyue in https://github.com/elizaOS/eliza/pull/2879 -* fix: plugin-omniflix by @AIFlowML in https://github.com/elizaOS/eliza/pull/2902 -* fix: plugin-open-weather by @AIFlowML in https://github.com/elizaOS/eliza/pull/2899 -* fix: plugin-opacity by @AIFlowML in https://github.com/elizaOS/eliza/pull/2900 -* fix: plugin-openai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2898 -* fix(patch): pnpm/@solana-developers to fix @coral-xyz 'BN' export by @wtfsayo in https://github.com/elizaOS/eliza/pull/2901 -* fix: plugin-primus by @AIFlowML in https://github.com/elizaOS/eliza/pull/2893 -* fix: plugin-quai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2892 -* fix: plugin-quick-intel by @AIFlowML in https://github.com/elizaOS/eliza/pull/2890 -* fix: plugin-sei by @AIFlowML in https://github.com/elizaOS/eliza/pull/2877 -* fix: plugin-sgx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2872 -* fix: plugin-starknet by @AIFlowML in https://github.com/elizaOS/eliza/pull/2866 -* fix: plugin-spheron by @AIFlowML in https://github.com/elizaOS/eliza/pull/2870 -* fix: plugin-squid-router by @AIFlowML in https://github.com/elizaOS/eliza/pull/2868 -* Update LICENSE by @maximevtush in https://github.com/elizaOS/eliza/pull/2903 -* fix: plugin-arbitrage by @AIFlowML in https://github.com/elizaOS/eliza/pull/2905 -* chore: fix spell errors by @Pricstas in https://github.com/elizaOS/eliza/pull/2909 -* feat(arbitrage): improve gas price optimization and volume calculation by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2869 -* chore(add-tests): plugin-asterai -> test coverage and config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2860 -* ci: changes to allow package scoping to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/2928 -* fix: missing version prop in package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/2929 -* fix: invalid npm package naming convention by @shakkernerd in https://github.com/elizaOS/eliza/pull/2930 -* chore: inconsistent folder naming conventipn by @shakkernerd in https://github.com/elizaOS/eliza/pull/2931 -* feat: add public access to packages. by @shakkernerd in https://github.com/elizaOS/eliza/pull/2933 -* fix template typos by @michavie in https://github.com/elizaOS/eliza/pull/2932 -* feat: new model provider for LM Studio by @eric2hen in https://github.com/elizaOS/eliza/pull/2913 -* fix: plugin-nft-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2934 -* fix: building error by @tcm390 in https://github.com/elizaOS/eliza/pull/2938 -* fix: plugin-news by @AIFlowML in https://github.com/elizaOS/eliza/pull/2940 -* fix: plugin-nft-collection by @AIFlowML in https://github.com/elizaOS/eliza/pull/2937 -* fix: plugin-near by @AIFlowML in https://github.com/elizaOS/eliza/pull/2941 -* fix: plugin-movement by @AIFlowML in https://github.com/elizaOS/eliza/pull/2943 -* fix: plugin-multiversx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2942 -* fix: remove dead code by @tcm390 in https://github.com/elizaOS/eliza/pull/2945 -* fix: add missing plugins in package.json by @tcm390 in https://github.com/elizaOS/eliza/pull/2947 -* fix: doesn't work in tweet post template by @tcm390 in https://github.com/elizaOS/eliza/pull/2951 -* fix: plugin-massa by @AIFlowML in https://github.com/elizaOS/eliza/pull/2955 -* fix-plugin-mina by @AIFlowML in https://github.com/elizaOS/eliza/pull/2954 -* fix: mind-network by @AIFlowML in https://github.com/elizaOS/eliza/pull/2953 -* fix: plugin-moralis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2952 -* fix: remove unnecessary @ts-expect-error directive in chat component by @wonseokjung in https://github.com/elizaOS/eliza/pull/2950 -* feat(plugin-di): add `Dependency Injection` support for services and clients, and di plugin samples to _examples as new folder by @btspoony in https://github.com/elizaOS/eliza/pull/2855 -* fix: handle whitespace in quote conversion by @tcm390 in https://github.com/elizaOS/eliza/pull/2961 -* fix: plugin-letzai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2960 -* fix: plugin-lightning by @AIFlowML in https://github.com/elizaOS/eliza/pull/2959 -* fix: plugin-lit by @AIFlowML in https://github.com/elizaOS/eliza/pull/2957 -* fix: plugin-obsidian by @AIFlowML in https://github.com/elizaOS/eliza/pull/2906 -* fix: plugin-router-nitro by @AIFlowML in https://github.com/elizaOS/eliza/pull/2884 -* fix: ensure action tweet replies to agent's initial tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2966 -* fix: plugin-lensnetwork by @AIFlowML in https://github.com/elizaOS/eliza/pull/2965 -* chore: bump pnpm for remaining workflows by @wtfsayo in https://github.com/elizaOS/eliza/pull/2968 -* fix(lint): plugin-intiface by @AIFlowML in https://github.com/elizaOS/eliza/pull/2971 -* fix(lint): plugin-iq6900 by @AIFlowML in https://github.com/elizaOS/eliza/pull/2970 -* fix: plugin-irys by @AIFlowML in https://github.com/elizaOS/eliza/pull/2969 -* fix(lint): plugin-injective by @AIFlowML in https://github.com/elizaOS/eliza/pull/2973 -* fix: plugin-initia by @AIFlowML in https://github.com/elizaOS/eliza/pull/2974 -* fix(lint): plugin-imgflip by @AIFlowML in https://github.com/elizaOS/eliza/pull/2976 -* fix(lint): plugin-image-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2978 -* feat(chore): plugin-arbitrage test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2983 -* feat: improve instagram client by @derrix060 in https://github.com/elizaOS/eliza/pull/2975 -* feat(chore): plugin-apro -> test coverage and test config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2980 -* fix README's CONTRIBUTING.md link in plugin-multiversx package by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2985 -* docs: fix broken links to github by @yaruno in https://github.com/elizaOS/eliza/pull/2987 -* Update lpmanager.character.json by @Dahka2321 in https://github.com/elizaOS/eliza/pull/2921 -* chore: correction typos chat_2024-12-04.md by @futreall in https://github.com/elizaOS/eliza/pull/2986 -* feat(more-actions): Lit Protocol plugin by @madschristensen99 in https://github.com/elizaOS/eliza/pull/2912 -* fix: re-enable wtfsayonara's patch by @odilitime in https://github.com/elizaOS/eliza/pull/2993 -* chore: lockfile audit by @odilitime in https://github.com/elizaOS/eliza/pull/2994 -* Update of the complete translation of README_FR.md [FR] by @YohanGH in https://github.com/elizaOS/eliza/pull/2964 -* feat (chore): plugin avalanche test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2999 -* feat (chore): plugin avail test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2997 -* feat (chore): plugin-autonome test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2992 -* fix: OpenAI embedding issue by @ileana-pr in https://github.com/elizaOS/eliza/pull/3003 -* fix: don't start services twice, improve logging by @odilitime in https://github.com/elizaOS/eliza/pull/3007 -* fix: deepgram transcription null check by @tcm390 in https://github.com/elizaOS/eliza/pull/3014 -* fix: llava model parsing Issue by @tcm390 in https://github.com/elizaOS/eliza/pull/3008 -* fix(lint): plugin-hyperliquid by @AIFlowML in https://github.com/elizaOS/eliza/pull/3011 -* fix(lint): plugin-holdstation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3015 -* fix(lint): plugin-goplus by @AIFlowML in https://github.com/elizaOS/eliza/pull/3016 -* chore(lint-BIOME): Improving errors and warnings by @0xSero in https://github.com/elizaOS/eliza/pull/2990 -* fix: client-slack & adapter-postgres: Ensure the connection between user and room before creating a memory,… by @maxime in https://github.com/elizaOS/eliza/pull/3006 -* fix: change handleAnthropic default mode to auto by @Jesscha in https://github.com/elizaOS/eliza/pull/3018 -* fix: spelling issue by @sky-coderay in https://github.com/elizaOS/eliza/pull/3041 -* fix(lint): plugin-ethstorage by @AIFlowML in https://github.com/elizaOS/eliza/pull/3039 -* fix(lint): plugin-evm by @AIFlowML in https://github.com/elizaOS/eliza/pull/3038 -* fix(lint): plugin-flow by @AIFlowML in https://github.com/elizaOS/eliza/pull/3036 -* fix(lint): plugin-football by @AIFlowML in https://github.com/elizaOS/eliza/pull/3035 -* fix(lint): plugin-form by @AIFlowML in https://github.com/elizaOS/eliza/pull/3033 -* fix(lint): plugin-fuel by @AIFlowML in https://github.com/elizaOS/eliza/pull/3028 -* fix(lint): plugin-gelato by @AIFlowML in https://github.com/elizaOS/eliza/pull/3027 -* fix(lint): plugin-genlayer by @AIFlowML in https://github.com/elizaOS/eliza/pull/3025 -* fix(lint): plugin-giphy by @AIFlowML in https://github.com/elizaOS/eliza/pull/3024 -* fix(lint): plugin-goat by @AIFlowML in https://github.com/elizaOS/eliza/pull/3019 -* fix(lint): plugin-gitcoin-passport by @AIFlowML in https://github.com/elizaOS/eliza/pull/3022 -* fix(lint): plugin-gitbook by @AIFlowML in https://github.com/elizaOS/eliza/pull/3023 -* feat: add Fleek Eliza deployment to Readme_CN by @tobySolutions in https://github.com/elizaOS/eliza/pull/3048 -* fix: correct regex by @tcm390 in https://github.com/elizaOS/eliza/pull/3054 -* fix: Message id collision in Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/3053 -* fix: ImageVisionModelProvider Not Applied in Runtime for Image Description Service by @tcm390 in https://github.com/elizaOS/eliza/pull/3056 -* fix: handle unsupported image provider by @tcm390 in https://github.com/elizaOS/eliza/pull/3057 -* feat: use Aggregator swap sui tokens by @v1xingyue in https://github.com/elizaOS/eliza/pull/3012 -* fix: plugin-devin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3070 -* fix: plugin-binance lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3089 -* fix: plugin-birdeye lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3088 -* fix: plugin-bittensor lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3087 -* fix: plugin-Chainbase lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3085 -* fix: plugin-coingecko lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3084 -* fix: plugin-coinmarketcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3082 -* fix: plugin-conflux lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3080 -* fix: plugin-cosmos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3077 -* fix: plugin-cronos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3076 -* fix: plugin-bnb lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3086 -* fix: Rename file with typo in MVX plugin by @PhyByte in https://github.com/elizaOS/eliza/pull/3026 -* docs: Add Arabic translation for README by @EmanHerawy in https://github.com/elizaOS/eliza/pull/3081 -* fix: plugin-cronoszkevm lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3075 -* fix: plugin-dcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3074 -* fix: plugin-b2 lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3091 -* fix: plugin-depin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3073 -* fix: plugin-dexscreener lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3069 -* fix: the unexpected corrections for plugin-di caused by biome lint by @btspoony in https://github.com/elizaOS/eliza/pull/3052 -* fix: fix-plugin-di lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3066 -* fix: plugin-avalanche lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3092 -* fix: plugin-echochamber lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3063 -* fix: plugin-dkg lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3065 -* fix: plugin-mail lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3061 -* feat: 3049 add demo api access coingecko by @MichaelDeng03 in https://github.com/elizaOS/eliza/pull/3050 -* fix(lint): email-automation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3044 -* fix: plugin-avail by @AIFlowML in https://github.com/elizaOS/eliza/pull/3094 -* docs(packages/adapters): navigate section links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/3005 -* fix: fixed build error in plugin-email-automation by @samarth30 in https://github.com/elizaOS/eliza/pull/3097 -* fix: plugin-icp refactored by @AIFlowML in https://github.com/elizaOS/eliza/pull/3010 -* fix: plugin-asterai by @AIFlowML in https://github.com/elizaOS/eliza/pull/3101 -* fix: plugin-autonome-v1 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3098 -* fix: plugin-arthera-biome by @AIFlowML in https://github.com/elizaOS/eliza/pull/3102 -* fix: plugin-aptos by @AIFlowML in https://github.com/elizaOS/eliza/pull/3104 -* docs: Add "What Did You Get Done This Week? 11" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3103 -* fix: fixing the error parsing json when an array is a value in a JSON… by @maxime in https://github.com/elizaOS/eliza/pull/3113 -* chore: updated .gitignore + removed build files by @wtfsayo in https://github.com/elizaOS/eliza/pull/3117 -* fix: auto-scrolling issue in client by @tcm390 in https://github.com/elizaOS/eliza/pull/3115 -* fix: plugin-apro by @AIFlowML in https://github.com/elizaOS/eliza/pull/3106 -* feat (chore): plugin-chainbase test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3072 -* feat (chore): plugin bittensor test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3064 -* feat (chore): plugin-bootstrap: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3068 -* fix: docker build command by skipping eslint files by @jonathangus in https://github.com/elizaOS/eliza/pull/3110 -* fix: export dexScreenerPlugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/3120 -* fix:chore(plugin-chainbase): add missing comma in package.json by @akugone in https://github.com/elizaOS/eliza/pull/3118 -* fix: remove duplicate litPlugin import by @shakkernerd in https://github.com/elizaOS/eliza/pull/3121 -* chore: dev => main 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2361 - -#### New Contributors - -
      -View New Contributors -* @adacapo21 made their first contribution in https://github.com/elizaOS/eliza/pull/2199 -* @gene-zhan made their first contribution in https://github.com/elizaOS/eliza/pull/1369 -* @Stumble made their first contribution in https://github.com/elizaOS/eliza/pull/2228 -* @oxlupo made their first contribution in https://github.com/elizaOS/eliza/pull/2260 -* @VitalikBerashvili made their first contribution in https://github.com/elizaOS/eliza/pull/2256 -* @Hack666r made their first contribution in https://github.com/elizaOS/eliza/pull/2255 -* @KacperKoza343 made their first contribution in https://github.com/elizaOS/eliza/pull/2240 -* @thetechnocratic made their first contribution in https://github.com/elizaOS/eliza/pull/1710 -* @Firbydude made their first contribution in https://github.com/elizaOS/eliza/pull/1442 -* @MonteCrypto999 made their first contribution in https://github.com/elizaOS/eliza/pull/2249 -* @lincheoll made their first contribution in https://github.com/elizaOS/eliza/pull/2274 -* @jason51553262 made their first contribution in https://github.com/elizaOS/eliza/pull/2267 -* @CryptoGraffe made their first contribution in https://github.com/elizaOS/eliza/pull/2307 -* @bbopar made their first contribution in https://github.com/elizaOS/eliza/pull/2293 -* @hellopleasures made their first contribution in https://github.com/elizaOS/eliza/pull/1865 -* @chuasonglin1995 made their first contribution in https://github.com/elizaOS/eliza/pull/2195 -* @everimbaq made their first contribution in https://github.com/elizaOS/eliza/pull/2324 -* @derrekcoleman made their first contribution in https://github.com/elizaOS/eliza/pull/2336 -* @sukrucildirr made their first contribution in https://github.com/elizaOS/eliza/pull/2334 -* @C0ldSmi1e made their first contribution in https://github.com/elizaOS/eliza/pull/2353 -* @0xnogo made their first contribution in https://github.com/elizaOS/eliza/pull/2149 -* @leeran7 made their first contribution in https://github.com/elizaOS/eliza/pull/2328 -* @defitricks made their first contribution in https://github.com/elizaOS/eliza/pull/2370 -* @0xSero made their first contribution in https://github.com/elizaOS/eliza/pull/2378 -* @dev-whoan made their first contribution in https://github.com/elizaOS/eliza/pull/2382 -* @ericlehong made their first contribution in https://github.com/elizaOS/eliza/pull/2385 -* @crStiv made their first contribution in https://github.com/elizaOS/eliza/pull/2394 -* @francis2tm made their first contribution in https://github.com/elizaOS/eliza/pull/2082 -* @enigmarikki made their first contribution in https://github.com/elizaOS/eliza/pull/1764 -* @sweetmantech made their first contribution in https://github.com/elizaOS/eliza/pull/2298 -* @donatik27 made their first contribution in https://github.com/elizaOS/eliza/pull/2438 -* @leopardracer made their first contribution in https://github.com/elizaOS/eliza/pull/2435 -* @Hopium21 made their first contribution in https://github.com/elizaOS/eliza/pull/2441 -* @bundinho made their first contribution in https://github.com/elizaOS/eliza/pull/2415 -* @RubinovaAn1097 made their first contribution in https://github.com/elizaOS/eliza/pull/2449 -* @MarsonKotovi4 made their first contribution in https://github.com/elizaOS/eliza/pull/2445 -* @ae9is made their first contribution in https://github.com/elizaOS/eliza/pull/2375 -* @Pistasha made their first contribution in https://github.com/elizaOS/eliza/pull/2447 -* @dedyshkaPexto made their first contribution in https://github.com/elizaOS/eliza/pull/2464 -* @Dimitrolito made their first contribution in https://github.com/elizaOS/eliza/pull/2456 -* @carlos-cne made their first contribution in https://github.com/elizaOS/eliza/pull/2413 -* @suleigolden made their first contribution in https://github.com/elizaOS/eliza/pull/2462 -* @B1boid made their first contribution in https://github.com/elizaOS/eliza/pull/2332 -* @lispking made their first contribution in https://github.com/elizaOS/eliza/pull/2476 -* @Olexandr88 made their first contribution in https://github.com/elizaOS/eliza/pull/2483 -* @sunsakis made their first contribution in https://github.com/elizaOS/eliza/pull/2340 -* @Daulox92 made their first contribution in https://github.com/elizaOS/eliza/pull/2495 -* @KoZivod88074 made their first contribution in https://github.com/elizaOS/eliza/pull/2485 -* @tercel made their first contribution in https://github.com/elizaOS/eliza/pull/2365 -* @0xrubusdata made their first contribution in https://github.com/elizaOS/eliza/pull/2463 -* @visionpixel made their first contribution in https://github.com/elizaOS/eliza/pull/2518 -* @Haisen772 made their first contribution in https://github.com/elizaOS/eliza/pull/2492 -* @bfontes made their first contribution in https://github.com/elizaOS/eliza/pull/2506 -* @jimtracy1007 made their first contribution in https://github.com/elizaOS/eliza/pull/2429 -* @devin-ai-integration made their first contribution in https://github.com/elizaOS/eliza/pull/2549 -* @neelkanani made their first contribution in https://github.com/elizaOS/eliza/pull/2547 -* @BitWonka made their first contribution in https://github.com/elizaOS/eliza/pull/2524 -* @maxcoto made their first contribution in https://github.com/elizaOS/eliza/pull/2389 -* @cuongnguyenthai made their first contribution in https://github.com/elizaOS/eliza/pull/2596 -* @leejw51crypto made their first contribution in https://github.com/elizaOS/eliza/pull/2585 -* @RaveenaBhasin made their first contribution in https://github.com/elizaOS/eliza/pull/2590 -* @boohyunsik made their first contribution in https://github.com/elizaOS/eliza/pull/2448 -* @brkagithub made their first contribution in https://github.com/elizaOS/eliza/pull/2380 -* @stanislawkurzypBD made their first contribution in https://github.com/elizaOS/eliza/pull/2554 -* @siphonelee made their first contribution in https://github.com/elizaOS/eliza/pull/2654 -* @jteso made their first contribution in https://github.com/elizaOS/eliza/pull/2645 -* @nnsW3 made their first contribution in https://github.com/elizaOS/eliza/pull/2669 -* @VolodymyrBg made their first contribution in https://github.com/elizaOS/eliza/pull/2672 -* @lxcong made their first contribution in https://github.com/elizaOS/eliza/pull/2162 -* @dtbuchholz made their first contribution in https://github.com/elizaOS/eliza/pull/2176 -* @simsaidev made their first contribution in https://github.com/elizaOS/eliza/pull/2618 -* @oxf71 made their first contribution in https://github.com/elizaOS/eliza/pull/2322 -* @OmniflixBlockEater made their first contribution in https://github.com/elizaOS/eliza/pull/2693 -* @bealers made their first contribution in https://github.com/elizaOS/eliza/pull/2698 -* @Evan-zkLinkLabs made their first contribution in https://github.com/elizaOS/eliza/pull/2659 -* @worksgoodcompany made their first contribution in https://github.com/elizaOS/eliza/pull/2686 -* @klren0312 made their first contribution in https://github.com/elizaOS/eliza/pull/2748 -* @dezcalimese made their first contribution in https://github.com/elizaOS/eliza/pull/2703 -* @dev-holdstation made their first contribution in https://github.com/elizaOS/eliza/pull/2741 -* @alex1092 made their first contribution in https://github.com/elizaOS/eliza/pull/2736 -* @mj850 made their first contribution in https://github.com/elizaOS/eliza/pull/2720 -* @guspan-tanadi made their first contribution in https://github.com/elizaOS/eliza/pull/2724 -* @ajkraus04 made their first contribution in https://github.com/elizaOS/eliza/pull/2755 -* @krustevalexander made their first contribution in https://github.com/elizaOS/eliza/pull/2711 -* @iteyelmp made their first contribution in https://github.com/elizaOS/eliza/pull/2737 -* @ebaizel made their first contribution in https://github.com/elizaOS/eliza/pull/2769 -* @LouisVannobel made their first contribution in https://github.com/elizaOS/eliza/pull/2763 -* @pranav-singhal made their first contribution in https://github.com/elizaOS/eliza/pull/2766 -* @bharathbabu-moralis made their first contribution in https://github.com/elizaOS/eliza/pull/2764 -* @ccross2 made their first contribution in https://github.com/elizaOS/eliza/pull/2687 -* @LinuxIsCool made their first contribution in https://github.com/elizaOS/eliza/pull/2632 -* @Cooops made their first contribution in https://github.com/elizaOS/eliza/pull/2709 -* @tmarwen made their first contribution in https://github.com/elizaOS/eliza/pull/2728 -* @benliang99 made their first contribution in https://github.com/elizaOS/eliza/pull/2682 -* @Liao1 made their first contribution in https://github.com/elizaOS/eliza/pull/2638 -* @KanishkKhurana made their first contribution in https://github.com/elizaOS/eliza/pull/2631 -* @batudo made their first contribution in https://github.com/elizaOS/eliza/pull/2616 -* @jobyid made their first contribution in https://github.com/elizaOS/eliza/pull/1427 -* @AdventureSeeker987 made their first contribution in https://github.com/elizaOS/eliza/pull/2781 -* @brandon1525 made their first contribution in https://github.com/elizaOS/eliza/pull/2564 -* @zy-bc-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2431 -* @Alirun made their first contribution in https://github.com/elizaOS/eliza/pull/2725 -* @JhChoy made their first contribution in https://github.com/elizaOS/eliza/pull/2789 -* @juanc07 made their first contribution in https://github.com/elizaOS/eliza/pull/2782 -* @calintje made their first contribution in https://github.com/elizaOS/eliza/pull/2136 -* @elpulpo0 made their first contribution in https://github.com/elizaOS/eliza/pull/2810 -* @actuallyrizzn made their first contribution in https://github.com/elizaOS/eliza/pull/2812 -* @rubinovitz made their first contribution in https://github.com/elizaOS/eliza/pull/2821 -* @anirudhmakhana made their first contribution in https://github.com/elizaOS/eliza/pull/2799 -* @Nevermore-Ray made their first contribution in https://github.com/elizaOS/eliza/pull/2797 -* @humanagent made their first contribution in https://github.com/elizaOS/eliza/pull/2786 -* @AmriteshTrikon made their first contribution in https://github.com/elizaOS/eliza/pull/2653 -* @rrw-zilliqa made their first contribution in https://github.com/elizaOS/eliza/pull/2842 -* @tgaru made their first contribution in https://github.com/elizaOS/eliza/pull/2839 -* @fifahuihua made their first contribution in https://github.com/elizaOS/eliza/pull/2794 -* @mmarfinetz made their first contribution in https://github.com/elizaOS/eliza/pull/2784 -* @stopmalone made their first contribution in https://github.com/elizaOS/eliza/pull/1238 -* @viv-cheung made their first contribution in https://github.com/elizaOS/eliza/pull/2644 -* @maximevtush made their first contribution in https://github.com/elizaOS/eliza/pull/2903 -* @Pricstas made their first contribution in https://github.com/elizaOS/eliza/pull/2909 -* @michavie made their first contribution in https://github.com/elizaOS/eliza/pull/2932 -* @eric2hen made their first contribution in https://github.com/elizaOS/eliza/pull/2913 -* @wonseokjung made their first contribution in https://github.com/elizaOS/eliza/pull/2950 -* @derrix060 made their first contribution in https://github.com/elizaOS/eliza/pull/2975 -* @yaruno made their first contribution in https://github.com/elizaOS/eliza/pull/2987 -* @Dahka2321 made their first contribution in https://github.com/elizaOS/eliza/pull/2921 -* @futreall made their first contribution in https://github.com/elizaOS/eliza/pull/2986 -* @madschristensen99 made their first contribution in https://github.com/elizaOS/eliza/pull/2912 -* @YohanGH made their first contribution in https://github.com/elizaOS/eliza/pull/2964 -* @maxime made their first contribution in https://github.com/elizaOS/eliza/pull/3006 -* @Jesscha made their first contribution in https://github.com/elizaOS/eliza/pull/3018 -* @sky-coderay made their first contribution in https://github.com/elizaOS/eliza/pull/3041 -* @tobySolutions made their first contribution in https://github.com/elizaOS/eliza/pull/3048 -* @PhyByte made their first contribution in https://github.com/elizaOS/eliza/pull/3026 -* @EmanHerawy made their first contribution in https://github.com/elizaOS/eliza/pull/3081 -* @MichaelDeng03 made their first contribution in https://github.com/elizaOS/eliza/pull/3050 -* @akugone made their first contribution in https://github.com/elizaOS/eliza/pull/3118 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 +#### Technical Improvements +- Replaced AgentRuntime with interface to extend client capabilities (PR #2388) +- Implemented Turbo optimizations for build performance (PR #2503) +- Updated pnpm version in Docker build (PR #3158) +- Added various fixes for plugin compatibility and configuration ---- +#### Breaking Changes +- Plugin architecture now uses dynamic loading instead of static imports +- All plugins moved out of core codebase into separate packages +- Changed dependency structure for plugin initialization -## v0.1.8-alpha.1 (January 31, 2025) +#### Deprecated Features +- Static plugin imports are no longer supported +- Legacy verifiable inference concept removed (now plugin-based) -#### What's Changed +This version represents a significant step toward a more modular, extensible architecture while adding support for additional AI models and improving the knowledge processing capabilities. -* feats: Add 0G to the blockchain sector (diagram update) by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2204 -* fix(plugin-depin): sentientAI description by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/2668 - -**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.8+build.1...v0.1.8-alpha.1 +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 --- -## v0.1.8+build.1 (January 12, 2025) - -Minor update to [v0.1.8](https://github.com/elizaOS/eliza/releases/tag/v0.1.8) +## v0.25.6-alpha.1 (2025-02-06) -Fixes: -- docker image build -- actually bump version so npm will publish a v0.1.8 -- security: Implement file upload security (#1753) #1806 -- twitter-client: clean up mention deduplication #2185 -- postgres adapter migration extension creation which already exists at this point #2188 -- Missing LETZAI model #2187 +#### Summary +This alpha release introduces versioning changes (year.week format), enhances social media integration capabilities, adds new blockchain plugins, and fixes various issues across multiple plugins. The release focuses on improving media handling for messaging platforms and expanding blockchain functionality. -#### What's Changed +#### Major Features -* fix: release 0.1.8 fixes by @odilitime in https://github.com/elizaOS/eliza/pull/2184 -* docs: Add Persian README File by @ali-moha in https://github.com/elizaOS/eliza/pull/2182 -* fix: Missing LETZAI model by @daizhengxue in https://github.com/elizaOS/eliza/pull/2187 -* fix postgres adapter migration extension creation which already exists at this point by @web3gh in https://github.com/elizaOS/eliza/pull/2188 -* fix(client-twitter): clean up mention deduplication by @nhodges in https://github.com/elizaOS/eliza/pull/2185 -* feat(security): Implement file upload security (#1753) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1806 -* chore: Prep 0.1.8.build.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2193 -* chore: 0.1.8.build.1 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2194 +#### Social Media & Messaging +- Added image URL support for outbound tweets/messages (PR #3122) +- Added configuration toggle for Twitter post generation (PR #3219) +- New Spanish-speaking Trump sample character (PR #3119) +- Action suppression capability for Twitter, Discord, and Telegram (PRs #3286, #3284, #3285) -#### New Contributors +#### Blockchain Integrations +- TON Plugin: Added NFT collection, item creation, metadata change and transfer functionality (PR #3211) +- MultiversX Plugin: Added CREATE_POOL action (PR #3209) +- Added herotag support for MultiversX plugin (PR #3238) +- Coingecko advanced features for various pools by network (PR #3170) -
      -View New Contributors -* @ali-moha made their first contribution in https://github.com/elizaOS/eliza/pull/2182 -
      +#### New Plugins +- Added Edwin plugin (PR #3045) +- Added Desk Exchange plugin (PR #3096) +- Enhanced Quick-Intel plugin (PR #3208) -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 +#### Bug Fixes +- Fixed OpenAI and Vercel AI packages to resolve O1 errors (PR #3146) +- Resolved duplicate plugins issue (PR #3126) +- Updated provider-utils for better compatibility (PR #3189) +- Improved attribute extraction from raw text (PR #3190) +- Fixed "think" tag from Venice (PR #3203) +- Enhanced Slack attachments handling (PR #3194) +- Updated pnpm version in Docker build (PR #3158) +- Removed duplicated dependencies (PR #3215) +- Fixed DenyLoginSubtask functionality (PR #3278) +- Implemented RAG optimizations for context handling (PR #3248) +- Fixed Google API key handling (PR #3274) + +#### Developer Improvements +- Added test configurations for multiple plugins (CoinGecko, Cronos, Conflux) +- Fixed Docker and types issues (PR #3220) +- Improved OpenAI-like provider endpoint resolution (PR #3281) +- Enhanced JSON normalization process (PR #3301) +- Fixed various unit tests for parsing and models (PRs #3311, #3312) +- Added model configuration reading from character files (PR #3313) +- Set package publishing access to public (PR #3330) + +#### Documentation Updates +- Updated documentation for plugins (PR #3324) +- Fixed broken links in contributing guide (PR #3269) +- Added GitHub issues link to contribution guidelines (PR #3268) +- Fixed various typos and improved consistency (PRs #3111, #3270, #3271) + +This alpha release introduces the new versioning scheme that uses year.week format (25.6) and prepares for significant architecture changes planned for the stable release. + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 --- -## v0.1.8 (January 12, 2025) +## v0.1.9 (2025-02-01) + +#### Summary +This release significantly expands Eliza's client ecosystem, introduces numerous blockchain integrations, enhances AI model support, and improves platform stability. Major additions include Instagram, Telegram, and XMTP clients, Discord and Telegram autonomous agent enhancements, and support for multiple blockchain networks. + +#### Major Features + +#### New Clients & Communication +- Instagram client implementation (PR #1964) +- Telegram account client (PR #2839) +- XMTP client for decentralized messaging (PR #2786) +- Twitter media post capabilities (PR #2818) +- Discord autonomous agent enhancement (PR #2335) +- Telegram autonomous agent enhancement (PR #2338) +- Direct Client API with agent deletion functionality (PR #2267) + +#### AI & LLM Integrations +- NVIDIA inference support (PR #2512) +- Livepeer LLM provider integration (PR #2154) +- Amazon Bedrock as LLM provider (PR #2769) +- Added Birdeye plugin for market data (PR #1417) + +#### Blockchain Integrations +- Solana improvements: flawless transfers (PR #2340), Agent Kit features (PR #2458) +- EVM ecosystem: OZ governance (PR #1710), ETH storage (PR #2737), cross-chain swaps via Squid Router (PR #1482) +- Added support for multiple chains: Gravity (PR #2228), Cronos (PR #2585), BNB (PR #2278) +- Sui updates: Aggregator swap for tokens (PR #3012), secp256k1/secp256r1 algorithm support (PR #2476) +- Cosmos: IBC transfer (PR #2358) and IBC swap functionality (PR #2554) +- Injective plugin implementation (PR #1764) +- Added Mina blockchain support (PR #2702) +- CoinGecko price per address functionality (PR #2262) +- Dex Screener plugin with price actions (PR #1865) and trending features (PR #2325) + +#### Critical Bug Fixes +- DeepSeek API key configuration issue (PR #2186) +- Windows path resolution in pnpm build client (PR #2240) +- IME multiple messages on Enter issue (PR #2274) +- Fixed key derivation and remote attestation (PR #2303) +- Prevented app crash with undefined REMOTE_CHARACTER_URLS (PR #2384) +- Resolved AI-SDK provider version conflicts (PR #2714) +- Fixed Ethers/viem issue in Mind Network plugin (PR #2783) +- Message ID collision in Telegram Client (PR #3053) +- Fixed image vision model provider application (PR #3056) +- Improved unsupported image provider handling (PR #3057) +- Resolved JSON parsing error with array values (PR #3113) + +#### Client Improvements +- Tweet ID parameter correction (PR #2430) +- Twitter bot replies metadata handling (PR #2712) +- Home timeline name parsing fix (PR #2789) +- Topics formatting bug resolution (PR #2951) +- Auto-scrolling improvements (PR #3115) +- Action tweet reply functionality (PR #2966) + +#### Infrastructure Enhancements +- Docker build command optimization (PR #3110) +- Service startup optimization (PR #3007) +- Sqlite error with zero-length vectors (PR #1984) +- RAG knowledge handling with Postgres (PR #2153) +- OpenAI embedding issue resolution (PR #3003) + +This release represents a major expansion of Eliza's capabilities across multiple platforms and blockchain networks, with significant improvements to agent autonomy and stability. + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 -#### What's Changed +--- -#### Features - -- TTS (Text2Speech) with over 15 languages support! #2110 -- Image descriptions into client-twitter #1775 -- Add Heurist embedding model #2093 -- Add Cloudflare AI Gateway support #821 -- Add Mistral AI as new model provider #2137 -- Add DeepSeek AI provider support to Eliza #2067 -- Support TEE logging and support running eliza in Intel SGX #1470 -- Pro API support, trending coins API #2068 -- Add Irys plugin #1708 -- Add support autonome platform #2121 -- Add Akash Network plugin with autonomous deployment capabilities #2111 -- Add Lens Network Plugin #2101 -- Add plugin-hyperliquid #2141 -- Add asterai plugin #2045 -- Add massa-plugin #1582 -- Add Quai integration #2083 -- Primus zkTLS plugin to fully verify agent activities #2086 -- Solana transaction more lenient (wait for confirmed instead of finalized) #2053 - -#### Fixes - -- Fix plugin loading from a character.json file #2095 -- prevent repeated login by reusing client-twitter session #2129 -- fix the chat stuck in infinite loop #1755 -- fix client-discord join voice action #2160 -- replace invalid toghether ai medium model #2173 -- insert missing langdetect on plugin-tts package.json #2175 -- Apply model settings for images and remove duplicate files #2118 -- clientConfig.telegram.isPartOfTeam misstype #2103 -- fix starknet plugin by replacing walletProvider with portfolio provider #2029 -- correct SUI/USD price calculation #2150 -- deepseek support in getTokenForProvider #2179 -- Supabase updates #2100 -- Koloxarto/fix ragknowledge for postgres #2153 -- case-sensitive column reference in knowledge table CHECK constraint #2058 -- syntax issue on autonome plugin and lock file update #2131 -- lens export name and duplicate imports #2142 -- Revert "feat: Proof of Pizza - Agentic Dominos Ordering" #2075 - -Complete changelog: -* fix: add default export to plugin-image-generation by @jonathanmv in https://github.com/elizaOS/eliza/pull/1831 -* Update .env.example by @bitcoinbender in https://github.com/elizaOS/eliza/pull/1829 -* chore: update develop from main by @shakkernerd in https://github.com/elizaOS/eliza/pull/1823 -* feat(models): update Google model configurations by @gmh5225 in https://github.com/elizaOS/eliza/pull/1815 -* improvement: replacing console.log with elizaLogger by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1834 -* Update README_KOR.md by @web3isthefuture in https://github.com/elizaOS/eliza/pull/1835 -* refactor: typo in readme by @MagikHolder in https://github.com/elizaOS/eliza/pull/1832 -* Fix faq link on contributing.md by @manotoor in https://github.com/elizaOS/eliza/pull/1847 -* Create README.md by @RobertSloan22 in https://github.com/elizaOS/eliza/pull/1787 -* Update c3po.character.json by @macfly-base in https://github.com/elizaOS/eliza/pull/1827 -* Feat/genlayer plugin by @AgustinRamiroDiaz in https://github.com/elizaOS/eliza/pull/975 -* fix: broken ci docs missed frozen pnpm file out-of-sync by @marcellodesales in https://github.com/elizaOS/eliza/pull/1798 -* chore: update bootstrap plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1836 -* correct faq docs link in both contribution md files by @MacsDickinson in https://github.com/elizaOS/eliza/pull/1839 -* Feat: add infera as an inference provide by @inferanetwork in https://github.com/elizaOS/eliza/pull/1860 -* feat: add avail plugin by @robin-rrt in https://github.com/elizaOS/eliza/pull/1241 -* feat: Add Stargaze plugin by @daniel-farina in https://github.com/elizaOS/eliza/pull/1861 -* feat: add cosmos plugin by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1826 -* feat: Implement a plugin that can retrieve Marlin TEE remote attestations by @roshanrags in https://github.com/elizaOS/eliza/pull/935 -* docs: Add DAO donation ask & dev discord by @odilitime in https://github.com/elizaOS/eliza/pull/1867 -* fix: Fix postinstall script by @odilitime in https://github.com/elizaOS/eliza/pull/1872 -* docs: add Romanian README translation by @pedronovikovborges in https://github.com/elizaOS/eliza/pull/1770 -* test: adding more tests for goals,memory and provider. Fixing generation.test.ts by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1840 -* fix: remove twitter profile caching (#1638) by @augchan42 in https://github.com/elizaOS/eliza/pull/1782 -* feat: Add devcontainer by @jazzvaz in https://github.com/elizaOS/eliza/pull/1807 -* fix(solana token provider): await cached data by @bentatum in https://github.com/elizaOS/eliza/pull/1828 -* chore: support more debians distros by @odilitime in https://github.com/elizaOS/eliza/pull/1875 -* feat: refactor model config by @tcm390 in https://github.com/elizaOS/eliza/pull/1805 -* feat: added new plugin - zktls - reclaim by @Gajesh2007 in https://github.com/elizaOS/eliza/pull/1558 -* Feat: Support wildcard in TWITTER_TARGET_USERS 1883 by @augchan42 in https://github.com/elizaOS/eliza/pull/1884 -* feat: add remote attestation action by @HashWarlock in https://github.com/elizaOS/eliza/pull/1885 -* feat: Use recommended settings in jupiter swap by @Arrowana in https://github.com/elizaOS/eliza/pull/1882 -* Fixed broken API Documentation URL by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1881 -* feat: add OpenWeather plugin by @kylebuildsstuff in https://github.com/elizaOS/eliza/pull/1880 -* test: adding test setup for telegram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1879 -* chore(core): enable strict null checks by @bentatum in https://github.com/elizaOS/eliza/pull/1878 -* fix: remove case sensitive path by @zhourunlai in https://github.com/elizaOS/eliza/pull/1892 -* feat: hyperfy support by @odilitime in https://github.com/elizaOS/eliza/pull/1896 -* Add Dutch (Nederlands) translation by @xzrfax in https://github.com/elizaOS/eliza/pull/1909 -* fix: twitter result obj undefined properties by @zhourunlai in https://github.com/elizaOS/eliza/pull/1905 -* chore: fix integrations and smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1893 -* fix: add callback to the evaluators for client-telegram by @RatakondalaArun in https://github.com/elizaOS/eliza/pull/1908 -* chore(client-discord): fix SUMMARIZE prompt by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/1916 -* fix(core): check evaluators for null by @bentatum in https://github.com/elizaOS/eliza/pull/1918 -* fix: resolved a bunch of type related errors and ensure project compiles by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1917 -* feats: diagram update by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1907 -* feat: Optimize Agent Action Processing by Prioritizing Timelines and Limiting Actions Per Cycle by @tcm390 in https://github.com/elizaOS/eliza/pull/1824 -* Feature/add binance plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1812 -* Fix typo Update CHANGELOG.md by @petryshkaCODE in https://github.com/elizaOS/eliza/pull/1922 -* feat: add GoPlus Security Plugin to enhance security for agent by @0xbeekeeper in https://github.com/elizaOS/eliza/pull/1898 -* API route update by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1923 -* fix: handle empty input text to avoid memory content empty error by @zhourunlai in https://github.com/elizaOS/eliza/pull/1919 -* test: adding tests for discord-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1927 -* docs: Add "What Did You Get Done This Week? #8" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1894 -* fix: Limit the number of timelines fetched by @tcm390 in https://github.com/elizaOS/eliza/pull/1931 -* fix: rm unused variable X_SERVER_URL by @proteanx in https://github.com/elizaOS/eliza/pull/1930 -* feat: Make templates in composeContext dynamic by @jonathangus in https://github.com/elizaOS/eliza/pull/1467 -* docs: it is processAction instead of triggerAction by @threewebcode in https://github.com/elizaOS/eliza/pull/1937 -* feat: solana token deploy using solana agent kit by @renlulu in https://github.com/elizaOS/eliza/pull/1373 -* chore(plugin-conflux): remove unused imports by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1941 -* feat(plugin-cronoszkevm): rm not used imports by @sinecose in https://github.com/elizaOS/eliza/pull/1744 -* feat: support for eternalai provider can make request with chain_id extra data in body by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1938 -* chore: more specific rpc urls by @0xRider in https://github.com/elizaOS/eliza/pull/1945 -* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1948 -* chore: add embedding tests by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1944 -* feat: new plugin Arthera Chain by @elpiarthera in https://github.com/elizaOS/eliza/pull/1818 -* fix: fixed error in C3PO and improved error handling feedback by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1951 -* feat: add pglite db adapter by @KONFeature in https://github.com/elizaOS/eliza/pull/1810 -* feat: Add fraxtal chain to evm by @kesar in https://github.com/elizaOS/eliza/pull/1954 -* feat: add coin price plugin (CoinMarketCap, CoinGecko & CoinCap) by @proteanx in https://github.com/elizaOS/eliza/pull/1808 -* fix: abstract readme by @cygaar in https://github.com/elizaOS/eliza/pull/1963 -* feat: improve twitter paragraph splitting if containing url by @darwintree in https://github.com/elizaOS/eliza/pull/1947 -* test: adding tests for twitter-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1959 -* test: adding tests for twitter plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1976 -* chore: Cleaner logs on agent startup by @velvet-shark in https://github.com/elizaOS/eliza/pull/1973 -* feat: anyone plugin to privatise network requests by @Saundr21 in https://github.com/elizaOS/eliza/pull/1960 -* fix: SQLITE ERROR, zero-lenght vectors not supported by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1984 -* fix: many fixes to the Telegram templates by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1982 -* test: changing test structure for core package. Fixing failling outdated tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1989 -* chore: Enable all EVM chains by default by @Minco-Yuga in https://github.com/elizaOS/eliza/pull/1981 -* chore: add debug logging for context by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1980 -* fix: Fix db init race condition affecting builds by @0x-jj in https://github.com/elizaOS/eliza/pull/1968 -* feat: add new plugin - spheron by @rekpero in https://github.com/elizaOS/eliza/pull/1966 -* feat: Add Allora plugin by @conache in https://github.com/elizaOS/eliza/pull/1955 -* fix: Added Local Embedding Manager to reuse Local embed model - Fixes High Ram Issues by @mbcse in https://github.com/elizaOS/eliza/pull/1950 -* feat: obsidian integration plugin by @sekmet in https://github.com/elizaOS/eliza/pull/1943 -* add thirdweb plugin by @iankm in https://github.com/elizaOS/eliza/pull/1418 -* feat: improvements for plugin-cosmos by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1934 -* fix: build on plugin spheron by @shakkernerd in https://github.com/elizaOS/eliza/pull/1995 -* fix: client twitter dryrun by @tcm390 in https://github.com/elizaOS/eliza/pull/1997 -* fix: resolve translation type issue by @odilitime in https://github.com/elizaOS/eliza/pull/1996 -* fix: fix .env.sample defaults by @odilitime in https://github.com/elizaOS/eliza/pull/1999 -* chore: update website url in lore.md by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1998 -* Add support for Movement Network by @Rahat-ch in https://github.com/elizaOS/eliza/pull/1621 -* docs: Optimizes Technical Docs for LLMs & Vectorization by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1993 -* feat: Separate Knowledge system + Multi-Agent RAG Optimization by @azep-ninja in https://github.com/elizaOS/eliza/pull/1620 -* feat: implement getKnowledge, searchKnowledge, createKnowledge, removeKnowledge and clearKnowledge methods by @shakkernerd in https://github.com/elizaOS/eliza/pull/2005 -* chore: Make `generateNewTweet` public by @hazelnutcloud in https://github.com/elizaOS/eliza/pull/1902 -* fix: remove legacy variables (XAI_MODEL, XAI_API_KEY & IMAGE_GEN) by @proteanx in https://github.com/elizaOS/eliza/pull/2001 -* Update plugins.md -- Allora README Fix by @kush-alloralabs in https://github.com/elizaOS/eliza/pull/2003 -* update: Readme and Comments by @rferrari in https://github.com/elizaOS/eliza/pull/2006 -* fix: Auto Client bug by @HashWarlock in https://github.com/elizaOS/eliza/pull/2007 -* chore(plugin-solana): replace console with elizaLogger by @sinecose in https://github.com/elizaOS/eliza/pull/1888 -* feat: make the birdeye api req optional by @kamalbuilds in https://github.com/elizaOS/eliza/pull/1895 -* feat: init DePIN plugin by @nicky-ru in https://github.com/elizaOS/eliza/pull/1874 -* fix: packages/adapter-postgres/schema.sql isShared needs double quote by @koofree in https://github.com/elizaOS/eliza/pull/2008 -* feat: Add approval mechanism for Twitter posts via Discord bot by @mbcse in https://github.com/elizaOS/eliza/pull/1876 -* feat: Giphy plugin - Add animated gif to conversations by @daniel-farina in https://github.com/elizaOS/eliza/pull/1873 -* Opacity Verifiable Interference zkTLS Plugin by @RonTuretzky in https://github.com/elizaOS/eliza/pull/1673 -* fix: remove near-solana slippage env conflict by @wtfsayo in https://github.com/elizaOS/eliza/pull/2016 -* feat: Update the Galadriel LLM integration to reflect their product updates by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2011 -* chore(ci): add pnpm lockfile consistency check workflow by @jonathanykh in https://github.com/elizaOS/eliza/pull/2015 -* feat: add telegram api root config in env by @dto-simba in https://github.com/elizaOS/eliza/pull/2014 -* feat: new plugin LetzAI by @mitchoz in https://github.com/elizaOS/eliza/pull/1868 -* fix: letzAi build issues by @wtfsayo in https://github.com/elizaOS/eliza/pull/2021 -* feat: plugin new RabbiTrader by @Freytes in https://github.com/elizaOS/eliza/pull/1785 -* Feature/add coinmarketcap plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1773 -* fix: remove defillama plugin & improve rabbi trader by @wtfsayo in https://github.com/elizaOS/eliza/pull/2027 -* Update README_RU.md by @WAGMIBRO in https://github.com/elizaOS/eliza/pull/2026 -* Update .env.example by @antman1p in https://github.com/elizaOS/eliza/pull/2031 -* fix: include schema.sql and seed.sql in package files by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2030 -* fix: 🚚 📚 move plugin-web-search readme to root dir by @marcellodesales in https://github.com/elizaOS/eliza/pull/1992 -* feat: full overhaul of client by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2038 -* fix: update slack client readme manifest by @AnonJon in https://github.com/elizaOS/eliza/pull/2044 -* fix: Update Key Derive in TEE by @HashWarlock in https://github.com/elizaOS/eliza/pull/2039 -* Revert "fix: Update Key Derive in TEE" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2049 -* fix: Categorize & Format .env.example by @proteanx in https://github.com/elizaOS/eliza/pull/2052 -* fix: update regex to allow Unicode characters in message processing by @taofengno1 in https://github.com/elizaOS/eliza/pull/2048 -* Fix: more specific rpc urls by @zhourunlai in https://github.com/elizaOS/eliza/pull/2018 -* feat: Proof of Pizza - Agentic Dominos Ordering by @bayological in https://github.com/elizaOS/eliza/pull/2042 -* Feature/plugin coingecko by @Lukapetro in https://github.com/elizaOS/eliza/pull/1761 -* feat: improve zkstack based plugins by @aalimsahin in https://github.com/elizaOS/eliza/pull/1821 -* feat: added nineteen.ai llm & image support by @tripathiarpan20 in https://github.com/elizaOS/eliza/pull/2022 -* feat: plugin-nft-generation support evm chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1763 -* fix: Bugfix in LetzAI Plugin -> missing named export and Plugin-type by @DanielWahl in https://github.com/elizaOS/eliza/pull/2062 -* Galadriel docs and .env.example update by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2061 -* fix: PGVector_embedding_validation (#1687) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1750 -* fix: fix multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2017 -* revert: #2048 by @wtfsayo in https://github.com/elizaOS/eliza/pull/2059 -* feat: support TEE logging and support running eliza in Intel SGX by @ShuochengWang in https://github.com/elizaOS/eliza/pull/1470 -* Update README_CN to match latest English README by @bxngxl in https://github.com/elizaOS/eliza/pull/2069 -* Fix: case-sensitive column reference in knowledge table CHECK constraint by @antman1p in https://github.com/elizaOS/eliza/pull/2058 -* docs: Update README_KOR.md by @YANGSEOKWOO in https://github.com/elizaOS/eliza/pull/2074 -* fix: Revert "feat: Proof of Pizza - Agentic Dominos Ordering" by @tcm390 in https://github.com/elizaOS/eliza/pull/2075 -* fix: rm unused imports by @mameikagou in https://github.com/elizaOS/eliza/pull/2112 -* chore: revert #1808 + add missing import for coin gecko plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2106 -* Add name and description to SttTtsPlugin by @mameikagou in https://github.com/elizaOS/eliza/pull/2117 -* fix: Apply model settings for images and remove duplicate files by @tcm390 in https://github.com/elizaOS/eliza/pull/2118 -* feat: pro api support, trending coins api by @Lukapetro in https://github.com/elizaOS/eliza/pull/2068 -* Add gemini to image vision by @web3gh in https://github.com/elizaOS/eliza/pull/2099 -* feat: Add Irys plugin by @Hugo-SEQUIER in https://github.com/elizaOS/eliza/pull/1708 -* fix: Fix plugin loading from a character.json file by @treppers in https://github.com/elizaOS/eliza/pull/2095 -* feat: add Heurist embedding model by @tsubasakong in https://github.com/elizaOS/eliza/pull/2093 -* fix: clientConfig.telegram.isPartOfTeam misstype by @rferrari in https://github.com/elizaOS/eliza/pull/2103 -* docs: Add Verified Inference docs by @maciejwitowski in https://github.com/elizaOS/eliza/pull/2125 -* fix: Update clients.md to fix package name by @prasadabhishek in https://github.com/elizaOS/eliza/pull/2091 -* feat: support autonome platform by @autonome-ai in https://github.com/elizaOS/eliza/pull/2121 -* fix: syntax issue on autonome plugin and lock file update by @wtfsayo in https://github.com/elizaOS/eliza/pull/2131 -* test: Integration Tests Enhancement and Coinbase Commerce Integration by @pgoos in https://github.com/elizaOS/eliza/pull/1767 -* fix: prevent repeated login by reusing client-twitter session by @tcm390 in https://github.com/elizaOS/eliza/pull/2129 -* fix: update lockfile and fix lint findings by @odilitime in https://github.com/elizaOS/eliza/pull/2128 -* feat: Add Akash Network plugin with autonomous deployment capabilities by @AIFlowML in https://github.com/elizaOS/eliza/pull/2111 -* feat: Lens Network Plugin by @pranjallyad in https://github.com/elizaOS/eliza/pull/2101 -* Docs improvements by @tudorpintea999 in https://github.com/elizaOS/eliza/pull/2138 -* fix: lens export name and duplicate imports by @tcm390 in https://github.com/elizaOS/eliza/pull/2142 -* Fix: Supabase updates by @antman1p in https://github.com/elizaOS/eliza/pull/2100 -* refactor: Optimize memory fetching by moving sorting and slicing to DB (PR #1531 remake) by @odilitime in https://github.com/elizaOS/eliza/pull/2135 -* feat: Add Cloudflare AI Gateway support by @w3-bounty in https://github.com/elizaOS/eliza/pull/821 -* docs: add readme portuguese version in docs by @rRogick in https://github.com/elizaOS/eliza/pull/2088 -* fix: eslint-fix-full-test-again by @AIFlowML in https://github.com/elizaOS/eliza/pull/2143 -* Fix: fix starknet plugin by replacing walletProvider with portfolio provider by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2029 -* feat: Image descriptions into interaction.ts by @denizekiz in https://github.com/elizaOS/eliza/pull/1775 -* feat: plugin-hyperliquid by @earlyvibz in https://github.com/elizaOS/eliza/pull/2141 -* feat: Add Mistral AI as new model provider by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2137 -* feat: Implement asterai plugin by @rellfy in https://github.com/elizaOS/eliza/pull/2045 -* feat: add massa-plugin by @peterjah in https://github.com/elizaOS/eliza/pull/1582 -* feat: add Quai integration by @0xalank in https://github.com/elizaOS/eliza/pull/2083 -* feat: Add DeepSeek AI provider support to Eliza by @daizhengxue in https://github.com/elizaOS/eliza/pull/2067 -* feat: Primus zkTLS plugin to fully verify agent activities by @xiangxiecrypto in https://github.com/elizaOS/eliza/pull/2086 -* fix: fix client-discord join voice action by @tcm390 in https://github.com/elizaOS/eliza/pull/2160 -* add github to client enumerations by @AnonJon in https://github.com/elizaOS/eliza/pull/2157 -* inheritance of character from parent using extends key by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/2159 -* fix: correct SUI/USD price calculation by @ChainRex in https://github.com/elizaOS/eliza/pull/2150 -* feat: solana transaction more lenient by @zhourunlai in https://github.com/elizaOS/eliza/pull/2053 -* chore: Add UUID tests and fix version 5 bits by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1362 -* Update git command for checking latest release by @velvet-shark in https://github.com/elizaOS/eliza/pull/1705 -* chore: add conditionals for supabase to agent directory by @antman1p in https://github.com/elizaOS/eliza/pull/2032 -* chore: bump develop lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/2166 -* feat: TTS(Text2Speech) with over 15 languages support! by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2110 -* test: moving uuid.tests to correct __tests__ directory by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2168 -* tests: coinbase plugin - adding tests for coinbase plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2170 -* Fix: replace invalid toghether ai medium model by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2173 -* fix: insert missing langdetect on plugin-tts package.json by @rferrari in https://github.com/elizaOS/eliza/pull/2175 -* fix(client-twitter): add mention deduplication utility by @nhodges in https://github.com/elizaOS/eliza/pull/2178 -* feat: 🎈 perf(vscode): Set file nesting for md and DockerFile by @AAAkater in https://github.com/elizaOS/eliza/pull/2177 -* fix: deepseek support in getTokenForProvider by @Riroaki in https://github.com/elizaOS/eliza/pull/2179 -* fix: remove problematic redundant uuid conversion and add api input param validations to api server by @jonathanykh in https://github.com/elizaOS/eliza/pull/2051 -* fix: fix the chat stuck in infinite loop by @zoe27 in https://github.com/elizaOS/eliza/pull/1755 -* fix: Koloxarto/fix ragknowledge for postgres by @web3gh in https://github.com/elizaOS/eliza/pull/2153 -* chore: lint and fix pass on develop by @odilitime in https://github.com/elizaOS/eliza/pull/2180 -* chore: Prep v0.1.8 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2171 - -#### New Contributors - -
      -View New Contributors -* @jonathanmv made their first contribution in https://github.com/elizaOS/eliza/pull/1831 -* @bitcoinbender made their first contribution in https://github.com/elizaOS/eliza/pull/1829 -* @web3isthefuture made their first contribution in https://github.com/elizaOS/eliza/pull/1835 -* @MagikHolder made their first contribution in https://github.com/elizaOS/eliza/pull/1832 -* @manotoor made their first contribution in https://github.com/elizaOS/eliza/pull/1847 -* @RobertSloan22 made their first contribution in https://github.com/elizaOS/eliza/pull/1787 -* @macfly-base made their first contribution in https://github.com/elizaOS/eliza/pull/1827 -* @AgustinRamiroDiaz made their first contribution in https://github.com/elizaOS/eliza/pull/975 -* @MacsDickinson made their first contribution in https://github.com/elizaOS/eliza/pull/1839 -* @inferanetwork made their first contribution in https://github.com/elizaOS/eliza/pull/1860 -* @robin-rrt made their first contribution in https://github.com/elizaOS/eliza/pull/1241 -* @daniel-farina made their first contribution in https://github.com/elizaOS/eliza/pull/1861 -* @mgacek-blockydevs made their first contribution in https://github.com/elizaOS/eliza/pull/1826 -* @roshanrags made their first contribution in https://github.com/elizaOS/eliza/pull/935 -* @pedronovikovborges made their first contribution in https://github.com/elizaOS/eliza/pull/1770 -* @jazzvaz made their first contribution in https://github.com/elizaOS/eliza/pull/1807 -* @bentatum made their first contribution in https://github.com/elizaOS/eliza/pull/1828 -* @Gajesh2007 made their first contribution in https://github.com/elizaOS/eliza/pull/1558 -* @Arrowana made their first contribution in https://github.com/elizaOS/eliza/pull/1882 -* @JoeyKhd made their first contribution in https://github.com/elizaOS/eliza/pull/1881 -* @kylebuildsstuff made their first contribution in https://github.com/elizaOS/eliza/pull/1880 -* @xzrfax made their first contribution in https://github.com/elizaOS/eliza/pull/1909 -* @RatakondalaArun made their first contribution in https://github.com/elizaOS/eliza/pull/1908 -* @bodhi-crypo made their first contribution in https://github.com/elizaOS/eliza/pull/1916 -* @petryshkaCODE made their first contribution in https://github.com/elizaOS/eliza/pull/1922 -* @0xbeekeeper made their first contribution in https://github.com/elizaOS/eliza/pull/1898 -* @threewebcode made their first contribution in https://github.com/elizaOS/eliza/pull/1937 -* @shlokkhemani made their first contribution in https://github.com/elizaOS/eliza/pull/1944 -* @elpiarthera made their first contribution in https://github.com/elizaOS/eliza/pull/1818 -* @KONFeature made their first contribution in https://github.com/elizaOS/eliza/pull/1810 -* @kesar made their first contribution in https://github.com/elizaOS/eliza/pull/1954 -* @velvet-shark made their first contribution in https://github.com/elizaOS/eliza/pull/1973 -* @Saundr21 made their first contribution in https://github.com/elizaOS/eliza/pull/1960 -* @Laurentiu-Andronache made their first contribution in https://github.com/elizaOS/eliza/pull/1982 -* @Minco-Yuga made their first contribution in https://github.com/elizaOS/eliza/pull/1981 -* @0x-jj made their first contribution in https://github.com/elizaOS/eliza/pull/1968 -* @rekpero made their first contribution in https://github.com/elizaOS/eliza/pull/1966 -* @conache made their first contribution in https://github.com/elizaOS/eliza/pull/1955 -* @mbcse made their first contribution in https://github.com/elizaOS/eliza/pull/1950 -* @sekmet made their first contribution in https://github.com/elizaOS/eliza/pull/1943 -* @iankm made their first contribution in https://github.com/elizaOS/eliza/pull/1418 -* @Rahat-ch made their first contribution in https://github.com/elizaOS/eliza/pull/1621 -* @hazelnutcloud made their first contribution in https://github.com/elizaOS/eliza/pull/1902 -* @kush-alloralabs made their first contribution in https://github.com/elizaOS/eliza/pull/2003 -* @rferrari made their first contribution in https://github.com/elizaOS/eliza/pull/2006 -* @kamalbuilds made their first contribution in https://github.com/elizaOS/eliza/pull/1895 -* @koofree made their first contribution in https://github.com/elizaOS/eliza/pull/2008 -* @RonTuretzky made their first contribution in https://github.com/elizaOS/eliza/pull/1673 -* @wtfsayo made their first contribution in https://github.com/elizaOS/eliza/pull/2016 -* @kristjanpeterson1 made their first contribution in https://github.com/elizaOS/eliza/pull/2011 -* @jonathanykh made their first contribution in https://github.com/elizaOS/eliza/pull/2015 -* @dto-simba made their first contribution in https://github.com/elizaOS/eliza/pull/2014 -* @mitchoz made their first contribution in https://github.com/elizaOS/eliza/pull/1868 -* @WAGMIBRO made their first contribution in https://github.com/elizaOS/eliza/pull/2026 -* @antman1p made their first contribution in https://github.com/elizaOS/eliza/pull/2031 -* @brauliolomeli made their first contribution in https://github.com/elizaOS/eliza/pull/2030 -* @AnonJon made their first contribution in https://github.com/elizaOS/eliza/pull/2044 -* @taofengno1 made their first contribution in https://github.com/elizaOS/eliza/pull/2048 -* @bayological made their first contribution in https://github.com/elizaOS/eliza/pull/2042 -* @tripathiarpan20 made their first contribution in https://github.com/elizaOS/eliza/pull/2022 -* @DanielWahl made their first contribution in https://github.com/elizaOS/eliza/pull/2062 -* @ShuochengWang made their first contribution in https://github.com/elizaOS/eliza/pull/1470 -* @bxngxl made their first contribution in https://github.com/elizaOS/eliza/pull/2069 -* @YANGSEOKWOO made their first contribution in https://github.com/elizaOS/eliza/pull/2074 -* @mameikagou made their first contribution in https://github.com/elizaOS/eliza/pull/2112 -* @web3gh made their first contribution in https://github.com/elizaOS/eliza/pull/2099 -* @Hugo-SEQUIER made their first contribution in https://github.com/elizaOS/eliza/pull/1708 -* @maciejwitowski made their first contribution in https://github.com/elizaOS/eliza/pull/2125 -* @prasadabhishek made their first contribution in https://github.com/elizaOS/eliza/pull/2091 -* @autonome-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2121 -* @pranjallyad made their first contribution in https://github.com/elizaOS/eliza/pull/2101 -* @tudorpintea999 made their first contribution in https://github.com/elizaOS/eliza/pull/2138 -* @w3-bounty made their first contribution in https://github.com/elizaOS/eliza/pull/821 -* @rRogick made their first contribution in https://github.com/elizaOS/eliza/pull/2088 -* @Jonatan-Chaverri made their first contribution in https://github.com/elizaOS/eliza/pull/2029 -* @earlyvibz made their first contribution in https://github.com/elizaOS/eliza/pull/2141 -* @rellfy made their first contribution in https://github.com/elizaOS/eliza/pull/2045 -* @peterjah made their first contribution in https://github.com/elizaOS/eliza/pull/1582 -* @0xalank made their first contribution in https://github.com/elizaOS/eliza/pull/2083 -* @xiangxiecrypto made their first contribution in https://github.com/elizaOS/eliza/pull/2086 -* @ChainRex made their first contribution in https://github.com/elizaOS/eliza/pull/2150 -* @nhodges made their first contribution in https://github.com/elizaOS/eliza/pull/2178 -* @AAAkater made their first contribution in https://github.com/elizaOS/eliza/pull/2177 -* @Riroaki made their first contribution in https://github.com/elizaOS/eliza/pull/2179 -* @zoe27 made their first contribution in https://github.com/elizaOS/eliza/pull/1755 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 +## v0.1.8+build.1 (2025-01-12) ---- +#### Summary +This is a minor update to v0.1.8 focusing on critical fixes for security, Docker builds, and specific module issues. It addresses file upload security, PostgreSQL migration problems, and Twitter client functionality. -## v0.1.7 (January 04, 2025) +#### Key Fixes +- Fixed Docker image build process +- Updated version numbering for proper npm publication as v0.1.8 +- Implemented security improvements for file uploads (PR #1806) +- Fixed Twitter client mention deduplication (PR #2185) +- Resolved PostgreSQL adapter migration extension creation issue (PR #2188) +- Added missing LETZAI model support (PR #2187) -#### What's Changed +#### Documentation +- Added Persian README file (PR #2182) -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 -* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 -* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 -* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 -* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 -* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 -* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 -* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 -* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 -* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 -* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 -* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 -* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 -* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 -* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 -* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 -* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 -* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 -* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 -* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 -* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 -* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 -* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 -* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 -* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 -* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 -* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 -* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 -* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 -* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 -* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 -* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 -* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 -* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 -* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 -* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 -* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 -* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 -* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 -* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 -* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 -* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 -* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 -* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 -* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 -* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 -* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 -* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 -* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 -* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 -* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 -* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 -* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 -* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 -* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 -* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 -* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 -* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 -* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 -* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 -* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 -* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 -* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 -* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 -* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 -* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 -* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 -* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 -* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 -* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 -* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 -* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 -* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 -* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 -* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 -* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 -* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 -* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 -* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 -* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 -* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 -* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 -* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 -* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 -* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 -* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 -* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 -* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 -* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 -* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 -* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 -* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 -* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 -* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 -* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 -* feat: add autoscroll chat client by @swizzmagik in https://github.com/elizaOS/eliza/pull/1538 -* docs: Polish readme by @yanushevitz in https://github.com/elizaOS/eliza/pull/1537 -* Update README_CN - Model Configuration by @RedHorse823 in https://github.com/elizaOS/eliza/pull/1535 -* docs: fix grammar/typos in README by @SK1989sL in https://github.com/elizaOS/eliza/pull/1534 -* Fix: make twitter engagement criteria in prompt more focused on relevance to topics/interests/character by @e-fu in https://github.com/elizaOS/eliza/pull/1533 -* feat: improve stale pr/issue messages by @monilpat in https://github.com/elizaOS/eliza/pull/1540 -* fix: twitter usernames can start with numbers by @odilitime in https://github.com/elizaOS/eliza/pull/1541 -* Fix jsdoc automation build issue & parametrize PR branch target by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1547 -* fix: Telegram Bad Request: can't parse entities by @azep-ninja in https://github.com/elizaOS/eliza/pull/1546 -* Chore: Refactor Imports. Improve PR Template by @mgunnin in https://github.com/elizaOS/eliza/pull/1545 -* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1549 -* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1548 -* feat: add theme toggle functionality with dark and light mode support by @zkfriendly in https://github.com/elizaOS/eliza/pull/1555 -* docs: Add "What Did You Get Done This Week? #7" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1559 -* feat: (example) script to show how to add system prompt and templates to eliza with character file by @HashWarlock in https://github.com/elizaOS/eliza/pull/1554 -* feat: parse files through prettier by @shakkernerd in https://github.com/elizaOS/eliza/pull/1573 -* fix: init 768 dimension in database for gaianet by @L-jasmine in https://github.com/elizaOS/eliza/pull/1572 -* docs: overview and preview of technical report by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1574 -* feat: add TEE support for plugin-env by @samuveth in https://github.com/elizaOS/eliza/pull/1571 -* Update agents.md - minor update by @yorkerhodes3 in https://github.com/elizaOS/eliza/pull/1579 -* refactor(plugin-conflux): output detailed invalid content by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1602 -* fix: tweak transfer template of plugin-evm by @zkvm in https://github.com/elizaOS/eliza/pull/1604 -* feat: add experimental telemetry model option by @zhourunlai in https://github.com/elizaOS/eliza/pull/1603 -* docs: README.md files for plugins by @ileana-pr in https://github.com/elizaOS/eliza/pull/1601 -* feat: use tavily sdk by @zhourunlai in https://github.com/elizaOS/eliza/pull/1599 -* docs: add readme spanish version in docs by @salazarsebas in https://github.com/elizaOS/eliza/pull/1594 -* feat: add docs for image generation plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1591 -* docs: fix Contributing Guide by @0xFloyd in https://github.com/elizaOS/eliza/pull/1589 -* feat: update volcengine model by @zhourunlai in https://github.com/elizaOS/eliza/pull/1586 -* fix: update plugin-solana workspace dependencies by @shakkernerd in https://github.com/elizaOS/eliza/pull/1609 -* fix: Google API Key not passing from character file by @azep-ninja in https://github.com/elizaOS/eliza/pull/1607 -* add plugins to the key components section of the faq by @cole-gillespie in https://github.com/elizaOS/eliza/pull/1614 -* add an client-direct endpoint to get memories by agentid and roomid by @treppers in https://github.com/elizaOS/eliza/pull/1581 -* fix: Double Responses from Continue Action by @azep-ninja in https://github.com/elizaOS/eliza/pull/1606 -* Fix double spaced tweets in Post.ts by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1626 -* feat: Select a transcription provider based on the character settings. by @tcm390 in https://github.com/elizaOS/eliza/pull/1625 -* fix: turbo deps for plugin-evm by @odilitime in https://github.com/elizaOS/eliza/pull/1627 -* feat: Twitter Spaces Integration by @slkzgm in https://github.com/elizaOS/eliza/pull/1550 -* fix: corrected path for image upload by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/1632 -* chore: update viem dependency version in plugin-evm and plugin-goat by @bertux in https://github.com/elizaOS/eliza/pull/1637 -* fix: lockfile wasn't updated after dependency + bring viem to root level package.json by @monilpat in https://github.com/elizaOS/eliza/pull/1642 -* fix: Fix bug in plugin-bootstrap/src/evaluators/facts.ts by @metakai1 in https://github.com/elizaOS/eliza/pull/1648 -* Add README_AR.md by @xMariem in https://github.com/elizaOS/eliza/pull/1634 -* Added Hungarian README by @mdominikd in https://github.com/elizaOS/eliza/pull/1645 -* fix: activate web-search plugin in agents/ by @cmadaanaya in https://github.com/elizaOS/eliza/pull/1577 -* fix: 1634 fix image description service by @nusk0 in https://github.com/elizaOS/eliza/pull/1667 -* fix: Seperated imageModelProvider and imageVisionModelProvider for ImageDescriptioServices by @denizekiz in https://github.com/elizaOS/eliza/pull/1664 -* fix: Update Supabase schema.sql by @0xRider in https://github.com/elizaOS/eliza/pull/1660 -* feat: add docs for story plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1672 -* fix: add web search to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1676 -* fix: 1668 fix twitter image link by @nusk0 in https://github.com/elizaOS/eliza/pull/1671 -* chore(docs): rename ai16z/eliza to elizaOS/eliza by @9547 in https://github.com/elizaOS/eliza/pull/1679 -* fix: smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1695 -* feat: Plugin sui support for suiprivatekey0x account by @v1xingyue in https://github.com/elizaOS/eliza/pull/1693 -* docs: update README.md spelling by @SK1989sL in https://github.com/elizaOS/eliza/pull/1690 -* chore: twitter username validation message by @daizhengxue in https://github.com/elizaOS/eliza/pull/1698 -* Update README_KOR.md: Added missing sections and improved Korean translations for clarity by @gnujoow in https://github.com/elizaOS/eliza/pull/1683 -* fix(core): trimTokens no need to await by @9547 in https://github.com/elizaOS/eliza/pull/1686 -* chore: update web search plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1688 -* EVM plugin wallet provider and transfer action improvements by @nicky-ru in https://github.com/elizaOS/eliza/pull/1701 -* fix: Url fix in imagedescriptionservice by @denizekiz in https://github.com/elizaOS/eliza/pull/1696 -* feat: improve GOAT integration by allowing tool calling when using generateText by @0xaguspunk in https://github.com/elizaOS/eliza/pull/1403 -* fix: postgres-adapter - remove nonsensical schema check by @ryanleecode in https://github.com/elizaOS/eliza/pull/1377 -* fix: disable trust provider for PostGres db by @swizzmagik in https://github.com/elizaOS/eliza/pull/1536 -* fix: multiple web search import in agent by @shakkernerd in https://github.com/elizaOS/eliza/pull/1718 -* chore(zksync-era): rm not used imports by @9547 in https://github.com/elizaOS/eliza/pull/1716 -* fix: add echochambers to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1719 -* docs: update faq.md by @TresFlames in https://github.com/elizaOS/eliza/pull/1746 -* docs: update README_KOR.md by @osrm in https://github.com/elizaOS/eliza/pull/1739 -* docs: add Serbian README translation by @marsic3 in https://github.com/elizaOS/eliza/pull/1757 -* fix: Support for Non-OpenAI Models in Token Trimming by @tcm390 in https://github.com/elizaOS/eliza/pull/1605 -* fix: build lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/1759 -* fix(client): improve Windows compatibility for Vite dev server by @gmh5225 in https://github.com/elizaOS/eliza/pull/1760 -* feat: use custom conditions for live monorepo types by @ryanleecode in https://github.com/elizaOS/eliza/pull/1365 -* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1740 -* feat(plugin-near): replace console.log to eliza logger by @sinecose in https://github.com/elizaOS/eliza/pull/1745 -* Agentic Eliza Plugin Documenter - Multilingual (e.g., English, Spanish, French) by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1675 -* 🐛 fix plugins.md formatting for docs with dockerized docs validation by @marcellodesales in https://github.com/elizaOS/eliza/pull/1722 -* fix: line break handling in chat by @swizzmagik in https://github.com/elizaOS/eliza/pull/1784 -* chore: remove unused import and var by @shakkernerd in https://github.com/elizaOS/eliza/pull/1797 -* bug : Removed FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1795 -* fix(client-slack): implement Media type properties in message attachments #1384 by @AIFlowML in https://github.com/elizaOS/eliza/pull/1741 -* fix(postgres): Handle vector extension creation properly (#1561) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1743 -* Revert "fix(postgres): Handle vector extension creation properly (#1561)" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1799 -* fix: standardize ACTION_INTERVAL unit to minutes in twitter client by @sin-bufan in https://github.com/elizaOS/eliza/pull/1738 -* refactor: client api by @aalimsahin in https://github.com/elizaOS/eliza/pull/1713 -* feat: Simulate discord typing while generating a response by @dxlliv in https://github.com/elizaOS/eliza/pull/1712 -* fix: bugfix. the port 80 is not listening use 3000 by @jmikedupont2 in https://github.com/elizaOS/eliza/pull/1616 -* chore: install with no frozen-lockfile flag by @shakkernerd in https://github.com/elizaOS/eliza/pull/1802 -* fix: generation tests for trimTokens by @shakkernerd in https://github.com/elizaOS/eliza/pull/1803 -* chore: bump version to v.0.1.7 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1804 -* chore: Develop => main for 1.7.0 release by @odilitime in https://github.com/elizaOS/eliza/pull/1717 - -#### New Contributors - -
      -View New Contributors -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 -* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 -* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 -* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 -* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 -* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 -* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 -* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 -* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 -* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 -* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 -* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 -* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 -* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 -* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 -* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 -* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 -* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 -* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 -* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 -* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 -* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 -* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 -* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 -* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 -* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 -* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 -* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 -* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 -* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 -* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 -* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 -* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 -* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 -* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 -* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 -* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 -* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 -* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 -* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 -* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 -* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 -* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 -* @yanushevitz made their first contribution in https://github.com/elizaOS/eliza/pull/1537 -* @RedHorse823 made their first contribution in https://github.com/elizaOS/eliza/pull/1535 -* @SK1989sL made their first contribution in https://github.com/elizaOS/eliza/pull/1534 -* @mgunnin made their first contribution in https://github.com/elizaOS/eliza/pull/1545 -* @zkfriendly made their first contribution in https://github.com/elizaOS/eliza/pull/1555 -* @yorkerhodes3 made their first contribution in https://github.com/elizaOS/eliza/pull/1579 -* @bendanzhentan made their first contribution in https://github.com/elizaOS/eliza/pull/1602 -* @zhourunlai made their first contribution in https://github.com/elizaOS/eliza/pull/1603 -* @salazarsebas made their first contribution in https://github.com/elizaOS/eliza/pull/1594 -* @0xFloyd made their first contribution in https://github.com/elizaOS/eliza/pull/1589 -* @cole-gillespie made their first contribution in https://github.com/elizaOS/eliza/pull/1614 -* @treppers made their first contribution in https://github.com/elizaOS/eliza/pull/1581 -* @slkzgm made their first contribution in https://github.com/elizaOS/eliza/pull/1550 -* @ShreyGanatra made their first contribution in https://github.com/elizaOS/eliza/pull/1632 -* @bertux made their first contribution in https://github.com/elizaOS/eliza/pull/1637 -* @metakai1 made their first contribution in https://github.com/elizaOS/eliza/pull/1648 -* @xMariem made their first contribution in https://github.com/elizaOS/eliza/pull/1634 -* @mdominikd made their first contribution in https://github.com/elizaOS/eliza/pull/1645 -* @cmadaanaya made their first contribution in https://github.com/elizaOS/eliza/pull/1577 -* @nusk0 made their first contribution in https://github.com/elizaOS/eliza/pull/1667 -* @0xRider made their first contribution in https://github.com/elizaOS/eliza/pull/1660 -* @daizhengxue made their first contribution in https://github.com/elizaOS/eliza/pull/1698 -* @gnujoow made their first contribution in https://github.com/elizaOS/eliza/pull/1683 -* @affaan-m made their first contribution in https://github.com/elizaOS/eliza/pull/1688 -* @TresFlames made their first contribution in https://github.com/elizaOS/eliza/pull/1746 -* @osrm made their first contribution in https://github.com/elizaOS/eliza/pull/1739 -* @marsic3 made their first contribution in https://github.com/elizaOS/eliza/pull/1757 -* @gmh5225 made their first contribution in https://github.com/elizaOS/eliza/pull/1760 -* @sinecose made their first contribution in https://github.com/elizaOS/eliza/pull/1745 -* @marcellodesales made their first contribution in https://github.com/elizaOS/eliza/pull/1722 -* @aalimsahin made their first contribution in https://github.com/elizaOS/eliza/pull/1713 -* @dxlliv made their first contribution in https://github.com/elizaOS/eliza/pull/1712 -* @jmikedupont2 made their first contribution in https://github.com/elizaOS/eliza/pull/1616 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 +This build release provides essential fixes that improve security and stability without introducing new features. --- -## v0.1.7-alpha.2 (December 28, 2024) - -#### Features - -- New default character ([#1453](https://github.com/elizaOS/eliza/pull/1453)) -- Handle long tweets ([#1339](https://github.com/elizaOS/eliza/pull/1339), [#1520](https://github.com/elizaOS/eliza/pull/1520)) -- Custom System Prompt Support for plugin-image-generation ([#839](https://github.com/elizaOS/eliza/pull/839)) -- Add /:agentId/speak endpoint for text-to-speech ([#1528](https://github.com/elizaOS/eliza/pull/1528)) -- Add Livepeer Image Provider ([#1525](https://github.com/elizaOS/eliza/pull/1525)) -- Add Text to 3D function ([#1446](https://github.com/elizaOS/eliza/pull/1446)) -- Add GitBook Plugin provider ([#1126](https://github.com/elizaOS/eliza/pull/1126)) -- Add abstract plugin ([#1225](https://github.com/elizaOS/eliza/pull/1225)) -- Add avalanche plugin ([#842](https://github.com/elizaOS/eliza/pull/842)) -- Add FerePro plugin ([#1502](https://github.com/elizaOS/eliza/pull/1502)) -- Add Cronos ZKEVM plugin ([#1464](https://github.com/elizaOS/eliza/pull/1464)) -- Add plugin for Cronos ZKEVM ([#1464](https://github.com/elizaOS/eliza/pull/1464)) -- Add Venice style presets & option to remove watermark ([#1410](https://github.com/elizaOS/eliza/pull/1410)) -- Client-GitHub retry ([#1425](https://github.com/elizaOS/eliza/pull/1425)) -- Add ModelConfiguration to Character ([#1455](https://github.com/elizaOS/eliza/pull/1455)) -- Use OPENAI_API_URL for custom API endpoint ([#1522](https://github.com/elizaOS/eliza/pull/1522)) - -#### Fixes - -- Multiple Agents running at the same time on localhost ([#1415](https://github.com/elizaOS/eliza/pull/1415)) -- tags in templates/examples empty when passed to LLM ([#1305](https://github.com/elizaOS/eliza/pull/1305)) -- Postgres adapter settings not being applied ([#1379](https://github.com/elizaOS/eliza/pull/1379)) -- ImageModelProvider API key selection fallback ([#1272](https://github.com/elizaOS/eliza/pull/1272)) -- Swap and bridge actions in plugin-evm ([#1456](https://github.com/elizaOS/eliza/pull/1456)) -- Twitter search feature ([#1433](https://github.com/elizaOS/eliza/pull/1433)) -- Twitter dry run mode and configuration logging ([#1498](https://github.com/elizaOS/eliza/pull/1498)) -- Fix Twitter plugin interaction prompts ([#1469](https://github.com/elizaOS/eliza/pull/1469)) -- LowerCase bug and environment cleanup in Twitter client ([#1514](https://github.com/elizaOS/eliza/pull/1514)) -- Cleaner prompts in Twitter plugin ([#1472](https://github.com/elizaOS/eliza/pull/1472)) -- Twitter login notifications, incorrect cookie management ([#1330](https://github.com/elizaOS/eliza/pull/1330)) -- Duplicate tweet log ([#1402](https://github.com/elizaOS/eliza/pull/1402)) -- Explicitly set env in each step ([#1374](https://github.com/elizaOS/eliza/pull/1374)) -- Incorrect link redirection issue ([#1443](https://github.com/elizaOS/eliza/pull/1443)) -- Remove code duplication in getGoals call ([#1450](https://github.com/elizaOS/eliza/pull/1450)) -- Client type identification with test coverage ([#1490](https://github.com/elizaOS/eliza/pull/1490)) -- Required incremental option in TypeScript configuration ([#1485](https://github.com/elizaOS/eliza/pull/1485)) - -#### Complete Changelog - -* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 -* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 -* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 -* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 -* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 -* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 -* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 -* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 -* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 -* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 -* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 -* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 -* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 -* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 -* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 -* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 -* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 -* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 -* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 -* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 -* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 -* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 -* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 -* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 -* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 -* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 -* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 -* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 -* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 -* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 -* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 -* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 -* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 -* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 -* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 -* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 -* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 -* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 -* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 -* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 -* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 -* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 -* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 -* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 -* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 -* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 -* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 -* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 -* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 -* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 -* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 -* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 -* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 -* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 -* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 -* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 -* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 -* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 -* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 -* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 -* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 -* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 -* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 -* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 -* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 -* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 -* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 -* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 -* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 -* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 -* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 -* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 -* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 -* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 -* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 -* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 -* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 -* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 -* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 -* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 -* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 -* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 -* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 -* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 -* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 -* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 -* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 -* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 -* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 -* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 -* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 -* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 -* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 -* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 - -#### New Contributors - -
      -View New Contributors -* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 -* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 -* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 -* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 -* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 -* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 -* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 -* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 -* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 -* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 -* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 -* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 -* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 -* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 -* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 -* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 -* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 -* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 -* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 -* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 -* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 -* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 -* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 -* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 -* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 -* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 -* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 -* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 -* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 -* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 -* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 -* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 -* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 -* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 -* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 -* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 -* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 -* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 -* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 -* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 -* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 -* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 +## v0.1.8-alpha.1 (2025-01-01) ---- +#### Summary +This minor alpha release contains blockchain sector diagram updates and plugin description corrections. -## v0.1.7-alpha.1 (December 22, 2024) +#### Changes +- Added 0G to blockchain sector diagram (PR #2204) +- Fixed SentientAI description in plugin-depin (PR #2668) -#### What's Changed +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 - -#### New Contributors - -
      -View New Contributors -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 -
      - -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.2 +--- -#### What's Changed +## Version 0.1.8 (2025-01-12) + +#### Major Features +- **TTS (Text2Speech)**: Added support for over 15 languages (#2110) +- **AI Providers**: + - Added Cloudflare AI Gateway support (#821) + - Integrated Mistral AI as a new model provider (#2137) + - Added DeepSeek AI provider (#2067) + - Added Heurist embedding model (#2093) +- **Infrastructure**: + - Added support for TEE logging and Intel SGX (#1470) + - Implemented Pro API support with trending coins API (#2068) +- **Blockchain Plugins**: + - Added Irys plugin (#1708) + - Added Akash Network plugin with autonomous deployment capabilities (#2111) + - Added Lens Network Plugin (#2101) + - Added Hyperliquid plugin (#2141) + - Added Asterai plugin (#2045) + - Added Massa plugin (#1582) + - Added Quai integration (#2083) + - Implemented Primus zkTLS plugin to verify agent activities (#2086) + - Modified Solana transactions to be more lenient (wait for confirmed instead of finalized) (#2053) -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 - -#### New Contributors - -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 - -**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 +#### Bug Fixes +- Fixed plugin loading from character.json files (#2095) +- Prevented repeated login by reusing client-twitter session (#2129) +- Fixed chat getting stuck in infinite loop (#1755) +- Fixed client-discord join voice action (#2160) +- Replaced invalid together.ai medium model (#2173) +- Fixed missing langdetect in plugin-tts package.json (#2175) +- Fixed model settings for images and removed duplicate files (#2118) +- Fixed clientConfig.telegram.isPartOfTeam type (#2103) +- Fixed starknet plugin by replacing walletProvider with portfolio provider (#2029) +- Corrected SUI/USD price calculation (#2150) +- Fixed DeepSeek support in getTokenForProvider (#2179) +- Updated Supabase components (#2100) +- Fixed RAG knowledge for Postgres (#2153) +- Fixed case-sensitive column reference in knowledge table CHECK constraint (#2058) + +#### Technical Improvements +- Applied syntax fixes for autonome plugin and updated lock file (#2131) +- Fixed lens export name and duplicate imports (#2142) +- Fixed double responses from Continue Action (#1606) +- Fixed double spaced tweets in Post.ts (#1626) +- Added ability to select transcription provider based on character settings (#1625) +- Fixed image description service (#1667) +- Separated imageModelProvider and imageVisionModelProvider for ImageDescriptionServices (#1664) +- Updated Supabase schema.sql (#1660) +- Fixed Twitter image link issues (#1671) + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 --- -## v0.1.6-alpha.5 (December 21, 2024) +## Version 0.1.7 (2025-01-04) -#### What's Changed +#### New Features +- **UI/UX**: + - Added text to 3D function (#1446) + - Added custom system prompt support for image generation (#839) + - Added /:agentId/speak endpoint for text-to-speech (#1528) + - Added Livepeer Image Provider (#1525) + - Added autoscroll chat client (#1538) + - Added theme toggle with dark/light mode support (#1555) + +- **Plugins and Integration**: + - Added Abstract plugin (#1225) + - Added Avalanche plugin (#842) + - Added Cronos ZKEVM plugin (#1464) + - Added GitBook Plugin provider (#1126) + - Added Venice style presets & watermark removal option (#1410) + - Added FerePro plugin (#1502) + - Added Fuel plugin (#1512) + +- **Development**: + - Added ModelConfiguration to Character for temperature/response control (#1455) + - Added support for custom OpenAI API endpoint via OPENAI_API_URL (#1522) + - Added client-github retry functionality (#1425) + - Added dynamic watch paths for agent development (#931) + - Added Redis Cache Implementation (#1279, #1295) + +#### Client Improvements +- **Twitter**: + - Enhanced Twitter client with cookie validation and retry (#856) + - Improved Tweet handling for long content (#1339, #1520) + - Enhanced Twitter Post Action Implementation (#1422) + - Improved Twitter client dry run mode and configuration (#1498) + - Fixed Twitter engagement criteria in prompt (#1533) + +- **Discord/Telegram**: + - Added Discord Team features (#1032) + - Added Telegram Team features (#1033) + - Added parse mode=Markdown for Telegram output (#1229) + - Fixed multiple Discord bots joining voice channels (#1156) + +#### Bug Fixes +- Fixed multiple agents running on localhost simultaneously (#1415) +- Fixed image model provider API key selection fallback (#1272) +- Fixed empty tags in templates/examples passed to LLM (#1305) +- Fixed postgres adapter settings not being applied (#1379) +- Fixed swap and bridge actions in plugin-evm (#1456) +- Fixed Twitter search feature (#1433) +- Fixed duplicate twitter posts (#1472) +- Fixed client type identification with test coverage (#1490) +- Fixed Twitter username validation to allow numbers (#1541) + +#### Technical Improvements +- Improved TypeScript configuration with incremental option (#1485) +- Improved chat formatting for line breaks (#1483) +- Extended parseBooleanFromText function with additional values (#1501) +- Made express payload limit configurable (#1245) +- Made Twitter login retry attempts configurable (#1244) +- Added callback to the runtime evaluate method (#938) +- Synced UI Client with server port env (#1239) + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 -* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 -* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 -* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 -* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 -* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 -* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 -* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 -* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 -* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 -* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 -* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 -* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 -* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 -* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 -* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 -* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 -* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 -* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 -* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 -* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 -* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 -* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 -* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 -* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 -* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 -* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 -* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 -* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 -* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 -* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 -* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 -* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 -* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 -* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 -* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 -* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 -* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 -* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 -* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 -* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 -* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 -* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 -* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 -* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 -* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 -* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 -* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 -* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 -* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 - -#### New Contributors - -
      -View New Contributors -* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 -* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 -* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 -* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 -* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 -* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 -* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 -* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 -* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 -* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 -* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 -* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 -* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 -* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 -* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 -* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 --- -## v0.1.6 (December 21, 2024) +## Version 0.1.7-alpha.2 (2024-12-28) + +#### New Components +- Added a new default character (#1453) +- Added Text to 3D function (#1446) +- Added /:agentId/speak endpoint for text-to-speech functionality (#1528) +- Added Livepeer Image Provider for image generation (#1525) +- Added support for Custom System Prompts in plugin-image-generation (#839) + +#### Content Handling +- Improved handling of long tweets (#1339, #1520) +- Enhanced Twitter Post Action Implementation (#1422) +- Added image features to react chat client (#1481) +- Improved chat formatting for line breaks (#1483) + +#### Plugins +- Added GitBook Plugin provider (#1126) +- Added Abstract plugin (#1225) +- Added Avalanche plugin (#842) +- Added FerePro plugin (#1502) +- Added Cronos ZKEVM plugin (#1464) +- Added Fuel plugin (#1512) +- Added Venice style presets with option to remove watermark (#1410) +- Added AlienX chain to plugin-evm (#1438) + +#### Client Improvements +- Enhanced client-github with retry capability (#1425) +- Enhanced client-direct functionality (#1479) +- Added client-discord chat_with_attachment action flexibility to use any tiktoken model (#1408) +- Implemented timeline fetching for followed accounts in Twitter client (#1475) + +#### Technical Enhancements +- Added ModelConfiguration to Character for adjusting temperature, response length & penalties (#1455) +- Added support for custom OpenAI API endpoint via OPENAI_API_URL (#1522) +- Extended parseBooleanFromText function with additional boolean values (#1501) +- Added agentic JSDoc generation (#1343) +- Added support for passing secrets through environment (#1454) + +#### Twitter Client +- Fixed duplicate tweet log (#1402) +- Fixed duplicate twitter post issues (#1472) +- Fixed search feature in twitter client (#1433) +- Improved Twitter client dry run mode and configuration logging (#1498) +- Improved interaction prompts in the Twitter plugin (#1469) +- Fixed client-twitter lowercase bug and environment cleanup (#1514) +- Fixed ENABLE_ACTION_PROCESSING logic in Twitter client (#1463) +- Fixed Twitter login notifications and cookie management (#1330) + +#### System Issues +- Fixed multiple agents running simultaneously on localhost (#1415) +- Fixed postgres adapter settings not being applied (#1379) +- Fixed imageModelProvider API key selection fallback (#1272) +- Fixed empty tags in templates/examples when passed to LLM (#1305) +- Fixed swap and bridge actions in plugin-evm (#1456) +- Fixed incorrect link redirection issue (#1443) +- Fixed code duplication in getGoals call (#1450) +- Improved client type identification with test coverage (#1490) +- Added required incremental option and fixed TypeScript configuration (#1485) +- Fixed type imports from 'elizaos' (#1492) + +#### Documentation and Testing +- Added documentation for plugin-nft-generation (#1327) +- Added readme files for ton plugin (#1496) and websearch plugin (#1494) +- Added CODE_OF_CONDUCT.md (#1487) +- Fixed documentation links in eliza-in-tee.md (#1500) +- Added Cleanstart options for new database (#1449) + + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 -#### What's Changed +--- -* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 -* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 -* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 -* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 -* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 -* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 -* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 -* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 -* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 -* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 -* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 -* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 -* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 -* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 -* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 -* use github access token by @tcm390 in https://github.com/ai16z/eliza/pull/825 -* loading indicator by @tcm390 in https://github.com/ai16z/eliza/pull/827 -* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 -* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 -* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 -* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 -* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 -* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 -* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 -* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 -* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 -* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 -* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 -* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 -* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 -* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 -* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 -* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 -* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 -* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 -* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 -* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 -* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 -* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 -* fix: re-enable coverage report upload to Codecov in CI workflow by @snobbee in https://github.com/ai16z/eliza/pull/880 -* chore: disable building docs on build command by @shakkernerd in https://github.com/ai16z/eliza/pull/884 -* feat: Add Flow Blockchain plugin by @btspoony in https://github.com/ai16z/eliza/pull/874 -* chore: enhance dev script, performance improvement and add help message by @shakkernerd in https://github.com/ai16z/eliza/pull/887 -* chore: added more help message to the important notice text. by @shakkernerd in https://github.com/ai16z/eliza/pull/891 -* chore: improved dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/892 -* fix: twitter actions not triggering by @cygaar in https://github.com/ai16z/eliza/pull/903 -* chore: update models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/890 -* fix: evaluation json parsing by @cygaar in https://github.com/ai16z/eliza/pull/907 -* docs: Add What Did You Get Done This Week #4 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/895 -* feat: create README_TH.md by @asianviking in https://github.com/ai16z/eliza/pull/918 -* feat: update gaianet config by @L-jasmine in https://github.com/ai16z/eliza/pull/915 -* feat: allow users to configure models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/910 -* chore: Consistent language for Community & Contact link label by @golryang in https://github.com/ai16z/eliza/pull/899 -* chore: deprecate text based way of generating JSON by @monilpat in https://github.com/ai16z/eliza/pull/920 -* fix: Farcater client cleanup and fixed response logic by @sayangel in https://github.com/ai16z/eliza/pull/914 -* feat: MAX_TWEET_LENGTH env implementation by @onur-saf in https://github.com/ai16z/eliza/pull/912 -* feat: implement advanced coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/725 -* feat: add dynamic watch paths for agent development by @samuveth in https://github.com/ai16z/eliza/pull/931 -* fix: use of Heurist model env vars by @boxhock in https://github.com/ai16z/eliza/pull/924 -* fix: update quickstart and .env.example by @oxSaturn in https://github.com/ai16z/eliza/pull/932 -* feat: add readContract / invokeContract functionality to Coinbase plugin by @monilpat in https://github.com/ai16z/eliza/pull/923 -* fix: telegram response memory userId to agentId by @bmgalego in https://github.com/ai16z/eliza/pull/948 -* feat: Config eternalai model from env by @genesis-0000 in https://github.com/ai16z/eliza/pull/927 -* feat: add hyperbolic api to eliza by @meppsilon in https://github.com/ai16z/eliza/pull/828 -* docs: add WSL installation guide by @ileana-pr in https://github.com/ai16z/eliza/pull/946 -* fix: Revert "docs: add WSL installation guide" by @monilpat in https://github.com/ai16z/eliza/pull/959 -* Fix farcaster client process action issue by @sin-bufan in https://github.com/ai16z/eliza/pull/963 -* fix(agent): correct EVM plugin activation condition by @0xAsten in https://github.com/ai16z/eliza/pull/962 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/ai16z/eliza/pull/960 -* feat: Supports upload files to AWS S3. by @xwxtwd in https://github.com/ai16z/eliza/pull/941 -* fix: update package name in faq by @oxSaturn in https://github.com/ai16z/eliza/pull/937 -* feat: process all responses actions by @bmgalego in https://github.com/ai16z/eliza/pull/940 -* chore: 947 add other evm chains to wallet by @n00b21337 in https://github.com/ai16z/eliza/pull/949 -* feat: add dev script to plugin-aptos by @asianviking in https://github.com/ai16z/eliza/pull/956 -* feat: Add hyperbolic env vars to override model class by @meppsilon in https://github.com/ai16z/eliza/pull/974 -* chore: pass env variables when setting up GOAT and update GOAT readme by @0xaguspunk in https://github.com/ai16z/eliza/pull/898 -* feat: Add TEE Mode to Solana Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/835 -* chore: fix broken lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/977 -* fix: revert llamacloud endpoint change by @odilitime in https://github.com/ai16z/eliza/pull/954 -* feat: add callback handler to runtime evaluate method by @bmgalego in https://github.com/ai16z/eliza/pull/938 -* fix: docker trying to filter out missing docs package by @odilitime in https://github.com/ai16z/eliza/pull/978 -* chore: rename intiface plugin by @odilitime in https://github.com/ai16z/eliza/pull/955 -* feat: allow character.json settings models for open router by @odilitime in https://github.com/ai16z/eliza/pull/953 -* LinkedIn Client by @bkellgren in https://github.com/ai16z/eliza/pull/973 -* fix: a typo in characterfile.md by @oxSaturn in https://github.com/ai16z/eliza/pull/986 -* fix: Goat Plugin + AWS S3 Service error when env vars absent by @jnaulty in https://github.com/ai16z/eliza/pull/985 -* docs: add WSL Setup Guide to documentation by @ileana-pr in https://github.com/ai16z/eliza/pull/983 -* chore: add how to startup chat ui by @yodamaster726 in https://github.com/ai16z/eliza/pull/976 -* feat: flow update generate object by @btspoony in https://github.com/ai16z/eliza/pull/929 -* feat : github image cicd by @v1xingyue in https://github.com/ai16z/eliza/pull/889 -* feat: Add NanoGPT provider by @dylan1951 in https://github.com/ai16z/eliza/pull/926 -* fix: Fix Twitter Search Logic and Add Galadriel Image Model by @dontAskVI in https://github.com/ai16z/eliza/pull/994 -* feat: create README_DE.md by @GottliebFreudenreich in https://github.com/ai16z/eliza/pull/995 -* test: adding parsing tests. changed files parsing.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/996 -* feat: allow users to configure models for openai and anthropic by @oxSaturn in https://github.com/ai16z/eliza/pull/999 -* fix: typo initialize by @cryptofish7 in https://github.com/ai16z/eliza/pull/1000 -* fix: add callback to action in farcaster client by @sin-bufan in https://github.com/ai16z/eliza/pull/1002 -* chore: Bring Develop up to date with HEAD by @odilitime in https://github.com/ai16z/eliza/pull/1006 -* feat: twitter client enhancements by @tharak123455 in https://github.com/ai16z/eliza/pull/913 -* docs: Add templates documentation to the project by @Lukapetro in https://github.com/ai16z/eliza/pull/1013 -* feat: Plugin evm multichain by @nicky-ru in https://github.com/ai16z/eliza/pull/1009 -* test: Initial release of smoke/integration tests + testing framework by @jzvikart in https://github.com/ai16z/eliza/pull/993 -* docs: "AI Agent Dev School Part 4" livestream notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1015 -* chore: Twitter search switch by @odilitime in https://github.com/ai16z/eliza/pull/1003 -* feat: improve Twitter client with action processing by @dorianjanezic in https://github.com/ai16z/eliza/pull/1007 -* fix: refactor contributor page by @tcm390 in https://github.com/ai16z/eliza/pull/809 -* chore: Update CI configuration to enable test coverage and add covera… by @snobbee in https://github.com/ai16z/eliza/pull/1019 -* chore: Twitter fetchHomeTimeline rework by @odilitime in https://github.com/ai16z/eliza/pull/1021 -* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1024 -* feat: Add custom fetch logic for agent by @v1xingyue in https://github.com/ai16z/eliza/pull/1010 -* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1025 -* add echochambers by @savageops in https://github.com/ai16z/eliza/pull/997 -* chore: Push Develop into Main by @odilitime in https://github.com/ai16z/eliza/pull/1028 -* feat: create example folder with example plugin by @monilpat in https://github.com/ai16z/eliza/pull/1004 -* feat: add venice.ai api model provider by @proteanx in https://github.com/ai16z/eliza/pull/1008 -* feat: Add AI Agent Dev School Tutorial Link by @lalalune in https://github.com/ai16z/eliza/pull/1038 -* feat: Add Discord Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1032 -* docs: characterfile.md docs outdated with latest eliza version by @tqdpham96 in https://github.com/ai16z/eliza/pull/1042 -* feat: improve voice processing and add deepgram transcription option by @tcm390 in https://github.com/ai16z/eliza/pull/1026 -* fix: use pull_request_target for integration tests by @jnaulty in https://github.com/ai16z/eliza/pull/1035 -* feat: client-discord stop implementation / agent improvements by @odilitime in https://github.com/ai16z/eliza/pull/1029 -* fix: re-enable generateNewTweetLoop / lint fixes by @odilitime in https://github.com/ai16z/eliza/pull/1043 -* chore: release develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1045 -* chore: improve smokeTests environment validation and logging by @aramxc in https://github.com/ai16z/eliza/pull/1046 -* fix: add auto to clients in types to use client-auto by @HashWarlock in https://github.com/ai16z/eliza/pull/1050 -* feat: add/change change through REST api (client-direct) by @odilitime in https://github.com/ai16z/eliza/pull/1052 -* fix: discord client ci issues by @cygaar in https://github.com/ai16z/eliza/pull/1054 -* fix: Fix pnpm lockfiles by @jzvikart in https://github.com/ai16z/eliza/pull/1055 -* fix: Allow bot to post tweets with images generated by the imageGenerationPlugin by @tcm390 in https://github.com/ai16z/eliza/pull/1040 -* feat: Add Telegram Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1033 -* feat: add venice.ai image generation by @proteanx in https://github.com/ai16z/eliza/pull/1057 -* feat: improve X/Twitter login with cookie validation and retry mechanism by @arslanaybars in https://github.com/ai16z/eliza/pull/856 -* feat: create README_VI.md by @tqdpham96 in https://github.com/ai16z/eliza/pull/1058 -* Update docs (CONTRIBUTING.md) by @lessuselesss in https://github.com/ai16z/eliza/pull/1053 -* feat: add README_TH.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1034 -* feat: multiversx plugin by @mgavrila in https://github.com/ai16z/eliza/pull/860 -* feat: Add NEAR Protocol plugin by @serrrfirat in https://github.com/ai16z/eliza/pull/847 -* chore: commented out unused variables in solana swap action's plugin by @shakkernerd in https://github.com/ai16z/eliza/pull/1073 -* fix: incorrect eslint config file path by @shakkernerd in https://github.com/ai16z/eliza/pull/1074 -* feat: add plugin-ton by @jinbangyi in https://github.com/ai16z/eliza/pull/1039 -* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1075 -* chore: Update package.json by @Freytes in https://github.com/ai16z/eliza/pull/1031 -* chore: improve eslint by --cache by @shengxj1 in https://github.com/ai16z/eliza/pull/1056 -* fix: missing eslint config file by @shakkernerd in https://github.com/ai16z/eliza/pull/1076 -* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1077 -* Add slack plugin by @AIFlowML in https://github.com/ai16z/eliza/pull/859 -* fix: errors in swap action in plugin-near by @shakkernerd in https://github.com/ai16z/eliza/pull/1078 -* Adding plugin for ZKsync Era by @arose00 in https://github.com/ai16z/eliza/pull/906 -* fix: transfer action linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1079 -* chore: add npmignore file by @shakkernerd in https://github.com/ai16z/eliza/pull/1080 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1081 -* fix: eslint command by @shakkernerd in https://github.com/ai16z/eliza/pull/1082 -* chore: remove unnecessary packages by @shakkernerd in https://github.com/ai16z/eliza/pull/1083 -* fix: dynamic import of fs module by @shakkernerd in https://github.com/ai16z/eliza/pull/1084 -* chore: remove unused imports and rename runtime variable by @shakkernerd in https://github.com/ai16z/eliza/pull/1085 -* fix: client slack linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1086 -* fix: syntax error: invalid arithmetic operator by @shakkernerd in https://github.com/ai16z/eliza/pull/1088 -* chore: increase timeout to 3mins by @shakkernerd in https://github.com/ai16z/eliza/pull/1092 -* chore: kill pnpm start by @shakkernerd in https://github.com/ai16z/eliza/pull/1093 -* chore: debugging start behaviour by @shakkernerd in https://github.com/ai16z/eliza/pull/1094 -* docs: add README.md to plugin-evm by @nicky-ru in https://github.com/ai16z/eliza/pull/1095 -* fix: return types of createAgent & startAgent by @BlockJuic3 in https://github.com/ai16z/eliza/pull/1097 -* feat: Smoke Test script by @shakkernerd in https://github.com/ai16z/eliza/pull/1101 -* feat: allow users to configure models for grok by @oxSaturn in https://github.com/ai16z/eliza/pull/1091 -* test: adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/998 -* chore: improving client typing by @BalanaguYashwanth in https://github.com/ai16z/eliza/pull/1036 -* fix: handle no termination message by @shakkernerd in https://github.com/ai16z/eliza/pull/1102 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1103 -* fix: Fixed twitter posts include from including `/n` in the text by @Titan-Node in https://github.com/ai16z/eliza/pull/1070 -* fix: add missing imports by @shakkernerd in https://github.com/ai16z/eliza/pull/1104 -* chore: improve formatting of .env.example for better readability by @guzus in https://github.com/ai16z/eliza/pull/897 -* feat: Lens client by @imthatcarlos in https://github.com/ai16z/eliza/pull/1098 -* feat: Add plugin-nft-generation: create Solana NFT collections. by @xwxtwd in https://github.com/ai16z/eliza/pull/1011 -* Documentation: Plugin list numbering and titles by @brunocalmels in https://github.com/ai16z/eliza/pull/1107 -* feat: add plugin-sui by @jnaulty in https://github.com/ai16z/eliza/pull/934 -* feat: plugin-story by @jacob-tucker in https://github.com/ai16z/eliza/pull/1030 -* Fix/charity by @awidearray in https://github.com/ai16z/eliza/pull/852 -* Feat: Update community section of docs by @madjin in https://github.com/ai16z/eliza/pull/1111 -* fix: Revert "Feat: Update community section of docs" by @monilpat in https://github.com/ai16z/eliza/pull/1112 -* feat: New docs for community section by @madjin in https://github.com/ai16z/eliza/pull/1114 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1115 -* fix: load image from diff endpoints by @qgpcybs in https://github.com/ai16z/eliza/pull/837 -* feat: Updated characters types, Discord & Telegram enhancements by @azep-ninja in https://github.com/ai16z/eliza/pull/957 -* FAL image settings escape hatch by @daojonesceo in https://github.com/ai16z/eliza/pull/814 -* fix: add more heplful default agents (Dobby and C3PO) by @n00b21337 in https://github.com/ai16z/eliza/pull/1124 -* fix: discord client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1125 -* fix: Refactor to prevent unnecessary lockfile changes by @monilpat in https://github.com/ai16z/eliza/pull/1120 -* fix: fix the name by @n00b21337 in https://github.com/ai16z/eliza/pull/1133 -* feat: Add `chatapi.akash.network` to available list of model providers (FREE LLAMA API ACCESS!) by @MbBrainz in https://github.com/ai16z/eliza/pull/1131 -* feat: add support for handlebars templating engine as an option by @erise133 in https://github.com/ai16z/eliza/pull/1136 -* clean newlines for new tweet by @owlcode in https://github.com/ai16z/eliza/pull/1141 -* fix: telegram client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1140 -* fix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash by @FWangZil in https://github.com/ai16z/eliza/pull/965 -* feat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana by @0xNerd in https://github.com/ai16z/eliza/pull/1135 -* chore: remove comment by @shakkernerd in https://github.com/ai16z/eliza/pull/1143 -* fix: remove docker compose command since Docker file already runs by @rarepepi in https://github.com/ai16z/eliza/pull/1139 -* fix: improve fomo integration by @odilitime in https://github.com/ai16z/eliza/pull/1147 -* chore: fix PR #1147 by @odilitime in https://github.com/ai16z/eliza/pull/1148 -* chore: Merge monday, merging develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1144 -* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 -* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 -* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 -* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 -* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 -* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 -* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 -* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 -* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 -* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 -* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 -* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 -* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 -* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 -* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 -* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 -* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 -* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 -* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 -* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 -* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 -* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 -* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 -* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 -* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 -* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 -* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 -* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 -* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 -* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 -* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 -* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 -* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 -* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 -* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 -* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 -* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 -* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 -* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 -* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 -* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 -* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 -* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 -* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 -* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 -* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 -* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 -* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 -* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 -* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 -* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 -* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 -* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 -* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 -* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 -* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 -* fix: remove clients from default character by @shakkernerd in https://github.com/ai16z/eliza/pull/1297 -* fix: default character model to LLAMALOCAL by @shakkernerd in https://github.com/ai16z/eliza/pull/1299 -* feat: release version 0.1.6 by @shakkernerd in https://github.com/ai16z/eliza/pull/1300 - -#### New Contributors - -
      -View New Contributors -* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 -* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 -* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 -* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 -* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 -* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 -* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 -* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 -* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 -* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 -* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 -* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 -* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 -* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 -* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 -* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 -* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 -* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 -* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 -* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 -* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 -* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 -* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 -* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 -* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 -* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 -* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 -* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 -* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 -* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 -* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 -* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 -* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 -* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 -* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 -* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 -* @aramxc made their first contribution in https://github.com/ai16z/eliza/pull/1046 -* @arslanaybars made their first contribution in https://github.com/ai16z/eliza/pull/856 -* @derRizzMeister made their first contribution in https://github.com/ai16z/eliza/pull/1034 -* @mgavrila made their first contribution in https://github.com/ai16z/eliza/pull/860 -* @serrrfirat made their first contribution in https://github.com/ai16z/eliza/pull/847 -* @jinbangyi made their first contribution in https://github.com/ai16z/eliza/pull/1039 -* @shengxj1 made their first contribution in https://github.com/ai16z/eliza/pull/1056 -* @AIFlowML made their first contribution in https://github.com/ai16z/eliza/pull/859 -* @arose00 made their first contribution in https://github.com/ai16z/eliza/pull/906 -* @BlockJuic3 made their first contribution in https://github.com/ai16z/eliza/pull/1097 -* @BalanaguYashwanth made their first contribution in https://github.com/ai16z/eliza/pull/1036 -* @Titan-Node made their first contribution in https://github.com/ai16z/eliza/pull/1070 -* @guzus made their first contribution in https://github.com/ai16z/eliza/pull/897 -* @imthatcarlos made their first contribution in https://github.com/ai16z/eliza/pull/1098 -* @brunocalmels made their first contribution in https://github.com/ai16z/eliza/pull/1107 -* @jacob-tucker made their first contribution in https://github.com/ai16z/eliza/pull/1030 -* @qgpcybs made their first contribution in https://github.com/ai16z/eliza/pull/837 -* @daojonesceo made their first contribution in https://github.com/ai16z/eliza/pull/814 -* @MbBrainz made their first contribution in https://github.com/ai16z/eliza/pull/1131 -* @erise133 made their first contribution in https://github.com/ai16z/eliza/pull/1136 -* @owlcode made their first contribution in https://github.com/ai16z/eliza/pull/1141 -* @FWangZil made their first contribution in https://github.com/ai16z/eliza/pull/965 -* @0xNerd made their first contribution in https://github.com/ai16z/eliza/pull/1135 -* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 -* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 -* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 -* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 -* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 -* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 -* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 -* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 -* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 -* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 -* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 -* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 -* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 -* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 -* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 -* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 +## Version 0.1.7-alpha.1 (2024-12-22) ---- +#### Core Changes +- **Package Structure**: Changed package name from `@elizaos/eliza` to `@elizaos/core` (#1357) +- **Branding**: Introduced elizaOS branding and structure (#1352) +- **Documentation**: Updated documentation links to point to https://elizaOS.github.io/eliza/ (#1353) -## v0.1.6-alpha.4 (December 17, 2024) +#### Model Support +- Added support for Google models (#1310) +- Added OLLAMA model to the getTokenForProvider class (#1338) -#### What's Changed +#### Client Improvements +- Bumped agent-twitter-client version to v0.0.17 (#1311) +- Updated farcaster client max cast length (#1347) +- Implemented MAX_TWEET_LENGTH setting for Twitter posts (#1323) +- Removed TWITTER_COOKIES environment variable (#1288) + +#### Technical Fixes +- Fixed turbo configuration to resolve "cannot find package" error (#1307) +- Set default value for cache store (#1308) +- Added lint script for plugin-evm and fixed lint errors (#1171) +- Fixed postgres adapter schema (#1345) +- Removed token requirement for gaianet (#1306) -* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 -* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 +#### Technical Notes +This alpha release focuses primarily on structural changes to the codebase, renaming the core package, and fixing technical issues. It sets the groundwork for the more feature-rich alpha.2 release. -**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.3...v0.1.6-alpha.4 +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 --- -## v0.1.6-alpha.3 (December 17, 2024) +## Version 0.1.6-alpha.5 (2024-12-21) + + +#### Caching +- **Redis Integration**: Added Redis Cache Implementation (#1279) +- **Enhanced Caching**: Added general caching support for Redis (#1295) + +#### Platform Enhancements +- Added parse mode=Markdown to enhance telegram bot output (#1229) +- Made scripts dash compatible for better shell compatibility (#1165) +- Made Twitter login retry times configurable via environment variables (#1244) +- Made express payload limit configurable (#1245) +- Upgraded Tavily API with comprehensive input and constrained token consumption (#1246) + +#### Discord & Telegram +- Fixed issue allowing multiple bots to join Discord voice channels (#1156) +- Enabled Telegram bots to post messages with images generated by imageGenerationPlugin (#1220) + +#### Model & Provider Issues +- Fixed handling of unsupported model provider: claude_vertex (#1258) +- Added missing claude vertex case to handleProvider (#1293) +- Fixed local_llama key warning (#1250) + +#### Client & UI +- Fixed client.push issue for Slack client verification (#1182) +- Synced UI Client with server port environment variable (#1239) +- Fixed ENABLE_ACTION_PROCESSING logic (#1268) +- Improved Twitter post generation prompt (#1217) +- Fixed issue where twitterShouldRespondTemplate fails when defined as a string in JSON Character Config (#1242) + +#### Database & Testing +- Fixed postgres requirement for user to exist before adding a participant (#1219) +- Fixed CircuitBreaker.ts implementation (#1226) +- Added integration tests fixes (#1177, #1291) +- Fixed output checkable variable for conditional tests (#1294) + +#### Documentation & Internationalization +- Added German README (#1262) +- Added Twitter automation label notice documentation (#1254) +- Updated README for French, Spanish, and Italian languages (#1236) +- Updated Chinese README with more details (#1196, #1201) + +#### Technical Improvements +- Fixed build and dependency issues +- Improved error handling when token retrieval fails (#1214) +- Added optional chaining on search to avoid startup errors when search is disabled (#1202) +- Improved script output with clearer command instructions (#1163, #1218) +- Fixed visibility issue for GitHub image CI/CD workflow (#1243) +- Improved handling of summary files in caching (#1205) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 -#### What's Changed +--- -* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 -* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 -* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 -* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 -* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 +## Version 0.1.6 (2024-12-21) + + +#### Blockchain & Web3 Integration +- **New Blockchain Plugins**: + - Added Flow Blockchain plugin (#874) + - Added Aptos plugin (#818) + - Added MultiversX plugin (#860) + - Added NEAR Protocol plugin (#847) + - Added TON plugin (#1039) + - Added ZKsync Era plugin (#906) + - Added SUI plugin (#934) + - Added TEE Mode to Solana Plugin (#835) + - Enabled agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana (#1135) + +- **Coinbase Integration**: + - Added Coinbase ERC20, ERC721, ERC1155 token deployment/invocation (#803) + - Implemented advanced Coinbase trading functionality (#725) + - Added readContract/invokeContract functionality (#923) + - Added webhook support and testing examples (#801) + +#### Social Media & Messaging +- **Twitter/X Improvements**: + - Enhanced X/Twitter login with cookie validation and retry mechanism (#856) + - Improved Twitter client with action processing (#1007) + - Fixed Twitter Search Logic (#994) + - Implemented MAX_TWEET_LENGTH environment variable (#912) + - Fixed issues with Twitter posts including newlines (#1070, #1141) + - Allowed bots to post tweets with images from imageGenerationPlugin (#1040) + +- **New Clients**: + - Added working Farcaster client with Neynar integration (#570, #914) + - Added LinkedIn Client (#973) + - Added Lens client (#1098) + - Implemented Discord and Telegram Team features (#1032, #1033) + +#### AI & Model Support +- **Model Providers**: + - Added NanoGPT provider (#926) + - Added Galadriel Image Model (#994) + - Added Akash.network provider for free LLAMA API access (#1131) + - Added Venice.ai API model provider (#1008) and image generation (#1057) + - Added Hyperbolic API (#828) with environment variable overrides (#974) + - Configured EternalAI model from environment variables (#927) + +- **Voice & Media**: + - Improved voice processing and added Deepgram transcription option (#1026) + - Added support for handlebars templating engine (#1136) + - Added client-discord stop implementation (#1029) + - Added NFT generation plugin for Solana collections (#1011) + - Added plugin-story for narrative generation (#1030) + +#### System Improvements +- **Caching & Infrastructure**: + - Implemented Redis Cache (#1279, #1295) + - Added circuit breaker pattern for database operations (#812) + - Added support for AWS S3 file uploads (#941) + - Added dynamic watch paths for agent development (#931) + - Fixed multiple bots joining Discord voice channels (#1156) + +- **API & Interface**: + - Added REST API for client-direct to change agent settings (#1052) + - Added custom fetch logic for agent (#1010) + - Fixed Twitter posts with images generated by plugins (#1040) + - Made express payload limit configurable (#1245) + - Added callback handler to runtime evaluate method (#938) + +#### Testing & Development Improvements +- Implemented Smoke Test scripts (#1101) +- Added initial release of smoke/integration tests + testing framework (#993) +- Enabled test coverage reporting to Codecov (#880, #1019) +- Enhanced GitHub image CI/CD workflow (#889) +- Improved development scripts with better help messages (#887, #892) +- Created example folder with example plugin (#1004) +- Allowed users to configure models for Groq (#910), Grok (#1091), OpenAI and Anthropic (#999) +- Added plugin for EVM multichain support (#1009) -**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.2...v0.1.6-alpha.3 +#### Bug Fixes +- Fixed issues with Twitter client login and auth (#1158) +- Fixed direct-client ability to start agents (#1154) +- Fixed plugin loading from character.json files (#784) +- Fixed parameter parsing in plugin-evm TransferAction (#965) +- Fixed various client issues (Slack, Discord, Telegram, Farcaster) +- Fixed model provider issues for Claude Vertex (#1258, #1293) +- Fixed Twitter post generation and interaction (#1217, #1242) +- Fixed telegram response memory userId to agentId (#948) + +#### Documentation & Internationalization +- Added README translations (German, Vietnamese, Thai) +- Added templates documentation (#1013) +- Added WSL Setup Guide (#983) +- Added README for plugin-evm (#1095) +- Added documentation for community section (#1114) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 --- -## v0.1.6-alpha.2 (December 17, 2024) - -December 16th 2024 release - -#### Features (feat) - -- allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana #1135 -- add support for handlebars templating engine as an option #1136 -- Add Discord Team features #1032 -- Add Telegram Team features #1033 -- Updated characters types, Discord & Telegram enhancements #957 -- Plugin evm multichain #1009 -- add plugin-sui #934 -- add plugin-ton #1039 -- Add NEAR Protocol plugin #847 -- multiversx plugin #860 -- add plugin-nft-generation: create Solana NFT collections #1011 -- Lens client #1098 -- allow users to configure models for grok #1091 -- Smoke Test script #1101 -- plugin-story #1030 -- add venice.ai image generation #1057 -- improve X/Twitter login with cookie validation and retry mechanism #856 -- add/change change through REST api (client-direct) #1052 -- twitter client enhancements #913 -- github image cicd #889 -- add README_TH.md in docs directory #1034 -- Adding plugin for ZKsync Era #906 -- Add slack plugin #859 - -#### Fixes (fix) - -- improve fomo integration #1147 -- Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash #965 -- telegram client duplicate function removal #1140 -- discord client duplicate function removal #1125 -- Docker default non-interactive mode for Cloud instances #796 -- Use LARGE models for responses #853 -- load image from diff endpoints #837 -- fix the name #1133 -- add more helpful default agents (Dobby and C3PO) #1124 -- Refactor to prevent unnecessary lockfile changes #1120 -- add missing imports #1104 -- Fixed twitter posts include from including /n in the text #1070 -- handle no termination message #1102 -- return types of createAgent & startAgent #1097 -- syntax error: invalid arithmetic operator #1088 -- client slack linting errors #1086 -- dynamic import of fs module #1084 -- transfer action linting errors #1079 -- errors in swap action in plugin-near #1078 -- remove unnecessary devDependencies #1077 -- missing eslint config file #1076 -- Allow bot to post tweets with images generated by the imageGenerationPlugin #1040 -- discord client ci issues #1054 -- Fix pnpm lockfiles #1055 -- add auto to clients in types to use client-auto #1050 - -#### Chores (chore) - -- fix PR #1147 #1148 -- remove comment #1143 -- fix broken pnpm lockfile #1115 -- fix broken pnpm lockfile #1103 -- debugging start behaviour #1094 -- kill pnpm start #1093 -- increase timeout to 3mins #1092 -- remove unused imports and rename runtime variable #1085 -- remove unnecessary packages #1083 -- fix broken pnpm lockfile #1081 -- add npmignore file #1080 -- commented out unused variables in solana swap action's plugin #1073 -- improve eslint by --cache #1056 -- Update package.json #1031 -- improve smokeTests environment validation and logging #1046 -- improve formatting of .env.example for better readability #897 - -#### Documentation (docs) - -- add README.md to plugin-evm #1095 -- New docs for community section #1114 -- Update docs (CONTRIBUTING.md) #1053 -- Update community section of docs #1111 -- Plugin list numbering and titles #1107 - -#### Tests (test) - -- adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts #998 - -#### Other (Misc) -- clean newlines for new tweet #1141 -- FAL image settings escape hatch #814 -- Revert "Feat: Update community section of docs" #1112 -- Fix/charity #852 +## v0.1.6-alpha.4 (2024-12-17) + +#### Key Changes +- Fixed Twitter client login and authentication handling (#1158) + +## v0.1.6-alpha.3 (2024-12-17) + +#### Key Changes +- Added package version update script (#1150) +- Set fetch log level to debug for improved troubleshooting (#1153) +- Fixed direct-client functionality for starting agents (#1154) + +## v0.1.6-alpha.2 (2024-12-17) + +#### Major Features +- **Blockchain & DeFi:** + - Added FOMO.fund token creation/trading in plugin-solana (#1135) + - Added support for multiple blockchain platforms: + - MultiversX plugin (#860) + - NEAR Protocol plugin (#847) + - TON plugin (#1039) + - SUI plugin (#934) + - ZKsync Era plugin (#906) + - Enhanced EVM with multichain support (#1009) + +- **Client & Social Interaction:** + - Added Discord and Telegram Team features (#1032, #1033) + - Added Lens client integration (#1098) + - Improved X/Twitter login with cookie validation and retry (#856) + - Enhanced Twitter client with action processing (#913) + - Added Slack plugin (#859) + +- **Development & Testing:** + - Added Smoke Test script infrastructure (#1101) + - Added REST API for client-direct configuration (#1052) + - Added GitHub image CI/CD workflow (#889) + +- **Content Creation:** + - Added plugin-story for narrative generation (#1030) + - Added plugin-nft-generation for Solana NFT collections (#1011) + - Added Venice.ai image generation support (#1057) + - Added support for handlebars templating engine (#1136) + +#### Notable Fixes +- Fixed telegram and discord client duplicate functions (#1140, #1125) +- Improved FOMO integration for better performance (#1147) +- Fixed parameter parsing in plugin-evm TransferAction (#965) +- Fixed Twitter posts to remove newline characters (#1070, #1141) +- Enabled bots to post tweets with images from imageGenerationPlugin (#1040) +- Added helpful default agents (Dobby and C3PO) (#1124) + +## v0.1.6-alpha.1 (2024-12-13) + +#### Major Features +- **Blockchain & Web3:** + - Added Flow Blockchain plugin (#874) + - Added TEE Mode to Solana Plugin (#835) + - Enhanced Coinbase plugin with advanced trading (#725) + - Added readContract/invokeContract functionality (#923) + +- **Model Providers:** + - Added NanoGPT provider (#926) + - Added Venice.ai API model provider (#1008) + - Added Hyperbolic API integration (#828) with env var overrides (#974) + - Added configuration for EternalAI model from environment (#927) + +- **Development Tools:** + - Added callback handler to runtime evaluate method (#938) + - Added dynamic watch paths for agent development (#931) + - Added custom fetch logic for agent (#1010) + - Created example folder with sample plugin (#1004) + +- **Media & Content:** + - Improved voice processing with Deepgram transcription (#1026) + - Added MAX_TWEET_LENGTH environment variable control (#912) + +#### Key Fixes +- Fixed Twitter Search Logic and added Galadriel Image Model (#994) +- Fixed Telegram response memory userId to agentId (#948) +- Improved Farcaster client response logic (#914, #963) +- Corrected EVM plugin activation condition (#962) +- Re-enabled generateNewTweetLoop (#1043) + +#### Documentation +- Added templates documentation (#1013) +- Added Thai (TH) README translation (#918) +- Added WSL Setup Guide (#983) +- Added AI Agent Dev School Tutorial Link (#1038) --- -## v0.1.6-alpha.1 (December 13, 2024) -Week of December 9th 2024 release, Many bug fixes +## v0.1.5-alpha.5 (December 07, 2024) #### What's Changed +* feat: working farcaster client -#### Features -- Add Flow Blockchain plugin - [#874](https://github.com/ai16z/eliza/pull/874) -- Add hyperbolic API to Eliza - [#828](https://github.com/ai16z/eliza/pull/828) -- MAX_TWEET_LENGTH env implementation - [#912](https://github.com/ai16z/eliza/pull/912) -- Add advanced Coinbase trading - [#725](https://github.com/ai16z/eliza/pull/725) -- Add readContract/invokeContract functionality to Coinbase plugin - [#923](https://github.com/ai16z/eliza/pull/923) -- Add NanoGPT provider - [#926](https://github.com/ai16z/eliza/pull/926) -- Config eternalai model from env - [#927](https://github.com/ai16z/eliza/pull/927) -- Add hyperbolic env vars to override model class - [#974](https://github.com/ai16z/eliza/pull/974) -- Add TEE Mode to Solana Plugin - [#835](https://github.com/ai16z/eliza/pull/835) -- Add callback handler to runtime evaluate method - [#938](https://github.com/ai16z/eliza/pull/938) -- Add dynamic watch paths for agent development - [#931](https://github.com/ai16z/eliza/pull/931) -- Plugin evm multichain - [#1009](https://github.com/ai16z/eliza/pull/1009) -- Add venice.ai API model provider - [#1008](https://github.com/ai16z/eliza/pull/1008) -- Improve Twitter client with action processing - [#1007](https://github.com/ai16z/eliza/pull/1007) -- Add custom fetch logic for agent - [#1010](https://github.com/ai16z/eliza/pull/1010) -- Add Discord Team features - [#1032](https://github.com/ai16z/eliza/pull/1032) -- Improve voice processing and add deepgram transcription option - [#1026](https://github.com/ai16z/eliza/pull/1026) -- Create example folder with example plugin - [#1004](https://github.com/ai16z/eliza/pull/1004) - -#### Fixes -- Re-enable coverage report upload to Codecov in CI workflow - [#880](https://github.com/ai16z/eliza/pull/880) -- Twitter actions not triggering - [#903](https://github.com/ai16z/eliza/pull/903) -- Evaluation JSON parsing - [#907](https://github.com/ai16z/eliza/pull/907) -- Telegram response memory userId to agentId - [#948](https://github.com/ai16z/eliza/pull/948) -- Farcaster client cleanup and fixed response logic - [#914](https://github.com/ai16z/eliza/pull/914) -- Use MAX_TWEET_LENGTH from setting - [#960](https://github.com/ai16z/eliza/pull/960) -- Correct EVM plugin activation condition - [#962](https://github.com/ai16z/eliza/pull/962) -- Docker trying to filter out missing docs package - [#978](https://github.com/ai16z/eliza/pull/978) -- Re-enable generateNewTweetLoop / lint fixes - [#1043](https://github.com/ai16z/eliza/pull/1043) -- Fix Twitter Search Logic and add Galadriel Image Model - [#994](https://github.com/ai16z/eliza/pull/994) -- Fix farcaster client process action issue - [#963](https://github.com/ai16z/eliza/pull/963) -- Fix typo in characterfile.md - [#986](https://github.com/ai16z/eliza/pull/986) -- Fix typo initialize - [#1000](https://github.com/ai16z/eliza/pull/1000) -- Fix package name in FAQ - [#937](https://github.com/ai16z/eliza/pull/937) - -#### Chores -- Disable building docs on build command - [#884](https://github.com/ai16z/eliza/pull/884) -- Enhance dev script, performance improvement, and add help message - [#887](https://github.com/ai16z/eliza/pull/887) -- Improve dev command - [#892](https://github.com/ai16z/eliza/pull/892) -- Consistent language for Community & Contact link label - [#899](https://github.com/ai16z/eliza/pull/899) -- Fix broken lockfile - [#977](https://github.com/ai16z/eliza/pull/977) -- Pass env variables when setting up GOAT and update GOAT readme - [#898](https://github.com/ai16z/eliza/pull/898) -- Deprecate text-based way of generating JSON - [#920](https://github.com/ai16z/eliza/pull/920) -- Bring Develop up to date with HEAD - [#1006](https://github.com/ai16z/eliza/pull/1006) -- Push Develop into Main - [#1028](https://github.com/ai16z/eliza/pull/1028) -- Release develop into main - [#1045](https://github.com/ai16z/eliza/pull/1045) - -#### Docs -- Add What Did You Get Done This Week #4 summaries and timestamps - [#895](https://github.com/ai16z/eliza/pull/895) -- Add templates documentation to the project - [#1013](https://github.com/ai16z/eliza/pull/1013) -- Update README.md - [#1024](https://github.com/ai16z/eliza/pull/1024) and [#1025](https://github.com/ai16z/eliza/pull/1025) -- Create README_TH.md - [#918](https://github.com/ai16z/eliza/pull/918) -- Add AI Agent Dev School Tutorial Link - [#1038](https://github.com/ai16z/eliza/pull/1038) -- Add WSL Setup Guide to documentation - [#983](https://github.com/ai16z/eliza/pull/983) - -#### Tests -- Initial release of smoke/integration tests + testing framework - [#993](https://github.com/ai16z/eliza/pull/993) -- Adding parsing tests. Changed files parsing.test.ts - [#996](https://github.com/ai16z/eliza/pull/996) - - -#### New Contributors -
      -New Contributors -* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 -* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 -* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 -* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 -* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 -* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 -* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 -* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 -* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 -* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 -* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 -* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 -* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 -* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 -* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 -* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 -* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 -* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 -* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 -* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 -* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 -* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 -* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 -* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.5...v0.1.6-alpha.1 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 --- -## v0.1.5-alpha.5 (December 07, 2024) +## v0.1.5-alpha.4 (2024-12-06) -#### What's Changed -* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 +- **Blockchain & Web3:** + - Added Coinbase ERC20, ERC721, and ERC1155 token deployment/invocation plugin (#803) + - Added Coinbase webhook functionality with examples and testing (#801) + - Added Aptos blockchain plugin (#818) -
      -New Contributors -* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 -
      +- **Model & Performance:** + - Configured system to use LARGE models for responses (#853) + - Added Google model environment variables (#875) -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 +- **Testing & Documentation:** + - Added environment and knowledge tests (#862) + - Added AI Agent Dev School summaries and timestamps (#877) + - Updated quickstart documentation with common issue solutions (#861, #872) + - Fixed plugins documentation (#848) + - Updated Node version in local-development.md (#850) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 --- -## v0.1.5-alpha.4 (December 06, 2024) +## v0.1.5-alpha.3 (2024-12-04) -#### What's Changed -* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 -* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 -* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 -* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 -* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 -* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 -* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 -* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 -* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 -* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 -* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 -* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 -* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 -* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 - -#### New Contributors - -
      -New Contributors -* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 -* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 -* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 -* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 -* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 +- **Core Infrastructure:** + - Added circuit breaker pattern for database operations (#812) + - Fixed Twitter cache expiration issues (#824) + - Pinned all node dependencies and updated @solana/web3.js to safe version (#832) + +- **Development Workflow:** + - Fixed lerna publish command (#811) + - Fixed Docker setup documentation (#826) + - Reverted viem package version (#834) + - Bumped @goat-sdk/plugin-erc20 version (#836) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 --- -## v0.1.5-alpha.3 (December 04, 2024) +## v0.1.5-alpha.0 (2024-12-03) -#### What's Changed -* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 -* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 -* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 -* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 -* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 -* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 -* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 -* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 -* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 +- **Plugin System:** + - Fixed plugin loading when configured with plugin name in character.json (#784) + - Improved actions samples random selection (#799) + +- **Image Generation:** + - Fixed TOGETHER/LLAMACLOUD image generation (#786) -#### New Contributors +- **Platform Improvements:** + - Made Docker use non-interactive mode for Cloud instances (#796) + - Fixed swap type error and user trust creation on first Telegram message (#800) + - Made UUID compatible with number types (#785) -
      -New Contributors -* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 -
      +- **Development Infrastructure:** + - Updated npm publication workflow (#805, #806, #807) + - Fixed dev command (#793) + - Fixed environment typo (#787) + - Updated Korean README to match latest English version (#789) -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 --- -## v0.1.5-alpha.0 (December 03, 2024) +## v0.1.5 (2024-12-02) + +#### Summary +This release introduces significant improvements to the Eliza framework with enhancements to database adapters, client interfaces, and plugin architecture. Notable additions include several new provider integrations, improved Twitter functionality, and expanded AI model support. + +#### Major Features + +#### Plugin System Enhancements +- Added 0G plugin for file storage (PR #416) +- Implemented Coinbase plugin with trading and payment capabilities (PR #608, #664) +- Added Conflux plugin support (PR #481) +- Added Buttplug.io integration (PR #517) +- Added TEE (Trusted Execution Environment) plugin (PR #632) +- Added Farcaster client support (PR #386) +- Added Starknet portfolio provider (PR #595) +- Added Goat plugin (PR #736) + +#### AI Model Providers +- Added decentralized inferencing for Eliza (LLAMA, Hermes, Flux) (PR #516) +- Added Galadriel LLM inference provider (PR #651) +- Added RedPill custom models support (PR #668) +- Added decentralized GenAI backend (PR #762) +- Added more AI providers: Ali Bailian (Qwen) and Volengine (Doubao, Bytedance) (PR #747) + +#### Knowledge Processing +- Improved knowledge embeddings (PR #472) +- Enhanced embedding search for non-openai models (PR #660) +- Increased knowledge context (PR #730) +- Added knowledge to state functionality (PR #600) +- Improved knowledge module exporting process (PR #609) + +#### Infrastructure Updates +- Implemented Cache Manager (PR #378) +- Added Docker setup improvements (PR #702) +- Added Turborepo for improved build performance (PR #670) +- Added code coverage configuration (PR #659) +- Improved database connection handling (PR #635) + +#### Client Improvements +- Twitter client refactoring and enhancements (PR #478, #722, #756, #763) +- Discord client improvements with voice support (PR #633, #688) +- Added WhatsApp integration (PR #626) +- Enhanced React client with agent selection and layout improvements (PR #536) +- Integrated Telegram client enhancements (PR #552, #662) +- Added GitHub client initialization (PR #456) -#### What's Changed -* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 -* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 -* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 -* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 -* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 -* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 -* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 -* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 -* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 -* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 -* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 -* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 -* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 - -#### New Contributors - -
      -New Contributors -* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 -* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 -* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 -* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 -* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 +#### Bug Fixes +- Fixed PostgreSQL embedding issues (PR #425, #557) +- Resolved Discord permissions and voice issues (PR #662, #598) +- Fixed Twitter interaction handling (PR #622, #620, #729) +- Improved embeddings for messages with URLs (PR #671) +- Resolved database queries and memory handling (PR #606, #607, #572) +- Fixed token provider and simulation services (PR #547, #627) + +#### Technical Improvements +- Switched from tiktoken to js-tiktoken for worker compatibility (PR #703) +- Improved logging mechanisms (PR #688, #525) +- Enhanced browser service (PR #653) +- Fixed eslint configuration (PR #672) +- Improved template typing system (PR #479) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 --- -## v0.1.5 (December 02, 2024) +## v0.1.4-alpha.3 (2024-11-28) -#### What's Changed -* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 -* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 -* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 -* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 -* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 -* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 -* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 -* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 -* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 -* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 -* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 -* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 -* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 -* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 -* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 -* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 -* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 -* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 -* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 -* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 -* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 -* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 -* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 -* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 -* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 -* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 -* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 -* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 -* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 -* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 -* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 -* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 -* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 -* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 -* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 -* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 -* docs: add template and client configuration guide by @oguzserdar in https://github.com/ai16z/eliza/pull/510 -* Wrap `fastembed` in try catch to allow non node environments to build by @antpb in https://github.com/ai16z/eliza/pull/508 -* fix: husky and pre-commit by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/514 -* fix: lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/515 -* test: add linter to all packages and enable vitest by @snobbee in https://github.com/ai16z/eliza/pull/490 -* feat: add coinbase plugin starting with cb commerce functionality by @monilpat in https://github.com/ai16z/eliza/pull/513 -* fix: Gracefully Handle Add Participants Unique Constraint Error in Postgres by @VarKrishin in https://github.com/ai16z/eliza/pull/495 -* fix: Ollama fix by @yodamaster726 in https://github.com/ai16z/eliza/pull/524 -* fix: ollama local and llama local by @yodamaster726 in https://github.com/ai16z/eliza/pull/521 -* fix: Fix/telegram by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/530 -* fix(deps): update dependency @ai-sdk/anthropic to ^0.0.56 by @renovate in https://github.com/ai16z/eliza/pull/528 -* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/529 -* chore(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/526 -* fix(deps): update dependency @ai-sdk/openai to v1.0.4 by @renovate in https://github.com/ai16z/eliza/pull/533 -* fix(deps): update dependency @ai-sdk/google-vertex to ^0.0.43 by @renovate in https://github.com/ai16z/eliza/pull/532 -* fix: pass runtime to video service by @0xFlicker in https://github.com/ai16z/eliza/pull/535 -* fix: discord voice memory id not unique by @bmgalego in https://github.com/ai16z/eliza/pull/540 -* fix: db queries not using agentId in all memory queries by @bmgalego in https://github.com/ai16z/eliza/pull/539 -* fix: error in getGoals and remove coinbase package-lock.json by @bmgalego in https://github.com/ai16z/eliza/pull/545 -* fix: Use BigInt for tweet IDs in client-twitter by @wraitii in https://github.com/ai16z/eliza/pull/552 -* fix: add try catch to process action by @bmgalego in https://github.com/ai16z/eliza/pull/546 -* fix: generateText format consistency by @tomguluson92 in https://github.com/ai16z/eliza/pull/550 -* fix: bump echogarden to fix case sensitive issue by @0xFlicker in https://github.com/ai16z/eliza/pull/561 -* Improved Twitter Documentation by @grallc in https://github.com/ai16z/eliza/pull/559 -* fix: sql command by @0xFlicker in https://github.com/ai16z/eliza/pull/560 -* fix: remove db adapters depencies from core and remove plugin-node from telegram by @bmgalego in https://github.com/ai16z/eliza/pull/571 -* fix: add missing documents and knowledge memory managers to runtime interface by @bmgalego in https://github.com/ai16z/eliza/pull/572 -* fix: remove postinstall script from plugin-coinbase by @bmgalego in https://github.com/ai16z/eliza/pull/573 -* fix: postgres by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/557 -* fix: Token provider getHighestLiquidityPair by @bmgalego in https://github.com/ai16z/eliza/pull/547 -* Add community stream notes for WDYGDTW 2 by @YoungPhlo in https://github.com/ai16z/eliza/pull/580 -* feat: add new pages by @madjin in https://github.com/ai16z/eliza/pull/581 -* fix: Devex Fixes by @lalalune in https://github.com/ai16z/eliza/pull/583 -* feat: update api docs by @madjin in https://github.com/ai16z/eliza/pull/582 -* feat: Update packages by @lalalune in https://github.com/ai16z/eliza/pull/584 -* Update dependency @echogarden/espeak-ng-emscripten to v0.3.3 by @renovate in https://github.com/ai16z/eliza/pull/537 -* Update dependency @opendocsg/pdf2md to v0.1.32 by @renovate in https://github.com/ai16z/eliza/pull/538 -* Update dependency agent-twitter-client to v0.0.14 by @renovate in https://github.com/ai16z/eliza/pull/542 -* Update docusaurus monorepo to v3.6.3 by @renovate in https://github.com/ai16z/eliza/pull/543 -* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/544 -* feat: More package updates by @lalalune in https://github.com/ai16z/eliza/pull/585 -* Pin dependency vue to 3.5.13 by @renovate in https://github.com/ai16z/eliza/pull/527 -* feat: Shaw/realityspiral/coinbase fixes by @lalalune in https://github.com/ai16z/eliza/pull/586 -* feat: implement coinbase mass payments across base/sol/eth/pol/arb by @monilpat in https://github.com/ai16z/eliza/pull/569 -* Shaw/logger fixes by @lalalune in https://github.com/ai16z/eliza/pull/587 -* fix: missing updates for logger.ts by @yodamaster726 in https://github.com/ai16z/eliza/pull/525 -* fix: React Client fixes by @lalalune in https://github.com/ai16z/eliza/pull/588 -* feat: add agent selection, router and sidebar layout in React client by @vivoidos in https://github.com/ai16z/eliza/pull/536 -* fix: fixing failing goals, cache and token tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/522 -* fix: Shaw/fix zerog by @lalalune in https://github.com/ai16z/eliza/pull/589 -* feat: Add 0G plugin for file storage by @Wilbert957 in https://github.com/ai16z/eliza/pull/416 -* fix: enable test run in CI for core package by @pgoos in https://github.com/ai16z/eliza/pull/590 -* CS - first api hookups. by @justabot in https://github.com/ai16z/eliza/pull/564 -* feat: update sidebars by @madjin in https://github.com/ai16z/eliza/pull/593 -* Download updates by @justabot in https://github.com/ai16z/eliza/pull/594 -* feat: Farcaster Client by @bmgalego in https://github.com/ai16z/eliza/pull/386 -* Pr 33 by @MarcoMandar in https://github.com/ai16z/eliza/pull/596 -* fix: discord crash on sending message to null channel by @odilitime in https://github.com/ai16z/eliza/pull/598 -* fix: db queries in sqljs database adapter not using agentId by @bmgalego in https://github.com/ai16z/eliza/pull/606 -* fix: agent DirectClient is not a type by @odilitime in https://github.com/ai16z/eliza/pull/605 -* fix: add Memory Manager getMemoriesByRoomIds missing tableName param by @bmgalego in https://github.com/ai16z/eliza/pull/602 -* fix: time prompt to include UTC, convert to verbose english to help prompting by @odilitime in https://github.com/ai16z/eliza/pull/603 -* feat: add knowledge to state by @bmgalego in https://github.com/ai16z/eliza/pull/600 -* feat: Adding tests for actions and generation. Skiping test step in defaultCharacters by @ai16z-demirix in https://github.com/ai16z/eliza/pull/591 -* feat: sell simulation service by @MarcoMandar in https://github.com/ai16z/eliza/pull/597 -* fix: use correct getCachedEmbeddings query_field_sub_name by @bmgalego in https://github.com/ai16z/eliza/pull/607 -* fix: knowledge module exporting process by @bmgalego in https://github.com/ai16z/eliza/pull/609 -* fix: add client farcaster templates to character type by @bmgalego in https://github.com/ai16z/eliza/pull/610 -* feat: make node-plugin lazy-loaded for faster boot times by @bmgalego in https://github.com/ai16z/eliza/pull/599 -* chore(nvmrc): update Node.js version from v23.1.0 to v23.3.0 by @wolfcito in https://github.com/ai16z/eliza/pull/611 -* fix: Fix buttplug.io integration and merge by @lalalune in https://github.com/ai16z/eliza/pull/612 -* feat: Add buttplug.io integration by @8times4 in https://github.com/ai16z/eliza/pull/517 -* fix: Update and add Conflux by @lalalune in https://github.com/ai16z/eliza/pull/613 -* feat: add Conflux plugin by @darwintree in https://github.com/ai16z/eliza/pull/481 -* feat: Add decentralized inferencing for Eliza (LLAMA, Hermes, Flux) by @genesis-0000 in https://github.com/ai16z/eliza/pull/516 -* fix: memory similarity log & new knowledge ingestion by @yoniebans in https://github.com/ai16z/eliza/pull/616 -* feat: starknet portfolio provider by @milancermak in https://github.com/ai16z/eliza/pull/595 -* bugfix: Modify docker run error after agent folder move by @THtianhao in https://github.com/ai16z/eliza/pull/458 -* fix: handle when tweet_results is empty better by @odilitime in https://github.com/ai16z/eliza/pull/620 -* fix: small improvements to agent process exits by @cygaar in https://github.com/ai16z/eliza/pull/625 -* Feat/sell simulation by @MarcoMandar in https://github.com/ai16z/eliza/pull/627 -* fix: Add Tweet Response Deduplication Check by @tsubasakong in https://github.com/ai16z/eliza/pull/622 -* fix: node package builds by @cygaar in https://github.com/ai16z/eliza/pull/636 -* dicord bot voice by @tcm390 in https://github.com/ai16z/eliza/pull/633 -* feat: Initial TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/632 -* Notes for AI Agent Dev School #1 by @YoungPhlo in https://github.com/ai16z/eliza/pull/638 -* feat: Merge EVM and add character override by @lalalune in https://github.com/ai16z/eliza/pull/643 -* fix: Add docs, update providers for TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/640 -* fix: running a character.json fails when running per docs by @yodamaster726 in https://github.com/ai16z/eliza/pull/624 -* feat: support starkname by @irisdv in https://github.com/ai16z/eliza/pull/628 -* refactor: better db connection handling by @cygaar in https://github.com/ai16z/eliza/pull/635 -* add connection instruction for connecting with X by @zjasper666 in https://github.com/ai16z/eliza/pull/641 -* Feat/simulation sell types by @MarcoMandar in https://github.com/ai16z/eliza/pull/642 -* updates postgres setup instructions in docs by @DataRelic in https://github.com/ai16z/eliza/pull/645 -* Update ci.yaml by @snobbee in https://github.com/ai16z/eliza/pull/652 -* feat: improve browser service by @cygaar in https://github.com/ai16z/eliza/pull/653 -* added support for LlamaLocal's path outside plugin-node/dist by @dr-fusion in https://github.com/ai16z/eliza/pull/649 -* CS - adding better errors and readme. by @justabot in https://github.com/ai16z/eliza/pull/654 -* feat: implement coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/608 -* fix: pnpm-lock.yaml by @monilpat in https://github.com/ai16z/eliza/pull/664 -* feat: add minimal config file for code cov by @pgoos in https://github.com/ai16z/eliza/pull/659 -* fix: embedding search for non-openai models by @cygaar in https://github.com/ai16z/eliza/pull/660 -* feat: evm pubkey derivation by @St4rgarden in https://github.com/ai16z/eliza/pull/667 -* fix: add missing commands to quickstart by @0xaguspunk in https://github.com/ai16z/eliza/pull/665 -* Add Galadriel LLM Inference Provider by @dontAskVI in https://github.com/ai16z/eliza/pull/651 -* redpill custom models by @v1xingyue in https://github.com/ai16z/eliza/pull/668 -* feat: Add wallet history (transactions, balances) to coinbase providers by @monilpat in https://github.com/ai16z/eliza/pull/658 -* fix: discord permissions and duplicate reactions, new /joinchannel command by @augchan42 in https://github.com/ai16z/eliza/pull/662 -* feat: add image text model provider separation and fal.ai integration by @yoniebans in https://github.com/ai16z/eliza/pull/650 -* feat : whatsapp by @awidearray in https://github.com/ai16z/eliza/pull/626 -* feat: add ICP token creation support by @asDNSk in https://github.com/ai16z/eliza/pull/357 -* integrate tavily by @tcm390 in https://github.com/ai16z/eliza/pull/518 -* incorrect package install location Update plugins.md by @cryptoradagast in https://github.com/ai16z/eliza/pull/669 -* fix: eslint not working by @cygaar in https://github.com/ai16z/eliza/pull/672 -* fix: add missing viem dependency by @HashWarlock in https://github.com/ai16z/eliza/pull/674 -* fix: embeddings for messages with urls by @cygaar in https://github.com/ai16z/eliza/pull/671 -* Fix: run tests with coverage by @pgoos in https://github.com/ai16z/eliza/pull/676 -* feat: improve embeddings, models and connectivity by @augchan42 in https://github.com/ai16z/eliza/pull/677 -* fix: Make TEE Plugin available to launch agent & fix previous launch error by @HashWarlock in https://github.com/ai16z/eliza/pull/678 -* fix: getEmbeddingZeroVector calls by @cygaar in https://github.com/ai16z/eliza/pull/682 -* feat: add Turborepo by @lalalune in https://github.com/ai16z/eliza/pull/670 -* feat: make twitter client polling configurable by @cygaar in https://github.com/ai16z/eliza/pull/683 -* chore: remove unused packages introduced in #677 by @shakkernerd in https://github.com/ai16z/eliza/pull/693 -* Fix/logging issues by @augchan42 in https://github.com/ai16z/eliza/pull/688 -* chore: Remove web-agent folder - duplicate of client folder by @shakkernerd in https://github.com/ai16z/eliza/pull/699 -* fix: update docker image to support turbo and reduce build time by @HashWarlock in https://github.com/ai16z/eliza/pull/702 -* fix: Switch from tiktoken to js-tiktoken for worker compatibility by @antpb in https://github.com/ai16z/eliza/pull/703 -* fix: simplify linting dependencies by @cygaar in https://github.com/ai16z/eliza/pull/721 -* fix: twitter recent interactions by @cygaar in https://github.com/ai16z/eliza/pull/729 -* feat: add new pages, update sidebar by @madjin in https://github.com/ai16z/eliza/pull/728 -* feat: increase knowledge context by @cygaar in https://github.com/ai16z/eliza/pull/730 -* refactor: ClientBase to use a map for managing multiple Twitter clients by account identifier by @tcm390 in https://github.com/ai16z/eliza/pull/722 -* fix: move `fastembed` import to the isnode condition check by @antpb in https://github.com/ai16z/eliza/pull/709 -* chore: remove unused env var by @2pmflow in https://github.com/ai16z/eliza/pull/737 -* fix (core): message completion footer format by @CodingTux in https://github.com/ai16z/eliza/pull/742 -* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/744 -* fix: packagejson updated to latest agent-client 0.0.16 by @denizekiz in https://github.com/ai16z/eliza/pull/753 -* Add running with Gitpod by @v1xingyue in https://github.com/ai16z/eliza/pull/758 -* fix(deps): update dependency @ai-sdk/openai to v1.0.5 by @renovate in https://github.com/ai16z/eliza/pull/751 -* Update environment, add twitter quality of life updates by @lalalune in https://github.com/ai16z/eliza/pull/765 -* fix: improve twitter post content quality by @cygaar in https://github.com/ai16z/eliza/pull/763 -* fix(deps): update dependency tailwind-merge to v2.5.5 by @renovate in https://github.com/ai16z/eliza/pull/761 -* fix: recentPosts always empty by @tcm390 in https://github.com/ai16z/eliza/pull/756 -* feat: Pin dependencies and unify tsconfig by @lalalune in https://github.com/ai16z/eliza/pull/767 -* Update dependency dompurify to v3.2.2 by @renovate in https://github.com/ai16z/eliza/pull/548 -* Update dependency @supabase/supabase-js to v2.46.2 by @renovate in https://github.com/ai16z/eliza/pull/754 -* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/760 -* Update dependency uuid to v11.0.3 by @renovate in https://github.com/ai16z/eliza/pull/766 -* fix: follow-up improvements for ICP token creation (PR #357) by @asDNSk in https://github.com/ai16z/eliza/pull/757 -* feat: more dependency updates by @lalalune in https://github.com/ai16z/eliza/pull/771 -* fix(deps): replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.1 by @renovate in https://github.com/ai16z/eliza/pull/749 -* chore(deps): update dependency @eslint/js to v9.16.0 by @renovate in https://github.com/ai16z/eliza/pull/769 -* chore(deps): update dependency @vitest/eslint-plugin to v1.1.13 by @renovate in https://github.com/ai16z/eliza/pull/770 -* fix(deps): update sqlite related by @renovate in https://github.com/ai16z/eliza/pull/768 -* fix: Integrate jin's docs changes and rebuild docs with a16z by @lalalune in https://github.com/ai16z/eliza/pull/772 -* feat: Create community section by @madjin in https://github.com/ai16z/eliza/pull/745 -* Integrate goat plugin by @lalalune in https://github.com/ai16z/eliza/pull/773 -* feat: add goat plugin by @0xaguspunk in https://github.com/ai16z/eliza/pull/736 -* Add decentralized GenAI backend by @L-jasmine in https://github.com/ai16z/eliza/pull/762 -* Integrate more LLMs, fix case issue in switch by @lalalune in https://github.com/ai16z/eliza/pull/774 -* Merge more model providers and fix issues by @lalalune in https://github.com/ai16z/eliza/pull/775 -* feat: Add two more providers: Ali Bailian(Qwen) and Volengine(Doubao, Bytedance) by @btspoony in https://github.com/ai16z/eliza/pull/747 -* add simulator tutor for plugin-tee docs by @shelvenzhou in https://github.com/ai16z/eliza/pull/746 -* feat: (voice) enhance character card voice configuration support by @augchan42 in https://github.com/ai16z/eliza/pull/698 -* feat: donate 1% of coinbase transactions by default by @monilpat in https://github.com/ai16z/eliza/pull/759 -* Create docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/776 -* fix: Refactor image interface and update to move llama cloud -> together provider by @lalalune in https://github.com/ai16z/eliza/pull/777 -* fix: Text2Image interface refactored by @tomguluson92 in https://github.com/ai16z/eliza/pull/752 -* refactor: refactor dockerfile to reduce image and build time by @HashWarlock in https://github.com/ai16z/eliza/pull/782 -* feat: Update default character by @lalalune in https://github.com/ai16z/eliza/pull/781 - -#### New Contributors - -
      -New Contributors -* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 -* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 -* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 -* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 -* @darwintree made their first contribution in https://github.com/ai16z/eliza/pull/446 -* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 -* @snobbee made their first contribution in https://github.com/ai16z/eliza/pull/463 -* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 -* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 -* @antpb made their first contribution in https://github.com/ai16z/eliza/pull/508 -* @VarKrishin made their first contribution in https://github.com/ai16z/eliza/pull/495 -* @yodamaster726 made their first contribution in https://github.com/ai16z/eliza/pull/524 -* @0xFlicker made their first contribution in https://github.com/ai16z/eliza/pull/535 -* @wraitii made their first contribution in https://github.com/ai16z/eliza/pull/552 -* @tomguluson92 made their first contribution in https://github.com/ai16z/eliza/pull/550 -* @grallc made their first contribution in https://github.com/ai16z/eliza/pull/559 -* @YoungPhlo made their first contribution in https://github.com/ai16z/eliza/pull/580 -* @Wilbert957 made their first contribution in https://github.com/ai16z/eliza/pull/416 -* @pgoos made their first contribution in https://github.com/ai16z/eliza/pull/590 -* @justabot made their first contribution in https://github.com/ai16z/eliza/pull/564 -* @wolfcito made their first contribution in https://github.com/ai16z/eliza/pull/611 -* @8times4 made their first contribution in https://github.com/ai16z/eliza/pull/517 -* @genesis-0000 made their first contribution in https://github.com/ai16z/eliza/pull/516 -* @yoniebans made their first contribution in https://github.com/ai16z/eliza/pull/616 -* @milancermak made their first contribution in https://github.com/ai16z/eliza/pull/595 -* @THtianhao made their first contribution in https://github.com/ai16z/eliza/pull/458 -* @cygaar made their first contribution in https://github.com/ai16z/eliza/pull/625 -* @irisdv made their first contribution in https://github.com/ai16z/eliza/pull/628 -* @zjasper666 made their first contribution in https://github.com/ai16z/eliza/pull/641 -* @DataRelic made their first contribution in https://github.com/ai16z/eliza/pull/645 -* @dr-fusion made their first contribution in https://github.com/ai16z/eliza/pull/649 -* @St4rgarden made their first contribution in https://github.com/ai16z/eliza/pull/667 -* @0xaguspunk made their first contribution in https://github.com/ai16z/eliza/pull/665 -* @dontAskVI made their first contribution in https://github.com/ai16z/eliza/pull/651 -* @augchan42 made their first contribution in https://github.com/ai16z/eliza/pull/662 -* @asDNSk made their first contribution in https://github.com/ai16z/eliza/pull/357 -* @cryptoradagast made their first contribution in https://github.com/ai16z/eliza/pull/669 -* @2pmflow made their first contribution in https://github.com/ai16z/eliza/pull/737 -* @CodingTux made their first contribution in https://github.com/ai16z/eliza/pull/742 -* @L-jasmine made their first contribution in https://github.com/ai16z/eliza/pull/762 -* @btspoony made their first contribution in https://github.com/ai16z/eliza/pull/747 -* @shelvenzhou made their first contribution in https://github.com/ai16z/eliza/pull/746 -* @Freytes made their first contribution in https://github.com/ai16z/eliza/pull/776 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 +#### Summary +This alpha release introduces initial improvements to the platform with focus on documentation, bug fixes, and foundational service enhancements. + +#### Major Features +- Created cache manager system (PR #378) +- Implemented Twitter client refactoring (PR #478) +- Added GitHub client initialization (PR #456) +- Introduced create-eliza-app utility (PR #462) + +#### Bug Fixes +- Fixed PostgreSQL embedding issues (PR #425) +- Fixed Twitter dry run functionality (PR #452) +- Resolved character path loading issues (PR #486, #487) +- Fixed agent type error and SQLite file environment handling (PR #484) + +#### Documentation +- Added best practices documentation (PR #463) +- Updated Twitter configuration examples (PR #476) +- Updated contributor guidelines (PR #468, #470) +- Added npm installation instructions to homepage (PR #459) + +#### Technical Improvements +- Enhanced knowledge embeddings (PR #472) +- Improved type safety (PR #494) +- Added template types (PR #479) +- Fixed package configuration issues (PR #488, #503, #504) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 --- -## v0.1.4-alpha.3 (November 28, 2024) +## v0.1.3-alpha.2 (2024-11-20) -#### What's Changed +#### Summary +This minor alpha release focuses on configuration and import fixes to prepare for npm publication. + +#### Bug Fixes +- Fixed configuration settings (PR #431) +- Resolved linting and import issues for npm compatibility (PR #433, #435) + +#### Technical Improvements +- Removed requirement for .env file to exist (PR #427) +- Updated pull request workflows (PR #429) -* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 -* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 -* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 -* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 -* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 -* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 -* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 -* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 -* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 -* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 -* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 -* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 -* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 -* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 -* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 -* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 -* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 -* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 -* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 -* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 -* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 -* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 -* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 -* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 -* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 -* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 -* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 -* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 -* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 -* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 -* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 -* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 -* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 -* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 -* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 -* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 - -#### New Contributors - -
      -New Contributors -* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 -* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 -* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 -* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 -* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 -* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 -* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 --- -## v0.1.3-alpha.2 (November 20, 2024) +## v0.1.3 (2024-11-20) -#### What's Changed -* fix: configs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/431 -* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 -* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 -* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 -* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 -* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 +#### Summary +This release improves documentation, fixes critical import issues, and enhances Discord voice functionality. -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 +#### Bug Fixes +- Fixed import path issues (PR #435, #436) +- Adjusted default path following agent directory restructuring (PR #432) +- Corrected Discord voice permissions and settings (PR #444, #447) +- Fixed console logging issues (PR #440) +- Resolved linter issues (PR #397) ---- +#### Documentation +- Added comprehensive style guidelines to context (PR #441) +- Updated contributing documentation (PR #430) -## v0.1.3 (November 20, 2024) +#### Technical Improvements +- Fixed Discord bot default deafened state (PR #437) +- Improved error handling and logging (PR #433) -#### What's Changed -* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 -* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 -* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 -* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 -* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 -* fix: path by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/436 -* fix: since agent is moved out of packages, adjust default path by @odilitime in https://github.com/ai16z/eliza/pull/432 -* fix: Fix linter issues by @martincik in https://github.com/ai16z/eliza/pull/397 -* feat: add all the style guidelines to the context by @o-on-x in https://github.com/ai16z/eliza/pull/441 -* fix: fixes some console logs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/440 -* fix: The bot is by default deafened and we don't want that by @martincik in https://github.com/ai16z/eliza/pull/437 -* fix: unrug by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/444 -* fix: voice perms by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/447 - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 --- -## v0.1.1 (November 20, 2024) +## v0.1.1 (2024-11-20) + +#### Summary +This major release implements significant architectural changes with a modular plugin system, expanded AI model support, multi-language capability, and improved knowledge processing features. + +#### Major Features + +#### Plugin System +- Abstracted Eliza into a package for NPM publication with plugin system (PR #214) +- Created various adapters, plugins, and clients (PR #225) +- Added Starknet plugin (PR #287) +- Implemented Unruggable plugin for token safety (PR #398, #418) +- Added video generation plugin (PR #394) + +#### AI Model Providers +- Added Groq API integration (PR #194) +- Implemented GROK beta support (PR #216) +- Added OLLAMA as model provider (PR #221) +- Added OpenRouter model provider (PR #245) +- Added Google model support (PR #246) +- Added Heurist API integration (PR #335) + +#### Blockchain Integration +- Implemented swap functionality (PR #197) +- Added token transfer action (PR #297) +- Added trust integration and database support (PR #248, #349) +- Created Starknet token transfer capability (PR #373) +- Added ICP token creation support (PR #357) + +#### Client Interfaces +- Fixed Discord voice and DMs (PR #203) +- Enhanced Telegram client functionality (PR #304, #308) +- Improved Twitter integration with context and spam reduction (PR #383) + +#### Infrastructure Updates +- Added PostgreSQL adapter (PR #247) +- Dockerized application for development and deployment (PR #293) +- Implemented services architecture (PR #412) +- Added logging improvements (PR #393) + +#### Multi-language Support +- Added Japanese README (PR #307) +- Added Korean and French README (PR #312) +- Added Portuguese README (PR #320) +- Added Spanish, Russian, Turkish, and Italian translations (PR #400, #380, #376, #411) -#### What's Changed -* Groq api integration by @juke in https://github.com/ai16z/eliza/pull/194 -* Updated documentation by @atvonsc in https://github.com/ai16z/eliza/pull/195 -* Major documentation updates by @madjin in https://github.com/ai16z/eliza/pull/199 -* swap Dao action initital by @MarcoMandar in https://github.com/ai16z/eliza/pull/196 -* Swap functionality by @lalalune in https://github.com/ai16z/eliza/pull/197 -* Add RedPill API Support by @HashWarlock in https://github.com/ai16z/eliza/pull/198 -* Fix Discord Voice and DMs by @lalalune in https://github.com/ai16z/eliza/pull/203 -* Shaw fix characters paths, .ts requirement and missings args by @lalalune in https://github.com/ai16z/eliza/pull/204 -* Implement grok beta by @MeDott29 in https://github.com/ai16z/eliza/pull/216 -* add the template overrides by @lalalune in https://github.com/ai16z/eliza/pull/207 -* lazy load llama by @lalalune in https://github.com/ai16z/eliza/pull/220 -* Abstracts Eliza into a Package to enble publishing onto NPM along with plugin system by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/214 -* Add OLLAMA as Model Provider by @o-on-x in https://github.com/ai16z/eliza/pull/221 -* models.gguf stored in models file, & tsconfig changes for ref @eliza/core & other things by @o-on-x in https://github.com/ai16z/eliza/pull/224 -* plugin-image-generation tsconfig.json fix & ollama error handling by @o-on-x in https://github.com/ai16z/eliza/pull/228 -* Update Docs by @madjin in https://github.com/ai16z/eliza/pull/231 -* update docs by @madjin in https://github.com/ai16z/eliza/pull/233 -* move code out to plugins, adapters and clients by @lalalune in https://github.com/ai16z/eliza/pull/225 -* Added OpenRouter model provider by @o-on-x in https://github.com/ai16z/eliza/pull/245 -* Support google models in generation by @parzival418 in https://github.com/ai16z/eliza/pull/246 -* trust integration by @MarcoMandar in https://github.com/ai16z/eliza/pull/248 -* Working PostGres Adapter by @cvartanian in https://github.com/ai16z/eliza/pull/247 -* use openai embeddings setting by @o-on-x in https://github.com/ai16z/eliza/pull/252 -* refactor embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/254 -* embedding set to use openai endpoint when using openai embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/255 -* bigint support in logger by @o-on-x in https://github.com/ai16z/eliza/pull/256 -* Fix: changed claude-3-5-haiku to claude-3-5-haiku-20241022 for fixing… by @denizekiz in https://github.com/ai16z/eliza/pull/257 -* Update docs by @madjin in https://github.com/ai16z/eliza/pull/253 -* cachedEmbeddings fix by @dorianjanezic in https://github.com/ai16z/eliza/pull/262 -* add verbose config with logger by @v1xingyue in https://github.com/ai16z/eliza/pull/249 -* recommendations, token info, client auto by @MarcoMandar in https://github.com/ai16z/eliza/pull/250 -* fix: docs features darkmode color by @fabianhug in https://github.com/ai16z/eliza/pull/266 -* docs homepage rework by @mrpspring in https://github.com/ai16z/eliza/pull/280 -* Improve Docs by @madjin in https://github.com/ai16z/eliza/pull/273 -* Don't blow up if the wallet is missing by @ferric-sol in https://github.com/ai16z/eliza/pull/281 -* Fix embedding calculation for sqlite by @ferric-sol in https://github.com/ai16z/eliza/pull/261 -* Fix: compute unit increasein swapts, default is too low to make trans… by @denizekiz in https://github.com/ai16z/eliza/pull/276 -* add modelProvider to json to resolve embeddings error by @twilwa in https://github.com/ai16z/eliza/pull/274 -* fix docs: add python as a prerequisite (needed for node-gyp) by @metadiver in https://github.com/ai16z/eliza/pull/277 -* Bundles by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/285 -* Loaf stuff by @lalalune in https://github.com/ai16z/eliza/pull/286 -* Added missing GROK model provider key initialization by @FabriceIRANKUNDA in https://github.com/ai16z/eliza/pull/296 -* Added Transfer / Send Token Action by @o-on-x in https://github.com/ai16z/eliza/pull/297 -* telegram: start agent after client initialization by @o-on-x in https://github.com/ai16z/eliza/pull/304 -* Telegram client refactor for bot info availability by @ropresearch in https://github.com/ai16z/eliza/pull/308 -* Increased llama and llama based model temperatures by @alanneary17 in https://github.com/ai16z/eliza/pull/310 -* docs: add a new Japanese README by @eltociear in https://github.com/ai16z/eliza/pull/307 -* Add Korean and French README by @BugByClaude in https://github.com/ai16z/eliza/pull/312 -* fix service call patterns but needs testing by @lalalune in https://github.com/ai16z/eliza/pull/311 -* add node version check by @thearyanag in https://github.com/ai16z/eliza/pull/299 -* added working pumpfun.ts by @o-on-x in https://github.com/ai16z/eliza/pull/313 -* Fix broken docs by @madjin in https://github.com/ai16z/eliza/pull/321 -* docs: add a new Portuguese README version by @gabrielsants in https://github.com/ai16z/eliza/pull/320 -* Update Quickstart Guide by @odilitime in https://github.com/ai16z/eliza/pull/325 -* Save Trade on creation to the backend by @MarcoMandar in https://github.com/ai16z/eliza/pull/328 -* utils.ts example tweet splitting by @o-on-x in https://github.com/ai16z/eliza/pull/323 -* [LLM Object Generation][1/2] Leverage AI Lib's Generate Object instead of parsing strings by @monilpat in https://github.com/ai16z/eliza/pull/309 -* claude vertex configs added to generation.ts (was missing) by @denizekiz in https://github.com/ai16z/eliza/pull/330 -* README_KOR.md Korean version edited by a Korean by @sumin13245 in https://github.com/ai16z/eliza/pull/329 -* Dockerized application for local development, testing and deployment by @pindaroso in https://github.com/ai16z/eliza/pull/293 -* fix: Build error for packages requiring @ai16z/eliza by @shakkernerd in https://github.com/ai16z/eliza/pull/331 -* Docs: README.md improvements: clarify testing, add additional docker information by @odilitime in https://github.com/ai16z/eliza/pull/333 -* Docs: additional Quickstart clarification and improvements by @odilitime in https://github.com/ai16z/eliza/pull/334 -* added clientConfig to optionally ignore bots and DMs by @vivoidos in https://github.com/ai16z/eliza/pull/336 -* feat: Add Heurist API Integration as New Model Provider by @tsubasakong in https://github.com/ai16z/eliza/pull/335 -* feat: Starknet plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/287 -* fix: dev build by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/343 -* Update Heurist Integration Documentation and Examples by @tsubasakong in https://github.com/ai16z/eliza/pull/339 -* getOrCreateRecommenderWithTelegramId by @MarcoMandar in https://github.com/ai16z/eliza/pull/345 -* fix: imports and cleanups by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/344 -* trust fixes by @MarcoMandar in https://github.com/ai16z/eliza/pull/347 -* feat: trust db by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/349 -* Add Community & contact and Star History by @thejoven in https://github.com/ai16z/eliza/pull/353 -* fix: solana by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/354 -* fix: some trust fixes by @lalalune in https://github.com/ai16z/eliza/pull/346 -* change default configuration of Heurist by @wjw12 in https://github.com/ai16z/eliza/pull/348 -* update tweet interval to 90-180 mins by @oguzserdar in https://github.com/ai16z/eliza/pull/360 -* feat: update docs with new stream notes by @madjin in https://github.com/ai16z/eliza/pull/364 -* post time set in env by @o-on-x in https://github.com/ai16z/eliza/pull/368 -* default set to new standard post time 90-180 type: post time by @o-on-x in https://github.com/ai16z/eliza/pull/369 -* feat: readme by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/370 -* twitter-profile-remake by @alextitonis in https://github.com/ai16z/eliza/pull/263 -* fix: bug in getRecentMessageInteractions not awating for promisses before formating by @bmgalego in https://github.com/ai16z/eliza/pull/366 -* feat: starknet token transfer by @enitrat in https://github.com/ai16z/eliza/pull/373 -* feat: Adding unit tests for start - Covering goals, defaultCharacters, relationships, evaulators, posts, database, messages by @ai16z-demirix in https://github.com/ai16z/eliza/pull/367 -* feat: Enhance Heurist Image Generation Settings and Image Handling by @tsubasakong in https://github.com/ai16z/eliza/pull/375 -* feat: install clients from plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/371 -* fix: openrouter 70b don't support 128000, changed to 405b in model.ts by @denizekiz in https://github.com/ai16z/eliza/pull/356 -* feat: client by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/382 -* feat: Complete Starknet DB Trust by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/355 -* fix: client null by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/390 -* fix: ca for btc was spam/fake by @thearyanag in https://github.com/ai16z/eliza/pull/374 -* feat: Logging improvements by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/393 -* Fix tweet truncation issue by truncating at complete sentences by @boyaloxer in https://github.com/ai16z/eliza/pull/388 -* feat: Create README_ES.md by @metadiver in https://github.com/ai16z/eliza/pull/400 -* Register memory managers if passed to runtime by @martincik in https://github.com/ai16z/eliza/pull/396 -* fix: tsup build error (client-twitter) by @leomercier in https://github.com/ai16z/eliza/pull/402 -* docs: add Russian(RU) translation of README by @whonion in https://github.com/ai16z/eliza/pull/380 -* docs: Update README_FR.md by @xclicx in https://github.com/ai16z/eliza/pull/377 -* docs: add Turkish (TR) translation of README by @oguzserdar in https://github.com/ai16z/eliza/pull/376 -* feat: Contextual Twitter Threads + Spam Reduction by @ropresearch in https://github.com/ai16z/eliza/pull/383 -* fix: Lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/404 -* fix: adds Groq to getTokenForProvider by @bmgalego in https://github.com/ai16z/eliza/pull/381 -* fix: console by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/405 -* feat: unruggable by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/398 -* fix: Fixes by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/407 -* docs: refresh eliza's tagline, fix broken links, unify formatting for core concepts by @wahndo in https://github.com/ai16z/eliza/pull/389 -* docs: add GROK_API_KEY by @whalelephant in https://github.com/ai16z/eliza/pull/409 -* Add italian README.md translation by @fabrizioff in https://github.com/ai16z/eliza/pull/411 -* feat: video generation plugin by @dorianjanezic in https://github.com/ai16z/eliza/pull/394 -* Readme update WSL 2 link added. by @denizekiz in https://github.com/ai16z/eliza/pull/419 -* feat: services by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/412 -* fix: removed ollama embeddings. fastembeddings or openai only by @o-on-x in https://github.com/ai16z/eliza/pull/413 -* fix: Update adapters.md psql schema by @tarrencev in https://github.com/ai16z/eliza/pull/424 -* feat: [Issue-185] Token Provider Tests by @normand1 in https://github.com/ai16z/eliza/pull/365 -* feat: unruggable on starknet by @RedBeardEth in https://github.com/ai16z/eliza/pull/418 -* fix: don't continue to load if a specified file is not found by @odilitime in https://github.com/ai16z/eliza/pull/426 -* feat: lerna an npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/428 - -#### New Contributors - -
      -New Contributors -* @juke made their first contribution in https://github.com/ai16z/eliza/pull/194 -* @atvonsc made their first contribution in https://github.com/ai16z/eliza/pull/195 -* @HashWarlock made their first contribution in https://github.com/ai16z/eliza/pull/198 -* @MeDott29 made their first contribution in https://github.com/ai16z/eliza/pull/216 -* @parzival418 made their first contribution in https://github.com/ai16z/eliza/pull/246 -* @cvartanian made their first contribution in https://github.com/ai16z/eliza/pull/247 -* @denizekiz made their first contribution in https://github.com/ai16z/eliza/pull/257 -* @dorianjanezic made their first contribution in https://github.com/ai16z/eliza/pull/262 -* @v1xingyue made their first contribution in https://github.com/ai16z/eliza/pull/249 -* @fabianhug made their first contribution in https://github.com/ai16z/eliza/pull/266 -* @mrpspring made their first contribution in https://github.com/ai16z/eliza/pull/280 -* @FabriceIRANKUNDA made their first contribution in https://github.com/ai16z/eliza/pull/296 -* @ropresearch made their first contribution in https://github.com/ai16z/eliza/pull/308 -* @alanneary17 made their first contribution in https://github.com/ai16z/eliza/pull/310 -* @BugByClaude made their first contribution in https://github.com/ai16z/eliza/pull/312 -* @thearyanag made their first contribution in https://github.com/ai16z/eliza/pull/299 -* @gabrielsants made their first contribution in https://github.com/ai16z/eliza/pull/320 -* @odilitime made their first contribution in https://github.com/ai16z/eliza/pull/325 -* @monilpat made their first contribution in https://github.com/ai16z/eliza/pull/309 -* @sumin13245 made their first contribution in https://github.com/ai16z/eliza/pull/329 -* @pindaroso made their first contribution in https://github.com/ai16z/eliza/pull/293 -* @shakkernerd made their first contribution in https://github.com/ai16z/eliza/pull/331 -* @vivoidos made their first contribution in https://github.com/ai16z/eliza/pull/336 -* @tsubasakong made their first contribution in https://github.com/ai16z/eliza/pull/335 -* @thejoven made their first contribution in https://github.com/ai16z/eliza/pull/353 -* @wjw12 made their first contribution in https://github.com/ai16z/eliza/pull/348 -* @oguzserdar made their first contribution in https://github.com/ai16z/eliza/pull/360 -* @bmgalego made their first contribution in https://github.com/ai16z/eliza/pull/366 -* @enitrat made their first contribution in https://github.com/ai16z/eliza/pull/373 -* @ai16z-demirix made their first contribution in https://github.com/ai16z/eliza/pull/367 -* @boyaloxer made their first contribution in https://github.com/ai16z/eliza/pull/388 -* @martincik made their first contribution in https://github.com/ai16z/eliza/pull/396 -* @whonion made their first contribution in https://github.com/ai16z/eliza/pull/380 -* @xclicx made their first contribution in https://github.com/ai16z/eliza/pull/377 -* @whalelephant made their first contribution in https://github.com/ai16z/eliza/pull/409 -* @fabrizioff made their first contribution in https://github.com/ai16z/eliza/pull/411 -* @tarrencev made their first contribution in https://github.com/ai16z/eliza/pull/424 -* @normand1 made their first contribution in https://github.com/ai16z/eliza/pull/365 -* @RedBeardEth made their first contribution in https://github.com/ai16z/eliza/pull/418 -
      - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 ---- +#### Bug Fixes +- Fixed embedding calculation for SQLite (PR #261) +- Fixed tweet truncation issues (PR #388) +- Improved error handling for model providers +- Fixed wallet interaction issues (PR #281) + +#### Technical Improvements +- Added lazy loading for LLAMA models (PR #220) +- Implemented node version checking (PR #299) +- Created template overrides system (PR #207) +- Enhanced embedding handling (PR #254, #262) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 diff --git a/docs/notes/changelog.md b/docs/notes/changelog.md new file mode 100644 index 00000000000..f9d4b4447b9 --- /dev/null +++ b/docs/notes/changelog.md @@ -0,0 +1,3337 @@ +# Changelog +## v0.25.8 (February 24, 2025) + +#### Major changes since [v0.25.6-alpha.1](https://github.com/elizaOS/eliza/releases/tag/v0.25.6-alpha.1) + +#### Features + +- Dynamic plugin loading (move all plugins out) https://github.com/elizaOS/eliza/pull/3339 +- plugin CLI list/installer utility https://github.com/elizaOS/eliza/pull/3429 +- Enable fetching relevant facts in the facts provider https://github.com/elizaOS/eliza/pull/2635 +- Gaianet support set API key https://github.com/elizaOS/eliza/pull/3591 +- Add NEAR AI model provider https://github.com/elizaOS/eliza/pull/3275 +- Support for Secret AI LLM https://github.com/elizaOS/eliza/pull/3615 +- Added cachedir to filesystem cache https://github.com/elizaOS/eliza/pull/3291 +- Configuration: set Lava as the default RPC URL for NEAR and Starknet https://github.com/elizaOS/eliza/pull/3323 +- Modify the configuration for the plugin-nkn https://github.com/elizaOS/eliza/pull/3570 + +#### Fixes + +- https://github.com/advisories/GHSA-584q-6j8j-r5pm https://github.com/elizaOS/eliza/pull/2958 +- Fix default character https://github.com/elizaOS/eliza/pull/3345 +- Fix set agent from API https://github.com/elizaOS/eliza/pull/3618 +- Store stringKnowledge in knowledge when ragKnowledge is enabled (https://github.com/elizaOS/eliza/issues/3434) https://github.com/elizaOS/eliza/pull/3435 +- Update chunk & overlap in rag function https://github.com/elizaOS/eliza/pull/2525 +- Fix bedrock inference https://github.com/elizaOS/eliza/pull/3553 +- Generate structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 +- Exporting structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 + +#### What's Changed since last release + +* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 +* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 +* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 +* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 +* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 +* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 +* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 +* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 +* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 +* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 +* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 +* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 +* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 +* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 +* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 +* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 +* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 +* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 +* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 +* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 +* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 +* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 +* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 +* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 +* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 +* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 +* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 +* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 +* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 +* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 +* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 +* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 +* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 +* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 +* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 +* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 +* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 +* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 +* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 +* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 +* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 +* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 +* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 +* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 +* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 +* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 +* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 +* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 +* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 +* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 +* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 +* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 +* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 +* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 +* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 +* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 +* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 +* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 +* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 +* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 +* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 +* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 +* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 +* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 +* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 +* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 +* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 +* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 +* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 +* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 +* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 +* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 +* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 +* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 +* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 +* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 +* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 +* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 +* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 +* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 +* feat: Dynamic Plugin Loading (merged_) by @lalalune in https://github.com/elizaOS/eliza/pull/3339 +* chore: move default character to agent by @lalalune in https://github.com/elizaOS/eliza/pull/3343 +* Delete all plugins by @lalalune in https://github.com/elizaOS/eliza/pull/3342 +* feat: remove verifiable inference concept, will be plugin loaded by @lalalune in https://github.com/elizaOS/eliza/pull/3344 +* fix: fix default character by @lalalune in https://github.com/elizaOS/eliza/pull/3345 +* chore: Remove plugin imports from agent by @avaer in https://github.com/elizaOS/eliza/pull/3346 +* chore: Add adapter-sqlite to deps by @avaer in https://github.com/elizaOS/eliza/pull/3357 +* feat: v1 CLI utility by @odilitime in https://github.com/elizaOS/eliza/pull/3429 +* chore: commit d.a.t.a env configurations by @PisK4 in https://github.com/elizaOS/eliza/pull/3457 +* docs: Update readme to clarify difference between eliza-starter and eliza repos by @altcoinalpinist in https://github.com/elizaOS/eliza/pull/3453 +* docs: add note about 0x prefix needed for evm private key by @Bleyle823 in https://github.com/elizaOS/eliza/pull/3414 +* chore: client/FAQ/Character file Docs update by @madjin in https://github.com/elizaOS/eliza/pull/3410 +* chore: update change log by @threewebcode in https://github.com/elizaOS/eliza/pull/3407 +* fix: Store stringKnowledge in knowledge when ragKnowledge is enabled (#3434) by @lincheoll in https://github.com/elizaOS/eliza/pull/3435 +* docs: fix incorrect image paths in Korean documentation by @gkfyr in https://github.com/elizaOS/eliza/pull/3489 +* docs: New remote deployment guide by @bealers in https://github.com/elizaOS/eliza/pull/3501 +* chore: adding compass plugin env vars by @royalnine in https://github.com/elizaOS/eliza/pull/3494 +* docs: Add weekly contributor meeting notes (2025-02-04 + 2025-02-11) by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3484 +* fix: remove --no-frozen-lockfile from Dockerfile by @kyle-veniceai in https://github.com/elizaOS/eliza/pull/3428 +* chore: move characters out to submodule by @odilitime in https://github.com/elizaOS/eliza/pull/3509 +* fix: refactor string literal `http://localhost` with `SERVER_URL` env var in client by @tenthirtyone in https://github.com/elizaOS/eliza/pull/3511 +* docs: Added a Proper Ukrainian README Translation Create README_UA.md by @mdqst in https://github.com/elizaOS/eliza/pull/3483 +* feat: Added cachedir to filesystem cache by @Swader in https://github.com/elizaOS/eliza/pull/3291 +* fix: CVE-2024-48930 by @anupamme in https://github.com/elizaOS/eliza/pull/2958 +* chore: bump version & lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3523 +* fix: Fix bedrock inference by @ebaizel in https://github.com/elizaOS/eliza/pull/3553 +* docs: Added sqlite3 errors to Quickstart by @GabrielCartier in https://github.com/elizaOS/eliza/pull/3539 +* docs: fix branch naming example in CONTRIBUTING.md by @mdqst in https://github.com/elizaOS/eliza/pull/3532 +* chore: Trim block from Ollama response by @amirkhonov in https://github.com/elizaOS/eliza/pull/3545 +* chore: Update and cleanup docs by @madjin in https://github.com/elizaOS/eliza/pull/3584 +* feat: Modify the configuration for the plugin-nkn by @iheron in https://github.com/elizaOS/eliza/pull/3570 +* docs: enhance README with detailed requirements and contribution guidelines by @avorylli in https://github.com/elizaOS/eliza/pull/3392 +* docs: Fix broken links by @sukrucildirr in https://github.com/elizaOS/eliza/pull/3599 +* feat: gaianet support set api key by @L-jasmine in https://github.com/elizaOS/eliza/pull/3591 +* feat: allow eliza client to configure eliza server base URL via env var by @bguiz in https://github.com/elizaOS/eliza/pull/3589 +* chore: docs update by @madjin in https://github.com/elizaOS/eliza/pull/3605 +* fix: installing packages from new registry by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3609 +* fix: importing plugins from registry by @royalnine in https://github.com/elizaOS/eliza/pull/3611 +* fix: set agent from api by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3618 +* fix: Fix devcontainer.json Port Mapping Syntax and JSON Structure by @NeoByteXx in https://github.com/elizaOS/eliza/pull/3616 +* fix: update chunk & Overlap in rag function by @adventuresinai in https://github.com/elizaOS/eliza/pull/2525 +* feat: Showcase page in docs for plugins by @madjin in https://github.com/elizaOS/eliza/pull/3620 +* feat: add NEAR AI model provider by @think-in-universe in https://github.com/elizaOS/eliza/pull/3275 +* chore(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3525 +* feat: configuration: Set Lava as the default RPC URL for NEAR and Starknet by @nimrod-teich in https://github.com/elizaOS/eliza/pull/3323 +* feat: Add support for Secret AI LLM by @iKapitonau in https://github.com/elizaOS/eliza/pull/3615 +* chore: Bump version to 0.25.8 by @odilitime in https://github.com/elizaOS/eliza/pull/3632 +* chore: fix lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3633 +* update discord link by @odilitime in https://github.com/elizaOS/eliza/pull/3643 +* feat: Enable fetching relevant facts in the facts provider. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2635 +* chore: turbo optimizations by @ryptotalent in https://github.com/elizaOS/eliza/pull/2503 +* feat: replace AgentRuntime to his interface to extend client by @kesar in https://github.com/elizaOS/eliza/pull/2388 +* chore: remove langchain dependency for text splitting by @Deeptanshu-sankhwar in https://github.com/elizaOS/eliza/pull/3642 +* fix: generate structured objects and images with NEAR AI by @think-in-universe in https://github.com/elizaOS/eliza/pull/3644 +* chore: stablize develop by @odilitime in https://github.com/elizaOS/eliza/pull/3645 +* chore: develop => main (0.25.8 release) by @odilitime in https://github.com/elizaOS/eliza/pull/3522 + +#### New Contributors + +
      +View New Contributors +* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 +* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 +* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 +* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 +* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 +* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 +* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 +* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 +* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 +* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 +* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 +* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 +* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 +* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 +* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 +* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 +* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 +* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 +* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 +* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 +* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 +* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 +* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 +* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 +* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 +* @PisK4 made their first contribution in https://github.com/elizaOS/eliza/pull/3457 +* @altcoinalpinist made their first contribution in https://github.com/elizaOS/eliza/pull/3453 +* @Bleyle823 made their first contribution in https://github.com/elizaOS/eliza/pull/3414 +* @gkfyr made their first contribution in https://github.com/elizaOS/eliza/pull/3489 +* @royalnine made their first contribution in https://github.com/elizaOS/eliza/pull/3494 +* @kyle-veniceai made their first contribution in https://github.com/elizaOS/eliza/pull/3428 +* @tenthirtyone made their first contribution in https://github.com/elizaOS/eliza/pull/3511 +* @Swader made their first contribution in https://github.com/elizaOS/eliza/pull/3291 +* @anupamme made their first contribution in https://github.com/elizaOS/eliza/pull/2958 +* @GabrielCartier made their first contribution in https://github.com/elizaOS/eliza/pull/3539 +* @iheron made their first contribution in https://github.com/elizaOS/eliza/pull/3570 +* @avorylli made their first contribution in https://github.com/elizaOS/eliza/pull/3392 +* @bguiz made their first contribution in https://github.com/elizaOS/eliza/pull/3589 +* @daniel-trevino made their first contribution in https://github.com/elizaOS/eliza/pull/3609 +* @NeoByteXx made their first contribution in https://github.com/elizaOS/eliza/pull/3616 +* @adventuresinai made their first contribution in https://github.com/elizaOS/eliza/pull/2525 +* @think-in-universe made their first contribution in https://github.com/elizaOS/eliza/pull/3275 +* @nimrod-teich made their first contribution in https://github.com/elizaOS/eliza/pull/3323 +* @iKapitonau made their first contribution in https://github.com/elizaOS/eliza/pull/3615 +* @ryptotalent made their first contribution in https://github.com/elizaOS/eliza/pull/2503 +* @Deeptanshu-sankhwar made their first contribution in https://github.com/elizaOS/eliza/pull/3642 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 + +--- + +## v0.25.6-alpha.1 (February 06, 2025) + +Please note the versioning change, 25 representing the year and 6 being week 6 of that year. + +#### New Features + +- Save imageUrls for outbound tweets/messages #3122 +- Coingecko advanced - various pools by network #3170 +- Add Edwin plugin to Eliza #3045 +- Plugin desk exchange #3096 +- new Spanish speaking Trump sample character file #3119 +- TON Plugin: NFT collection, item creation, metadata change and transfer actions #3211 +- Add CREATE_POOL action in MultiversX plugin #3209 + +#### New Fixes + +- Upgrade OpenAI and Vercel AI packages to fix O1 errors #3146 +- Remove duplicated plugins #3126 +- Update provider-utils #3189 +- Extract attribute from raw text instead of normalized JSON #3190 +- Think tag from Venice #3203 +- Slack download upload attachments #3194 +- Update pnpm version during Docker build #3158 +- Remove duplicated dependencies #3215 +- Quick-intel plugin optimizations & fixes #3208 + +#### What's Changed + +* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 +* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 +* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 +* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 +* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 +* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 +* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 +* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 +* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 +* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 +* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 +* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 +* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 +* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 +* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 +* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 +* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 +* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 +* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 +* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 +* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 +* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 +* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 +* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 +* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 +* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 +* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 +* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 +* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 +* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 +* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 +* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 +* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 +* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 +* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 +* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 +* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 +* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 +* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 +* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 +* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 +* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 +* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 +* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 +* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 +* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 +* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 +* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 +* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 +* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 +* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 +* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 +* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 +* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 +* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 +* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 +* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 +* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 +* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 +* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 +* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 +* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 +* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 +* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 +* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 +* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 +* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 +* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 +* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 +* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 +* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 +* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 +* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 +* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 +* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 +* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 +* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 +* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 +* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 +* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 + +#### New Contributors + +
      +View New Contributors +* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 +* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 +* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 +* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 +* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 +* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 +* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 +* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 +* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 +* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 +* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 +* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 +* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 +* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 +* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 +* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 +* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 +* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 +* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 +* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 +* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 +* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 +* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 +* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 +* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 + +--- + +## v0.1.9 (February 01, 2025) + +#### 🚀 Features + +- Instagram client #1964 +- Client for Telegram account #2839 +- XMTP Client #2786 +- Twitter post media #2818 +- Discord autonomous agent enhancement #2335 +- Telegram autonomous agent enhancement #2338 +- Direct Client API - Add Delete Agent functionality #2267 +- Add an example service #2249 + +AI & LLM Integrations +- Add support for NVIDIA inference for ElizaOS #2512 +- Integrate Livepeer LLM provider #2154 +- Add Amazon Bedrock as LLM provider #2769 +- Add birdeye plugin #1417 + +Solana-Related Updates +- Solana plugin improvement for flawless transfers #2340 +- Add features to the Solana Agent Kit #2458 +- Adding tests for plugin-solana #2345 + +Ethereum & EVM-Based Plugin Updates +- Plugin evm oz governance #1710 +- Add plugin-ethstorage #2737 +- Add cross chain swaps through Squid Router #1482 +- Add support for gravity chain in EVM plugin #2228 +- Add Cronos Evm #2585 +- Add plugin-bnb to support BNB chain #2278 +- Plugin for OriginTrail Decentralized Knowledge Graph #2380 +- Add moralis plugin #2764 + +Sui-Related Updates +- Use Aggregator swap sui tokens #3012 +- Sui supports the secp256k1/secp256r1 algorithms #2476 + +Cosmos-Related Updates +- IBC transfer on cosmos blockchains #2358 +- Cosmos Plugin - IBC swap action #2554 + +Injective & Other Blockchain Plugins +- injective plugin #1764 +- Support mina blockchain #2702 +- Add AGW support to the Abstract plugin #2207 +- CoinGecko - add price per address functionality #2262 +- Add Dex Screener plugin with token price action, evaluators #1865 +- Dexscreener trending #2325 + +#### Bug Fixes + +High Priority (Critical Bugs & API Issues) +- DeepSeek API bug: missing API key setting #2186 +- Resolve Windows path issue in pnpm build client #2240 +- IME causes multiple messages on Enter #2274 +- Fix derive key and update remote attestation #2303 +- Ensure RA Action reply does not hallucinate #2355 +- Prevent app crash when REMOTE_CHARACTER_URLS is undefined #2384 +- Check whether REMOTE_CHARACTER_URLS env is defined in starting agent #2382 +- Resolve @ai-sdk/provider version conflicts #2714 +- Ethers/viem issue in mind network plugin #2783 +- Message ID collision in Telegram Client #3053 +- ImageVisionModelProvider Not Applied in Runtime #3056 +- Handle unsupported image provider #3057 +- Fixing the error parsing JSON when an array is a value #3113 + +Client-Specific Issues & Enhancements +- Don't force root for install #2221 +- Align base URL in client if API runs on a different port #2353 +- Fix Incorrect Tweet ID Parameter Passed to sendTweet Function #2430 +- Unexpected JSON Metadata in Twitter Bot Replies #2712 +- Client-twitter homeTimeline name parse bug #2789 +- Topics formatting bug at composeState #2788 +- Bug in goal objectives update lookup logic #2791 +- doesn't work in tweet post template #2951 +- Ensure action tweet replies to agent's initial tweet #2966 +- Auto-scrolling issue in client #3115 + +Plugin Issues & Enhancements +- Missing @elizaos/plugin-b2 #2268 +- Export b2Plugin #2291 +- Set default Squid Router plugin throttle to 1000 #2386 +- Export dexScreenerPlugin #3120 +- Remove duplicate litPlugin import #3121 + +Infrastructure & Build Issues +- Docker images+compose and broken documentation #2347 +- Update Zero Gravity (0G) link #2441 +- Don't start services twice, improve logging #3007 +- Docker build command by skipping eslint files #3110 +- Building error #2938 + +General Code Fixes & Minor Enhancements +- Lint errors #2400 +- Fix typo in import statement for Solana AgentKit plugin #2370 +- Quickstart.md conflicts #2437 +- Typos in supabase seed file #2435 +- If VITE_SERVER_PORT is not defined, use default 3000 #2433 +- Missing import #2444 +- Spell/grammar errors in characters #2447 +- Correct STT plugin userId type #2704 +- Remove duplicated handlePendingTweet #2715 +- Delete plugin-bootstrap sex message #2748 +- TON plugin build issue #2757 +- Make template message footer more explicit #2774 +- Akash splash #2816 +- Akash splash bis #2838 +- Nvidia nim environment #2817 +- Null check #2878 +- Default character OpenAI => LlamaLocal #2880 +- LOG_JSON_FORMAT env var setting #2881 +- Fix abstract package.json #2882 +- Client server port #2886 +- Handle whitespace in quote conversion #2961 +- Remove unnecessary @ts-expect-error directive in chat component #2950 +- Correct regex #3054 +- Single quote handle bug at parseJsonArray #2802 +- OpenAI embedding issue #3003 +- Remove dead code #2945 +- Add missing plugins in package.json #2947 + +#### What's Changed (complete) + +* fix(plugin-twitter): change prompt to ensure it returns json by @odilitime in https://github.com/elizaOS/eliza/pull/2196 +* feat: nft plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2167 +* docs: Add Greek translation for README_GR by @adacapo21 in https://github.com/elizaOS/eliza/pull/2199 +* chore: rename ai16z -> elizaOS by @monilpat in https://github.com/elizaOS/eliza/pull/2211 +* feature: adding tests for whatsapp plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2213 +* fix: DeepSeek API bug: missing api key setting by @daizhengxue in https://github.com/elizaOS/eliza/pull/2186 +* fix: don't force root for install by @proteanx in https://github.com/elizaOS/eliza/pull/2221 +* feat: RP for plugin-tee-verifiable-log by @gene-zhan in https://github.com/elizaOS/eliza/pull/1369 +* feat: Merge my Eliza Installer with the current start.sh script by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2229 +* feat: add support for gravity chain in EVM plugin by @Stumble in https://github.com/elizaOS/eliza/pull/2228 +* docs: Add "What Did You Get Done This Week? #9" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2243 +* feat: Add AGW support to the Abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/2207 +* docs: Add Farsi (Persian )readme by @oxlupo in https://github.com/elizaOS/eliza/pull/2260 +* feat: CoinGecko - add price per address functionality by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2262 +* fix: test/lint develop by @odilitime in https://github.com/elizaOS/eliza/pull/2266 +* feat: Adding plugin for B² Network by @threewebcode in https://github.com/elizaOS/eliza/pull/2010 +* fix: (db) add limit param to memory retrieval across adapters by @augchan42 in https://github.com/elizaOS/eliza/pull/2264 +* docs: Typo fix README.md by @VitalikBerashvili in https://github.com/elizaOS/eliza/pull/2256 +* Minor typo in CHANGELOG.md by @Hack666r in https://github.com/elizaOS/eliza/pull/2255 +* fix: missing @elizaos/plugin-b2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/2268 +* feat: Add character creation template function to start.sh by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2232 +* fix: resolve Windows path issue in pnpm build client by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2240 +* feat: Add cross chain swaps through Squid Router by @Archethect in https://github.com/elizaOS/eliza/pull/1482 +* feat: Plugin evm oz governance by @thetechnocratic in https://github.com/elizaOS/eliza/pull/1710 +* feat: Add support for VoyageAI embeddings API by @Firbydude in https://github.com/elizaOS/eliza/pull/1442 +* feat: add birdeye plugin by @swizzmagik in https://github.com/elizaOS/eliza/pull/1417 +* Revert "feat: Add support for VoyageAI embeddings API" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2290 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2285 +* fix: export b2Plugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/2291 +* feat: Add an example service by @MonteCrypto999 in https://github.com/elizaOS/eliza/pull/2249 +* feat: Gitcoin passport by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2296 +* Fix: IME causes multiple messages on Enter (Fixes #2272) by @lincheoll in https://github.com/elizaOS/eliza/pull/2274 +* fix: fix derive key and update remote attestation by @HashWarlock in https://github.com/elizaOS/eliza/pull/2303 +* feat: Direct Client API - Add Delete Agent functionality by @jason51553262 in https://github.com/elizaOS/eliza/pull/2267 +* docs: Update README.md by @lalalune in https://github.com/elizaOS/eliza/pull/2309 +* fix: farcaster memory by @CryptoGraffe in https://github.com/elizaOS/eliza/pull/2307 +* feat: add getMemoryByIds to database adapters by @bbopar in https://github.com/elizaOS/eliza/pull/2293 +* feat: support load character from character_url by @v1xingyue in https://github.com/elizaOS/eliza/pull/2281 +* feat: (echochambers) add dead room detection and conversation starter by @augchan42 in https://github.com/elizaOS/eliza/pull/2248 +* chore: Update README.md by @wtfsayo in https://github.com/elizaOS/eliza/pull/2280 +* refactor: farcaster client env configuration by @sin-bufan in https://github.com/elizaOS/eliza/pull/2087 +* feat: Onchain Agent Transformer - transform any Eliza agents into unstoppable Solidity smart contracts deployed on 10+ blockchains by @eternal-ai-org in https://github.com/elizaOS/eliza/pull/2319 +* feat: add Dex Screener plugin with token price action, evaluators, an… by @hellopleasures in https://github.com/elizaOS/eliza/pull/1865 +* refactor: websearch into a service by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2195 +* fix: correct OPENROUTER_API_KEY env in config by @everimbaq in https://github.com/elizaOS/eliza/pull/2324 +* fix: docker images+compose and broken documentation by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2347 +* Fix github client README.md by @thomasWos in https://github.com/elizaOS/eliza/pull/2346 +* feat: groq image vision provider by @rferrari in https://github.com/elizaOS/eliza/pull/2342 +* improvement: using strict types to avoid erorrs like issue 2164 by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2220 +* fix: formatting in Browser section of README.md by @derrekcoleman in https://github.com/elizaOS/eliza/pull/2336 +* Update README_TR.md by @sukrucildirr in https://github.com/elizaOS/eliza/pull/2334 +* feat: (ragKnowledge) Enhance RAG knowledge handling by @augchan42 in https://github.com/elizaOS/eliza/pull/2351 +* feat: add instagram client by @Lukapetro in https://github.com/elizaOS/eliza/pull/1964 +* docs: Update README_FR.md by @omahs in https://github.com/elizaOS/eliza/pull/2356 +* fix: esure RA Action reply does not hallucinate by @HashWarlock in https://github.com/elizaOS/eliza/pull/2355 +* fix: align base url in client if api runs on a different port by @C0ldSmi1e in https://github.com/elizaOS/eliza/pull/2353 +* feat: add safe_mode (& cfg_scale) for venice image generation by @proteanx in https://github.com/elizaOS/eliza/pull/2354 +* fix: Update package.json of core package by @kesar in https://github.com/elizaOS/eliza/pull/2301 +* chore: Reorganizing README translations into a dedicated i18n directory structure by @0xnogo in https://github.com/elizaOS/eliza/pull/2149 +* chore: Prep 0.1.9-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2359 +* feat: Enable Multiple remote character urls by @leeran7 in https://github.com/elizaOS/eliza/pull/2328 +* chore: lint by @odilitime in https://github.com/elizaOS/eliza/pull/2368 +* fix: Fix typo in import statement for Solana AgentKit plugin Update i… by @defitricks in https://github.com/elizaOS/eliza/pull/2370 +* feat: dexscreener trending by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2325 +* fix: Prevent app crash when REMOTE_CHARACTER_URLS is undefined by @tcm390 in https://github.com/elizaOS/eliza/pull/2384 +* Startup Error: ENV misconfig by @0xSero in https://github.com/elizaOS/eliza/pull/2378 +* fix: check whether REMOTE_CHARACTER_URLS env is defined in starting agent by @dev-whoan in https://github.com/elizaOS/eliza/pull/2382 +* Fix typo by @ericlehong in https://github.com/elizaOS/eliza/pull/2385 +* fix: set default Squid Router plugin throttle to 1000 by @Archethect in https://github.com/elizaOS/eliza/pull/2386 +* chore: improve descriptions by @crStiv in https://github.com/elizaOS/eliza/pull/2394 +* feat: adding tests for plugin-solana by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2345 +* feat: atoma provider by @francis2tm in https://github.com/elizaOS/eliza/pull/2082 +* chore: invoke exit code 0 after positive cleanup by @erise133 in https://github.com/elizaOS/eliza/pull/2398 +* fix: lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2400 +* feat: adding tests for slack client. Moving existing tests to new __tests__ directory. by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2404 +* feat: better S3 flexibility by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2379 +* feat: adding tests for github client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2407 +* feat: injective plugin by @enigmarikki in https://github.com/elizaOS/eliza/pull/1764 +* feat: Integrate Livepeer LLM provider by @UD1sto in https://github.com/elizaOS/eliza/pull/2154 +* chore: remove tate character by @wtfsayo in https://github.com/elizaOS/eliza/pull/2425 +* refactor: dockerize smoke tests by @twilwa in https://github.com/elizaOS/eliza/pull/2420 +* feat: coinbase agentkit plugin for eliza by @sweetmantech in https://github.com/elizaOS/eliza/pull/2298 +* feat: add workflow to block minified JS by @twilwa in https://github.com/elizaOS/eliza/pull/2417 +* feat: Code In Plugin, load characters from blockchain by @zo-eth in https://github.com/elizaOS/eliza/pull/2371 +* docs: Add notes for weekly contributor meeting on 2025-01-14 by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2426 +* fix: Fix Incorrect Tweet ID Parameter Passed to sendTweet Function by @tcm390 in https://github.com/elizaOS/eliza/pull/2430 +* fix: quickstart.md conflicts by @wtfsayo in https://github.com/elizaOS/eliza/pull/2437 +* Update documentation links by @donatik27 in https://github.com/elizaOS/eliza/pull/2438 +* fix: typos in supabase seed file by @leopardracer in https://github.com/elizaOS/eliza/pull/2435 +* feat: Pyth Data Plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2434 +* fix: if VITE_SERVER_PORT is not defined, use default 3000 by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2433 +* fix: update zero Gravity (0G) link by @Hopium21 in https://github.com/elizaOS/eliza/pull/2441 +* feat: ibc transfer on cosmos blockchains by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2358 +* fix TEE Log plugin errors at agent startup by @bundinho in https://github.com/elizaOS/eliza/pull/2415 +* fix: missing import by @wtfsayo in https://github.com/elizaOS/eliza/pull/2444 +* feat: improvement to logger by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2396 +* feat:update heurist env var examples by @tsubasakong in https://github.com/elizaOS/eliza/pull/2428 +* Fix typos in docs by @RubinovaAn1097 in https://github.com/elizaOS/eliza/pull/2449 +* fix: Update error message and remove duplicate version field by @MarsonKotovi4 in https://github.com/elizaOS/eliza/pull/2445 +* fix: #2373 Fix image description by @ae9is in https://github.com/elizaOS/eliza/pull/2375 +* fix: spell/grammar errors in characters by @Pistasha in https://github.com/elizaOS/eliza/pull/2447 +* feat: Telegram autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2338 +* feat: add default logger level setting to set the logger level to dis… by @snobbee in https://github.com/elizaOS/eliza/pull/2451 +* feat: adding tests for instagram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2454 +* feat: create version.cmd for windows support by @savageops in https://github.com/elizaOS/eliza/pull/2442 +* revert: "refactor: dockerize smoke tests" by @twilwa in https://github.com/elizaOS/eliza/pull/2459 +* feat: Add features to the Solana Agent Kit by @thearyanag in https://github.com/elizaOS/eliza/pull/2458 +* chore: set openai as default character's provider by @wtfsayo in https://github.com/elizaOS/eliza/pull/2460 +* fix: OPENAI provider being overwritten by LLAMA_LOCAL on pnpm start by @tcm390 in https://github.com/elizaOS/eliza/pull/2465 +* Typo fix in read.me by @dedyshkaPexto in https://github.com/elizaOS/eliza/pull/2464 +* Fix spelling error by @Dimitrolito in https://github.com/elizaOS/eliza/pull/2456 +* fix: conditional use of useQuery in AgentRoute component to prevent runtime errors. by @carlos-cne in https://github.com/elizaOS/eliza/pull/2413 +* fix: resolve type error for children in animated.div component by @suleigolden in https://github.com/elizaOS/eliza/pull/2462 +* fix: SwapAction in evm-plugin by @B1boid in https://github.com/elizaOS/eliza/pull/2332 +* chore: add openai env to smokeTests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2472 +* test: adding test configuration and tests for redis adapter by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2470 +* feat: tests for supabase and sqlite db adapters by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2468 +* fix: linting errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2474 +* chore: remove eslint, prettier, tslint and replace with biome by @0xSero in https://github.com/elizaOS/eliza/pull/2439 +* feat: Sui supports the secp256k1/secp256r1 algorithms by @lispking in https://github.com/elizaOS/eliza/pull/2476 +* chore: edited the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2483 +* feat: Solana plugin improvement for flawless transfers by @sunsakis in https://github.com/elizaOS/eliza/pull/2340 +* chore: update createToken.ts by @eltociear in https://github.com/elizaOS/eliza/pull/2493 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2491 +* feat: introduce Dependency Injection to enhance developer experience by @btspoony in https://github.com/elizaOS/eliza/pull/2115 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2490 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2489 +* Update ElizaOS Documentation link by @Daulox92 in https://github.com/elizaOS/eliza/pull/2495 +* chore: handle test cases in version.sh file by @KoZivod88074 in https://github.com/elizaOS/eliza/pull/2485 +* feat: adding test configuration and test coverage for binance plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2482 +* feat: Implement character loading from multiple paths and enhance API… by @tercel in https://github.com/elizaOS/eliza/pull/2365 +* feat: Load multiple characters from a single remote url by @leeran7 in https://github.com/elizaOS/eliza/pull/2475 +* feat: Discord autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2335 +* feat: Add Extra Multimedia Support for Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/2510 +* test: api timeout handling for plugin-binance by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2504 +* feat: add support for NVIDIA inference for ElizaOS by @AIFlowML in https://github.com/elizaOS/eliza/pull/2512 +* feat(plugin-openai): add OpenAI integration for text generation by @0xrubusdata in https://github.com/elizaOS/eliza/pull/2463 +* chore: default coinbase agentkit plugin by @sweetmantech in https://github.com/elizaOS/eliza/pull/2505 +* docs: add docs/README_JA.md by @eltociear in https://github.com/elizaOS/eliza/pull/2515 +* fix: use coingecko headerKey from api config by @visionpixel in https://github.com/elizaOS/eliza/pull/2518 +* test: plugin-tee - adjusting project structure and new tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2508 +* docs: user ID with room ID in MemoryManager and other improvements by @Haisen772 in https://github.com/elizaOS/eliza/pull/2492 +* feat: plugin rabbi trader tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2520 +* chore: add eliza technical report/paper by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2517 +* plugin-tts: enhance TTS generation flow and caching by @bfontes in https://github.com/elizaOS/eliza/pull/2506 +* feat:add plugin-lightning by @jimtracy1007 in https://github.com/elizaOS/eliza/pull/2429 +* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2545 +* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2546 +* feat(plugin-devin): implement client-agnostic Devin plugin by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2549 +* feat: Updated READ.me file with pre-requisites to enable telegram bot by @neelkanani in https://github.com/elizaOS/eliza/pull/2547 +* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2551 +* feat: add anthropic image provider for vision by @BitWonka in https://github.com/elizaOS/eliza/pull/2524 +* feat: Add more actions to Abstract Plugin by @jonathangus in https://github.com/elizaOS/eliza/pull/2531 +* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2553 +* chore: optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2555 +* feat: add a way to create/store/restore agents in the filesystem by @maxcoto in https://github.com/elizaOS/eliza/pull/2389 +* chore(revert): optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2556 +* test configuration and tests for client-lens by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2534 +* feat(x spaces): Don't wait for mute, wait for silence by @tcm390 in https://github.com/elizaOS/eliza/pull/2576 +* feat: update integration tests workflow with improved caching by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2589 +* feat(plugin-agentkit): test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2573 +* feat(plugin-coingecko): coingecko trending advanced by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2568 +* feat(plugin-holdstation): add plugin holdstation swap by @cuongnguyenthai in https://github.com/elizaOS/eliza/pull/2596 +* Add 'node-compile-cache' to '.gitignore' by @jazzvaz in https://github.com/elizaOS/eliza/pull/2597 +* feat(plugin-farcaster): test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2567 +* fix:Incorrect boolean parsing for ENABLE_OPEN_AI_COMMUNITY_PLUGIN setting #2559 by @lincheoll in https://github.com/elizaOS/eliza/pull/2560 +* feat: add three new langs into TTS by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2562 +* docs: Add "What Did You Get Done This Week? #10" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2558 +* feat: Add Cronos Evm by @leejw51crypto in https://github.com/elizaOS/eliza/pull/2585 +* feat: add router nitro plugin by @RaveenaBhasin in https://github.com/elizaOS/eliza/pull/2590 +* feat(plugin-new): initia plugin + chore revert to integrationTests from stable release 0.1.7 by @boohyunsik in https://github.com/elizaOS/eliza/pull/2448 +* feat: nvidia-nim-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2599 +* fix: Add instruction to escape quotes on JSON generation by @lalalune in https://github.com/elizaOS/eliza/pull/2604 +* feat(new-plugin): 0x plugin to swap on evms by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2329 +* fix: add missing plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2626 +* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2627 +* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2629 +* feat: add plugin-bnb to support BNB chain by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/2278 +* chore: fix develop build and tests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2646 +* feat: plugin for OriginTrail Decentralized Knowledge Graph by @brkagithub in https://github.com/elizaOS/eliza/pull/2380 +* fix: Resolve chat error in openai-plugin (#2649) by @lincheoll in https://github.com/elizaOS/eliza/pull/2650 +* feat: Cosmos Plugin - IBC swap action by @stanislawkurzypBD in https://github.com/elizaOS/eliza/pull/2554 +* fix: a typo bug in conflux plugin by @siphonelee in https://github.com/elizaOS/eliza/pull/2654 +* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2670 +* feat(email-plugin): add email-plugin + improve: fixed avail plugin duplicate dependency by @jteso in https://github.com/elizaOS/eliza/pull/2645 +* chore(spelling-fixes): docs by @nnsW3 in https://github.com/elizaOS/eliza/pull/2669 +* feat(new-plugin): suno Eliza plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2656 +* Revert "feat(new-plugin): suno Eliza plugin" by @wtfsayo in https://github.com/elizaOS/eliza/pull/2673 +* feat: Implement runProcess function in test library by @VolodymyrBg in https://github.com/elizaOS/eliza/pull/2672 +* fix: remove wrong comment by @tcm390 in https://github.com/elizaOS/eliza/pull/2683 +* feat: chainbase plugin for eliza by @lxcong in https://github.com/elizaOS/eliza/pull/2162 +* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2685 +* feat: custom s3 endpoint url for 'plugin-node' by @dtbuchholz in https://github.com/elizaOS/eliza/pull/2176 +* chore: lint pass by @odilitime in https://github.com/elizaOS/eliza/pull/2580 +* feat(plugin-new): Official SimsAI Release V1.0 by @simsaidev in https://github.com/elizaOS/eliza/pull/2618 +* chore: fix types syntax issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2694 +* feat: add adapter-qdrant by @oxf71 in https://github.com/elizaOS/eliza/pull/2322 +* feat(new-plugin): suno music generation by @Freytes in https://github.com/elizaOS/eliza/pull/2679 +* feat(new-plugin): udio music generation for eliza by @Freytes in https://github.com/elizaOS/eliza/pull/2660 +* feat(new-plugin): Eliza OmniFlix Plugin by @OmniflixBlockEater in https://github.com/elizaOS/eliza/pull/2693 +* fix(ragKnowledge): Ensure scoped IDs are properly used to check for existing knowledge by @augchan42 in https://github.com/elizaOS/eliza/pull/2690 +* feat: Hyperbolic-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2701 +* Mostly aesthetic changes, fixed some wonky bullets and numbered lists. by @bealers in https://github.com/elizaOS/eliza/pull/2698 +* feat(new-plugin): eliza samsung smarthings plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2678 +* Improve GitBook Provider Output by Including Query Context by @Evan-zkLinkLabs in https://github.com/elizaOS/eliza/pull/2659 +* feat: Plugin football by @suleigolden in https://github.com/elizaOS/eliza/pull/2461 +* feat: [Space] improving handling of user ids and memory storage by @worksgoodcompany in https://github.com/elizaOS/eliza/pull/2686 +* fix: correct stt plugin userId type by @tcm390 in https://github.com/elizaOS/eliza/pull/2704 +* fix: Unexpected JSON Metadata in Twitter Bot Replies by @tcm390 in https://github.com/elizaOS/eliza/pull/2712 +* fix: remove duplicated handlePendingTweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2715 +* feat: add error message by @tcm390 in https://github.com/elizaOS/eliza/pull/2717 +* Remove the log as it may potentially cause the app to crash by @tcm390 in https://github.com/elizaOS/eliza/pull/2716 +* feat: improve twitter parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2730 +* feat: move cleanJsonResponse to parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2732 +* fix: delete plugin-bootstrap sex message, because it will cause some apis sensitive alerts by @klren0312 in https://github.com/elizaOS/eliza/pull/2748 +* feat: add lit plugin by @dezcalimese in https://github.com/elizaOS/eliza/pull/2703 +* feat(plugin-holdstation): add plugin holdstation swap by @dev-holdstation in https://github.com/elizaOS/eliza/pull/2741 +* feat: Restrict discord bot to respond only in allowed channels (#2742) by @lincheoll in https://github.com/elizaOS/eliza/pull/2743 +* chore: adds hyperliquid env variables to env example by @alex1092 in https://github.com/elizaOS/eliza/pull/2736 +* feat: Add Sei Plugin by @mj850 in https://github.com/elizaOS/eliza/pull/2720 +* feat(ton-plugin): add debug scripts and fix the transfer by @jinbangyi in https://github.com/elizaOS/eliza/pull/2744 +* chore(core/evaluators): source example links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/2724 +* fix: resolve @ai-sdk/provider version conflicts by @antman1p in https://github.com/elizaOS/eliza/pull/2714 +* Bug/fix ton plugin by @ajkraus04 in https://github.com/elizaOS/eliza/pull/2755 +* fix: ton plugin build issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2757 +* feat: biome automation via python with reporting by @AIFlowML in https://github.com/elizaOS/eliza/pull/2733 +* chore: Use latest allora-sdk version in the Allora Plugin by @conache in https://github.com/elizaOS/eliza/pull/2707 +* feat(new-plugin): adding Imgflip plugin for generating memes using the imgflip.com API by @krustevalexander in https://github.com/elizaOS/eliza/pull/2711 +* feat: Add plugin-ethstorage by @iteyelmp in https://github.com/elizaOS/eliza/pull/2737 +* feat: minimal workflow to resolve ephemeral check by @twilwa in https://github.com/elizaOS/eliza/pull/2735 +* feat: support mina blockchain by @lispking in https://github.com/elizaOS/eliza/pull/2702 +* client-eliza-home: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2719 +* feat: create /.turbo/config.json by @twilwa in https://github.com/elizaOS/eliza/pull/2768 +* feat: Add Amazon Bedrock as LLM provider by @ebaizel in https://github.com/elizaOS/eliza/pull/2769 +* Fix path in all files by @LouisVannobel in https://github.com/elizaOS/eliza/pull/2763 +* feat(new-plugin): added zerion plugin by @pranav-singhal in https://github.com/elizaOS/eliza/pull/2766 +* feat: add moralis plugin by @bharathbabu-moralis in https://github.com/elizaOS/eliza/pull/2764 +* feat(edriziai): Add Edriziai Startup Mentor AI Assistant by @ccross2 in https://github.com/elizaOS/eliza/pull/2687 +* docs: add docs on configuring secrets for multi agent workflows. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2632 +* feat(new-plugin): adding intelligent email evaluation and automation by @Cooops in https://github.com/elizaOS/eliza/pull/2709 +* feat(new-plugin): add Form chain plugin by @tmarwen in https://github.com/elizaOS/eliza/pull/2728 +* feat: added Ankr plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2773 +* feat(new-plugin): bittensor bitmind api for eliza by @benliang99 in https://github.com/elizaOS/eliza/pull/2682 +* feat: Add plugin-dcap by @Liao1 in https://github.com/elizaOS/eliza/pull/2638 +* chore: enable turbo cache by @wtfsayo in https://github.com/elizaOS/eliza/pull/2775 +* fix: make template message footer more explicit by @HashWarlock in https://github.com/elizaOS/eliza/pull/2774 +* docs: add one click deployment to docs by @KanishkKhurana in https://github.com/elizaOS/eliza/pull/2631 +* feat: Add swap & improvements for multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2651 +* chore: allow custom TEE log path by @batudo in https://github.com/elizaOS/eliza/pull/2616 +* feat(new-adapter): mongo-db adaptor by @jobyid in https://github.com/elizaOS/eliza/pull/1427 +* chore(plugin-coinbase): Update tokenContract.ts by @AdventureSeeker987 in https://github.com/elizaOS/eliza/pull/2781 +* chore(add-tests): plugin abstract: test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2621 +* feat(client-alexa): Basic Alexa skill notification by @brandon1525 in https://github.com/elizaOS/eliza/pull/2564 +* feat(new-plugin): quick intel plugin for token security analysis by @azep-ninja in https://github.com/elizaOS/eliza/pull/2391 +* feat: add Mind Network plugin by @zy-bc-ai in https://github.com/elizaOS/eliza/pull/2431 +* fix: goal updating bug in the goal evaluator's handler of plugin-bootstrap by @Alirun in https://github.com/elizaOS/eliza/pull/2725 +* fix: ethers/viem issue in mind network plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2783 +* fix: client-twitter homeTimeline name parse bug by @JhChoy in https://github.com/elizaOS/eliza/pull/2789 +* fix: topics formatting bug at composeState by @JhChoy in https://github.com/elizaOS/eliza/pull/2788 +* Fix: DTS Error mismatch LanguageModelV1interface/Version in ai-sdk mistral model by @juanc07 in https://github.com/elizaOS/eliza/pull/2782 +* feat: plugin Solana web3.js V2 & automated LPing on Orca by @calintje in https://github.com/elizaOS/eliza/pull/2136 +* feat: news-plugin by @ileana-pr in https://github.com/elizaOS/eliza/pull/1248 +* fix: bug in goal objectives update lookup logic by @Alirun in https://github.com/elizaOS/eliza/pull/2791 +* fix: adding exclusion for extra folder for faster future rebase by @AIFlowML in https://github.com/elizaOS/eliza/pull/2813 +* feat: Add Access Token Management to MultiversX Plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2810 +* chore: plugin-0g test configuration and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2805 +* test: plugin-0x test configuration and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2807 +* fix: akash splash by @AIFlowML in https://github.com/elizaOS/eliza/pull/2816 +* fix: nvidia nim environment by @AIFlowML in https://github.com/elizaOS/eliza/pull/2817 +* feat: improve message parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2772 +* fix: plugin-zksync-era multiple errors and issues as documented by @AIFlowML in https://github.com/elizaOS/eliza/pull/2819 +* docs: Create client-discord readme.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2812 +* docs: Update client-telegram README.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2814 +* docs: update embedding function by @rubinovitz in https://github.com/elizaOS/eliza/pull/2821 +* feat: twitter post media by @tcm390 in https://github.com/elizaOS/eliza/pull/2818 +* fix: plugin-tts by @AIFlowML in https://github.com/elizaOS/eliza/pull/2829 +* fix: plugin-twitter by @AIFlowML in https://github.com/elizaOS/eliza/pull/2827 +* fix: plugin-udio by @AIFlowML in https://github.com/elizaOS/eliza/pull/2824 +* fix: plugin-video-generation Fixed multiple non criticla issues. by @AIFlowML in https://github.com/elizaOS/eliza/pull/2823 +* fix: plugin-zerion by @AIFlowML in https://github.com/elizaOS/eliza/pull/2822 +* feat(new-plugin): create gelato plugin relay by @anirudhmakhana in https://github.com/elizaOS/eliza/pull/2799 +* fix: still run Farcaster client loop if error by @rubinovitz in https://github.com/elizaOS/eliza/pull/2830 +* feat: add new readmes, move some others for consistency by @madjin in https://github.com/elizaOS/eliza/pull/2828 +* btcfun Plugin for Eliza by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2797 +* feat: XMTP Client by @humanagent in https://github.com/elizaOS/eliza/pull/2786 +* feat(new-plugin): trikon plugin for eliza by @AmriteshTrikon in https://github.com/elizaOS/eliza/pull/2653 +* chore(update-plugin-initialization): btcfun & trikon plugin by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2643 +* fix: plugin-thirdweb by @AIFlowML in https://github.com/elizaOS/eliza/pull/2833 +* fix(deps): update dependency cookie to v0.7.0 [security] by @renovate in https://github.com/elizaOS/eliza/pull/2834 +* fix: plugin-ton by @AIFlowML in https://github.com/elizaOS/eliza/pull/2832 +* fix: plugin-tee-marlin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2837 +* fix: plugin-tee-veriafiable-log by @AIFlowML in https://github.com/elizaOS/eliza/pull/2836 +* fix: akash splash bis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2838 +* fix: plugin-story by @AIFlowML in https://github.com/elizaOS/eliza/pull/2844 +* fix: plugin-sui by @AIFlowML in https://github.com/elizaOS/eliza/pull/2843 +* fix: plugin-suno by @AIFlowML in https://github.com/elizaOS/eliza/pull/2840 +* fix(deps): update bs58 version to resolve integration test dependency issues by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2848 +* feat(new-plugin): A plugin for the Zilliqa blockchain by @rrw-zilliqa in https://github.com/elizaOS/eliza/pull/2842 +* refactor: simplify and fix exports in Imgflip meme generation plugin. by @krustevalexander in https://github.com/elizaOS/eliza/pull/2846 +* feat: client for Telegram account by @tgaru in https://github.com/elizaOS/eliza/pull/2839 +* chore(add-tests): plugin 3d generation: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2850 +* chore(add-tests): plugin anyone: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2854 +* feat(new-plugin): support apro plugin by @fifahuihua in https://github.com/elizaOS/eliza/pull/2794 +* feat(new-plugin): add arbitrage plugin with example character by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2784 +* feat(new-plugin): deva client integration by @stopmalone in https://github.com/elizaOS/eliza/pull/1238 +* fix: single quote handle bug at parseJsonArray by @JhChoy in https://github.com/elizaOS/eliza/pull/2802 +* fix: fix merge conflict by @tcm390 in https://github.com/elizaOS/eliza/pull/2873 +* fix: null check by @tcm390 in https://github.com/elizaOS/eliza/pull/2878 +* fix: default character openai => llamalocal by @odilitime in https://github.com/elizaOS/eliza/pull/2880 +* fix: LOG_JSON_FORMAT env var setting by @odilitime in https://github.com/elizaOS/eliza/pull/2881 +* fix: fix abstract package.json by @odilitime in https://github.com/elizaOS/eliza/pull/2882 +* chore: bump version to 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2883 +* fix: client server port by @tcm390 in https://github.com/elizaOS/eliza/pull/2886 +* Add more data when scrapping tweets by @viv-cheung in https://github.com/elizaOS/eliza/pull/2644 +* Update pnpm to v9.15.0 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2888 +* Update dependency systeminformation to v5.23.8 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2887 +* fet: use axios to fetch price and support two types private key by @v1xingyue in https://github.com/elizaOS/eliza/pull/2879 +* fix: plugin-omniflix by @AIFlowML in https://github.com/elizaOS/eliza/pull/2902 +* fix: plugin-open-weather by @AIFlowML in https://github.com/elizaOS/eliza/pull/2899 +* fix: plugin-opacity by @AIFlowML in https://github.com/elizaOS/eliza/pull/2900 +* fix: plugin-openai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2898 +* fix(patch): pnpm/@solana-developers to fix @coral-xyz 'BN' export by @wtfsayo in https://github.com/elizaOS/eliza/pull/2901 +* fix: plugin-primus by @AIFlowML in https://github.com/elizaOS/eliza/pull/2893 +* fix: plugin-quai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2892 +* fix: plugin-quick-intel by @AIFlowML in https://github.com/elizaOS/eliza/pull/2890 +* fix: plugin-sei by @AIFlowML in https://github.com/elizaOS/eliza/pull/2877 +* fix: plugin-sgx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2872 +* fix: plugin-starknet by @AIFlowML in https://github.com/elizaOS/eliza/pull/2866 +* fix: plugin-spheron by @AIFlowML in https://github.com/elizaOS/eliza/pull/2870 +* fix: plugin-squid-router by @AIFlowML in https://github.com/elizaOS/eliza/pull/2868 +* Update LICENSE by @maximevtush in https://github.com/elizaOS/eliza/pull/2903 +* fix: plugin-arbitrage by @AIFlowML in https://github.com/elizaOS/eliza/pull/2905 +* chore: fix spell errors by @Pricstas in https://github.com/elizaOS/eliza/pull/2909 +* feat(arbitrage): improve gas price optimization and volume calculation by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2869 +* chore(add-tests): plugin-asterai -> test coverage and config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2860 +* ci: changes to allow package scoping to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/2928 +* fix: missing version prop in package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/2929 +* fix: invalid npm package naming convention by @shakkernerd in https://github.com/elizaOS/eliza/pull/2930 +* chore: inconsistent folder naming conventipn by @shakkernerd in https://github.com/elizaOS/eliza/pull/2931 +* feat: add public access to packages. by @shakkernerd in https://github.com/elizaOS/eliza/pull/2933 +* fix template typos by @michavie in https://github.com/elizaOS/eliza/pull/2932 +* feat: new model provider for LM Studio by @eric2hen in https://github.com/elizaOS/eliza/pull/2913 +* fix: plugin-nft-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2934 +* fix: building error by @tcm390 in https://github.com/elizaOS/eliza/pull/2938 +* fix: plugin-news by @AIFlowML in https://github.com/elizaOS/eliza/pull/2940 +* fix: plugin-nft-collection by @AIFlowML in https://github.com/elizaOS/eliza/pull/2937 +* fix: plugin-near by @AIFlowML in https://github.com/elizaOS/eliza/pull/2941 +* fix: plugin-movement by @AIFlowML in https://github.com/elizaOS/eliza/pull/2943 +* fix: plugin-multiversx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2942 +* fix: remove dead code by @tcm390 in https://github.com/elizaOS/eliza/pull/2945 +* fix: add missing plugins in package.json by @tcm390 in https://github.com/elizaOS/eliza/pull/2947 +* fix: doesn't work in tweet post template by @tcm390 in https://github.com/elizaOS/eliza/pull/2951 +* fix: plugin-massa by @AIFlowML in https://github.com/elizaOS/eliza/pull/2955 +* fix-plugin-mina by @AIFlowML in https://github.com/elizaOS/eliza/pull/2954 +* fix: mind-network by @AIFlowML in https://github.com/elizaOS/eliza/pull/2953 +* fix: plugin-moralis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2952 +* fix: remove unnecessary @ts-expect-error directive in chat component by @wonseokjung in https://github.com/elizaOS/eliza/pull/2950 +* feat(plugin-di): add `Dependency Injection` support for services and clients, and di plugin samples to _examples as new folder by @btspoony in https://github.com/elizaOS/eliza/pull/2855 +* fix: handle whitespace in quote conversion by @tcm390 in https://github.com/elizaOS/eliza/pull/2961 +* fix: plugin-letzai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2960 +* fix: plugin-lightning by @AIFlowML in https://github.com/elizaOS/eliza/pull/2959 +* fix: plugin-lit by @AIFlowML in https://github.com/elizaOS/eliza/pull/2957 +* fix: plugin-obsidian by @AIFlowML in https://github.com/elizaOS/eliza/pull/2906 +* fix: plugin-router-nitro by @AIFlowML in https://github.com/elizaOS/eliza/pull/2884 +* fix: ensure action tweet replies to agent's initial tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2966 +* fix: plugin-lensnetwork by @AIFlowML in https://github.com/elizaOS/eliza/pull/2965 +* chore: bump pnpm for remaining workflows by @wtfsayo in https://github.com/elizaOS/eliza/pull/2968 +* fix(lint): plugin-intiface by @AIFlowML in https://github.com/elizaOS/eliza/pull/2971 +* fix(lint): plugin-iq6900 by @AIFlowML in https://github.com/elizaOS/eliza/pull/2970 +* fix: plugin-irys by @AIFlowML in https://github.com/elizaOS/eliza/pull/2969 +* fix(lint): plugin-injective by @AIFlowML in https://github.com/elizaOS/eliza/pull/2973 +* fix: plugin-initia by @AIFlowML in https://github.com/elizaOS/eliza/pull/2974 +* fix(lint): plugin-imgflip by @AIFlowML in https://github.com/elizaOS/eliza/pull/2976 +* fix(lint): plugin-image-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2978 +* feat(chore): plugin-arbitrage test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2983 +* feat: improve instagram client by @derrix060 in https://github.com/elizaOS/eliza/pull/2975 +* feat(chore): plugin-apro -> test coverage and test config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2980 +* fix README's CONTRIBUTING.md link in plugin-multiversx package by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2985 +* docs: fix broken links to github by @yaruno in https://github.com/elizaOS/eliza/pull/2987 +* Update lpmanager.character.json by @Dahka2321 in https://github.com/elizaOS/eliza/pull/2921 +* chore: correction typos chat_2024-12-04.md by @futreall in https://github.com/elizaOS/eliza/pull/2986 +* feat(more-actions): Lit Protocol plugin by @madschristensen99 in https://github.com/elizaOS/eliza/pull/2912 +* fix: re-enable wtfsayonara's patch by @odilitime in https://github.com/elizaOS/eliza/pull/2993 +* chore: lockfile audit by @odilitime in https://github.com/elizaOS/eliza/pull/2994 +* Update of the complete translation of README_FR.md [FR] by @YohanGH in https://github.com/elizaOS/eliza/pull/2964 +* feat (chore): plugin avalanche test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2999 +* feat (chore): plugin avail test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2997 +* feat (chore): plugin-autonome test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2992 +* fix: OpenAI embedding issue by @ileana-pr in https://github.com/elizaOS/eliza/pull/3003 +* fix: don't start services twice, improve logging by @odilitime in https://github.com/elizaOS/eliza/pull/3007 +* fix: deepgram transcription null check by @tcm390 in https://github.com/elizaOS/eliza/pull/3014 +* fix: llava model parsing Issue by @tcm390 in https://github.com/elizaOS/eliza/pull/3008 +* fix(lint): plugin-hyperliquid by @AIFlowML in https://github.com/elizaOS/eliza/pull/3011 +* fix(lint): plugin-holdstation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3015 +* fix(lint): plugin-goplus by @AIFlowML in https://github.com/elizaOS/eliza/pull/3016 +* chore(lint-BIOME): Improving errors and warnings by @0xSero in https://github.com/elizaOS/eliza/pull/2990 +* fix: client-slack & adapter-postgres: Ensure the connection between user and room before creating a memory,… by @maxime in https://github.com/elizaOS/eliza/pull/3006 +* fix: change handleAnthropic default mode to auto by @Jesscha in https://github.com/elizaOS/eliza/pull/3018 +* fix: spelling issue by @sky-coderay in https://github.com/elizaOS/eliza/pull/3041 +* fix(lint): plugin-ethstorage by @AIFlowML in https://github.com/elizaOS/eliza/pull/3039 +* fix(lint): plugin-evm by @AIFlowML in https://github.com/elizaOS/eliza/pull/3038 +* fix(lint): plugin-flow by @AIFlowML in https://github.com/elizaOS/eliza/pull/3036 +* fix(lint): plugin-football by @AIFlowML in https://github.com/elizaOS/eliza/pull/3035 +* fix(lint): plugin-form by @AIFlowML in https://github.com/elizaOS/eliza/pull/3033 +* fix(lint): plugin-fuel by @AIFlowML in https://github.com/elizaOS/eliza/pull/3028 +* fix(lint): plugin-gelato by @AIFlowML in https://github.com/elizaOS/eliza/pull/3027 +* fix(lint): plugin-genlayer by @AIFlowML in https://github.com/elizaOS/eliza/pull/3025 +* fix(lint): plugin-giphy by @AIFlowML in https://github.com/elizaOS/eliza/pull/3024 +* fix(lint): plugin-goat by @AIFlowML in https://github.com/elizaOS/eliza/pull/3019 +* fix(lint): plugin-gitcoin-passport by @AIFlowML in https://github.com/elizaOS/eliza/pull/3022 +* fix(lint): plugin-gitbook by @AIFlowML in https://github.com/elizaOS/eliza/pull/3023 +* feat: add Fleek Eliza deployment to Readme_CN by @tobySolutions in https://github.com/elizaOS/eliza/pull/3048 +* fix: correct regex by @tcm390 in https://github.com/elizaOS/eliza/pull/3054 +* fix: Message id collision in Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/3053 +* fix: ImageVisionModelProvider Not Applied in Runtime for Image Description Service by @tcm390 in https://github.com/elizaOS/eliza/pull/3056 +* fix: handle unsupported image provider by @tcm390 in https://github.com/elizaOS/eliza/pull/3057 +* feat: use Aggregator swap sui tokens by @v1xingyue in https://github.com/elizaOS/eliza/pull/3012 +* fix: plugin-devin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3070 +* fix: plugin-binance lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3089 +* fix: plugin-birdeye lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3088 +* fix: plugin-bittensor lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3087 +* fix: plugin-Chainbase lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3085 +* fix: plugin-coingecko lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3084 +* fix: plugin-coinmarketcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3082 +* fix: plugin-conflux lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3080 +* fix: plugin-cosmos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3077 +* fix: plugin-cronos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3076 +* fix: plugin-bnb lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3086 +* fix: Rename file with typo in MVX plugin by @PhyByte in https://github.com/elizaOS/eliza/pull/3026 +* docs: Add Arabic translation for README by @EmanHerawy in https://github.com/elizaOS/eliza/pull/3081 +* fix: plugin-cronoszkevm lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3075 +* fix: plugin-dcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3074 +* fix: plugin-b2 lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3091 +* fix: plugin-depin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3073 +* fix: plugin-dexscreener lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3069 +* fix: the unexpected corrections for plugin-di caused by biome lint by @btspoony in https://github.com/elizaOS/eliza/pull/3052 +* fix: fix-plugin-di lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3066 +* fix: plugin-avalanche lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3092 +* fix: plugin-echochamber lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3063 +* fix: plugin-dkg lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3065 +* fix: plugin-mail lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3061 +* feat: 3049 add demo api access coingecko by @MichaelDeng03 in https://github.com/elizaOS/eliza/pull/3050 +* fix(lint): email-automation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3044 +* fix: plugin-avail by @AIFlowML in https://github.com/elizaOS/eliza/pull/3094 +* docs(packages/adapters): navigate section links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/3005 +* fix: fixed build error in plugin-email-automation by @samarth30 in https://github.com/elizaOS/eliza/pull/3097 +* fix: plugin-icp refactored by @AIFlowML in https://github.com/elizaOS/eliza/pull/3010 +* fix: plugin-asterai by @AIFlowML in https://github.com/elizaOS/eliza/pull/3101 +* fix: plugin-autonome-v1 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3098 +* fix: plugin-arthera-biome by @AIFlowML in https://github.com/elizaOS/eliza/pull/3102 +* fix: plugin-aptos by @AIFlowML in https://github.com/elizaOS/eliza/pull/3104 +* docs: Add "What Did You Get Done This Week? 11" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3103 +* fix: fixing the error parsing json when an array is a value in a JSON… by @maxime in https://github.com/elizaOS/eliza/pull/3113 +* chore: updated .gitignore + removed build files by @wtfsayo in https://github.com/elizaOS/eliza/pull/3117 +* fix: auto-scrolling issue in client by @tcm390 in https://github.com/elizaOS/eliza/pull/3115 +* fix: plugin-apro by @AIFlowML in https://github.com/elizaOS/eliza/pull/3106 +* feat (chore): plugin-chainbase test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3072 +* feat (chore): plugin bittensor test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3064 +* feat (chore): plugin-bootstrap: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3068 +* fix: docker build command by skipping eslint files by @jonathangus in https://github.com/elizaOS/eliza/pull/3110 +* fix: export dexScreenerPlugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/3120 +* fix:chore(plugin-chainbase): add missing comma in package.json by @akugone in https://github.com/elizaOS/eliza/pull/3118 +* fix: remove duplicate litPlugin import by @shakkernerd in https://github.com/elizaOS/eliza/pull/3121 +* chore: dev => main 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2361 + +#### New Contributors + +
      +View New Contributors +* @adacapo21 made their first contribution in https://github.com/elizaOS/eliza/pull/2199 +* @gene-zhan made their first contribution in https://github.com/elizaOS/eliza/pull/1369 +* @Stumble made their first contribution in https://github.com/elizaOS/eliza/pull/2228 +* @oxlupo made their first contribution in https://github.com/elizaOS/eliza/pull/2260 +* @VitalikBerashvili made their first contribution in https://github.com/elizaOS/eliza/pull/2256 +* @Hack666r made their first contribution in https://github.com/elizaOS/eliza/pull/2255 +* @KacperKoza343 made their first contribution in https://github.com/elizaOS/eliza/pull/2240 +* @thetechnocratic made their first contribution in https://github.com/elizaOS/eliza/pull/1710 +* @Firbydude made their first contribution in https://github.com/elizaOS/eliza/pull/1442 +* @MonteCrypto999 made their first contribution in https://github.com/elizaOS/eliza/pull/2249 +* @lincheoll made their first contribution in https://github.com/elizaOS/eliza/pull/2274 +* @jason51553262 made their first contribution in https://github.com/elizaOS/eliza/pull/2267 +* @CryptoGraffe made their first contribution in https://github.com/elizaOS/eliza/pull/2307 +* @bbopar made their first contribution in https://github.com/elizaOS/eliza/pull/2293 +* @hellopleasures made their first contribution in https://github.com/elizaOS/eliza/pull/1865 +* @chuasonglin1995 made their first contribution in https://github.com/elizaOS/eliza/pull/2195 +* @everimbaq made their first contribution in https://github.com/elizaOS/eliza/pull/2324 +* @derrekcoleman made their first contribution in https://github.com/elizaOS/eliza/pull/2336 +* @sukrucildirr made their first contribution in https://github.com/elizaOS/eliza/pull/2334 +* @C0ldSmi1e made their first contribution in https://github.com/elizaOS/eliza/pull/2353 +* @0xnogo made their first contribution in https://github.com/elizaOS/eliza/pull/2149 +* @leeran7 made their first contribution in https://github.com/elizaOS/eliza/pull/2328 +* @defitricks made their first contribution in https://github.com/elizaOS/eliza/pull/2370 +* @0xSero made their first contribution in https://github.com/elizaOS/eliza/pull/2378 +* @dev-whoan made their first contribution in https://github.com/elizaOS/eliza/pull/2382 +* @ericlehong made their first contribution in https://github.com/elizaOS/eliza/pull/2385 +* @crStiv made their first contribution in https://github.com/elizaOS/eliza/pull/2394 +* @francis2tm made their first contribution in https://github.com/elizaOS/eliza/pull/2082 +* @enigmarikki made their first contribution in https://github.com/elizaOS/eliza/pull/1764 +* @sweetmantech made their first contribution in https://github.com/elizaOS/eliza/pull/2298 +* @donatik27 made their first contribution in https://github.com/elizaOS/eliza/pull/2438 +* @leopardracer made their first contribution in https://github.com/elizaOS/eliza/pull/2435 +* @Hopium21 made their first contribution in https://github.com/elizaOS/eliza/pull/2441 +* @bundinho made their first contribution in https://github.com/elizaOS/eliza/pull/2415 +* @RubinovaAn1097 made their first contribution in https://github.com/elizaOS/eliza/pull/2449 +* @MarsonKotovi4 made their first contribution in https://github.com/elizaOS/eliza/pull/2445 +* @ae9is made their first contribution in https://github.com/elizaOS/eliza/pull/2375 +* @Pistasha made their first contribution in https://github.com/elizaOS/eliza/pull/2447 +* @dedyshkaPexto made their first contribution in https://github.com/elizaOS/eliza/pull/2464 +* @Dimitrolito made their first contribution in https://github.com/elizaOS/eliza/pull/2456 +* @carlos-cne made their first contribution in https://github.com/elizaOS/eliza/pull/2413 +* @suleigolden made their first contribution in https://github.com/elizaOS/eliza/pull/2462 +* @B1boid made their first contribution in https://github.com/elizaOS/eliza/pull/2332 +* @lispking made their first contribution in https://github.com/elizaOS/eliza/pull/2476 +* @Olexandr88 made their first contribution in https://github.com/elizaOS/eliza/pull/2483 +* @sunsakis made their first contribution in https://github.com/elizaOS/eliza/pull/2340 +* @Daulox92 made their first contribution in https://github.com/elizaOS/eliza/pull/2495 +* @KoZivod88074 made their first contribution in https://github.com/elizaOS/eliza/pull/2485 +* @tercel made their first contribution in https://github.com/elizaOS/eliza/pull/2365 +* @0xrubusdata made their first contribution in https://github.com/elizaOS/eliza/pull/2463 +* @visionpixel made their first contribution in https://github.com/elizaOS/eliza/pull/2518 +* @Haisen772 made their first contribution in https://github.com/elizaOS/eliza/pull/2492 +* @bfontes made their first contribution in https://github.com/elizaOS/eliza/pull/2506 +* @jimtracy1007 made their first contribution in https://github.com/elizaOS/eliza/pull/2429 +* @devin-ai-integration made their first contribution in https://github.com/elizaOS/eliza/pull/2549 +* @neelkanani made their first contribution in https://github.com/elizaOS/eliza/pull/2547 +* @BitWonka made their first contribution in https://github.com/elizaOS/eliza/pull/2524 +* @maxcoto made their first contribution in https://github.com/elizaOS/eliza/pull/2389 +* @cuongnguyenthai made their first contribution in https://github.com/elizaOS/eliza/pull/2596 +* @leejw51crypto made their first contribution in https://github.com/elizaOS/eliza/pull/2585 +* @RaveenaBhasin made their first contribution in https://github.com/elizaOS/eliza/pull/2590 +* @boohyunsik made their first contribution in https://github.com/elizaOS/eliza/pull/2448 +* @brkagithub made their first contribution in https://github.com/elizaOS/eliza/pull/2380 +* @stanislawkurzypBD made their first contribution in https://github.com/elizaOS/eliza/pull/2554 +* @siphonelee made their first contribution in https://github.com/elizaOS/eliza/pull/2654 +* @jteso made their first contribution in https://github.com/elizaOS/eliza/pull/2645 +* @nnsW3 made their first contribution in https://github.com/elizaOS/eliza/pull/2669 +* @VolodymyrBg made their first contribution in https://github.com/elizaOS/eliza/pull/2672 +* @lxcong made their first contribution in https://github.com/elizaOS/eliza/pull/2162 +* @dtbuchholz made their first contribution in https://github.com/elizaOS/eliza/pull/2176 +* @simsaidev made their first contribution in https://github.com/elizaOS/eliza/pull/2618 +* @oxf71 made their first contribution in https://github.com/elizaOS/eliza/pull/2322 +* @OmniflixBlockEater made their first contribution in https://github.com/elizaOS/eliza/pull/2693 +* @bealers made their first contribution in https://github.com/elizaOS/eliza/pull/2698 +* @Evan-zkLinkLabs made their first contribution in https://github.com/elizaOS/eliza/pull/2659 +* @worksgoodcompany made their first contribution in https://github.com/elizaOS/eliza/pull/2686 +* @klren0312 made their first contribution in https://github.com/elizaOS/eliza/pull/2748 +* @dezcalimese made their first contribution in https://github.com/elizaOS/eliza/pull/2703 +* @dev-holdstation made their first contribution in https://github.com/elizaOS/eliza/pull/2741 +* @alex1092 made their first contribution in https://github.com/elizaOS/eliza/pull/2736 +* @mj850 made their first contribution in https://github.com/elizaOS/eliza/pull/2720 +* @guspan-tanadi made their first contribution in https://github.com/elizaOS/eliza/pull/2724 +* @ajkraus04 made their first contribution in https://github.com/elizaOS/eliza/pull/2755 +* @krustevalexander made their first contribution in https://github.com/elizaOS/eliza/pull/2711 +* @iteyelmp made their first contribution in https://github.com/elizaOS/eliza/pull/2737 +* @ebaizel made their first contribution in https://github.com/elizaOS/eliza/pull/2769 +* @LouisVannobel made their first contribution in https://github.com/elizaOS/eliza/pull/2763 +* @pranav-singhal made their first contribution in https://github.com/elizaOS/eliza/pull/2766 +* @bharathbabu-moralis made their first contribution in https://github.com/elizaOS/eliza/pull/2764 +* @ccross2 made their first contribution in https://github.com/elizaOS/eliza/pull/2687 +* @LinuxIsCool made their first contribution in https://github.com/elizaOS/eliza/pull/2632 +* @Cooops made their first contribution in https://github.com/elizaOS/eliza/pull/2709 +* @tmarwen made their first contribution in https://github.com/elizaOS/eliza/pull/2728 +* @benliang99 made their first contribution in https://github.com/elizaOS/eliza/pull/2682 +* @Liao1 made their first contribution in https://github.com/elizaOS/eliza/pull/2638 +* @KanishkKhurana made their first contribution in https://github.com/elizaOS/eliza/pull/2631 +* @batudo made their first contribution in https://github.com/elizaOS/eliza/pull/2616 +* @jobyid made their first contribution in https://github.com/elizaOS/eliza/pull/1427 +* @AdventureSeeker987 made their first contribution in https://github.com/elizaOS/eliza/pull/2781 +* @brandon1525 made their first contribution in https://github.com/elizaOS/eliza/pull/2564 +* @zy-bc-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2431 +* @Alirun made their first contribution in https://github.com/elizaOS/eliza/pull/2725 +* @JhChoy made their first contribution in https://github.com/elizaOS/eliza/pull/2789 +* @juanc07 made their first contribution in https://github.com/elizaOS/eliza/pull/2782 +* @calintje made their first contribution in https://github.com/elizaOS/eliza/pull/2136 +* @elpulpo0 made their first contribution in https://github.com/elizaOS/eliza/pull/2810 +* @actuallyrizzn made their first contribution in https://github.com/elizaOS/eliza/pull/2812 +* @rubinovitz made their first contribution in https://github.com/elizaOS/eliza/pull/2821 +* @anirudhmakhana made their first contribution in https://github.com/elizaOS/eliza/pull/2799 +* @Nevermore-Ray made their first contribution in https://github.com/elizaOS/eliza/pull/2797 +* @humanagent made their first contribution in https://github.com/elizaOS/eliza/pull/2786 +* @AmriteshTrikon made their first contribution in https://github.com/elizaOS/eliza/pull/2653 +* @rrw-zilliqa made their first contribution in https://github.com/elizaOS/eliza/pull/2842 +* @tgaru made their first contribution in https://github.com/elizaOS/eliza/pull/2839 +* @fifahuihua made their first contribution in https://github.com/elizaOS/eliza/pull/2794 +* @mmarfinetz made their first contribution in https://github.com/elizaOS/eliza/pull/2784 +* @stopmalone made their first contribution in https://github.com/elizaOS/eliza/pull/1238 +* @viv-cheung made their first contribution in https://github.com/elizaOS/eliza/pull/2644 +* @maximevtush made their first contribution in https://github.com/elizaOS/eliza/pull/2903 +* @Pricstas made their first contribution in https://github.com/elizaOS/eliza/pull/2909 +* @michavie made their first contribution in https://github.com/elizaOS/eliza/pull/2932 +* @eric2hen made their first contribution in https://github.com/elizaOS/eliza/pull/2913 +* @wonseokjung made their first contribution in https://github.com/elizaOS/eliza/pull/2950 +* @derrix060 made their first contribution in https://github.com/elizaOS/eliza/pull/2975 +* @yaruno made their first contribution in https://github.com/elizaOS/eliza/pull/2987 +* @Dahka2321 made their first contribution in https://github.com/elizaOS/eliza/pull/2921 +* @futreall made their first contribution in https://github.com/elizaOS/eliza/pull/2986 +* @madschristensen99 made their first contribution in https://github.com/elizaOS/eliza/pull/2912 +* @YohanGH made their first contribution in https://github.com/elizaOS/eliza/pull/2964 +* @maxime made their first contribution in https://github.com/elizaOS/eliza/pull/3006 +* @Jesscha made their first contribution in https://github.com/elizaOS/eliza/pull/3018 +* @sky-coderay made their first contribution in https://github.com/elizaOS/eliza/pull/3041 +* @tobySolutions made their first contribution in https://github.com/elizaOS/eliza/pull/3048 +* @PhyByte made their first contribution in https://github.com/elizaOS/eliza/pull/3026 +* @EmanHerawy made their first contribution in https://github.com/elizaOS/eliza/pull/3081 +* @MichaelDeng03 made their first contribution in https://github.com/elizaOS/eliza/pull/3050 +* @akugone made their first contribution in https://github.com/elizaOS/eliza/pull/3118 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 + +--- + +## v0.1.8-alpha.1 (January 31, 2025) + +#### What's Changed + +* feats: Add 0G to the blockchain sector (diagram update) by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2204 +* fix(plugin-depin): sentientAI description by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/2668 + +**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.8+build.1...v0.1.8-alpha.1 + +--- + +## v0.1.8+build.1 (January 12, 2025) + +Minor update to [v0.1.8](https://github.com/elizaOS/eliza/releases/tag/v0.1.8) + +Fixes: +- docker image build +- actually bump version so npm will publish a v0.1.8 +- security: Implement file upload security (#1753) #1806 +- twitter-client: clean up mention deduplication #2185 +- postgres adapter migration extension creation which already exists at this point #2188 +- Missing LETZAI model #2187 + +#### What's Changed + +* fix: release 0.1.8 fixes by @odilitime in https://github.com/elizaOS/eliza/pull/2184 +* docs: Add Persian README File by @ali-moha in https://github.com/elizaOS/eliza/pull/2182 +* fix: Missing LETZAI model by @daizhengxue in https://github.com/elizaOS/eliza/pull/2187 +* fix postgres adapter migration extension creation which already exists at this point by @web3gh in https://github.com/elizaOS/eliza/pull/2188 +* fix(client-twitter): clean up mention deduplication by @nhodges in https://github.com/elizaOS/eliza/pull/2185 +* feat(security): Implement file upload security (#1753) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1806 +* chore: Prep 0.1.8.build.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2193 +* chore: 0.1.8.build.1 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2194 + +#### New Contributors + +
      +View New Contributors +* @ali-moha made their first contribution in https://github.com/elizaOS/eliza/pull/2182 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 + +--- + +## v0.1.8 (January 12, 2025) + +#### What's Changed + +#### Features + +- TTS (Text2Speech) with over 15 languages support! #2110 +- Image descriptions into client-twitter #1775 +- Add Heurist embedding model #2093 +- Add Cloudflare AI Gateway support #821 +- Add Mistral AI as new model provider #2137 +- Add DeepSeek AI provider support to Eliza #2067 +- Support TEE logging and support running eliza in Intel SGX #1470 +- Pro API support, trending coins API #2068 +- Add Irys plugin #1708 +- Add support autonome platform #2121 +- Add Akash Network plugin with autonomous deployment capabilities #2111 +- Add Lens Network Plugin #2101 +- Add plugin-hyperliquid #2141 +- Add asterai plugin #2045 +- Add massa-plugin #1582 +- Add Quai integration #2083 +- Primus zkTLS plugin to fully verify agent activities #2086 +- Solana transaction more lenient (wait for confirmed instead of finalized) #2053 + +#### Fixes + +- Fix plugin loading from a character.json file #2095 +- prevent repeated login by reusing client-twitter session #2129 +- fix the chat stuck in infinite loop #1755 +- fix client-discord join voice action #2160 +- replace invalid toghether ai medium model #2173 +- insert missing langdetect on plugin-tts package.json #2175 +- Apply model settings for images and remove duplicate files #2118 +- clientConfig.telegram.isPartOfTeam misstype #2103 +- fix starknet plugin by replacing walletProvider with portfolio provider #2029 +- correct SUI/USD price calculation #2150 +- deepseek support in getTokenForProvider #2179 +- Supabase updates #2100 +- Koloxarto/fix ragknowledge for postgres #2153 +- case-sensitive column reference in knowledge table CHECK constraint #2058 +- syntax issue on autonome plugin and lock file update #2131 +- lens export name and duplicate imports #2142 +- Revert "feat: Proof of Pizza - Agentic Dominos Ordering" #2075 + +Complete changelog: +* fix: add default export to plugin-image-generation by @jonathanmv in https://github.com/elizaOS/eliza/pull/1831 +* Update .env.example by @bitcoinbender in https://github.com/elizaOS/eliza/pull/1829 +* chore: update develop from main by @shakkernerd in https://github.com/elizaOS/eliza/pull/1823 +* feat(models): update Google model configurations by @gmh5225 in https://github.com/elizaOS/eliza/pull/1815 +* improvement: replacing console.log with elizaLogger by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1834 +* Update README_KOR.md by @web3isthefuture in https://github.com/elizaOS/eliza/pull/1835 +* refactor: typo in readme by @MagikHolder in https://github.com/elizaOS/eliza/pull/1832 +* Fix faq link on contributing.md by @manotoor in https://github.com/elizaOS/eliza/pull/1847 +* Create README.md by @RobertSloan22 in https://github.com/elizaOS/eliza/pull/1787 +* Update c3po.character.json by @macfly-base in https://github.com/elizaOS/eliza/pull/1827 +* Feat/genlayer plugin by @AgustinRamiroDiaz in https://github.com/elizaOS/eliza/pull/975 +* fix: broken ci docs missed frozen pnpm file out-of-sync by @marcellodesales in https://github.com/elizaOS/eliza/pull/1798 +* chore: update bootstrap plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1836 +* correct faq docs link in both contribution md files by @MacsDickinson in https://github.com/elizaOS/eliza/pull/1839 +* Feat: add infera as an inference provide by @inferanetwork in https://github.com/elizaOS/eliza/pull/1860 +* feat: add avail plugin by @robin-rrt in https://github.com/elizaOS/eliza/pull/1241 +* feat: Add Stargaze plugin by @daniel-farina in https://github.com/elizaOS/eliza/pull/1861 +* feat: add cosmos plugin by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1826 +* feat: Implement a plugin that can retrieve Marlin TEE remote attestations by @roshanrags in https://github.com/elizaOS/eliza/pull/935 +* docs: Add DAO donation ask & dev discord by @odilitime in https://github.com/elizaOS/eliza/pull/1867 +* fix: Fix postinstall script by @odilitime in https://github.com/elizaOS/eliza/pull/1872 +* docs: add Romanian README translation by @pedronovikovborges in https://github.com/elizaOS/eliza/pull/1770 +* test: adding more tests for goals,memory and provider. Fixing generation.test.ts by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1840 +* fix: remove twitter profile caching (#1638) by @augchan42 in https://github.com/elizaOS/eliza/pull/1782 +* feat: Add devcontainer by @jazzvaz in https://github.com/elizaOS/eliza/pull/1807 +* fix(solana token provider): await cached data by @bentatum in https://github.com/elizaOS/eliza/pull/1828 +* chore: support more debians distros by @odilitime in https://github.com/elizaOS/eliza/pull/1875 +* feat: refactor model config by @tcm390 in https://github.com/elizaOS/eliza/pull/1805 +* feat: added new plugin - zktls - reclaim by @Gajesh2007 in https://github.com/elizaOS/eliza/pull/1558 +* Feat: Support wildcard in TWITTER_TARGET_USERS 1883 by @augchan42 in https://github.com/elizaOS/eliza/pull/1884 +* feat: add remote attestation action by @HashWarlock in https://github.com/elizaOS/eliza/pull/1885 +* feat: Use recommended settings in jupiter swap by @Arrowana in https://github.com/elizaOS/eliza/pull/1882 +* Fixed broken API Documentation URL by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1881 +* feat: add OpenWeather plugin by @kylebuildsstuff in https://github.com/elizaOS/eliza/pull/1880 +* test: adding test setup for telegram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1879 +* chore(core): enable strict null checks by @bentatum in https://github.com/elizaOS/eliza/pull/1878 +* fix: remove case sensitive path by @zhourunlai in https://github.com/elizaOS/eliza/pull/1892 +* feat: hyperfy support by @odilitime in https://github.com/elizaOS/eliza/pull/1896 +* Add Dutch (Nederlands) translation by @xzrfax in https://github.com/elizaOS/eliza/pull/1909 +* fix: twitter result obj undefined properties by @zhourunlai in https://github.com/elizaOS/eliza/pull/1905 +* chore: fix integrations and smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1893 +* fix: add callback to the evaluators for client-telegram by @RatakondalaArun in https://github.com/elizaOS/eliza/pull/1908 +* chore(client-discord): fix SUMMARIZE prompt by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/1916 +* fix(core): check evaluators for null by @bentatum in https://github.com/elizaOS/eliza/pull/1918 +* fix: resolved a bunch of type related errors and ensure project compiles by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1917 +* feats: diagram update by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1907 +* feat: Optimize Agent Action Processing by Prioritizing Timelines and Limiting Actions Per Cycle by @tcm390 in https://github.com/elizaOS/eliza/pull/1824 +* Feature/add binance plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1812 +* Fix typo Update CHANGELOG.md by @petryshkaCODE in https://github.com/elizaOS/eliza/pull/1922 +* feat: add GoPlus Security Plugin to enhance security for agent by @0xbeekeeper in https://github.com/elizaOS/eliza/pull/1898 +* API route update by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1923 +* fix: handle empty input text to avoid memory content empty error by @zhourunlai in https://github.com/elizaOS/eliza/pull/1919 +* test: adding tests for discord-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1927 +* docs: Add "What Did You Get Done This Week? #8" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1894 +* fix: Limit the number of timelines fetched by @tcm390 in https://github.com/elizaOS/eliza/pull/1931 +* fix: rm unused variable X_SERVER_URL by @proteanx in https://github.com/elizaOS/eliza/pull/1930 +* feat: Make templates in composeContext dynamic by @jonathangus in https://github.com/elizaOS/eliza/pull/1467 +* docs: it is processAction instead of triggerAction by @threewebcode in https://github.com/elizaOS/eliza/pull/1937 +* feat: solana token deploy using solana agent kit by @renlulu in https://github.com/elizaOS/eliza/pull/1373 +* chore(plugin-conflux): remove unused imports by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1941 +* feat(plugin-cronoszkevm): rm not used imports by @sinecose in https://github.com/elizaOS/eliza/pull/1744 +* feat: support for eternalai provider can make request with chain_id extra data in body by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1938 +* chore: more specific rpc urls by @0xRider in https://github.com/elizaOS/eliza/pull/1945 +* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1948 +* chore: add embedding tests by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1944 +* feat: new plugin Arthera Chain by @elpiarthera in https://github.com/elizaOS/eliza/pull/1818 +* fix: fixed error in C3PO and improved error handling feedback by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1951 +* feat: add pglite db adapter by @KONFeature in https://github.com/elizaOS/eliza/pull/1810 +* feat: Add fraxtal chain to evm by @kesar in https://github.com/elizaOS/eliza/pull/1954 +* feat: add coin price plugin (CoinMarketCap, CoinGecko & CoinCap) by @proteanx in https://github.com/elizaOS/eliza/pull/1808 +* fix: abstract readme by @cygaar in https://github.com/elizaOS/eliza/pull/1963 +* feat: improve twitter paragraph splitting if containing url by @darwintree in https://github.com/elizaOS/eliza/pull/1947 +* test: adding tests for twitter-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1959 +* test: adding tests for twitter plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1976 +* chore: Cleaner logs on agent startup by @velvet-shark in https://github.com/elizaOS/eliza/pull/1973 +* feat: anyone plugin to privatise network requests by @Saundr21 in https://github.com/elizaOS/eliza/pull/1960 +* fix: SQLITE ERROR, zero-lenght vectors not supported by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1984 +* fix: many fixes to the Telegram templates by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1982 +* test: changing test structure for core package. Fixing failling outdated tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1989 +* chore: Enable all EVM chains by default by @Minco-Yuga in https://github.com/elizaOS/eliza/pull/1981 +* chore: add debug logging for context by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1980 +* fix: Fix db init race condition affecting builds by @0x-jj in https://github.com/elizaOS/eliza/pull/1968 +* feat: add new plugin - spheron by @rekpero in https://github.com/elizaOS/eliza/pull/1966 +* feat: Add Allora plugin by @conache in https://github.com/elizaOS/eliza/pull/1955 +* fix: Added Local Embedding Manager to reuse Local embed model - Fixes High Ram Issues by @mbcse in https://github.com/elizaOS/eliza/pull/1950 +* feat: obsidian integration plugin by @sekmet in https://github.com/elizaOS/eliza/pull/1943 +* add thirdweb plugin by @iankm in https://github.com/elizaOS/eliza/pull/1418 +* feat: improvements for plugin-cosmos by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1934 +* fix: build on plugin spheron by @shakkernerd in https://github.com/elizaOS/eliza/pull/1995 +* fix: client twitter dryrun by @tcm390 in https://github.com/elizaOS/eliza/pull/1997 +* fix: resolve translation type issue by @odilitime in https://github.com/elizaOS/eliza/pull/1996 +* fix: fix .env.sample defaults by @odilitime in https://github.com/elizaOS/eliza/pull/1999 +* chore: update website url in lore.md by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1998 +* Add support for Movement Network by @Rahat-ch in https://github.com/elizaOS/eliza/pull/1621 +* docs: Optimizes Technical Docs for LLMs & Vectorization by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1993 +* feat: Separate Knowledge system + Multi-Agent RAG Optimization by @azep-ninja in https://github.com/elizaOS/eliza/pull/1620 +* feat: implement getKnowledge, searchKnowledge, createKnowledge, removeKnowledge and clearKnowledge methods by @shakkernerd in https://github.com/elizaOS/eliza/pull/2005 +* chore: Make `generateNewTweet` public by @hazelnutcloud in https://github.com/elizaOS/eliza/pull/1902 +* fix: remove legacy variables (XAI_MODEL, XAI_API_KEY & IMAGE_GEN) by @proteanx in https://github.com/elizaOS/eliza/pull/2001 +* Update plugins.md -- Allora README Fix by @kush-alloralabs in https://github.com/elizaOS/eliza/pull/2003 +* update: Readme and Comments by @rferrari in https://github.com/elizaOS/eliza/pull/2006 +* fix: Auto Client bug by @HashWarlock in https://github.com/elizaOS/eliza/pull/2007 +* chore(plugin-solana): replace console with elizaLogger by @sinecose in https://github.com/elizaOS/eliza/pull/1888 +* feat: make the birdeye api req optional by @kamalbuilds in https://github.com/elizaOS/eliza/pull/1895 +* feat: init DePIN plugin by @nicky-ru in https://github.com/elizaOS/eliza/pull/1874 +* fix: packages/adapter-postgres/schema.sql isShared needs double quote by @koofree in https://github.com/elizaOS/eliza/pull/2008 +* feat: Add approval mechanism for Twitter posts via Discord bot by @mbcse in https://github.com/elizaOS/eliza/pull/1876 +* feat: Giphy plugin - Add animated gif to conversations by @daniel-farina in https://github.com/elizaOS/eliza/pull/1873 +* Opacity Verifiable Interference zkTLS Plugin by @RonTuretzky in https://github.com/elizaOS/eliza/pull/1673 +* fix: remove near-solana slippage env conflict by @wtfsayo in https://github.com/elizaOS/eliza/pull/2016 +* feat: Update the Galadriel LLM integration to reflect their product updates by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2011 +* chore(ci): add pnpm lockfile consistency check workflow by @jonathanykh in https://github.com/elizaOS/eliza/pull/2015 +* feat: add telegram api root config in env by @dto-simba in https://github.com/elizaOS/eliza/pull/2014 +* feat: new plugin LetzAI by @mitchoz in https://github.com/elizaOS/eliza/pull/1868 +* fix: letzAi build issues by @wtfsayo in https://github.com/elizaOS/eliza/pull/2021 +* feat: plugin new RabbiTrader by @Freytes in https://github.com/elizaOS/eliza/pull/1785 +* Feature/add coinmarketcap plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1773 +* fix: remove defillama plugin & improve rabbi trader by @wtfsayo in https://github.com/elizaOS/eliza/pull/2027 +* Update README_RU.md by @WAGMIBRO in https://github.com/elizaOS/eliza/pull/2026 +* Update .env.example by @antman1p in https://github.com/elizaOS/eliza/pull/2031 +* fix: include schema.sql and seed.sql in package files by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2030 +* fix: 🚚 📚 move plugin-web-search readme to root dir by @marcellodesales in https://github.com/elizaOS/eliza/pull/1992 +* feat: full overhaul of client by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2038 +* fix: update slack client readme manifest by @AnonJon in https://github.com/elizaOS/eliza/pull/2044 +* fix: Update Key Derive in TEE by @HashWarlock in https://github.com/elizaOS/eliza/pull/2039 +* Revert "fix: Update Key Derive in TEE" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2049 +* fix: Categorize & Format .env.example by @proteanx in https://github.com/elizaOS/eliza/pull/2052 +* fix: update regex to allow Unicode characters in message processing by @taofengno1 in https://github.com/elizaOS/eliza/pull/2048 +* Fix: more specific rpc urls by @zhourunlai in https://github.com/elizaOS/eliza/pull/2018 +* feat: Proof of Pizza - Agentic Dominos Ordering by @bayological in https://github.com/elizaOS/eliza/pull/2042 +* Feature/plugin coingecko by @Lukapetro in https://github.com/elizaOS/eliza/pull/1761 +* feat: improve zkstack based plugins by @aalimsahin in https://github.com/elizaOS/eliza/pull/1821 +* feat: added nineteen.ai llm & image support by @tripathiarpan20 in https://github.com/elizaOS/eliza/pull/2022 +* feat: plugin-nft-generation support evm chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1763 +* fix: Bugfix in LetzAI Plugin -> missing named export and Plugin-type by @DanielWahl in https://github.com/elizaOS/eliza/pull/2062 +* Galadriel docs and .env.example update by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2061 +* fix: PGVector_embedding_validation (#1687) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1750 +* fix: fix multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2017 +* revert: #2048 by @wtfsayo in https://github.com/elizaOS/eliza/pull/2059 +* feat: support TEE logging and support running eliza in Intel SGX by @ShuochengWang in https://github.com/elizaOS/eliza/pull/1470 +* Update README_CN to match latest English README by @bxngxl in https://github.com/elizaOS/eliza/pull/2069 +* Fix: case-sensitive column reference in knowledge table CHECK constraint by @antman1p in https://github.com/elizaOS/eliza/pull/2058 +* docs: Update README_KOR.md by @YANGSEOKWOO in https://github.com/elizaOS/eliza/pull/2074 +* fix: Revert "feat: Proof of Pizza - Agentic Dominos Ordering" by @tcm390 in https://github.com/elizaOS/eliza/pull/2075 +* fix: rm unused imports by @mameikagou in https://github.com/elizaOS/eliza/pull/2112 +* chore: revert #1808 + add missing import for coin gecko plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2106 +* Add name and description to SttTtsPlugin by @mameikagou in https://github.com/elizaOS/eliza/pull/2117 +* fix: Apply model settings for images and remove duplicate files by @tcm390 in https://github.com/elizaOS/eliza/pull/2118 +* feat: pro api support, trending coins api by @Lukapetro in https://github.com/elizaOS/eliza/pull/2068 +* Add gemini to image vision by @web3gh in https://github.com/elizaOS/eliza/pull/2099 +* feat: Add Irys plugin by @Hugo-SEQUIER in https://github.com/elizaOS/eliza/pull/1708 +* fix: Fix plugin loading from a character.json file by @treppers in https://github.com/elizaOS/eliza/pull/2095 +* feat: add Heurist embedding model by @tsubasakong in https://github.com/elizaOS/eliza/pull/2093 +* fix: clientConfig.telegram.isPartOfTeam misstype by @rferrari in https://github.com/elizaOS/eliza/pull/2103 +* docs: Add Verified Inference docs by @maciejwitowski in https://github.com/elizaOS/eliza/pull/2125 +* fix: Update clients.md to fix package name by @prasadabhishek in https://github.com/elizaOS/eliza/pull/2091 +* feat: support autonome platform by @autonome-ai in https://github.com/elizaOS/eliza/pull/2121 +* fix: syntax issue on autonome plugin and lock file update by @wtfsayo in https://github.com/elizaOS/eliza/pull/2131 +* test: Integration Tests Enhancement and Coinbase Commerce Integration by @pgoos in https://github.com/elizaOS/eliza/pull/1767 +* fix: prevent repeated login by reusing client-twitter session by @tcm390 in https://github.com/elizaOS/eliza/pull/2129 +* fix: update lockfile and fix lint findings by @odilitime in https://github.com/elizaOS/eliza/pull/2128 +* feat: Add Akash Network plugin with autonomous deployment capabilities by @AIFlowML in https://github.com/elizaOS/eliza/pull/2111 +* feat: Lens Network Plugin by @pranjallyad in https://github.com/elizaOS/eliza/pull/2101 +* Docs improvements by @tudorpintea999 in https://github.com/elizaOS/eliza/pull/2138 +* fix: lens export name and duplicate imports by @tcm390 in https://github.com/elizaOS/eliza/pull/2142 +* Fix: Supabase updates by @antman1p in https://github.com/elizaOS/eliza/pull/2100 +* refactor: Optimize memory fetching by moving sorting and slicing to DB (PR #1531 remake) by @odilitime in https://github.com/elizaOS/eliza/pull/2135 +* feat: Add Cloudflare AI Gateway support by @w3-bounty in https://github.com/elizaOS/eliza/pull/821 +* docs: add readme portuguese version in docs by @rRogick in https://github.com/elizaOS/eliza/pull/2088 +* fix: eslint-fix-full-test-again by @AIFlowML in https://github.com/elizaOS/eliza/pull/2143 +* Fix: fix starknet plugin by replacing walletProvider with portfolio provider by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2029 +* feat: Image descriptions into interaction.ts by @denizekiz in https://github.com/elizaOS/eliza/pull/1775 +* feat: plugin-hyperliquid by @earlyvibz in https://github.com/elizaOS/eliza/pull/2141 +* feat: Add Mistral AI as new model provider by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2137 +* feat: Implement asterai plugin by @rellfy in https://github.com/elizaOS/eliza/pull/2045 +* feat: add massa-plugin by @peterjah in https://github.com/elizaOS/eliza/pull/1582 +* feat: add Quai integration by @0xalank in https://github.com/elizaOS/eliza/pull/2083 +* feat: Add DeepSeek AI provider support to Eliza by @daizhengxue in https://github.com/elizaOS/eliza/pull/2067 +* feat: Primus zkTLS plugin to fully verify agent activities by @xiangxiecrypto in https://github.com/elizaOS/eliza/pull/2086 +* fix: fix client-discord join voice action by @tcm390 in https://github.com/elizaOS/eliza/pull/2160 +* add github to client enumerations by @AnonJon in https://github.com/elizaOS/eliza/pull/2157 +* inheritance of character from parent using extends key by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/2159 +* fix: correct SUI/USD price calculation by @ChainRex in https://github.com/elizaOS/eliza/pull/2150 +* feat: solana transaction more lenient by @zhourunlai in https://github.com/elizaOS/eliza/pull/2053 +* chore: Add UUID tests and fix version 5 bits by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1362 +* Update git command for checking latest release by @velvet-shark in https://github.com/elizaOS/eliza/pull/1705 +* chore: add conditionals for supabase to agent directory by @antman1p in https://github.com/elizaOS/eliza/pull/2032 +* chore: bump develop lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/2166 +* feat: TTS(Text2Speech) with over 15 languages support! by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2110 +* test: moving uuid.tests to correct __tests__ directory by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2168 +* tests: coinbase plugin - adding tests for coinbase plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2170 +* Fix: replace invalid toghether ai medium model by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2173 +* fix: insert missing langdetect on plugin-tts package.json by @rferrari in https://github.com/elizaOS/eliza/pull/2175 +* fix(client-twitter): add mention deduplication utility by @nhodges in https://github.com/elizaOS/eliza/pull/2178 +* feat: 🎈 perf(vscode): Set file nesting for md and DockerFile by @AAAkater in https://github.com/elizaOS/eliza/pull/2177 +* fix: deepseek support in getTokenForProvider by @Riroaki in https://github.com/elizaOS/eliza/pull/2179 +* fix: remove problematic redundant uuid conversion and add api input param validations to api server by @jonathanykh in https://github.com/elizaOS/eliza/pull/2051 +* fix: fix the chat stuck in infinite loop by @zoe27 in https://github.com/elizaOS/eliza/pull/1755 +* fix: Koloxarto/fix ragknowledge for postgres by @web3gh in https://github.com/elizaOS/eliza/pull/2153 +* chore: lint and fix pass on develop by @odilitime in https://github.com/elizaOS/eliza/pull/2180 +* chore: Prep v0.1.8 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2171 + +#### New Contributors + +
      +View New Contributors +* @jonathanmv made their first contribution in https://github.com/elizaOS/eliza/pull/1831 +* @bitcoinbender made their first contribution in https://github.com/elizaOS/eliza/pull/1829 +* @web3isthefuture made their first contribution in https://github.com/elizaOS/eliza/pull/1835 +* @MagikHolder made their first contribution in https://github.com/elizaOS/eliza/pull/1832 +* @manotoor made their first contribution in https://github.com/elizaOS/eliza/pull/1847 +* @RobertSloan22 made their first contribution in https://github.com/elizaOS/eliza/pull/1787 +* @macfly-base made their first contribution in https://github.com/elizaOS/eliza/pull/1827 +* @AgustinRamiroDiaz made their first contribution in https://github.com/elizaOS/eliza/pull/975 +* @MacsDickinson made their first contribution in https://github.com/elizaOS/eliza/pull/1839 +* @inferanetwork made their first contribution in https://github.com/elizaOS/eliza/pull/1860 +* @robin-rrt made their first contribution in https://github.com/elizaOS/eliza/pull/1241 +* @daniel-farina made their first contribution in https://github.com/elizaOS/eliza/pull/1861 +* @mgacek-blockydevs made their first contribution in https://github.com/elizaOS/eliza/pull/1826 +* @roshanrags made their first contribution in https://github.com/elizaOS/eliza/pull/935 +* @pedronovikovborges made their first contribution in https://github.com/elizaOS/eliza/pull/1770 +* @jazzvaz made their first contribution in https://github.com/elizaOS/eliza/pull/1807 +* @bentatum made their first contribution in https://github.com/elizaOS/eliza/pull/1828 +* @Gajesh2007 made their first contribution in https://github.com/elizaOS/eliza/pull/1558 +* @Arrowana made their first contribution in https://github.com/elizaOS/eliza/pull/1882 +* @JoeyKhd made their first contribution in https://github.com/elizaOS/eliza/pull/1881 +* @kylebuildsstuff made their first contribution in https://github.com/elizaOS/eliza/pull/1880 +* @xzrfax made their first contribution in https://github.com/elizaOS/eliza/pull/1909 +* @RatakondalaArun made their first contribution in https://github.com/elizaOS/eliza/pull/1908 +* @bodhi-crypo made their first contribution in https://github.com/elizaOS/eliza/pull/1916 +* @petryshkaCODE made their first contribution in https://github.com/elizaOS/eliza/pull/1922 +* @0xbeekeeper made their first contribution in https://github.com/elizaOS/eliza/pull/1898 +* @threewebcode made their first contribution in https://github.com/elizaOS/eliza/pull/1937 +* @shlokkhemani made their first contribution in https://github.com/elizaOS/eliza/pull/1944 +* @elpiarthera made their first contribution in https://github.com/elizaOS/eliza/pull/1818 +* @KONFeature made their first contribution in https://github.com/elizaOS/eliza/pull/1810 +* @kesar made their first contribution in https://github.com/elizaOS/eliza/pull/1954 +* @velvet-shark made their first contribution in https://github.com/elizaOS/eliza/pull/1973 +* @Saundr21 made their first contribution in https://github.com/elizaOS/eliza/pull/1960 +* @Laurentiu-Andronache made their first contribution in https://github.com/elizaOS/eliza/pull/1982 +* @Minco-Yuga made their first contribution in https://github.com/elizaOS/eliza/pull/1981 +* @0x-jj made their first contribution in https://github.com/elizaOS/eliza/pull/1968 +* @rekpero made their first contribution in https://github.com/elizaOS/eliza/pull/1966 +* @conache made their first contribution in https://github.com/elizaOS/eliza/pull/1955 +* @mbcse made their first contribution in https://github.com/elizaOS/eliza/pull/1950 +* @sekmet made their first contribution in https://github.com/elizaOS/eliza/pull/1943 +* @iankm made their first contribution in https://github.com/elizaOS/eliza/pull/1418 +* @Rahat-ch made their first contribution in https://github.com/elizaOS/eliza/pull/1621 +* @hazelnutcloud made their first contribution in https://github.com/elizaOS/eliza/pull/1902 +* @kush-alloralabs made their first contribution in https://github.com/elizaOS/eliza/pull/2003 +* @rferrari made their first contribution in https://github.com/elizaOS/eliza/pull/2006 +* @kamalbuilds made their first contribution in https://github.com/elizaOS/eliza/pull/1895 +* @koofree made their first contribution in https://github.com/elizaOS/eliza/pull/2008 +* @RonTuretzky made their first contribution in https://github.com/elizaOS/eliza/pull/1673 +* @wtfsayo made their first contribution in https://github.com/elizaOS/eliza/pull/2016 +* @kristjanpeterson1 made their first contribution in https://github.com/elizaOS/eliza/pull/2011 +* @jonathanykh made their first contribution in https://github.com/elizaOS/eliza/pull/2015 +* @dto-simba made their first contribution in https://github.com/elizaOS/eliza/pull/2014 +* @mitchoz made their first contribution in https://github.com/elizaOS/eliza/pull/1868 +* @WAGMIBRO made their first contribution in https://github.com/elizaOS/eliza/pull/2026 +* @antman1p made their first contribution in https://github.com/elizaOS/eliza/pull/2031 +* @brauliolomeli made their first contribution in https://github.com/elizaOS/eliza/pull/2030 +* @AnonJon made their first contribution in https://github.com/elizaOS/eliza/pull/2044 +* @taofengno1 made their first contribution in https://github.com/elizaOS/eliza/pull/2048 +* @bayological made their first contribution in https://github.com/elizaOS/eliza/pull/2042 +* @tripathiarpan20 made their first contribution in https://github.com/elizaOS/eliza/pull/2022 +* @DanielWahl made their first contribution in https://github.com/elizaOS/eliza/pull/2062 +* @ShuochengWang made their first contribution in https://github.com/elizaOS/eliza/pull/1470 +* @bxngxl made their first contribution in https://github.com/elizaOS/eliza/pull/2069 +* @YANGSEOKWOO made their first contribution in https://github.com/elizaOS/eliza/pull/2074 +* @mameikagou made their first contribution in https://github.com/elizaOS/eliza/pull/2112 +* @web3gh made their first contribution in https://github.com/elizaOS/eliza/pull/2099 +* @Hugo-SEQUIER made their first contribution in https://github.com/elizaOS/eliza/pull/1708 +* @maciejwitowski made their first contribution in https://github.com/elizaOS/eliza/pull/2125 +* @prasadabhishek made their first contribution in https://github.com/elizaOS/eliza/pull/2091 +* @autonome-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2121 +* @pranjallyad made their first contribution in https://github.com/elizaOS/eliza/pull/2101 +* @tudorpintea999 made their first contribution in https://github.com/elizaOS/eliza/pull/2138 +* @w3-bounty made their first contribution in https://github.com/elizaOS/eliza/pull/821 +* @rRogick made their first contribution in https://github.com/elizaOS/eliza/pull/2088 +* @Jonatan-Chaverri made their first contribution in https://github.com/elizaOS/eliza/pull/2029 +* @earlyvibz made their first contribution in https://github.com/elizaOS/eliza/pull/2141 +* @rellfy made their first contribution in https://github.com/elizaOS/eliza/pull/2045 +* @peterjah made their first contribution in https://github.com/elizaOS/eliza/pull/1582 +* @0xalank made their first contribution in https://github.com/elizaOS/eliza/pull/2083 +* @xiangxiecrypto made their first contribution in https://github.com/elizaOS/eliza/pull/2086 +* @ChainRex made their first contribution in https://github.com/elizaOS/eliza/pull/2150 +* @nhodges made their first contribution in https://github.com/elizaOS/eliza/pull/2178 +* @AAAkater made their first contribution in https://github.com/elizaOS/eliza/pull/2177 +* @Riroaki made their first contribution in https://github.com/elizaOS/eliza/pull/2179 +* @zoe27 made their first contribution in https://github.com/elizaOS/eliza/pull/1755 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 + +--- + +## v0.1.7 (January 04, 2025) + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 +* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 +* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 +* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 +* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 +* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 +* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 +* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 +* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 +* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 +* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 +* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 +* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 +* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 +* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 +* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 +* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 +* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 +* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 +* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 +* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 +* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 +* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 +* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 +* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 +* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 +* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 +* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 +* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 +* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 +* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 +* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 +* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 +* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 +* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 +* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 +* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 +* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 +* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 +* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 +* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 +* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 +* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 +* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 +* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 +* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 +* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 +* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 +* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 +* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 +* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 +* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 +* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 +* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 +* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 +* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 +* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 +* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 +* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 +* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 +* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 +* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 +* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 +* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 +* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 +* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 +* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 +* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 +* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 +* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 +* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 +* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 +* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 +* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 +* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 +* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 +* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 +* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 +* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 +* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 +* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 +* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 +* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 +* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 +* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 +* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 +* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 +* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 +* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 +* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 +* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 +* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 +* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 +* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 +* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 +* feat: add autoscroll chat client by @swizzmagik in https://github.com/elizaOS/eliza/pull/1538 +* docs: Polish readme by @yanushevitz in https://github.com/elizaOS/eliza/pull/1537 +* Update README_CN - Model Configuration by @RedHorse823 in https://github.com/elizaOS/eliza/pull/1535 +* docs: fix grammar/typos in README by @SK1989sL in https://github.com/elizaOS/eliza/pull/1534 +* Fix: make twitter engagement criteria in prompt more focused on relevance to topics/interests/character by @e-fu in https://github.com/elizaOS/eliza/pull/1533 +* feat: improve stale pr/issue messages by @monilpat in https://github.com/elizaOS/eliza/pull/1540 +* fix: twitter usernames can start with numbers by @odilitime in https://github.com/elizaOS/eliza/pull/1541 +* Fix jsdoc automation build issue & parametrize PR branch target by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1547 +* fix: Telegram Bad Request: can't parse entities by @azep-ninja in https://github.com/elizaOS/eliza/pull/1546 +* Chore: Refactor Imports. Improve PR Template by @mgunnin in https://github.com/elizaOS/eliza/pull/1545 +* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1549 +* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1548 +* feat: add theme toggle functionality with dark and light mode support by @zkfriendly in https://github.com/elizaOS/eliza/pull/1555 +* docs: Add "What Did You Get Done This Week? #7" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1559 +* feat: (example) script to show how to add system prompt and templates to eliza with character file by @HashWarlock in https://github.com/elizaOS/eliza/pull/1554 +* feat: parse files through prettier by @shakkernerd in https://github.com/elizaOS/eliza/pull/1573 +* fix: init 768 dimension in database for gaianet by @L-jasmine in https://github.com/elizaOS/eliza/pull/1572 +* docs: overview and preview of technical report by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1574 +* feat: add TEE support for plugin-env by @samuveth in https://github.com/elizaOS/eliza/pull/1571 +* Update agents.md - minor update by @yorkerhodes3 in https://github.com/elizaOS/eliza/pull/1579 +* refactor(plugin-conflux): output detailed invalid content by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1602 +* fix: tweak transfer template of plugin-evm by @zkvm in https://github.com/elizaOS/eliza/pull/1604 +* feat: add experimental telemetry model option by @zhourunlai in https://github.com/elizaOS/eliza/pull/1603 +* docs: README.md files for plugins by @ileana-pr in https://github.com/elizaOS/eliza/pull/1601 +* feat: use tavily sdk by @zhourunlai in https://github.com/elizaOS/eliza/pull/1599 +* docs: add readme spanish version in docs by @salazarsebas in https://github.com/elizaOS/eliza/pull/1594 +* feat: add docs for image generation plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1591 +* docs: fix Contributing Guide by @0xFloyd in https://github.com/elizaOS/eliza/pull/1589 +* feat: update volcengine model by @zhourunlai in https://github.com/elizaOS/eliza/pull/1586 +* fix: update plugin-solana workspace dependencies by @shakkernerd in https://github.com/elizaOS/eliza/pull/1609 +* fix: Google API Key not passing from character file by @azep-ninja in https://github.com/elizaOS/eliza/pull/1607 +* add plugins to the key components section of the faq by @cole-gillespie in https://github.com/elizaOS/eliza/pull/1614 +* add an client-direct endpoint to get memories by agentid and roomid by @treppers in https://github.com/elizaOS/eliza/pull/1581 +* fix: Double Responses from Continue Action by @azep-ninja in https://github.com/elizaOS/eliza/pull/1606 +* Fix double spaced tweets in Post.ts by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1626 +* feat: Select a transcription provider based on the character settings. by @tcm390 in https://github.com/elizaOS/eliza/pull/1625 +* fix: turbo deps for plugin-evm by @odilitime in https://github.com/elizaOS/eliza/pull/1627 +* feat: Twitter Spaces Integration by @slkzgm in https://github.com/elizaOS/eliza/pull/1550 +* fix: corrected path for image upload by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/1632 +* chore: update viem dependency version in plugin-evm and plugin-goat by @bertux in https://github.com/elizaOS/eliza/pull/1637 +* fix: lockfile wasn't updated after dependency + bring viem to root level package.json by @monilpat in https://github.com/elizaOS/eliza/pull/1642 +* fix: Fix bug in plugin-bootstrap/src/evaluators/facts.ts by @metakai1 in https://github.com/elizaOS/eliza/pull/1648 +* Add README_AR.md by @xMariem in https://github.com/elizaOS/eliza/pull/1634 +* Added Hungarian README by @mdominikd in https://github.com/elizaOS/eliza/pull/1645 +* fix: activate web-search plugin in agents/ by @cmadaanaya in https://github.com/elizaOS/eliza/pull/1577 +* fix: 1634 fix image description service by @nusk0 in https://github.com/elizaOS/eliza/pull/1667 +* fix: Seperated imageModelProvider and imageVisionModelProvider for ImageDescriptioServices by @denizekiz in https://github.com/elizaOS/eliza/pull/1664 +* fix: Update Supabase schema.sql by @0xRider in https://github.com/elizaOS/eliza/pull/1660 +* feat: add docs for story plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1672 +* fix: add web search to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1676 +* fix: 1668 fix twitter image link by @nusk0 in https://github.com/elizaOS/eliza/pull/1671 +* chore(docs): rename ai16z/eliza to elizaOS/eliza by @9547 in https://github.com/elizaOS/eliza/pull/1679 +* fix: smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1695 +* feat: Plugin sui support for suiprivatekey0x account by @v1xingyue in https://github.com/elizaOS/eliza/pull/1693 +* docs: update README.md spelling by @SK1989sL in https://github.com/elizaOS/eliza/pull/1690 +* chore: twitter username validation message by @daizhengxue in https://github.com/elizaOS/eliza/pull/1698 +* Update README_KOR.md: Added missing sections and improved Korean translations for clarity by @gnujoow in https://github.com/elizaOS/eliza/pull/1683 +* fix(core): trimTokens no need to await by @9547 in https://github.com/elizaOS/eliza/pull/1686 +* chore: update web search plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1688 +* EVM plugin wallet provider and transfer action improvements by @nicky-ru in https://github.com/elizaOS/eliza/pull/1701 +* fix: Url fix in imagedescriptionservice by @denizekiz in https://github.com/elizaOS/eliza/pull/1696 +* feat: improve GOAT integration by allowing tool calling when using generateText by @0xaguspunk in https://github.com/elizaOS/eliza/pull/1403 +* fix: postgres-adapter - remove nonsensical schema check by @ryanleecode in https://github.com/elizaOS/eliza/pull/1377 +* fix: disable trust provider for PostGres db by @swizzmagik in https://github.com/elizaOS/eliza/pull/1536 +* fix: multiple web search import in agent by @shakkernerd in https://github.com/elizaOS/eliza/pull/1718 +* chore(zksync-era): rm not used imports by @9547 in https://github.com/elizaOS/eliza/pull/1716 +* fix: add echochambers to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1719 +* docs: update faq.md by @TresFlames in https://github.com/elizaOS/eliza/pull/1746 +* docs: update README_KOR.md by @osrm in https://github.com/elizaOS/eliza/pull/1739 +* docs: add Serbian README translation by @marsic3 in https://github.com/elizaOS/eliza/pull/1757 +* fix: Support for Non-OpenAI Models in Token Trimming by @tcm390 in https://github.com/elizaOS/eliza/pull/1605 +* fix: build lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/1759 +* fix(client): improve Windows compatibility for Vite dev server by @gmh5225 in https://github.com/elizaOS/eliza/pull/1760 +* feat: use custom conditions for live monorepo types by @ryanleecode in https://github.com/elizaOS/eliza/pull/1365 +* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1740 +* feat(plugin-near): replace console.log to eliza logger by @sinecose in https://github.com/elizaOS/eliza/pull/1745 +* Agentic Eliza Plugin Documenter - Multilingual (e.g., English, Spanish, French) by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1675 +* 🐛 fix plugins.md formatting for docs with dockerized docs validation by @marcellodesales in https://github.com/elizaOS/eliza/pull/1722 +* fix: line break handling in chat by @swizzmagik in https://github.com/elizaOS/eliza/pull/1784 +* chore: remove unused import and var by @shakkernerd in https://github.com/elizaOS/eliza/pull/1797 +* bug : Removed FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1795 +* fix(client-slack): implement Media type properties in message attachments #1384 by @AIFlowML in https://github.com/elizaOS/eliza/pull/1741 +* fix(postgres): Handle vector extension creation properly (#1561) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1743 +* Revert "fix(postgres): Handle vector extension creation properly (#1561)" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1799 +* fix: standardize ACTION_INTERVAL unit to minutes in twitter client by @sin-bufan in https://github.com/elizaOS/eliza/pull/1738 +* refactor: client api by @aalimsahin in https://github.com/elizaOS/eliza/pull/1713 +* feat: Simulate discord typing while generating a response by @dxlliv in https://github.com/elizaOS/eliza/pull/1712 +* fix: bugfix. the port 80 is not listening use 3000 by @jmikedupont2 in https://github.com/elizaOS/eliza/pull/1616 +* chore: install with no frozen-lockfile flag by @shakkernerd in https://github.com/elizaOS/eliza/pull/1802 +* fix: generation tests for trimTokens by @shakkernerd in https://github.com/elizaOS/eliza/pull/1803 +* chore: bump version to v.0.1.7 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1804 +* chore: Develop => main for 1.7.0 release by @odilitime in https://github.com/elizaOS/eliza/pull/1717 + +#### New Contributors + +
      +View New Contributors +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 +* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 +* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 +* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 +* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 +* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 +* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 +* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 +* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 +* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 +* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 +* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 +* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 +* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 +* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 +* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 +* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 +* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 +* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 +* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 +* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 +* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 +* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 +* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 +* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 +* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 +* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 +* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 +* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 +* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 +* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 +* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 +* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 +* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 +* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 +* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 +* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 +* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 +* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 +* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 +* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 +* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 +* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 +* @yanushevitz made their first contribution in https://github.com/elizaOS/eliza/pull/1537 +* @RedHorse823 made their first contribution in https://github.com/elizaOS/eliza/pull/1535 +* @SK1989sL made their first contribution in https://github.com/elizaOS/eliza/pull/1534 +* @mgunnin made their first contribution in https://github.com/elizaOS/eliza/pull/1545 +* @zkfriendly made their first contribution in https://github.com/elizaOS/eliza/pull/1555 +* @yorkerhodes3 made their first contribution in https://github.com/elizaOS/eliza/pull/1579 +* @bendanzhentan made their first contribution in https://github.com/elizaOS/eliza/pull/1602 +* @zhourunlai made their first contribution in https://github.com/elizaOS/eliza/pull/1603 +* @salazarsebas made their first contribution in https://github.com/elizaOS/eliza/pull/1594 +* @0xFloyd made their first contribution in https://github.com/elizaOS/eliza/pull/1589 +* @cole-gillespie made their first contribution in https://github.com/elizaOS/eliza/pull/1614 +* @treppers made their first contribution in https://github.com/elizaOS/eliza/pull/1581 +* @slkzgm made their first contribution in https://github.com/elizaOS/eliza/pull/1550 +* @ShreyGanatra made their first contribution in https://github.com/elizaOS/eliza/pull/1632 +* @bertux made their first contribution in https://github.com/elizaOS/eliza/pull/1637 +* @metakai1 made their first contribution in https://github.com/elizaOS/eliza/pull/1648 +* @xMariem made their first contribution in https://github.com/elizaOS/eliza/pull/1634 +* @mdominikd made their first contribution in https://github.com/elizaOS/eliza/pull/1645 +* @cmadaanaya made their first contribution in https://github.com/elizaOS/eliza/pull/1577 +* @nusk0 made their first contribution in https://github.com/elizaOS/eliza/pull/1667 +* @0xRider made their first contribution in https://github.com/elizaOS/eliza/pull/1660 +* @daizhengxue made their first contribution in https://github.com/elizaOS/eliza/pull/1698 +* @gnujoow made their first contribution in https://github.com/elizaOS/eliza/pull/1683 +* @affaan-m made their first contribution in https://github.com/elizaOS/eliza/pull/1688 +* @TresFlames made their first contribution in https://github.com/elizaOS/eliza/pull/1746 +* @osrm made their first contribution in https://github.com/elizaOS/eliza/pull/1739 +* @marsic3 made their first contribution in https://github.com/elizaOS/eliza/pull/1757 +* @gmh5225 made their first contribution in https://github.com/elizaOS/eliza/pull/1760 +* @sinecose made their first contribution in https://github.com/elizaOS/eliza/pull/1745 +* @marcellodesales made their first contribution in https://github.com/elizaOS/eliza/pull/1722 +* @aalimsahin made their first contribution in https://github.com/elizaOS/eliza/pull/1713 +* @dxlliv made their first contribution in https://github.com/elizaOS/eliza/pull/1712 +* @jmikedupont2 made their first contribution in https://github.com/elizaOS/eliza/pull/1616 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 + +--- + +## v0.1.7-alpha.2 (December 28, 2024) + +#### Features + +- New default character ([#1453](https://github.com/elizaOS/eliza/pull/1453)) +- Handle long tweets ([#1339](https://github.com/elizaOS/eliza/pull/1339), [#1520](https://github.com/elizaOS/eliza/pull/1520)) +- Custom System Prompt Support for plugin-image-generation ([#839](https://github.com/elizaOS/eliza/pull/839)) +- Add /:agentId/speak endpoint for text-to-speech ([#1528](https://github.com/elizaOS/eliza/pull/1528)) +- Add Livepeer Image Provider ([#1525](https://github.com/elizaOS/eliza/pull/1525)) +- Add Text to 3D function ([#1446](https://github.com/elizaOS/eliza/pull/1446)) +- Add GitBook Plugin provider ([#1126](https://github.com/elizaOS/eliza/pull/1126)) +- Add abstract plugin ([#1225](https://github.com/elizaOS/eliza/pull/1225)) +- Add avalanche plugin ([#842](https://github.com/elizaOS/eliza/pull/842)) +- Add FerePro plugin ([#1502](https://github.com/elizaOS/eliza/pull/1502)) +- Add Cronos ZKEVM plugin ([#1464](https://github.com/elizaOS/eliza/pull/1464)) +- Add plugin for Cronos ZKEVM ([#1464](https://github.com/elizaOS/eliza/pull/1464)) +- Add Venice style presets & option to remove watermark ([#1410](https://github.com/elizaOS/eliza/pull/1410)) +- Client-GitHub retry ([#1425](https://github.com/elizaOS/eliza/pull/1425)) +- Add ModelConfiguration to Character ([#1455](https://github.com/elizaOS/eliza/pull/1455)) +- Use OPENAI_API_URL for custom API endpoint ([#1522](https://github.com/elizaOS/eliza/pull/1522)) + +#### Fixes + +- Multiple Agents running at the same time on localhost ([#1415](https://github.com/elizaOS/eliza/pull/1415)) +- tags in templates/examples empty when passed to LLM ([#1305](https://github.com/elizaOS/eliza/pull/1305)) +- Postgres adapter settings not being applied ([#1379](https://github.com/elizaOS/eliza/pull/1379)) +- ImageModelProvider API key selection fallback ([#1272](https://github.com/elizaOS/eliza/pull/1272)) +- Swap and bridge actions in plugin-evm ([#1456](https://github.com/elizaOS/eliza/pull/1456)) +- Twitter search feature ([#1433](https://github.com/elizaOS/eliza/pull/1433)) +- Twitter dry run mode and configuration logging ([#1498](https://github.com/elizaOS/eliza/pull/1498)) +- Fix Twitter plugin interaction prompts ([#1469](https://github.com/elizaOS/eliza/pull/1469)) +- LowerCase bug and environment cleanup in Twitter client ([#1514](https://github.com/elizaOS/eliza/pull/1514)) +- Cleaner prompts in Twitter plugin ([#1472](https://github.com/elizaOS/eliza/pull/1472)) +- Twitter login notifications, incorrect cookie management ([#1330](https://github.com/elizaOS/eliza/pull/1330)) +- Duplicate tweet log ([#1402](https://github.com/elizaOS/eliza/pull/1402)) +- Explicitly set env in each step ([#1374](https://github.com/elizaOS/eliza/pull/1374)) +- Incorrect link redirection issue ([#1443](https://github.com/elizaOS/eliza/pull/1443)) +- Remove code duplication in getGoals call ([#1450](https://github.com/elizaOS/eliza/pull/1450)) +- Client type identification with test coverage ([#1490](https://github.com/elizaOS/eliza/pull/1490)) +- Required incremental option in TypeScript configuration ([#1485](https://github.com/elizaOS/eliza/pull/1485)) + +#### Complete Changelog + +* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 +* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 +* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 +* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 +* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 +* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 +* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 +* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 +* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 +* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 +* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 +* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 +* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 +* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 +* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 +* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 +* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 +* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 +* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 +* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 +* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 +* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 +* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 +* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 +* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 +* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 +* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 +* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 +* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 +* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 +* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 +* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 +* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 +* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 +* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 +* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 +* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 +* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 +* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 +* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 +* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 +* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 +* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 +* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 +* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 +* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 +* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 +* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 +* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 +* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 +* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 +* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 +* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 +* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 +* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 +* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 +* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 +* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 +* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 +* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 +* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 +* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 +* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 +* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 +* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 +* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 +* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 +* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 +* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 +* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 +* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 +* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 +* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 +* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 +* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 +* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 +* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 +* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 +* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 +* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 +* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 +* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 +* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 +* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 +* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 +* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 +* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 +* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 +* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 +* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 +* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 +* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 +* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 +* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 + +#### New Contributors + +
      +View New Contributors +* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 +* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 +* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 +* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 +* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 +* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 +* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 +* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 +* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 +* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 +* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 +* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 +* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 +* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 +* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 +* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 +* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 +* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 +* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 +* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 +* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 +* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 +* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 +* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 +* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 +* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 +* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 +* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 +* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 +* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 +* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 +* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 +* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 +* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 +* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 +* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 +* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 +* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 +* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 +* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 +* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 +* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 + +--- + +## v0.1.7-alpha.1 (December 22, 2024) + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 + +#### New Contributors + +
      +View New Contributors +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 +
      + +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.2 + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 + +#### New Contributors + +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 + +**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 + +--- + +## v0.1.6-alpha.5 (December 21, 2024) + +#### What's Changed + +* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 +* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 +* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 +* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 +* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 +* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 +* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 +* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 +* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 +* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 +* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 +* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 +* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 +* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 +* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 +* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 +* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 +* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 +* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 +* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 +* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 +* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 +* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 +* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 +* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 +* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 +* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 +* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 +* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 +* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 +* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 +* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 +* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 +* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 +* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 +* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 +* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 +* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 +* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 +* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 +* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 +* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 +* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 +* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 +* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 +* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 +* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 +* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 +* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 + +#### New Contributors + +
      +View New Contributors +* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 +* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 +* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 +* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 +* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 +* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 +* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 +* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 +* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 +* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 +* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 +* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 +* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 +* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 +* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 +* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 + +--- + +## v0.1.6 (December 21, 2024) + +#### What's Changed + +* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 +* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 +* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 +* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 +* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 +* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 +* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 +* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 +* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 +* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 +* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 +* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 +* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 +* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 +* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 +* use github access token by @tcm390 in https://github.com/ai16z/eliza/pull/825 +* loading indicator by @tcm390 in https://github.com/ai16z/eliza/pull/827 +* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 +* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 +* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 +* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 +* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 +* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 +* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 +* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 +* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 +* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 +* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 +* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 +* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 +* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 +* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 +* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 +* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 +* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 +* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 +* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 +* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 +* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 +* fix: re-enable coverage report upload to Codecov in CI workflow by @snobbee in https://github.com/ai16z/eliza/pull/880 +* chore: disable building docs on build command by @shakkernerd in https://github.com/ai16z/eliza/pull/884 +* feat: Add Flow Blockchain plugin by @btspoony in https://github.com/ai16z/eliza/pull/874 +* chore: enhance dev script, performance improvement and add help message by @shakkernerd in https://github.com/ai16z/eliza/pull/887 +* chore: added more help message to the important notice text. by @shakkernerd in https://github.com/ai16z/eliza/pull/891 +* chore: improved dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/892 +* fix: twitter actions not triggering by @cygaar in https://github.com/ai16z/eliza/pull/903 +* chore: update models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/890 +* fix: evaluation json parsing by @cygaar in https://github.com/ai16z/eliza/pull/907 +* docs: Add What Did You Get Done This Week #4 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/895 +* feat: create README_TH.md by @asianviking in https://github.com/ai16z/eliza/pull/918 +* feat: update gaianet config by @L-jasmine in https://github.com/ai16z/eliza/pull/915 +* feat: allow users to configure models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/910 +* chore: Consistent language for Community & Contact link label by @golryang in https://github.com/ai16z/eliza/pull/899 +* chore: deprecate text based way of generating JSON by @monilpat in https://github.com/ai16z/eliza/pull/920 +* fix: Farcater client cleanup and fixed response logic by @sayangel in https://github.com/ai16z/eliza/pull/914 +* feat: MAX_TWEET_LENGTH env implementation by @onur-saf in https://github.com/ai16z/eliza/pull/912 +* feat: implement advanced coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/725 +* feat: add dynamic watch paths for agent development by @samuveth in https://github.com/ai16z/eliza/pull/931 +* fix: use of Heurist model env vars by @boxhock in https://github.com/ai16z/eliza/pull/924 +* fix: update quickstart and .env.example by @oxSaturn in https://github.com/ai16z/eliza/pull/932 +* feat: add readContract / invokeContract functionality to Coinbase plugin by @monilpat in https://github.com/ai16z/eliza/pull/923 +* fix: telegram response memory userId to agentId by @bmgalego in https://github.com/ai16z/eliza/pull/948 +* feat: Config eternalai model from env by @genesis-0000 in https://github.com/ai16z/eliza/pull/927 +* feat: add hyperbolic api to eliza by @meppsilon in https://github.com/ai16z/eliza/pull/828 +* docs: add WSL installation guide by @ileana-pr in https://github.com/ai16z/eliza/pull/946 +* fix: Revert "docs: add WSL installation guide" by @monilpat in https://github.com/ai16z/eliza/pull/959 +* Fix farcaster client process action issue by @sin-bufan in https://github.com/ai16z/eliza/pull/963 +* fix(agent): correct EVM plugin activation condition by @0xAsten in https://github.com/ai16z/eliza/pull/962 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/ai16z/eliza/pull/960 +* feat: Supports upload files to AWS S3. by @xwxtwd in https://github.com/ai16z/eliza/pull/941 +* fix: update package name in faq by @oxSaturn in https://github.com/ai16z/eliza/pull/937 +* feat: process all responses actions by @bmgalego in https://github.com/ai16z/eliza/pull/940 +* chore: 947 add other evm chains to wallet by @n00b21337 in https://github.com/ai16z/eliza/pull/949 +* feat: add dev script to plugin-aptos by @asianviking in https://github.com/ai16z/eliza/pull/956 +* feat: Add hyperbolic env vars to override model class by @meppsilon in https://github.com/ai16z/eliza/pull/974 +* chore: pass env variables when setting up GOAT and update GOAT readme by @0xaguspunk in https://github.com/ai16z/eliza/pull/898 +* feat: Add TEE Mode to Solana Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/835 +* chore: fix broken lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/977 +* fix: revert llamacloud endpoint change by @odilitime in https://github.com/ai16z/eliza/pull/954 +* feat: add callback handler to runtime evaluate method by @bmgalego in https://github.com/ai16z/eliza/pull/938 +* fix: docker trying to filter out missing docs package by @odilitime in https://github.com/ai16z/eliza/pull/978 +* chore: rename intiface plugin by @odilitime in https://github.com/ai16z/eliza/pull/955 +* feat: allow character.json settings models for open router by @odilitime in https://github.com/ai16z/eliza/pull/953 +* LinkedIn Client by @bkellgren in https://github.com/ai16z/eliza/pull/973 +* fix: a typo in characterfile.md by @oxSaturn in https://github.com/ai16z/eliza/pull/986 +* fix: Goat Plugin + AWS S3 Service error when env vars absent by @jnaulty in https://github.com/ai16z/eliza/pull/985 +* docs: add WSL Setup Guide to documentation by @ileana-pr in https://github.com/ai16z/eliza/pull/983 +* chore: add how to startup chat ui by @yodamaster726 in https://github.com/ai16z/eliza/pull/976 +* feat: flow update generate object by @btspoony in https://github.com/ai16z/eliza/pull/929 +* feat : github image cicd by @v1xingyue in https://github.com/ai16z/eliza/pull/889 +* feat: Add NanoGPT provider by @dylan1951 in https://github.com/ai16z/eliza/pull/926 +* fix: Fix Twitter Search Logic and Add Galadriel Image Model by @dontAskVI in https://github.com/ai16z/eliza/pull/994 +* feat: create README_DE.md by @GottliebFreudenreich in https://github.com/ai16z/eliza/pull/995 +* test: adding parsing tests. changed files parsing.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/996 +* feat: allow users to configure models for openai and anthropic by @oxSaturn in https://github.com/ai16z/eliza/pull/999 +* fix: typo initialize by @cryptofish7 in https://github.com/ai16z/eliza/pull/1000 +* fix: add callback to action in farcaster client by @sin-bufan in https://github.com/ai16z/eliza/pull/1002 +* chore: Bring Develop up to date with HEAD by @odilitime in https://github.com/ai16z/eliza/pull/1006 +* feat: twitter client enhancements by @tharak123455 in https://github.com/ai16z/eliza/pull/913 +* docs: Add templates documentation to the project by @Lukapetro in https://github.com/ai16z/eliza/pull/1013 +* feat: Plugin evm multichain by @nicky-ru in https://github.com/ai16z/eliza/pull/1009 +* test: Initial release of smoke/integration tests + testing framework by @jzvikart in https://github.com/ai16z/eliza/pull/993 +* docs: "AI Agent Dev School Part 4" livestream notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1015 +* chore: Twitter search switch by @odilitime in https://github.com/ai16z/eliza/pull/1003 +* feat: improve Twitter client with action processing by @dorianjanezic in https://github.com/ai16z/eliza/pull/1007 +* fix: refactor contributor page by @tcm390 in https://github.com/ai16z/eliza/pull/809 +* chore: Update CI configuration to enable test coverage and add covera… by @snobbee in https://github.com/ai16z/eliza/pull/1019 +* chore: Twitter fetchHomeTimeline rework by @odilitime in https://github.com/ai16z/eliza/pull/1021 +* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1024 +* feat: Add custom fetch logic for agent by @v1xingyue in https://github.com/ai16z/eliza/pull/1010 +* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1025 +* add echochambers by @savageops in https://github.com/ai16z/eliza/pull/997 +* chore: Push Develop into Main by @odilitime in https://github.com/ai16z/eliza/pull/1028 +* feat: create example folder with example plugin by @monilpat in https://github.com/ai16z/eliza/pull/1004 +* feat: add venice.ai api model provider by @proteanx in https://github.com/ai16z/eliza/pull/1008 +* feat: Add AI Agent Dev School Tutorial Link by @lalalune in https://github.com/ai16z/eliza/pull/1038 +* feat: Add Discord Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1032 +* docs: characterfile.md docs outdated with latest eliza version by @tqdpham96 in https://github.com/ai16z/eliza/pull/1042 +* feat: improve voice processing and add deepgram transcription option by @tcm390 in https://github.com/ai16z/eliza/pull/1026 +* fix: use pull_request_target for integration tests by @jnaulty in https://github.com/ai16z/eliza/pull/1035 +* feat: client-discord stop implementation / agent improvements by @odilitime in https://github.com/ai16z/eliza/pull/1029 +* fix: re-enable generateNewTweetLoop / lint fixes by @odilitime in https://github.com/ai16z/eliza/pull/1043 +* chore: release develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1045 +* chore: improve smokeTests environment validation and logging by @aramxc in https://github.com/ai16z/eliza/pull/1046 +* fix: add auto to clients in types to use client-auto by @HashWarlock in https://github.com/ai16z/eliza/pull/1050 +* feat: add/change change through REST api (client-direct) by @odilitime in https://github.com/ai16z/eliza/pull/1052 +* fix: discord client ci issues by @cygaar in https://github.com/ai16z/eliza/pull/1054 +* fix: Fix pnpm lockfiles by @jzvikart in https://github.com/ai16z/eliza/pull/1055 +* fix: Allow bot to post tweets with images generated by the imageGenerationPlugin by @tcm390 in https://github.com/ai16z/eliza/pull/1040 +* feat: Add Telegram Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1033 +* feat: add venice.ai image generation by @proteanx in https://github.com/ai16z/eliza/pull/1057 +* feat: improve X/Twitter login with cookie validation and retry mechanism by @arslanaybars in https://github.com/ai16z/eliza/pull/856 +* feat: create README_VI.md by @tqdpham96 in https://github.com/ai16z/eliza/pull/1058 +* Update docs (CONTRIBUTING.md) by @lessuselesss in https://github.com/ai16z/eliza/pull/1053 +* feat: add README_TH.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1034 +* feat: multiversx plugin by @mgavrila in https://github.com/ai16z/eliza/pull/860 +* feat: Add NEAR Protocol plugin by @serrrfirat in https://github.com/ai16z/eliza/pull/847 +* chore: commented out unused variables in solana swap action's plugin by @shakkernerd in https://github.com/ai16z/eliza/pull/1073 +* fix: incorrect eslint config file path by @shakkernerd in https://github.com/ai16z/eliza/pull/1074 +* feat: add plugin-ton by @jinbangyi in https://github.com/ai16z/eliza/pull/1039 +* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1075 +* chore: Update package.json by @Freytes in https://github.com/ai16z/eliza/pull/1031 +* chore: improve eslint by --cache by @shengxj1 in https://github.com/ai16z/eliza/pull/1056 +* fix: missing eslint config file by @shakkernerd in https://github.com/ai16z/eliza/pull/1076 +* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1077 +* Add slack plugin by @AIFlowML in https://github.com/ai16z/eliza/pull/859 +* fix: errors in swap action in plugin-near by @shakkernerd in https://github.com/ai16z/eliza/pull/1078 +* Adding plugin for ZKsync Era by @arose00 in https://github.com/ai16z/eliza/pull/906 +* fix: transfer action linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1079 +* chore: add npmignore file by @shakkernerd in https://github.com/ai16z/eliza/pull/1080 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1081 +* fix: eslint command by @shakkernerd in https://github.com/ai16z/eliza/pull/1082 +* chore: remove unnecessary packages by @shakkernerd in https://github.com/ai16z/eliza/pull/1083 +* fix: dynamic import of fs module by @shakkernerd in https://github.com/ai16z/eliza/pull/1084 +* chore: remove unused imports and rename runtime variable by @shakkernerd in https://github.com/ai16z/eliza/pull/1085 +* fix: client slack linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1086 +* fix: syntax error: invalid arithmetic operator by @shakkernerd in https://github.com/ai16z/eliza/pull/1088 +* chore: increase timeout to 3mins by @shakkernerd in https://github.com/ai16z/eliza/pull/1092 +* chore: kill pnpm start by @shakkernerd in https://github.com/ai16z/eliza/pull/1093 +* chore: debugging start behaviour by @shakkernerd in https://github.com/ai16z/eliza/pull/1094 +* docs: add README.md to plugin-evm by @nicky-ru in https://github.com/ai16z/eliza/pull/1095 +* fix: return types of createAgent & startAgent by @BlockJuic3 in https://github.com/ai16z/eliza/pull/1097 +* feat: Smoke Test script by @shakkernerd in https://github.com/ai16z/eliza/pull/1101 +* feat: allow users to configure models for grok by @oxSaturn in https://github.com/ai16z/eliza/pull/1091 +* test: adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/998 +* chore: improving client typing by @BalanaguYashwanth in https://github.com/ai16z/eliza/pull/1036 +* fix: handle no termination message by @shakkernerd in https://github.com/ai16z/eliza/pull/1102 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1103 +* fix: Fixed twitter posts include from including `/n` in the text by @Titan-Node in https://github.com/ai16z/eliza/pull/1070 +* fix: add missing imports by @shakkernerd in https://github.com/ai16z/eliza/pull/1104 +* chore: improve formatting of .env.example for better readability by @guzus in https://github.com/ai16z/eliza/pull/897 +* feat: Lens client by @imthatcarlos in https://github.com/ai16z/eliza/pull/1098 +* feat: Add plugin-nft-generation: create Solana NFT collections. by @xwxtwd in https://github.com/ai16z/eliza/pull/1011 +* Documentation: Plugin list numbering and titles by @brunocalmels in https://github.com/ai16z/eliza/pull/1107 +* feat: add plugin-sui by @jnaulty in https://github.com/ai16z/eliza/pull/934 +* feat: plugin-story by @jacob-tucker in https://github.com/ai16z/eliza/pull/1030 +* Fix/charity by @awidearray in https://github.com/ai16z/eliza/pull/852 +* Feat: Update community section of docs by @madjin in https://github.com/ai16z/eliza/pull/1111 +* fix: Revert "Feat: Update community section of docs" by @monilpat in https://github.com/ai16z/eliza/pull/1112 +* feat: New docs for community section by @madjin in https://github.com/ai16z/eliza/pull/1114 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1115 +* fix: load image from diff endpoints by @qgpcybs in https://github.com/ai16z/eliza/pull/837 +* feat: Updated characters types, Discord & Telegram enhancements by @azep-ninja in https://github.com/ai16z/eliza/pull/957 +* FAL image settings escape hatch by @daojonesceo in https://github.com/ai16z/eliza/pull/814 +* fix: add more heplful default agents (Dobby and C3PO) by @n00b21337 in https://github.com/ai16z/eliza/pull/1124 +* fix: discord client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1125 +* fix: Refactor to prevent unnecessary lockfile changes by @monilpat in https://github.com/ai16z/eliza/pull/1120 +* fix: fix the name by @n00b21337 in https://github.com/ai16z/eliza/pull/1133 +* feat: Add `chatapi.akash.network` to available list of model providers (FREE LLAMA API ACCESS!) by @MbBrainz in https://github.com/ai16z/eliza/pull/1131 +* feat: add support for handlebars templating engine as an option by @erise133 in https://github.com/ai16z/eliza/pull/1136 +* clean newlines for new tweet by @owlcode in https://github.com/ai16z/eliza/pull/1141 +* fix: telegram client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1140 +* fix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash by @FWangZil in https://github.com/ai16z/eliza/pull/965 +* feat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana by @0xNerd in https://github.com/ai16z/eliza/pull/1135 +* chore: remove comment by @shakkernerd in https://github.com/ai16z/eliza/pull/1143 +* fix: remove docker compose command since Docker file already runs by @rarepepi in https://github.com/ai16z/eliza/pull/1139 +* fix: improve fomo integration by @odilitime in https://github.com/ai16z/eliza/pull/1147 +* chore: fix PR #1147 by @odilitime in https://github.com/ai16z/eliza/pull/1148 +* chore: Merge monday, merging develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1144 +* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 +* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 +* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 +* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 +* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 +* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 +* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 +* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 +* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 +* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 +* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 +* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 +* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 +* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 +* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 +* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 +* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 +* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 +* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 +* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 +* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 +* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 +* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 +* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 +* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 +* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 +* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 +* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 +* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 +* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 +* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 +* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 +* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 +* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 +* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 +* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 +* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 +* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 +* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 +* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 +* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 +* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 +* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 +* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 +* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 +* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 +* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 +* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 +* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 +* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 +* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 +* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 +* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 +* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 +* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 +* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 +* fix: remove clients from default character by @shakkernerd in https://github.com/ai16z/eliza/pull/1297 +* fix: default character model to LLAMALOCAL by @shakkernerd in https://github.com/ai16z/eliza/pull/1299 +* feat: release version 0.1.6 by @shakkernerd in https://github.com/ai16z/eliza/pull/1300 + +#### New Contributors + +
      +View New Contributors +* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 +* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 +* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 +* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 +* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 +* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 +* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 +* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 +* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 +* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 +* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 +* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 +* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 +* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 +* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 +* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 +* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 +* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 +* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 +* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 +* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 +* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 +* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 +* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 +* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 +* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 +* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 +* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 +* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 +* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 +* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 +* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 +* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 +* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 +* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 +* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 +* @aramxc made their first contribution in https://github.com/ai16z/eliza/pull/1046 +* @arslanaybars made their first contribution in https://github.com/ai16z/eliza/pull/856 +* @derRizzMeister made their first contribution in https://github.com/ai16z/eliza/pull/1034 +* @mgavrila made their first contribution in https://github.com/ai16z/eliza/pull/860 +* @serrrfirat made their first contribution in https://github.com/ai16z/eliza/pull/847 +* @jinbangyi made their first contribution in https://github.com/ai16z/eliza/pull/1039 +* @shengxj1 made their first contribution in https://github.com/ai16z/eliza/pull/1056 +* @AIFlowML made their first contribution in https://github.com/ai16z/eliza/pull/859 +* @arose00 made their first contribution in https://github.com/ai16z/eliza/pull/906 +* @BlockJuic3 made their first contribution in https://github.com/ai16z/eliza/pull/1097 +* @BalanaguYashwanth made their first contribution in https://github.com/ai16z/eliza/pull/1036 +* @Titan-Node made their first contribution in https://github.com/ai16z/eliza/pull/1070 +* @guzus made their first contribution in https://github.com/ai16z/eliza/pull/897 +* @imthatcarlos made their first contribution in https://github.com/ai16z/eliza/pull/1098 +* @brunocalmels made their first contribution in https://github.com/ai16z/eliza/pull/1107 +* @jacob-tucker made their first contribution in https://github.com/ai16z/eliza/pull/1030 +* @qgpcybs made their first contribution in https://github.com/ai16z/eliza/pull/837 +* @daojonesceo made their first contribution in https://github.com/ai16z/eliza/pull/814 +* @MbBrainz made their first contribution in https://github.com/ai16z/eliza/pull/1131 +* @erise133 made their first contribution in https://github.com/ai16z/eliza/pull/1136 +* @owlcode made their first contribution in https://github.com/ai16z/eliza/pull/1141 +* @FWangZil made their first contribution in https://github.com/ai16z/eliza/pull/965 +* @0xNerd made their first contribution in https://github.com/ai16z/eliza/pull/1135 +* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 +* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 +* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 +* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 +* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 +* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 +* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 +* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 +* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 +* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 +* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 +* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 +* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 +* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 +* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 +* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 + +--- + +## v0.1.6-alpha.4 (December 17, 2024) + +#### What's Changed + +* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 +* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 + +**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.3...v0.1.6-alpha.4 + +--- + +## v0.1.6-alpha.3 (December 17, 2024) + +#### What's Changed + +* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 +* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 +* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 +* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 +* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 + +**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.2...v0.1.6-alpha.3 + +--- + +## v0.1.6-alpha.2 (December 17, 2024) + +December 16th 2024 release + +#### Features (feat) + +- allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana #1135 +- add support for handlebars templating engine as an option #1136 +- Add Discord Team features #1032 +- Add Telegram Team features #1033 +- Updated characters types, Discord & Telegram enhancements #957 +- Plugin evm multichain #1009 +- add plugin-sui #934 +- add plugin-ton #1039 +- Add NEAR Protocol plugin #847 +- multiversx plugin #860 +- add plugin-nft-generation: create Solana NFT collections #1011 +- Lens client #1098 +- allow users to configure models for grok #1091 +- Smoke Test script #1101 +- plugin-story #1030 +- add venice.ai image generation #1057 +- improve X/Twitter login with cookie validation and retry mechanism #856 +- add/change change through REST api (client-direct) #1052 +- twitter client enhancements #913 +- github image cicd #889 +- add README_TH.md in docs directory #1034 +- Adding plugin for ZKsync Era #906 +- Add slack plugin #859 + +#### Fixes (fix) + +- improve fomo integration #1147 +- Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash #965 +- telegram client duplicate function removal #1140 +- discord client duplicate function removal #1125 +- Docker default non-interactive mode for Cloud instances #796 +- Use LARGE models for responses #853 +- load image from diff endpoints #837 +- fix the name #1133 +- add more helpful default agents (Dobby and C3PO) #1124 +- Refactor to prevent unnecessary lockfile changes #1120 +- add missing imports #1104 +- Fixed twitter posts include from including /n in the text #1070 +- handle no termination message #1102 +- return types of createAgent & startAgent #1097 +- syntax error: invalid arithmetic operator #1088 +- client slack linting errors #1086 +- dynamic import of fs module #1084 +- transfer action linting errors #1079 +- errors in swap action in plugin-near #1078 +- remove unnecessary devDependencies #1077 +- missing eslint config file #1076 +- Allow bot to post tweets with images generated by the imageGenerationPlugin #1040 +- discord client ci issues #1054 +- Fix pnpm lockfiles #1055 +- add auto to clients in types to use client-auto #1050 + +#### Chores (chore) + +- fix PR #1147 #1148 +- remove comment #1143 +- fix broken pnpm lockfile #1115 +- fix broken pnpm lockfile #1103 +- debugging start behaviour #1094 +- kill pnpm start #1093 +- increase timeout to 3mins #1092 +- remove unused imports and rename runtime variable #1085 +- remove unnecessary packages #1083 +- fix broken pnpm lockfile #1081 +- add npmignore file #1080 +- commented out unused variables in solana swap action's plugin #1073 +- improve eslint by --cache #1056 +- Update package.json #1031 +- improve smokeTests environment validation and logging #1046 +- improve formatting of .env.example for better readability #897 + +#### Documentation (docs) + +- add README.md to plugin-evm #1095 +- New docs for community section #1114 +- Update docs (CONTRIBUTING.md) #1053 +- Update community section of docs #1111 +- Plugin list numbering and titles #1107 + +#### Tests (test) + +- adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts #998 + +#### Other (Misc) +- clean newlines for new tweet #1141 +- FAL image settings escape hatch #814 +- Revert "Feat: Update community section of docs" #1112 +- Fix/charity #852 + +--- + +## v0.1.6-alpha.1 (December 13, 2024) +Week of December 9th 2024 release, Many bug fixes + +#### What's Changed + +#### Features +- Add Flow Blockchain plugin - [#874](https://github.com/ai16z/eliza/pull/874) +- Add hyperbolic API to Eliza - [#828](https://github.com/ai16z/eliza/pull/828) +- MAX_TWEET_LENGTH env implementation - [#912](https://github.com/ai16z/eliza/pull/912) +- Add advanced Coinbase trading - [#725](https://github.com/ai16z/eliza/pull/725) +- Add readContract/invokeContract functionality to Coinbase plugin - [#923](https://github.com/ai16z/eliza/pull/923) +- Add NanoGPT provider - [#926](https://github.com/ai16z/eliza/pull/926) +- Config eternalai model from env - [#927](https://github.com/ai16z/eliza/pull/927) +- Add hyperbolic env vars to override model class - [#974](https://github.com/ai16z/eliza/pull/974) +- Add TEE Mode to Solana Plugin - [#835](https://github.com/ai16z/eliza/pull/835) +- Add callback handler to runtime evaluate method - [#938](https://github.com/ai16z/eliza/pull/938) +- Add dynamic watch paths for agent development - [#931](https://github.com/ai16z/eliza/pull/931) +- Plugin evm multichain - [#1009](https://github.com/ai16z/eliza/pull/1009) +- Add venice.ai API model provider - [#1008](https://github.com/ai16z/eliza/pull/1008) +- Improve Twitter client with action processing - [#1007](https://github.com/ai16z/eliza/pull/1007) +- Add custom fetch logic for agent - [#1010](https://github.com/ai16z/eliza/pull/1010) +- Add Discord Team features - [#1032](https://github.com/ai16z/eliza/pull/1032) +- Improve voice processing and add deepgram transcription option - [#1026](https://github.com/ai16z/eliza/pull/1026) +- Create example folder with example plugin - [#1004](https://github.com/ai16z/eliza/pull/1004) + +#### Fixes +- Re-enable coverage report upload to Codecov in CI workflow - [#880](https://github.com/ai16z/eliza/pull/880) +- Twitter actions not triggering - [#903](https://github.com/ai16z/eliza/pull/903) +- Evaluation JSON parsing - [#907](https://github.com/ai16z/eliza/pull/907) +- Telegram response memory userId to agentId - [#948](https://github.com/ai16z/eliza/pull/948) +- Farcaster client cleanup and fixed response logic - [#914](https://github.com/ai16z/eliza/pull/914) +- Use MAX_TWEET_LENGTH from setting - [#960](https://github.com/ai16z/eliza/pull/960) +- Correct EVM plugin activation condition - [#962](https://github.com/ai16z/eliza/pull/962) +- Docker trying to filter out missing docs package - [#978](https://github.com/ai16z/eliza/pull/978) +- Re-enable generateNewTweetLoop / lint fixes - [#1043](https://github.com/ai16z/eliza/pull/1043) +- Fix Twitter Search Logic and add Galadriel Image Model - [#994](https://github.com/ai16z/eliza/pull/994) +- Fix farcaster client process action issue - [#963](https://github.com/ai16z/eliza/pull/963) +- Fix typo in characterfile.md - [#986](https://github.com/ai16z/eliza/pull/986) +- Fix typo initialize - [#1000](https://github.com/ai16z/eliza/pull/1000) +- Fix package name in FAQ - [#937](https://github.com/ai16z/eliza/pull/937) + +#### Chores +- Disable building docs on build command - [#884](https://github.com/ai16z/eliza/pull/884) +- Enhance dev script, performance improvement, and add help message - [#887](https://github.com/ai16z/eliza/pull/887) +- Improve dev command - [#892](https://github.com/ai16z/eliza/pull/892) +- Consistent language for Community & Contact link label - [#899](https://github.com/ai16z/eliza/pull/899) +- Fix broken lockfile - [#977](https://github.com/ai16z/eliza/pull/977) +- Pass env variables when setting up GOAT and update GOAT readme - [#898](https://github.com/ai16z/eliza/pull/898) +- Deprecate text-based way of generating JSON - [#920](https://github.com/ai16z/eliza/pull/920) +- Bring Develop up to date with HEAD - [#1006](https://github.com/ai16z/eliza/pull/1006) +- Push Develop into Main - [#1028](https://github.com/ai16z/eliza/pull/1028) +- Release develop into main - [#1045](https://github.com/ai16z/eliza/pull/1045) + +#### Docs +- Add What Did You Get Done This Week #4 summaries and timestamps - [#895](https://github.com/ai16z/eliza/pull/895) +- Add templates documentation to the project - [#1013](https://github.com/ai16z/eliza/pull/1013) +- Update README.md - [#1024](https://github.com/ai16z/eliza/pull/1024) and [#1025](https://github.com/ai16z/eliza/pull/1025) +- Create README_TH.md - [#918](https://github.com/ai16z/eliza/pull/918) +- Add AI Agent Dev School Tutorial Link - [#1038](https://github.com/ai16z/eliza/pull/1038) +- Add WSL Setup Guide to documentation - [#983](https://github.com/ai16z/eliza/pull/983) + +#### Tests +- Initial release of smoke/integration tests + testing framework - [#993](https://github.com/ai16z/eliza/pull/993) +- Adding parsing tests. Changed files parsing.test.ts - [#996](https://github.com/ai16z/eliza/pull/996) + + +#### New Contributors +
      +New Contributors +* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 +* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 +* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 +* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 +* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 +* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 +* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 +* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 +* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 +* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 +* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 +* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 +* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 +* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 +* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 +* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 +* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 +* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 +* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 +* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 +* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 +* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 +* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 +* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.5...v0.1.6-alpha.1 + +--- + +## v0.1.5-alpha.5 (December 07, 2024) + +#### What's Changed +* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 + +
      +New Contributors +* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 + +--- + +## v0.1.5-alpha.4 (December 06, 2024) + +#### What's Changed +* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 +* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 +* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 +* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 +* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 +* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 +* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 +* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 +* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 +* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 +* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 +* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 +* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 +* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 + +#### New Contributors + +
      +New Contributors +* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 +* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 +* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 +* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 +* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 + +--- + +## v0.1.5-alpha.3 (December 04, 2024) + +#### What's Changed +* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 +* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 +* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 +* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 +* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 +* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 +* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 +* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 +* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 + +#### New Contributors + +
      +New Contributors +* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 + +--- + +## v0.1.5-alpha.0 (December 03, 2024) + +#### What's Changed +* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 +* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 +* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 +* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 +* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 +* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 +* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 +* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 +* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 +* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 +* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 +* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 +* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 + +#### New Contributors + +
      +New Contributors +* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 +* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 +* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 +* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 +* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 + +--- + +## v0.1.5 (December 02, 2024) + +#### What's Changed +* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 +* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 +* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 +* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 +* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 +* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 +* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 +* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 +* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 +* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 +* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 +* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 +* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 +* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 +* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 +* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 +* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 +* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 +* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 +* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 +* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 +* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 +* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 +* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 +* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 +* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 +* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 +* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 +* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 +* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 +* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 +* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 +* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 +* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 +* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 +* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 +* docs: add template and client configuration guide by @oguzserdar in https://github.com/ai16z/eliza/pull/510 +* Wrap `fastembed` in try catch to allow non node environments to build by @antpb in https://github.com/ai16z/eliza/pull/508 +* fix: husky and pre-commit by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/514 +* fix: lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/515 +* test: add linter to all packages and enable vitest by @snobbee in https://github.com/ai16z/eliza/pull/490 +* feat: add coinbase plugin starting with cb commerce functionality by @monilpat in https://github.com/ai16z/eliza/pull/513 +* fix: Gracefully Handle Add Participants Unique Constraint Error in Postgres by @VarKrishin in https://github.com/ai16z/eliza/pull/495 +* fix: Ollama fix by @yodamaster726 in https://github.com/ai16z/eliza/pull/524 +* fix: ollama local and llama local by @yodamaster726 in https://github.com/ai16z/eliza/pull/521 +* fix: Fix/telegram by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/530 +* fix(deps): update dependency @ai-sdk/anthropic to ^0.0.56 by @renovate in https://github.com/ai16z/eliza/pull/528 +* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/529 +* chore(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/526 +* fix(deps): update dependency @ai-sdk/openai to v1.0.4 by @renovate in https://github.com/ai16z/eliza/pull/533 +* fix(deps): update dependency @ai-sdk/google-vertex to ^0.0.43 by @renovate in https://github.com/ai16z/eliza/pull/532 +* fix: pass runtime to video service by @0xFlicker in https://github.com/ai16z/eliza/pull/535 +* fix: discord voice memory id not unique by @bmgalego in https://github.com/ai16z/eliza/pull/540 +* fix: db queries not using agentId in all memory queries by @bmgalego in https://github.com/ai16z/eliza/pull/539 +* fix: error in getGoals and remove coinbase package-lock.json by @bmgalego in https://github.com/ai16z/eliza/pull/545 +* fix: Use BigInt for tweet IDs in client-twitter by @wraitii in https://github.com/ai16z/eliza/pull/552 +* fix: add try catch to process action by @bmgalego in https://github.com/ai16z/eliza/pull/546 +* fix: generateText format consistency by @tomguluson92 in https://github.com/ai16z/eliza/pull/550 +* fix: bump echogarden to fix case sensitive issue by @0xFlicker in https://github.com/ai16z/eliza/pull/561 +* Improved Twitter Documentation by @grallc in https://github.com/ai16z/eliza/pull/559 +* fix: sql command by @0xFlicker in https://github.com/ai16z/eliza/pull/560 +* fix: remove db adapters depencies from core and remove plugin-node from telegram by @bmgalego in https://github.com/ai16z/eliza/pull/571 +* fix: add missing documents and knowledge memory managers to runtime interface by @bmgalego in https://github.com/ai16z/eliza/pull/572 +* fix: remove postinstall script from plugin-coinbase by @bmgalego in https://github.com/ai16z/eliza/pull/573 +* fix: postgres by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/557 +* fix: Token provider getHighestLiquidityPair by @bmgalego in https://github.com/ai16z/eliza/pull/547 +* Add community stream notes for WDYGDTW 2 by @YoungPhlo in https://github.com/ai16z/eliza/pull/580 +* feat: add new pages by @madjin in https://github.com/ai16z/eliza/pull/581 +* fix: Devex Fixes by @lalalune in https://github.com/ai16z/eliza/pull/583 +* feat: update api docs by @madjin in https://github.com/ai16z/eliza/pull/582 +* feat: Update packages by @lalalune in https://github.com/ai16z/eliza/pull/584 +* Update dependency @echogarden/espeak-ng-emscripten to v0.3.3 by @renovate in https://github.com/ai16z/eliza/pull/537 +* Update dependency @opendocsg/pdf2md to v0.1.32 by @renovate in https://github.com/ai16z/eliza/pull/538 +* Update dependency agent-twitter-client to v0.0.14 by @renovate in https://github.com/ai16z/eliza/pull/542 +* Update docusaurus monorepo to v3.6.3 by @renovate in https://github.com/ai16z/eliza/pull/543 +* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/544 +* feat: More package updates by @lalalune in https://github.com/ai16z/eliza/pull/585 +* Pin dependency vue to 3.5.13 by @renovate in https://github.com/ai16z/eliza/pull/527 +* feat: Shaw/realityspiral/coinbase fixes by @lalalune in https://github.com/ai16z/eliza/pull/586 +* feat: implement coinbase mass payments across base/sol/eth/pol/arb by @monilpat in https://github.com/ai16z/eliza/pull/569 +* Shaw/logger fixes by @lalalune in https://github.com/ai16z/eliza/pull/587 +* fix: missing updates for logger.ts by @yodamaster726 in https://github.com/ai16z/eliza/pull/525 +* fix: React Client fixes by @lalalune in https://github.com/ai16z/eliza/pull/588 +* feat: add agent selection, router and sidebar layout in React client by @vivoidos in https://github.com/ai16z/eliza/pull/536 +* fix: fixing failing goals, cache and token tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/522 +* fix: Shaw/fix zerog by @lalalune in https://github.com/ai16z/eliza/pull/589 +* feat: Add 0G plugin for file storage by @Wilbert957 in https://github.com/ai16z/eliza/pull/416 +* fix: enable test run in CI for core package by @pgoos in https://github.com/ai16z/eliza/pull/590 +* CS - first api hookups. by @justabot in https://github.com/ai16z/eliza/pull/564 +* feat: update sidebars by @madjin in https://github.com/ai16z/eliza/pull/593 +* Download updates by @justabot in https://github.com/ai16z/eliza/pull/594 +* feat: Farcaster Client by @bmgalego in https://github.com/ai16z/eliza/pull/386 +* Pr 33 by @MarcoMandar in https://github.com/ai16z/eliza/pull/596 +* fix: discord crash on sending message to null channel by @odilitime in https://github.com/ai16z/eliza/pull/598 +* fix: db queries in sqljs database adapter not using agentId by @bmgalego in https://github.com/ai16z/eliza/pull/606 +* fix: agent DirectClient is not a type by @odilitime in https://github.com/ai16z/eliza/pull/605 +* fix: add Memory Manager getMemoriesByRoomIds missing tableName param by @bmgalego in https://github.com/ai16z/eliza/pull/602 +* fix: time prompt to include UTC, convert to verbose english to help prompting by @odilitime in https://github.com/ai16z/eliza/pull/603 +* feat: add knowledge to state by @bmgalego in https://github.com/ai16z/eliza/pull/600 +* feat: Adding tests for actions and generation. Skiping test step in defaultCharacters by @ai16z-demirix in https://github.com/ai16z/eliza/pull/591 +* feat: sell simulation service by @MarcoMandar in https://github.com/ai16z/eliza/pull/597 +* fix: use correct getCachedEmbeddings query_field_sub_name by @bmgalego in https://github.com/ai16z/eliza/pull/607 +* fix: knowledge module exporting process by @bmgalego in https://github.com/ai16z/eliza/pull/609 +* fix: add client farcaster templates to character type by @bmgalego in https://github.com/ai16z/eliza/pull/610 +* feat: make node-plugin lazy-loaded for faster boot times by @bmgalego in https://github.com/ai16z/eliza/pull/599 +* chore(nvmrc): update Node.js version from v23.1.0 to v23.3.0 by @wolfcito in https://github.com/ai16z/eliza/pull/611 +* fix: Fix buttplug.io integration and merge by @lalalune in https://github.com/ai16z/eliza/pull/612 +* feat: Add buttplug.io integration by @8times4 in https://github.com/ai16z/eliza/pull/517 +* fix: Update and add Conflux by @lalalune in https://github.com/ai16z/eliza/pull/613 +* feat: add Conflux plugin by @darwintree in https://github.com/ai16z/eliza/pull/481 +* feat: Add decentralized inferencing for Eliza (LLAMA, Hermes, Flux) by @genesis-0000 in https://github.com/ai16z/eliza/pull/516 +* fix: memory similarity log & new knowledge ingestion by @yoniebans in https://github.com/ai16z/eliza/pull/616 +* feat: starknet portfolio provider by @milancermak in https://github.com/ai16z/eliza/pull/595 +* bugfix: Modify docker run error after agent folder move by @THtianhao in https://github.com/ai16z/eliza/pull/458 +* fix: handle when tweet_results is empty better by @odilitime in https://github.com/ai16z/eliza/pull/620 +* fix: small improvements to agent process exits by @cygaar in https://github.com/ai16z/eliza/pull/625 +* Feat/sell simulation by @MarcoMandar in https://github.com/ai16z/eliza/pull/627 +* fix: Add Tweet Response Deduplication Check by @tsubasakong in https://github.com/ai16z/eliza/pull/622 +* fix: node package builds by @cygaar in https://github.com/ai16z/eliza/pull/636 +* dicord bot voice by @tcm390 in https://github.com/ai16z/eliza/pull/633 +* feat: Initial TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/632 +* Notes for AI Agent Dev School #1 by @YoungPhlo in https://github.com/ai16z/eliza/pull/638 +* feat: Merge EVM and add character override by @lalalune in https://github.com/ai16z/eliza/pull/643 +* fix: Add docs, update providers for TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/640 +* fix: running a character.json fails when running per docs by @yodamaster726 in https://github.com/ai16z/eliza/pull/624 +* feat: support starkname by @irisdv in https://github.com/ai16z/eliza/pull/628 +* refactor: better db connection handling by @cygaar in https://github.com/ai16z/eliza/pull/635 +* add connection instruction for connecting with X by @zjasper666 in https://github.com/ai16z/eliza/pull/641 +* Feat/simulation sell types by @MarcoMandar in https://github.com/ai16z/eliza/pull/642 +* updates postgres setup instructions in docs by @DataRelic in https://github.com/ai16z/eliza/pull/645 +* Update ci.yaml by @snobbee in https://github.com/ai16z/eliza/pull/652 +* feat: improve browser service by @cygaar in https://github.com/ai16z/eliza/pull/653 +* added support for LlamaLocal's path outside plugin-node/dist by @dr-fusion in https://github.com/ai16z/eliza/pull/649 +* CS - adding better errors and readme. by @justabot in https://github.com/ai16z/eliza/pull/654 +* feat: implement coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/608 +* fix: pnpm-lock.yaml by @monilpat in https://github.com/ai16z/eliza/pull/664 +* feat: add minimal config file for code cov by @pgoos in https://github.com/ai16z/eliza/pull/659 +* fix: embedding search for non-openai models by @cygaar in https://github.com/ai16z/eliza/pull/660 +* feat: evm pubkey derivation by @St4rgarden in https://github.com/ai16z/eliza/pull/667 +* fix: add missing commands to quickstart by @0xaguspunk in https://github.com/ai16z/eliza/pull/665 +* Add Galadriel LLM Inference Provider by @dontAskVI in https://github.com/ai16z/eliza/pull/651 +* redpill custom models by @v1xingyue in https://github.com/ai16z/eliza/pull/668 +* feat: Add wallet history (transactions, balances) to coinbase providers by @monilpat in https://github.com/ai16z/eliza/pull/658 +* fix: discord permissions and duplicate reactions, new /joinchannel command by @augchan42 in https://github.com/ai16z/eliza/pull/662 +* feat: add image text model provider separation and fal.ai integration by @yoniebans in https://github.com/ai16z/eliza/pull/650 +* feat : whatsapp by @awidearray in https://github.com/ai16z/eliza/pull/626 +* feat: add ICP token creation support by @asDNSk in https://github.com/ai16z/eliza/pull/357 +* integrate tavily by @tcm390 in https://github.com/ai16z/eliza/pull/518 +* incorrect package install location Update plugins.md by @cryptoradagast in https://github.com/ai16z/eliza/pull/669 +* fix: eslint not working by @cygaar in https://github.com/ai16z/eliza/pull/672 +* fix: add missing viem dependency by @HashWarlock in https://github.com/ai16z/eliza/pull/674 +* fix: embeddings for messages with urls by @cygaar in https://github.com/ai16z/eliza/pull/671 +* Fix: run tests with coverage by @pgoos in https://github.com/ai16z/eliza/pull/676 +* feat: improve embeddings, models and connectivity by @augchan42 in https://github.com/ai16z/eliza/pull/677 +* fix: Make TEE Plugin available to launch agent & fix previous launch error by @HashWarlock in https://github.com/ai16z/eliza/pull/678 +* fix: getEmbeddingZeroVector calls by @cygaar in https://github.com/ai16z/eliza/pull/682 +* feat: add Turborepo by @lalalune in https://github.com/ai16z/eliza/pull/670 +* feat: make twitter client polling configurable by @cygaar in https://github.com/ai16z/eliza/pull/683 +* chore: remove unused packages introduced in #677 by @shakkernerd in https://github.com/ai16z/eliza/pull/693 +* Fix/logging issues by @augchan42 in https://github.com/ai16z/eliza/pull/688 +* chore: Remove web-agent folder - duplicate of client folder by @shakkernerd in https://github.com/ai16z/eliza/pull/699 +* fix: update docker image to support turbo and reduce build time by @HashWarlock in https://github.com/ai16z/eliza/pull/702 +* fix: Switch from tiktoken to js-tiktoken for worker compatibility by @antpb in https://github.com/ai16z/eliza/pull/703 +* fix: simplify linting dependencies by @cygaar in https://github.com/ai16z/eliza/pull/721 +* fix: twitter recent interactions by @cygaar in https://github.com/ai16z/eliza/pull/729 +* feat: add new pages, update sidebar by @madjin in https://github.com/ai16z/eliza/pull/728 +* feat: increase knowledge context by @cygaar in https://github.com/ai16z/eliza/pull/730 +* refactor: ClientBase to use a map for managing multiple Twitter clients by account identifier by @tcm390 in https://github.com/ai16z/eliza/pull/722 +* fix: move `fastembed` import to the isnode condition check by @antpb in https://github.com/ai16z/eliza/pull/709 +* chore: remove unused env var by @2pmflow in https://github.com/ai16z/eliza/pull/737 +* fix (core): message completion footer format by @CodingTux in https://github.com/ai16z/eliza/pull/742 +* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/744 +* fix: packagejson updated to latest agent-client 0.0.16 by @denizekiz in https://github.com/ai16z/eliza/pull/753 +* Add running with Gitpod by @v1xingyue in https://github.com/ai16z/eliza/pull/758 +* fix(deps): update dependency @ai-sdk/openai to v1.0.5 by @renovate in https://github.com/ai16z/eliza/pull/751 +* Update environment, add twitter quality of life updates by @lalalune in https://github.com/ai16z/eliza/pull/765 +* fix: improve twitter post content quality by @cygaar in https://github.com/ai16z/eliza/pull/763 +* fix(deps): update dependency tailwind-merge to v2.5.5 by @renovate in https://github.com/ai16z/eliza/pull/761 +* fix: recentPosts always empty by @tcm390 in https://github.com/ai16z/eliza/pull/756 +* feat: Pin dependencies and unify tsconfig by @lalalune in https://github.com/ai16z/eliza/pull/767 +* Update dependency dompurify to v3.2.2 by @renovate in https://github.com/ai16z/eliza/pull/548 +* Update dependency @supabase/supabase-js to v2.46.2 by @renovate in https://github.com/ai16z/eliza/pull/754 +* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/760 +* Update dependency uuid to v11.0.3 by @renovate in https://github.com/ai16z/eliza/pull/766 +* fix: follow-up improvements for ICP token creation (PR #357) by @asDNSk in https://github.com/ai16z/eliza/pull/757 +* feat: more dependency updates by @lalalune in https://github.com/ai16z/eliza/pull/771 +* fix(deps): replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.1 by @renovate in https://github.com/ai16z/eliza/pull/749 +* chore(deps): update dependency @eslint/js to v9.16.0 by @renovate in https://github.com/ai16z/eliza/pull/769 +* chore(deps): update dependency @vitest/eslint-plugin to v1.1.13 by @renovate in https://github.com/ai16z/eliza/pull/770 +* fix(deps): update sqlite related by @renovate in https://github.com/ai16z/eliza/pull/768 +* fix: Integrate jin's docs changes and rebuild docs with a16z by @lalalune in https://github.com/ai16z/eliza/pull/772 +* feat: Create community section by @madjin in https://github.com/ai16z/eliza/pull/745 +* Integrate goat plugin by @lalalune in https://github.com/ai16z/eliza/pull/773 +* feat: add goat plugin by @0xaguspunk in https://github.com/ai16z/eliza/pull/736 +* Add decentralized GenAI backend by @L-jasmine in https://github.com/ai16z/eliza/pull/762 +* Integrate more LLMs, fix case issue in switch by @lalalune in https://github.com/ai16z/eliza/pull/774 +* Merge more model providers and fix issues by @lalalune in https://github.com/ai16z/eliza/pull/775 +* feat: Add two more providers: Ali Bailian(Qwen) and Volengine(Doubao, Bytedance) by @btspoony in https://github.com/ai16z/eliza/pull/747 +* add simulator tutor for plugin-tee docs by @shelvenzhou in https://github.com/ai16z/eliza/pull/746 +* feat: (voice) enhance character card voice configuration support by @augchan42 in https://github.com/ai16z/eliza/pull/698 +* feat: donate 1% of coinbase transactions by default by @monilpat in https://github.com/ai16z/eliza/pull/759 +* Create docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/776 +* fix: Refactor image interface and update to move llama cloud -> together provider by @lalalune in https://github.com/ai16z/eliza/pull/777 +* fix: Text2Image interface refactored by @tomguluson92 in https://github.com/ai16z/eliza/pull/752 +* refactor: refactor dockerfile to reduce image and build time by @HashWarlock in https://github.com/ai16z/eliza/pull/782 +* feat: Update default character by @lalalune in https://github.com/ai16z/eliza/pull/781 + +#### New Contributors + +
      +New Contributors +* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 +* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 +* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 +* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 +* @darwintree made their first contribution in https://github.com/ai16z/eliza/pull/446 +* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 +* @snobbee made their first contribution in https://github.com/ai16z/eliza/pull/463 +* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 +* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 +* @antpb made their first contribution in https://github.com/ai16z/eliza/pull/508 +* @VarKrishin made their first contribution in https://github.com/ai16z/eliza/pull/495 +* @yodamaster726 made their first contribution in https://github.com/ai16z/eliza/pull/524 +* @0xFlicker made their first contribution in https://github.com/ai16z/eliza/pull/535 +* @wraitii made their first contribution in https://github.com/ai16z/eliza/pull/552 +* @tomguluson92 made their first contribution in https://github.com/ai16z/eliza/pull/550 +* @grallc made their first contribution in https://github.com/ai16z/eliza/pull/559 +* @YoungPhlo made their first contribution in https://github.com/ai16z/eliza/pull/580 +* @Wilbert957 made their first contribution in https://github.com/ai16z/eliza/pull/416 +* @pgoos made their first contribution in https://github.com/ai16z/eliza/pull/590 +* @justabot made their first contribution in https://github.com/ai16z/eliza/pull/564 +* @wolfcito made their first contribution in https://github.com/ai16z/eliza/pull/611 +* @8times4 made their first contribution in https://github.com/ai16z/eliza/pull/517 +* @genesis-0000 made their first contribution in https://github.com/ai16z/eliza/pull/516 +* @yoniebans made their first contribution in https://github.com/ai16z/eliza/pull/616 +* @milancermak made their first contribution in https://github.com/ai16z/eliza/pull/595 +* @THtianhao made their first contribution in https://github.com/ai16z/eliza/pull/458 +* @cygaar made their first contribution in https://github.com/ai16z/eliza/pull/625 +* @irisdv made their first contribution in https://github.com/ai16z/eliza/pull/628 +* @zjasper666 made their first contribution in https://github.com/ai16z/eliza/pull/641 +* @DataRelic made their first contribution in https://github.com/ai16z/eliza/pull/645 +* @dr-fusion made their first contribution in https://github.com/ai16z/eliza/pull/649 +* @St4rgarden made their first contribution in https://github.com/ai16z/eliza/pull/667 +* @0xaguspunk made their first contribution in https://github.com/ai16z/eliza/pull/665 +* @dontAskVI made their first contribution in https://github.com/ai16z/eliza/pull/651 +* @augchan42 made their first contribution in https://github.com/ai16z/eliza/pull/662 +* @asDNSk made their first contribution in https://github.com/ai16z/eliza/pull/357 +* @cryptoradagast made their first contribution in https://github.com/ai16z/eliza/pull/669 +* @2pmflow made their first contribution in https://github.com/ai16z/eliza/pull/737 +* @CodingTux made their first contribution in https://github.com/ai16z/eliza/pull/742 +* @L-jasmine made their first contribution in https://github.com/ai16z/eliza/pull/762 +* @btspoony made their first contribution in https://github.com/ai16z/eliza/pull/747 +* @shelvenzhou made their first contribution in https://github.com/ai16z/eliza/pull/746 +* @Freytes made their first contribution in https://github.com/ai16z/eliza/pull/776 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 + +--- + +## v0.1.4-alpha.3 (November 28, 2024) + +#### What's Changed + +* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 +* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 +* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 +* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 +* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 +* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 +* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 +* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 +* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 +* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 +* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 +* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 +* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 +* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 +* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 +* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 +* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 +* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 +* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 +* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 +* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 +* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 +* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 +* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 +* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 +* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 +* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 +* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 +* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 +* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 +* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 +* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 +* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 +* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 +* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 +* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 + +#### New Contributors + +
      +New Contributors +* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 +* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 +* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 +* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 +* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 +* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 +* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 + +--- + +## v0.1.3-alpha.2 (November 20, 2024) + +#### What's Changed +* fix: configs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/431 +* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 +* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 +* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 +* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 +* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 + +--- + +## v0.1.3 (November 20, 2024) + +#### What's Changed +* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 +* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 +* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 +* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 +* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 +* fix: path by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/436 +* fix: since agent is moved out of packages, adjust default path by @odilitime in https://github.com/ai16z/eliza/pull/432 +* fix: Fix linter issues by @martincik in https://github.com/ai16z/eliza/pull/397 +* feat: add all the style guidelines to the context by @o-on-x in https://github.com/ai16z/eliza/pull/441 +* fix: fixes some console logs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/440 +* fix: The bot is by default deafened and we don't want that by @martincik in https://github.com/ai16z/eliza/pull/437 +* fix: unrug by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/444 +* fix: voice perms by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/447 + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 + +--- + +## v0.1.1 (November 20, 2024) + +#### What's Changed +* Groq api integration by @juke in https://github.com/ai16z/eliza/pull/194 +* Updated documentation by @atvonsc in https://github.com/ai16z/eliza/pull/195 +* Major documentation updates by @madjin in https://github.com/ai16z/eliza/pull/199 +* swap Dao action initital by @MarcoMandar in https://github.com/ai16z/eliza/pull/196 +* Swap functionality by @lalalune in https://github.com/ai16z/eliza/pull/197 +* Add RedPill API Support by @HashWarlock in https://github.com/ai16z/eliza/pull/198 +* Fix Discord Voice and DMs by @lalalune in https://github.com/ai16z/eliza/pull/203 +* Shaw fix characters paths, .ts requirement and missings args by @lalalune in https://github.com/ai16z/eliza/pull/204 +* Implement grok beta by @MeDott29 in https://github.com/ai16z/eliza/pull/216 +* add the template overrides by @lalalune in https://github.com/ai16z/eliza/pull/207 +* lazy load llama by @lalalune in https://github.com/ai16z/eliza/pull/220 +* Abstracts Eliza into a Package to enble publishing onto NPM along with plugin system by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/214 +* Add OLLAMA as Model Provider by @o-on-x in https://github.com/ai16z/eliza/pull/221 +* models.gguf stored in models file, & tsconfig changes for ref @eliza/core & other things by @o-on-x in https://github.com/ai16z/eliza/pull/224 +* plugin-image-generation tsconfig.json fix & ollama error handling by @o-on-x in https://github.com/ai16z/eliza/pull/228 +* Update Docs by @madjin in https://github.com/ai16z/eliza/pull/231 +* update docs by @madjin in https://github.com/ai16z/eliza/pull/233 +* move code out to plugins, adapters and clients by @lalalune in https://github.com/ai16z/eliza/pull/225 +* Added OpenRouter model provider by @o-on-x in https://github.com/ai16z/eliza/pull/245 +* Support google models in generation by @parzival418 in https://github.com/ai16z/eliza/pull/246 +* trust integration by @MarcoMandar in https://github.com/ai16z/eliza/pull/248 +* Working PostGres Adapter by @cvartanian in https://github.com/ai16z/eliza/pull/247 +* use openai embeddings setting by @o-on-x in https://github.com/ai16z/eliza/pull/252 +* refactor embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/254 +* embedding set to use openai endpoint when using openai embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/255 +* bigint support in logger by @o-on-x in https://github.com/ai16z/eliza/pull/256 +* Fix: changed claude-3-5-haiku to claude-3-5-haiku-20241022 for fixing… by @denizekiz in https://github.com/ai16z/eliza/pull/257 +* Update docs by @madjin in https://github.com/ai16z/eliza/pull/253 +* cachedEmbeddings fix by @dorianjanezic in https://github.com/ai16z/eliza/pull/262 +* add verbose config with logger by @v1xingyue in https://github.com/ai16z/eliza/pull/249 +* recommendations, token info, client auto by @MarcoMandar in https://github.com/ai16z/eliza/pull/250 +* fix: docs features darkmode color by @fabianhug in https://github.com/ai16z/eliza/pull/266 +* docs homepage rework by @mrpspring in https://github.com/ai16z/eliza/pull/280 +* Improve Docs by @madjin in https://github.com/ai16z/eliza/pull/273 +* Don't blow up if the wallet is missing by @ferric-sol in https://github.com/ai16z/eliza/pull/281 +* Fix embedding calculation for sqlite by @ferric-sol in https://github.com/ai16z/eliza/pull/261 +* Fix: compute unit increasein swapts, default is too low to make trans… by @denizekiz in https://github.com/ai16z/eliza/pull/276 +* add modelProvider to json to resolve embeddings error by @twilwa in https://github.com/ai16z/eliza/pull/274 +* fix docs: add python as a prerequisite (needed for node-gyp) by @metadiver in https://github.com/ai16z/eliza/pull/277 +* Bundles by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/285 +* Loaf stuff by @lalalune in https://github.com/ai16z/eliza/pull/286 +* Added missing GROK model provider key initialization by @FabriceIRANKUNDA in https://github.com/ai16z/eliza/pull/296 +* Added Transfer / Send Token Action by @o-on-x in https://github.com/ai16z/eliza/pull/297 +* telegram: start agent after client initialization by @o-on-x in https://github.com/ai16z/eliza/pull/304 +* Telegram client refactor for bot info availability by @ropresearch in https://github.com/ai16z/eliza/pull/308 +* Increased llama and llama based model temperatures by @alanneary17 in https://github.com/ai16z/eliza/pull/310 +* docs: add a new Japanese README by @eltociear in https://github.com/ai16z/eliza/pull/307 +* Add Korean and French README by @BugByClaude in https://github.com/ai16z/eliza/pull/312 +* fix service call patterns but needs testing by @lalalune in https://github.com/ai16z/eliza/pull/311 +* add node version check by @thearyanag in https://github.com/ai16z/eliza/pull/299 +* added working pumpfun.ts by @o-on-x in https://github.com/ai16z/eliza/pull/313 +* Fix broken docs by @madjin in https://github.com/ai16z/eliza/pull/321 +* docs: add a new Portuguese README version by @gabrielsants in https://github.com/ai16z/eliza/pull/320 +* Update Quickstart Guide by @odilitime in https://github.com/ai16z/eliza/pull/325 +* Save Trade on creation to the backend by @MarcoMandar in https://github.com/ai16z/eliza/pull/328 +* utils.ts example tweet splitting by @o-on-x in https://github.com/ai16z/eliza/pull/323 +* [LLM Object Generation][1/2] Leverage AI Lib's Generate Object instead of parsing strings by @monilpat in https://github.com/ai16z/eliza/pull/309 +* claude vertex configs added to generation.ts (was missing) by @denizekiz in https://github.com/ai16z/eliza/pull/330 +* README_KOR.md Korean version edited by a Korean by @sumin13245 in https://github.com/ai16z/eliza/pull/329 +* Dockerized application for local development, testing and deployment by @pindaroso in https://github.com/ai16z/eliza/pull/293 +* fix: Build error for packages requiring @ai16z/eliza by @shakkernerd in https://github.com/ai16z/eliza/pull/331 +* Docs: README.md improvements: clarify testing, add additional docker information by @odilitime in https://github.com/ai16z/eliza/pull/333 +* Docs: additional Quickstart clarification and improvements by @odilitime in https://github.com/ai16z/eliza/pull/334 +* added clientConfig to optionally ignore bots and DMs by @vivoidos in https://github.com/ai16z/eliza/pull/336 +* feat: Add Heurist API Integration as New Model Provider by @tsubasakong in https://github.com/ai16z/eliza/pull/335 +* feat: Starknet plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/287 +* fix: dev build by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/343 +* Update Heurist Integration Documentation and Examples by @tsubasakong in https://github.com/ai16z/eliza/pull/339 +* getOrCreateRecommenderWithTelegramId by @MarcoMandar in https://github.com/ai16z/eliza/pull/345 +* fix: imports and cleanups by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/344 +* trust fixes by @MarcoMandar in https://github.com/ai16z/eliza/pull/347 +* feat: trust db by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/349 +* Add Community & contact and Star History by @thejoven in https://github.com/ai16z/eliza/pull/353 +* fix: solana by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/354 +* fix: some trust fixes by @lalalune in https://github.com/ai16z/eliza/pull/346 +* change default configuration of Heurist by @wjw12 in https://github.com/ai16z/eliza/pull/348 +* update tweet interval to 90-180 mins by @oguzserdar in https://github.com/ai16z/eliza/pull/360 +* feat: update docs with new stream notes by @madjin in https://github.com/ai16z/eliza/pull/364 +* post time set in env by @o-on-x in https://github.com/ai16z/eliza/pull/368 +* default set to new standard post time 90-180 type: post time by @o-on-x in https://github.com/ai16z/eliza/pull/369 +* feat: readme by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/370 +* twitter-profile-remake by @alextitonis in https://github.com/ai16z/eliza/pull/263 +* fix: bug in getRecentMessageInteractions not awating for promisses before formating by @bmgalego in https://github.com/ai16z/eliza/pull/366 +* feat: starknet token transfer by @enitrat in https://github.com/ai16z/eliza/pull/373 +* feat: Adding unit tests for start - Covering goals, defaultCharacters, relationships, evaulators, posts, database, messages by @ai16z-demirix in https://github.com/ai16z/eliza/pull/367 +* feat: Enhance Heurist Image Generation Settings and Image Handling by @tsubasakong in https://github.com/ai16z/eliza/pull/375 +* feat: install clients from plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/371 +* fix: openrouter 70b don't support 128000, changed to 405b in model.ts by @denizekiz in https://github.com/ai16z/eliza/pull/356 +* feat: client by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/382 +* feat: Complete Starknet DB Trust by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/355 +* fix: client null by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/390 +* fix: ca for btc was spam/fake by @thearyanag in https://github.com/ai16z/eliza/pull/374 +* feat: Logging improvements by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/393 +* Fix tweet truncation issue by truncating at complete sentences by @boyaloxer in https://github.com/ai16z/eliza/pull/388 +* feat: Create README_ES.md by @metadiver in https://github.com/ai16z/eliza/pull/400 +* Register memory managers if passed to runtime by @martincik in https://github.com/ai16z/eliza/pull/396 +* fix: tsup build error (client-twitter) by @leomercier in https://github.com/ai16z/eliza/pull/402 +* docs: add Russian(RU) translation of README by @whonion in https://github.com/ai16z/eliza/pull/380 +* docs: Update README_FR.md by @xclicx in https://github.com/ai16z/eliza/pull/377 +* docs: add Turkish (TR) translation of README by @oguzserdar in https://github.com/ai16z/eliza/pull/376 +* feat: Contextual Twitter Threads + Spam Reduction by @ropresearch in https://github.com/ai16z/eliza/pull/383 +* fix: Lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/404 +* fix: adds Groq to getTokenForProvider by @bmgalego in https://github.com/ai16z/eliza/pull/381 +* fix: console by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/405 +* feat: unruggable by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/398 +* fix: Fixes by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/407 +* docs: refresh eliza's tagline, fix broken links, unify formatting for core concepts by @wahndo in https://github.com/ai16z/eliza/pull/389 +* docs: add GROK_API_KEY by @whalelephant in https://github.com/ai16z/eliza/pull/409 +* Add italian README.md translation by @fabrizioff in https://github.com/ai16z/eliza/pull/411 +* feat: video generation plugin by @dorianjanezic in https://github.com/ai16z/eliza/pull/394 +* Readme update WSL 2 link added. by @denizekiz in https://github.com/ai16z/eliza/pull/419 +* feat: services by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/412 +* fix: removed ollama embeddings. fastembeddings or openai only by @o-on-x in https://github.com/ai16z/eliza/pull/413 +* fix: Update adapters.md psql schema by @tarrencev in https://github.com/ai16z/eliza/pull/424 +* feat: [Issue-185] Token Provider Tests by @normand1 in https://github.com/ai16z/eliza/pull/365 +* feat: unruggable on starknet by @RedBeardEth in https://github.com/ai16z/eliza/pull/418 +* fix: don't continue to load if a specified file is not found by @odilitime in https://github.com/ai16z/eliza/pull/426 +* feat: lerna an npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/428 + +#### New Contributors + +
      +New Contributors +* @juke made their first contribution in https://github.com/ai16z/eliza/pull/194 +* @atvonsc made their first contribution in https://github.com/ai16z/eliza/pull/195 +* @HashWarlock made their first contribution in https://github.com/ai16z/eliza/pull/198 +* @MeDott29 made their first contribution in https://github.com/ai16z/eliza/pull/216 +* @parzival418 made their first contribution in https://github.com/ai16z/eliza/pull/246 +* @cvartanian made their first contribution in https://github.com/ai16z/eliza/pull/247 +* @denizekiz made their first contribution in https://github.com/ai16z/eliza/pull/257 +* @dorianjanezic made their first contribution in https://github.com/ai16z/eliza/pull/262 +* @v1xingyue made their first contribution in https://github.com/ai16z/eliza/pull/249 +* @fabianhug made their first contribution in https://github.com/ai16z/eliza/pull/266 +* @mrpspring made their first contribution in https://github.com/ai16z/eliza/pull/280 +* @FabriceIRANKUNDA made their first contribution in https://github.com/ai16z/eliza/pull/296 +* @ropresearch made their first contribution in https://github.com/ai16z/eliza/pull/308 +* @alanneary17 made their first contribution in https://github.com/ai16z/eliza/pull/310 +* @BugByClaude made their first contribution in https://github.com/ai16z/eliza/pull/312 +* @thearyanag made their first contribution in https://github.com/ai16z/eliza/pull/299 +* @gabrielsants made their first contribution in https://github.com/ai16z/eliza/pull/320 +* @odilitime made their first contribution in https://github.com/ai16z/eliza/pull/325 +* @monilpat made their first contribution in https://github.com/ai16z/eliza/pull/309 +* @sumin13245 made their first contribution in https://github.com/ai16z/eliza/pull/329 +* @pindaroso made their first contribution in https://github.com/ai16z/eliza/pull/293 +* @shakkernerd made their first contribution in https://github.com/ai16z/eliza/pull/331 +* @vivoidos made their first contribution in https://github.com/ai16z/eliza/pull/336 +* @tsubasakong made their first contribution in https://github.com/ai16z/eliza/pull/335 +* @thejoven made their first contribution in https://github.com/ai16z/eliza/pull/353 +* @wjw12 made their first contribution in https://github.com/ai16z/eliza/pull/348 +* @oguzserdar made their first contribution in https://github.com/ai16z/eliza/pull/360 +* @bmgalego made their first contribution in https://github.com/ai16z/eliza/pull/366 +* @enitrat made their first contribution in https://github.com/ai16z/eliza/pull/373 +* @ai16z-demirix made their first contribution in https://github.com/ai16z/eliza/pull/367 +* @boyaloxer made their first contribution in https://github.com/ai16z/eliza/pull/388 +* @martincik made their first contribution in https://github.com/ai16z/eliza/pull/396 +* @whonion made their first contribution in https://github.com/ai16z/eliza/pull/380 +* @xclicx made their first contribution in https://github.com/ai16z/eliza/pull/377 +* @whalelephant made their first contribution in https://github.com/ai16z/eliza/pull/409 +* @fabrizioff made their first contribution in https://github.com/ai16z/eliza/pull/411 +* @tarrencev made their first contribution in https://github.com/ai16z/eliza/pull/424 +* @normand1 made their first contribution in https://github.com/ai16z/eliza/pull/365 +* @RedBeardEth made their first contribution in https://github.com/ai16z/eliza/pull/418 +
      + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 +--- From b66d59dbba37bbd3a9a88271800e9d03931e5438 Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Mon, 3 Mar 2025 17:51:27 -0500 Subject: [PATCH 3/9] light changes --- docs/docs/core/overview.md | 3 +++ docs/docs/quickstart.md | 25 ++++++++++++---------- docs/{docs/guides => notes}/characters.md | 0 docs/static/img/overview.png | Bin 0 -> 131854 bytes 4 files changed, 17 insertions(+), 11 deletions(-) rename docs/{docs/guides => notes}/characters.md (100%) create mode 100644 docs/static/img/overview.png diff --git a/docs/docs/core/overview.md b/docs/docs/core/overview.md index 32e461e62b4..44db4df040c 100644 --- a/docs/docs/core/overview.md +++ b/docs/docs/core/overview.md @@ -13,6 +13,9 @@ Eliza is a framework for creating AI agents that can interact across multiple pl - **Multi-Agent Support**: Supports running multiple agents with distinct configurations. - **Multi-Platform Support**: Integrates with various clients (e.g., Discord, Telegram). +![](/img/overview.png) +Source: https://x.com/gelatonetwork/status/1894408632915169618 + This document provides a high-level overview of the system architecture and how components work together. --- diff --git a/docs/docs/quickstart.md b/docs/docs/quickstart.md index 06a85d9115c..9b0ab07a1a4 100644 --- a/docs/docs/quickstart.md +++ b/docs/docs/quickstart.md @@ -200,9 +200,22 @@ Simply click the link or open your browser to `http://localhost:5173/`. You'll s ## Additional Configuration +You can load plugins or additional client support with your character file to unlock more capabilities for your agent. + ### Add Plugins and Clients -You can load plugins or additional client support with your character file to unlock more capabilities for your agent. There are two ways to get a list of available plugins: +Here's how to import and register plugins in your character file: + +```typescript +{ + "name": "Eliza", + "clients": ["telegram"], + // ... other config options + "plugins": ["@elizaos/plugin-image"], +} +``` + +There are two ways to get a list of available plugins: 1. Web Interface @@ -228,16 +241,6 @@ Here's a sample list of plugins you can check out! | [`@elizaos/plugin-pdf`](https://github.com/elizaos-plugins/plugin-pdf) | PDF processing -Here's how to import and register plugins in your character file: - -```typescript -{ - "name": "Eliza", - "clients": ["telegram"], - // ... other config options - "plugins": ["@elizaos/plugin-image"], -} -``` ### Configure Environment diff --git a/docs/docs/guides/characters.md b/docs/notes/characters.md similarity index 100% rename from docs/docs/guides/characters.md rename to docs/notes/characters.md diff --git a/docs/static/img/overview.png b/docs/static/img/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..32cc8346597d8bf188f1297f1b28e31fa92b0527 GIT binary patch literal 131854 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
      BQ*Lcj1 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 literal 0 HcmV?d00001 From d479b15e015a553b15fa56fa7dae644a2f3c7d4c Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Mon, 3 Mar 2025 19:18:53 -0500 Subject: [PATCH 4/9] update config guide --- docs/docs/core/overview.md | 15 +- docs/docs/core/plugins.md | 3 + docs/docs/faq.md | 12 - docs/docs/guides/configuration.md | 1116 ++++++++++++++++++++++------- 4 files changed, 882 insertions(+), 264 deletions(-) diff --git a/docs/docs/core/overview.md b/docs/docs/core/overview.md index 44db4df040c..8c4440e07fa 100644 --- a/docs/docs/core/overview.md +++ b/docs/docs/core/overview.md @@ -4,19 +4,30 @@ sidebar_position: 1 # Overview + Eliza is a framework for creating AI agents that can interact across multiple platforms. **Features** - **Modular Design**: Plugins and services allow for flexible customization. -- **Scalable Knowledge**: Supports both RAG-based and direct knowledge processing. +- **Knowledge**: Supports both RAG-based and direct knowledge processing. - **Stateful Interactions**: Maintains context across conversations. - **Multi-Agent Support**: Supports running multiple agents with distinct configurations. - **Multi-Platform Support**: Integrates with various clients (e.g., Discord, Telegram). +Eliza consists of these core components: +- **Agents (Runtime)**: AI personalities that interact with users and platforms +- **Actions**: Executable behaviors that agents can perform in response to messages +- **Clients**: Platform connectors for services like Discord, Twitter, and Telegram +- **Plugins**: Modular extensions that add new features and capabilities +- **Providers**: Services that supply contextual information to agents +- **Evaluators**: Modules that analyze conversations and track agent goals +- **Character Files**: JSON configurations that define agent personalities +- **Memory System**: Database that stores and manages agent information using vector embeddings + +Here's an overview of how eliza works from user input to response generation: ![](/img/overview.png) Source: https://x.com/gelatonetwork/status/1894408632915169618 -This document provides a high-level overview of the system architecture and how components work together. --- diff --git a/docs/docs/core/plugins.md b/docs/docs/core/plugins.md index 90f2b6dac63..4b0e62d9468 100644 --- a/docs/docs/core/plugins.md +++ b/docs/docs/core/plugins.md @@ -2,6 +2,9 @@ Plugins (or packages) are modular extensions that enhance the capabilities of ElizaOS agents. They provide a flexible way to add new functionality, integrate external services, and customize agent behavior across different platforms. +**Browse the various plugins the eliza dev community made here: [Package Showcase](/showcase)** + +[![](/img/plugins.png)](/showcase) > elizaOS maintains an official package registry at [github.com/elizaos-plugins/registry](https://github.com/elizaos-plugins/registry). --- diff --git a/docs/docs/faq.md b/docs/docs/faq.md index 5a9d5fa248f..bfb3c0c4609 100644 --- a/docs/docs/faq.md +++ b/docs/docs/faq.md @@ -4,18 +4,6 @@ ### What is Eliza? Eliza is an open-source framework for building AI agents that can interact on platforms like Twitter, Discord, and Telegram. It was created by Shaw and is maintained by the community. -### What are the key components of Eliza? - -Eliza consists of these core components: -- **Agents**: AI personalities that interact with users and platforms -- **Actions**: Executable behaviors that agents can perform in response to messages -- **Clients**: Platform connectors for services like Discord, Twitter, and Telegram -- **Plugins**: Modular extensions that add new features and capabilities -- **Providers**: Services that supply contextual information to agents -- **Evaluators**: Modules that analyze conversations and track agent goals -- **Character Files**: JSON configurations that define agent personalities -- **Memory System**: Database that stores and manages agent information using vector embeddings - ### What's the difference between v1 and v2? Note: It's recommended for devs to keep working with v1, v2 will be mostly backwards compatible diff --git a/docs/docs/guides/configuration.md b/docs/docs/guides/configuration.md index 9709bb48e50..7de783069d8 100644 --- a/docs/docs/guides/configuration.md +++ b/docs/docs/guides/configuration.md @@ -16,160 +16,24 @@ The first step is creating your environment configuration file: cp .env.example .env ``` -### Core Environment Variables +Then edit the `.env` file to add your specific configuration values. -Here are the essential environment variables you need to configure: - -```bash -# Core API Keys -OPENAI_API_KEY=sk-your-key # Required for OpenAI features -ANTHROPIC_API_KEY=your-key # Required for Claude models -TOGETHER_API_KEY=your-key # Required for Together.ai models -``` - -### Client-Specific Configuration - -#### Discord Configuration - -```bash -DISCORD_APPLICATION_ID= # Your Discord app ID -DISCORD_API_TOKEN= # Discord bot token -``` - -#### Twitter Configuration - -```bash -TWITTER_USERNAME= # Bot Twitter username -TWITTER_PASSWORD= # Bot Twitter password -TWITTER_EMAIL= # Twitter account email -TWITTER_DRY_RUN=false # Test mode without posting -``` - -#### Telegram Configuration - -```bash -TELEGRAM_BOT_TOKEN= # Telegram bot token -``` - -### Model Provider Settings - -You can configure different AI model providers: - -```bash -# OpenAI Settings -OPENAI_API_KEY=sk-* - -# Anthropic Settings -ANTHROPIC_API_KEY= - -# Together.ai Settings -TOGETHER_API_KEY= - -# Heurist Settings -HEURIST_API_KEY= - -# Livepeer Settings -LIVEPEER_GATEWAY_URL= -``` - -### Cloudflare AI Gateway Integration - -Eliza supports routing API calls through [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/), which provides several benefits: - -- Detailed analytics and monitoring of message traffic and response times -- Cost optimization through request caching and usage tracking across providers -- Improved latency through Cloudflare's global network -- Comprehensive visibility into message content and token usage -- Cost analysis and comparison between different AI providers -- Usage patterns and trends visualization -- Request/response logging for debugging and optimization - -To enable Cloudflare AI Gateway: - -```bash -# Cloudflare AI Gateway Settings -CLOUDFLARE_GW_ENABLED=true -CLOUDFLARE_AI_ACCOUNT_ID=your-account-id -CLOUDFLARE_AI_GATEWAY_ID=your-gateway-id -``` - -Supported providers through Cloudflare AI Gateway: -- OpenAI -- Anthropic -- Groq - -When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. The gateway URL is constructed in the format: -``` -https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/${provider} -``` - -If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. - -```bash -# Cloudflare AI Gateway Settings -CLOUDFLARE_GW_ENABLED=true -CLOUDFLARE_AI_ACCOUNT_ID=your-account-id -CLOUDFLARE_AI_GATEWAY_ID=your-gateway-id -``` - -Supported providers through Cloudflare AI Gateway: -- OpenAI -- Anthropic -- Groq - -When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. The gateway URL is constructed in the format: -``` -https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/${provider} -``` - -If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. - -### Image Generation - -Configure image generation in your character file: - -```json -{ - "modelProvider": "heurist", - "settings": { - "imageSettings": { - "steps": 20, - "width": 1024, - "height": 1024 - } - } -} -``` - -Example usage: +--- -```typescript -const result = await generateImage( - { - prompt: 'A cute anime girl with big breasts and straight long black hair wearing orange T-shirt.', - width: 1024, - height: 1024, - numIterations: 20, // optional - guidanceScale: 3, // optional - seed: -1, // optional - modelId: "FLUX.1-dev", // optional - }, - runtime, -); -``` ## Character Configuration -### Character File Structure - Character files define your agent's personality and behavior. Create them in the `characters/` directory: ```json { "name": "AgentName", "clients": ["discord", "twitter"], - "modelProvider": "openai", + "modelProvider": "openrouter", "settings": { + "model": "openai/gpt-4o", + "temperature": 0.7, + "maxTokens": 2000, "secrets": { "OPENAI_API_KEY": "character-specific-key", "DISCORD_TOKEN": "bot-specific-token" @@ -178,21 +42,6 @@ Character files define your agent's personality and behavior. Create them in the } ``` -### Loading Characters - -You can load characters in several ways: - -```bash -# Load default character -pnpm start - -# Load specific character -pnpm start --characters="characters/your-character.json" - -# Load multiple characters -pnpm start --characters="characters/char1.json,characters/char2.json" -``` - ### Secrets for Multiple Characters If you don't want to have secrets in your character files because you would @@ -210,6 +59,8 @@ CHARACTER.DOBBY.DISCORD_APPLICATION_ID=123 CHARACTER.DOBBY.DISCORD_API_TOKEN=369 ``` +--- + ## Custom Actions ### Adding Custom Actions @@ -224,73 +75,36 @@ actions: path: ./custom_actions/myAction.ts ``` -### Action Configuration Structure +See the [actions](/docs/core/actions) page for more info. -```typescript -export const myAction: Action = { - name: "MY_ACTION", - similes: ["SIMILAR_ACTION", "ALTERNATE_NAME"], - validate: async (runtime: IAgentRuntime, message: Memory) => { - // Validation logic - return true; - }, - description: "Action description", - handler: async (runtime: IAgentRuntime, message: Memory) => { - // Action logic - return true; - }, -}; -``` +--- -## Provider Configuration +## Advanced Configuration -### Database Providers +### Cloudflare AI Gateway Integration -Configure different database backends: +Eliza supports routing API calls through [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/), which provides several benefits: -```typescript -// SQLite (Recommended for development) -import { SqliteDatabaseAdapter } from "@your-org/agent-framework/adapters"; -const db = new SqliteDatabaseAdapter("./dev.db"); - -// PostgreSQL (Production) -import { PostgresDatabaseAdapter } from "@your-org/agent-framework/adapters"; -const db = new PostgresDatabaseAdapter({ - host: process.env.DB_HOST, - port: parseInt(process.env.DB_PORT), - database: process.env.DB_NAME, - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, -}); -``` +- Detailed analytics and monitoring of message traffic and response times +- Cost optimization through request caching and usage tracking across providers +- Improved latency through Cloudflare's global network +- Comprehensive visibility into message content and token usage -### Model Providers +When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. -Configure model providers in your character file: +### Logging -```json -{ - "modelProvider": "openai", - "settings": { - "model": "gpt-4o-mini", - "temperature": 0.7, - "maxTokens": 2000 - } -} +```bash +DEFAULT_LOG_LEVEL=info # Options: debug, info, warn, error +LOG_JSON_FORMAT=false # Set to true for JSON formatted logs ``` -## Advanced Configuration - -### Runtime Settings +### Performance Settings Fine-tune runtime behavior: ```typescript const settings = { - // Logging - DEBUG: "eliza:*", - LOG_LEVEL: "info", - // Performance MAX_CONCURRENT_REQUESTS: 5, REQUEST_TIMEOUT: 30000, @@ -301,46 +115,857 @@ const settings = { }; ``` +--- -## Configuration Best Practices - -1. **Environment Segregation** - -- Use different `.env` files for different environments -- Follow naming convention: `.env.development`, `.env.staging`, `.env.production` - -2. **Secret Management** - -- Never commit secrets to version control - - Github has branch / workflow protection -- Use secret management services in production -- Rotate API keys regularly - -3. **Character Configuration** - -- Keep character files modular and focused -- Use inheritance for shared traits -- Document character behaviors +## Environment Variables Reference -4. **Plugin Management** +
      +Click to expand .env.example file -- Enable only needed plugins -- Configure plugin-specific settings in separate files +```bash +# Eliza Environment Variables - Compact Reference + +## SERVER & DATABASE +CACHE_STORE=database # Options: database|redis|filesystem +CACHE_DIR=./data/cache # For filesystem cache +REDIS_URL= # Redis connection string +PGLITE_DATA_DIR= # ../pgLite/ or memory:// +SERVER_URL=http://localhost # Base URL +SERVER_PORT=3000 # Port number +SUPABASE_URL= # Supabase URL +SUPABASE_ANON_KEY= # Supabase key +MONGODB_CONNECTION_STRING= # MongoDB connection +MONGODB_DATABASE= # Default: elizaAgent +REMOTE_CHARACTER_URLS= # Comma-separated URLs +USE_CHARACTER_STORAGE=false # Store characters in data/character +DEFAULT_LOG_LEVEL=info # Log level +LOG_JSON_FORMAT=false # JSON format for logs + +## CLIENT INTEGRATIONS +# BitMind +BITMIND=true # Enable BitMind +BITMIND_API_TOKEN= # API token + +# Discord +DISCORD_APPLICATION_ID= # App ID +DISCORD_API_TOKEN= # Bot token +DISCORD_VOICE_CHANNEL_ID= # Voice channel + +# Devin +DEVIN_API_TOKEN= # API token + +# Gelato +GELATO_RELAY_API_KEY= # API key + +# Farcaster +FARCASTER_FID= # FID for account +FARCASTER_NEYNAR_API_KEY= # API key +FARCASTER_NEYNAR_SIGNER_UUID= # Signer UUID +FARCASTER_DRY_RUN=false # Run without publishing +FARCASTER_POLL_INTERVAL=120 # Check interval (sec) + +# Telegram +TELEGRAM_BOT_TOKEN= # Bot token +TELEGRAM_ACCOUNT_PHONE= # Phone number +TELEGRAM_ACCOUNT_APP_ID= # App API ID +TELEGRAM_ACCOUNT_APP_HASH= # App API hash +TELEGRAM_ACCOUNT_DEVICE_MODEL= # Device model +TELEGRAM_ACCOUNT_SYSTEM_VERSION= # System version + +# Twitter/X +TWITTER_DRY_RUN=false # Simulate without posting +TWITTER_USERNAME= # Account username +TWITTER_PASSWORD= # Account password +TWITTER_EMAIL= # Account email +TWITTER_2FA_SECRET= # 2FA secret +TWITTER_COOKIES_AUTH_TOKEN= # Auth token +TWITTER_COOKIES_CT0= # Cookie CT0 +TWITTER_COOKIES_GUEST_ID= # Guest ID cookie +TWITTER_POLL_INTERVAL=120 # Check interval (sec) +TWITTER_SEARCH_ENABLE=FALSE # Enable timeline search +TWITTER_TARGET_USERS= # Usernames to interact with +TWITTER_RETRY_LIMIT= # Max retry attempts +TWITTER_SPACES_ENABLE=false # Enable Spaces +ENABLE_TWITTER_POST_GENERATION=true # Auto tweet generation +POST_INTERVAL_MIN= # Min post interval (min), default: 90 +POST_INTERVAL_MAX= # Max post interval (min), default: 180 +POST_IMMEDIATELY= # Post immediately, default: false +ACTION_INTERVAL= # Action processing interval (min), default: 5 +ENABLE_ACTION_PROCESSING=false # Enable action processing +MAX_ACTIONS_PROCESSING=1 # Max actions per cycle +ACTION_TIMELINE_TYPE=foryou # Timeline type: foryou|following +TWITTER_APPROVAL_DISCORD_CHANNEL_ID= # Discord channel ID +TWITTER_APPROVAL_DISCORD_BOT_TOKEN= # Discord bot token +TWITTER_APPROVAL_ENABLED= # Enable approval, default: false +TWITTER_APPROVAL_CHECK_INTERVAL=60000 # Check interval (ms) + +# WhatsApp +WHATSAPP_ACCESS_TOKEN= # Access token +WHATSAPP_PHONE_NUMBER_ID= # Phone number ID +WHATSAPP_BUSINESS_ACCOUNT_ID= # Business Account ID +WHATSAPP_WEBHOOK_VERIFY_TOKEN= # Webhook token +WHATSAPP_API_VERSION=v17.0 # API version + +# Alexa +ALEXA_SKILL_ID= # Skill ID +ALEXA_CLIENT_ID= # OAuth2 Client ID +ALEXA_CLIENT_SECRET= # OAuth2 Client Secret + +# SimsAI +SIMSAI_API_KEY= # API key +SIMSAI_AGENT_ID= # Agent ID +SIMSAI_USERNAME= # Username +SIMSAI_DRY_RUN= # Test without API calls + +# Direct Client +EXPRESS_MAX_PAYLOAD= # Max payload, default: 100kb + +# Instagram +INSTAGRAM_DRY_RUN=false # Simulate without posting +INSTAGRAM_USERNAME= # Username +INSTAGRAM_PASSWORD= # Password +INSTAGRAM_APP_ID= # App ID (required) +INSTAGRAM_APP_SECRET= # App Secret (required) +INSTAGRAM_BUSINESS_ACCOUNT_ID= # Business Account ID +INSTAGRAM_POST_INTERVAL_MIN=60 # Min interval (min) +INSTAGRAM_POST_INTERVAL_MAX=120 # Max interval (min) +INSTAGRAM_ENABLE_ACTION_PROCESSING=false # Enable actions +INSTAGRAM_ACTION_INTERVAL=5 # Action interval (min) +INSTAGRAM_MAX_ACTIONS=1 # Max actions per cycle + +## MODEL PROVIDERS +# OpenAI +OPENAI_API_KEY= # API key (sk-*) +OPENAI_API_URL= # API endpoint, default: https://api.openai.com/v1 +SMALL_OPENAI_MODEL= # Default: gpt-4o-mini +MEDIUM_OPENAI_MODEL= # Default: gpt-4o +LARGE_OPENAI_MODEL= # Default: gpt-4o +EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small +IMAGE_OPENAI_MODEL= # Default: dall-e-3 +USE_OPENAI_EMBEDDING= # TRUE for OpenAI embeddings +ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false # Enable community plugin +OPENAI_DEFAULT_MODEL= # Default model +OPENAI_MAX_TOKENS= # Max tokens +OPENAI_TEMPERATURE= # Temperature + +# Atoma SDK +ATOMASDK_BEARER_AUTH= # Bearer token +ATOMA_API_URL= # Default: https://api.atoma.network/v1 +SMALL_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct +MEDIUM_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct +LARGE_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct + +# Eternal AI +ETERNALAI_URL= # Service URL +ETERNALAI_MODEL= # Default: NousResearch/Hermes-3-Llama-3.1-70B-FP8 +ETERNALAI_CHAIN_ID=8453 # Default: 8453 +ETERNALAI_RPC_URL= # RPC URL +ETERNALAI_AGENT_CONTRACT_ADDRESS= # Contract address +ETERNALAI_AGENT_ID= # Agent ID +ETERNALAI_API_KEY= # API key +ETERNALAI_LOG=false # Enable logging + +# Hyperbolic +HYPERBOLIC_API_KEY= # API key +HYPERBOLIC_MODEL= # Model name +IMAGE_HYPERBOLIC_MODEL= # Default: FLUX.1-dev +SMALL_HYPERBOLIC_MODEL= # Default: meta-llama/Llama-3.2-3B-Instruct +MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruct +LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct +HYPERBOLIC_ENV=production # Environment +HYPERBOLIC_GRANULAR_LOG=true # Granular logging +HYPERBOLIC_SPASH=true # Show splash +HYPERBOLIC_LOG_LEVEL=debug # Log level + +# Infera +INFERA_API_KEY= # API key +INFERA_MODEL= # Default: llama3.2:latest +INFERA_SERVER_URL= # Default: https://api.infera.org/ +SMALL_INFERA_MODEL= # Recommended: llama3.2:latest +MEDIUM_INFERA_MODEL= # Recommended: mistral-nemo:latest +LARGE_INFERA_MODEL= # Recommended: mistral-small:latest + +# Venice +VENICE_API_KEY= # API key +SMALL_VENICE_MODEL= # Default: llama-3.3-70b +MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b +LARGE_VENICE_MODEL= # Default: llama-3.1-405b +IMAGE_VENICE_MODEL= # Default: fluently-xl + +# Nineteen.ai +NINETEEN_AI_API_KEY= # API key +SMALL_NINETEEN_AI_MODEL= # Default: unsloth/Llama-3.2-3B-Instruct +MEDIUM_NINETEEN_AI_MODEL= # Default: unsloth/Meta-Llama-3.1-8B-Instruct +LARGE_NINETEEN_AI_MODEL= # Default: hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4 +IMAGE_NINETEEN_AI_MODE= # Default: dataautogpt3/ProteusV0.4-Lightning + +# Akash Chat API +AKASH_CHAT_API_KEY= # API key +SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct +MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct +LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8 + +# Livepeer +LIVEPEER_GATEWAY_URL=https://dream-gateway.livepeer.cloud # Gateway URL +IMAGE_LIVEPEER_MODEL= # Default: ByteDance/SDXL-Lightning +SMALL_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct +MEDIUM_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct +LARGE_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct + +# Speech & Transcription +ELEVENLABS_XI_API_KEY= # ElevenLabs API key +ELEVENLABS_MODEL_ID=eleven_multilingual_v2 # Model ID +ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM # Voice ID +ELEVENLABS_VOICE_STABILITY=0.5 # Stability +ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9 # Similarity boost +ELEVENLABS_VOICE_STYLE=0.66 # Style value +ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false # Speaker boost +ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4 # Latency level +ELEVENLABS_OUTPUT_FORMAT=pcm_16000 # Output format +TRANSCRIPTION_PROVIDER= # Default: local, options: openai|deepgram|local +DEEPGRAM_API_KEY= # Deepgram API key + +# OpenRouter +OPENROUTER_API_KEY= # API key +OPENROUTER_MODEL= # Default: uses hermes 70b/405b +SMALL_OPENROUTER_MODEL= # Small model +MEDIUM_OPENROUTER_MODEL= # Medium model +LARGE_OPENROUTER_MODEL= # Large model + +# REDPILL +REDPILL_API_KEY= # API key +REDPILL_MODEL= # Model name +SMALL_REDPILL_MODEL= # Default: gpt-4o-mini +MEDIUM_REDPILL_MODEL= # Default: gpt-4o +LARGE_REDPILL_MODEL= # Default: gpt-4o + +# Grok +GROK_API_KEY= # API key +SMALL_GROK_MODEL= # Default: grok-2-1212 +MEDIUM_GROK_MODEL= # Default: grok-2-1212 +LARGE_GROK_MODEL= # Default: grok-2-1212 +EMBEDDING_GROK_MODEL= # Default: grok-2-1212 + +# Ollama +OLLAMA_SERVER_URL= # Default: localhost:11434 +OLLAMA_MODEL= # Model name +USE_OLLAMA_EMBEDDING= # TRUE for Ollama embeddings +OLLAMA_EMBEDDING_MODEL= # Default: mxbai-embed-large +SMALL_OLLAMA_MODEL= # Default: llama3.2 +MEDIUM_OLLAMA_MODEL= # Default: hermes3 +LARGE_OLLAMA_MODEL= # Default: hermes3:70b + +# Google +GOOGLE_MODEL= # Model name +SMALL_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest +MEDIUM_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest +LARGE_GOOGLE_MODEL= # Default: gemini-1.5-pro-latest +EMBEDDING_GOOGLE_MODEL= # Default: text-embedding-004 +GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key + +# Mistral +MISTRAL_MODEL= # Model name +SMALL_MISTRAL_MODEL= # Default: mistral-small-latest +MEDIUM_MISTRAL_MODEL= # Default: mistral-large-latest +LARGE_MISTRAL_MODEL= # Default: mistral-large-latest + +# Groq +GROQ_API_KEY= # API key (gsk_*) +SMALL_GROQ_MODEL= # Default: llama-3.1-8b-instant +MEDIUM_GROQ_MODEL= # Default: llama-3.3-70b-versatile +LARGE_GROQ_MODEL= # Default: llama-3.2-90b-vision-preview +EMBEDDING_GROQ_MODEL= # Default: llama-3.1-8b-instant + +# LlamaLocal +LLAMALOCAL_PATH= # Default: current directory + +# NanoGPT +SMALL_NANOGPT_MODEL= # Default: gpt-4o-mini +MEDIUM_NANOGPT_MODEL= # Default: gpt-4o +LARGE_NANOGPT_MODEL= # Default: gpt-4o +NANOGPT_API_KEY= # API key + +# Anthropic +ANTHROPIC_API_KEY= # API key +ANTHROPIC_API_URL= # API URL +SMALL_ANTHROPIC_MODEL= # Default: claude-3-haiku-20240307 +MEDIUM_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022 +LARGE_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022 + +# Heurist +HEURIST_API_KEY= # API key +SMALL_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct +MEDIUM_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct +LARGE_HEURIST_MODEL= # Default: meta-llama/llama-3.3-70b-instruct +HEURIST_IMAGE_MODEL= # Default: FLUX.1-dev +HEURIST_EMBEDDING_MODEL= # Default: BAAI/bge-large-en-v1.5 +USE_HEURIST_EMBEDDING= # TRUE for Heurist embeddings + +# Gaianet +GAIANET_MODEL= # Model name +GAIANET_SERVER_URL= # Server URL +SMALL_GAIANET_MODEL= # Default: llama3b +SMALL_GAIANET_SERVER_URL= # Default: https://llama3b.gaia.domains/v1 +MEDIUM_GAIANET_MODEL= # Default: llama +MEDIUM_GAIANET_SERVER_URL= # Default: https://llama8b.gaia.domains/v1 +LARGE_GAIANET_MODEL= # Default: qwen72b +LARGE_GAIANET_SERVER_URL= # Default: https://qwen72b.gaia.domains/v1 +GAIANET_EMBEDDING_MODEL= # Embedding model +USE_GAIANET_EMBEDDING= # TRUE for Gaianet embeddings + +# Volcengine +VOLENGINE_API_URL= # Default: https://open.volcengineapi.com/api/v3/ +VOLENGINE_MODEL= # Model name +SMALL_VOLENGINE_MODEL= # Default: doubao-lite-128k +MEDIUM_VOLENGINE_MODEL= # Default: doubao-pro-128k +LARGE_VOLENGINE_MODEL= # Default: doubao-pro-256k +VOLENGINE_EMBEDDING_MODEL= # Default: doubao-embedding + +# DeepSeek +DEEPSEEK_API_KEY= # API key +DEEPSEEK_API_URL= # Default: https://api.deepseek.com +SMALL_DEEPSEEK_MODEL= # Default: deepseek-chat +MEDIUM_DEEPSEEK_MODEL= # Default: deepseek-chat +LARGE_DEEPSEEK_MODEL= # Default: deepseek-chat + +# fal.ai +FAL_API_KEY= # API key +FAL_AI_LORA_PATH= # LoRA models path + +# LetzAI +LETZAI_API_KEY= # API key +LETZAI_MODELS= # Models list (e.g., @modelname1, @modelname2) + +# Galadriel +GALADRIEL_API_KEY= # API key (gal-*) +SMALL_GALADRIEL_MODEL= # Default: gpt-4o-mini +MEDIUM_GALADRIEL_MODEL= # Default: gpt-4o +LARGE_GALADRIEL_MODEL= # Default: gpt-4o +GALADRIEL_FINE_TUNE_API_KEY= # OpenAI key for fine-tuned models + +# LM Studio +LMSTUDIO_SERVER_URL= # Default: http://localhost:1234/v1 +LMSTUDIO_MODEL= # Model name +SMALL_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b +MEDIUM_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b +LARGE_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b + +# Secret AI +SECRET_AI_API_KEY= # API key +SECRET_AI_URL= # Default: https://ai1.scrtlabs.com:21434 +SMALL_SECRET_AI_MODEL= # Default: deepseek-r1:70b +MEDIUM_SECRET_AI_MODEL= # Default: deepseek-r1:70b +LARGE_SECRET_AI_MODEL= # Default: deepseek-r1:70b + +# NEAR AI +NEARAI_API_URL= # Default: https://api.near.ai/v1 +NEARAI_API_KEY= # API key +NEARAI_MODEL= # Model name +SMALL_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p2-3b-instruct +MEDIUM_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p1-70b-instruct +LARGE_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p1-405b-instruct +IMAGE_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/playground-v2-5-1024px-aesthetic + +# Other API Keys +ALI_BAILIAN_API_KEY= # Ali Bailian API key +TOGETHER_API_KEY= # Together API key + +## CRYPTO PLUGINS +# Market Data APIs +COINMARKETCAP_API_KEY= # CoinMarketCap API key +ZERION_API_KEY= # Zerion API key +COINGECKO_API_KEY= # CoinGecko API key (free) +COINGECKO_PRO_API_KEY= # CoinGecko Pro API key +MORALIS_API_KEY= # Moralis API key +CHAINBASE_API_KEY= # Chainbase API key (demo for free tier) +BIRDEYE_API_KEY= # Birdeye API key + +# EVM Chains +EVM_PRIVATE_KEY= # Private key (with 0x prefix) +EVM_PROVIDER_URL= # RPC provider URL +ALCHEMY_HTTP_TRANSPORT_URL= # Alchemy HTTP URL +ZERO_EX_API_KEY= # 0x API key + +# Zilliqa +ZILLIQA_PRIVATE_KEY= # Private key +ZILLIQA_PROVIDER_URL= # Provider URL + +# Avalanche +AVALANCHE_PRIVATE_KEY= # Private key +AVALANCHE_PUBLIC_KEY= # Public key + +# Arthera +ARTHERA_PRIVATE_KEY= # Private key + +# Solana +SOLANA_PRIVATE_KEY= # Private key +SOLANA_PUBLIC_KEY= # Public key +SOLANA_CLUSTER= # Options: devnet|testnet|mainnet-beta, default: devnet +SOLANA_ADMIN_PRIVATE_KEY= # Admin private key for NFT verification +SOLANA_ADMIN_PUBLIC_KEY= # Admin public key for NFT verification +SOLANA_VERIFY_TOKEN= # Verification API token +SOL_ADDRESS=So11111111111111111111111111111111111111112 # SOL token address +SLIPPAGE=1 # Slippage percentage +BASE_MINT=So11111111111111111111111111111111111111112 # Base token address +SOLANA_RPC_URL=https://api.mainnet-beta.solana.com # RPC URL +HELIUS_API_KEY= # Helius API key + +# Injective +INJECTIVE_PRIVATE_KEY= # Private key +INJECTIVE_PUBLIC_KEY= # Public key +INJECTIVE_NETWORK= # Network setting + +# Legacy Wallet (deprecated) +WALLET_PRIVATE_KEY= # Private key +WALLET_PUBLIC_KEY= # Public key + +# Abstract +ABSTRACT_ADDRESS= # Address +ABSTRACT_PRIVATE_KEY= # Private key +ABSTRACT_RPC_URL=https://api.testnet.abs.xyz # RPC URL + +# Starknet +STARKNET_ADDRESS= # Address +STARKNET_PRIVATE_KEY= # Private key +STARKNET_RPC_URL=https://rpc.starknet-testnet.lava.build # RPC URL + +# Lens Network +LENS_ADDRESS= # Address +LENS_PRIVATE_KEY= # Private key + +# Viction +VICTION_ADDRESS= # Address +VICTION_PRIVATE_KEY= # Private key +VICTION_RPC_URL= # RPC URL + +# Form Chain +FORM_PRIVATE_KEY= # Character account private key +FORM_TESTNET=true # true=Testnet, false=Mainnet + +# Coinbase +COINBASE_COMMERCE_KEY= # Commerce key +COINBASE_API_KEY= # API key +COINBASE_PRIVATE_KEY= # Private key +COINBASE_GENERATED_WALLET_ID= # Generated wallet ID +COINBASE_GENERATED_WALLET_HEX_SEED= # Wallet hex seed +COINBASE_NOTIFICATION_URI= # Webhook URI + +# Coinbase AgentKit +CDP_API_KEY_NAME= # API key name +CDP_API_KEY_PRIVATE_KEY= # Private key +CDP_AGENT_KIT_NETWORK=base-sepolia # Default: base-sepolia + +# Charity +IS_CHARITABLE=false # Enable charity donations +CHARITY_ADDRESS_BASE= # Base network address +CHARITY_ADDRESS_SOL= # Solana address +CHARITY_ADDRESS_ETH= # Ethereum address +CHARITY_ADDRESS_ARB= # Arbitrum address +CHARITY_ADDRESS_POL= # Polygon address + +# Thirdweb +THIRDWEB_SECRET_KEY= # Secret key + +# Conflux +CONFLUX_CORE_PRIVATE_KEY= # Core private key +CONFLUX_CORE_SPACE_RPC_URL= # Core RPC URL +CONFLUX_ESPACE_PRIVATE_KEY= # eSpace private key +CONFLUX_ESPACE_RPC_URL= # eSpace RPC URL +CONFLUX_MEME_CONTRACT_ADDRESS= # Meme contract address + +# Mind Network +MIND_HOT_WALLET_PRIVATE_KEY= # Hot wallet private key +MIND_COLD_WALLET_ADDRESS= # Cold wallet address + +# ZeroG +ZEROG_INDEXER_RPC= # Indexer RPC +ZEROG_EVM_RPC= # EVM RPC +ZEROG_PRIVATE_KEY= # Private key +ZEROG_FLOW_ADDRESS= # Flow address + +# IQ6900 +IQ_WALLET_ADDRESS= # Wallet address +IQSOlRPC= # Solana RPC + +# Squid Router +SQUID_SDK_URL=https://apiplus.squidrouter.com # Default SDK URL +SQUID_INTEGRATOR_ID= # Integrator ID +SQUID_EVM_ADDRESS= # EVM address +SQUID_EVM_PRIVATE_KEY= # EVM private key +SQUID_API_THROTTLE_INTERVAL=1000 # Throttle interval (ms) + +# TEE Configuration +TEE_MODE=OFF # Options: LOCAL|DOCKER|PRODUCTION|OFF +WALLET_SECRET_SALT= # Salt for wallet secrets +TEE_LOG_DB_PATH= # Default: ./data/tee_log.sqlite +VLOG= # Enable TEE Verifiable Log if "true" +ENABLE_TEE_LOG=false # Enable TEE logging (TEE mode only) +TEE_MARLIN= # Set "yes" to enable Marlin plugin +TEE_MARLIN_ATTESTATION_ENDPOINT= # Default: http://127.0.0.1:1350 + +# Flow Blockchain +FLOW_ADDRESS= # Flow address +FLOW_PRIVATE_KEY= # Private key for SHA3-256 + P256 ECDSA +FLOW_NETWORK= # Default: mainnet +FLOW_ENDPOINT_URL= # Default: https://mainnet.onflow.org + +# Internet Computer Protocol +INTERNET_COMPUTER_PRIVATE_KEY= # ICP private key +INTERNET_COMPUTER_ADDRESS= # ICP address + +# Cloudflare AI +CLOUDFLARE_GW_ENABLED= # Enable Cloudflare AI Gateway +CLOUDFLARE_AI_ACCOUNT_ID= # Account ID +CLOUDFLARE_AI_GATEWAY_ID= # Gateway ID + +# Aptos +APTOS_PRIVATE_KEY= # Private key +APTOS_NETWORK= # Options: mainnet|testnet + +# MultiversX +MVX_PRIVATE_KEY= # Private key +MVX_NETWORK= # Options: mainnet|devnet|testnet +ACCESS_TOKEN_MANAGEMENT_TO=everyone # Limit token management + +# NEAR +NEAR_WALLET_SECRET_KEY= # Secret key +NEAR_WALLET_PUBLIC_KEY= # Public key +NEAR_ADDRESS= # Address +NEAR_SLIPPAGE=1 # Slippage percentage +NEAR_RPC_URL=https://near-testnet.lava.build # RPC URL +NEAR_NETWORK=testnet # Options: testnet|mainnet + +# ZKsync Era +ZKSYNC_ADDRESS= # Address +ZKSYNC_PRIVATE_KEY= # Private key + +# HoldStation +HOLDSTATION_PRIVATE_KEY= # Private key + +# Avail DA +AVAIL_ADDRESS= # Address +AVAIL_SEED= # Seed +AVAIL_APP_ID=0 # App ID +AVAIL_RPC_URL=wss://avail-turing.public.blastapi.io/ # Default RPC URL + +# TON +TON_PRIVATE_KEY= # Mnemonic joined with empty string +TON_RPC_URL= # RPC URL +TON_RPC_API_KEY= # RPC API key +TON_NFT_IMAGES_FOLDER= # NFT images folder +TON_NFT_METADATA_FOLDER= # NFT metadata folder +PINATA_API_KEY= # Pinata API key +PINATA_API_SECRET= # Pinata API secret +PINATA_JWT= # Pinata JWT + +# Sui +SUI_PRIVATE_KEY= # Private key/mnemonic +SUI_NETWORK= # Options: mainnet|testnet|devnet|localnet + +# Mina +MINA_PRIVATE_KEY= # Mnemonic seed phrase +MINA_NETWORK=devnet # Options: mainnet|testnet|devnet|localnet + +# Story +STORY_PRIVATE_KEY= # Private key +STORY_API_BASE_URL= # API base URL +STORY_API_KEY= # API key + +# Cosmos +COSMOS_RECOVERY_PHRASE= # 12-word recovery phrase +COSMOS_AVAILABLE_CHAINS= # Chain list (comma-separated) + +# Cronos zkEVM +CRONOSZKEVM_ADDRESS= # Address +CRONOSZKEVM_PRIVATE_KEY= # Private key + +# Fuel Ecosystem +FUEL_WALLET_PRIVATE_KEY= # Private key + +# Spheron +SPHERON_PRIVATE_KEY= # Private key +SPHERON_PROVIDER_PROXY_URL= # Provider proxy URL +SPHERON_WALLET_ADDRESS= # Wallet address + +# Stargaze +STARGAZE_ENDPOINT= # GraphQL endpoint + +# GenLayer +GENLAYER_PRIVATE_KEY= # Private key (0x format) + +# BNB Chain +BNB_PRIVATE_KEY= # Private key +BNB_PUBLIC_KEY= # Public key +BSC_PROVIDER_URL= # BNB Smart Chain RPC URL +OPBNB_PROVIDER_URL= # OPBNB RPC URL + +# Allora +ALLORA_API_KEY= # API key (UP-* format) +ALLORA_CHAIN_SLUG= # Options: mainnet|testnet, default: testnet + +# B2 Network +B2_PRIVATE_KEY= # Private key + +# Opacity zkTLS +OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f # Team ID +OPACITY_CLOUDFLARE_NAME=eigen-test # Cloudflare name +OPACITY_PROVER_URL=https://opacity-ai-zktls-demo.vercel.app # Prover URL + +# SEI Network +SEI_PRIVATE_KEY= # Private key +SEI_NETWORK= # Options: mainnet|testnet|devnet +SEI_RPC_URL= # Custom RPC URL + +# Omniflix +OMNIFLIX_API_URL= # https://rest.omniflix.network +OMNIFLIX_MNEMONIC= # 12/24-word mnemonic +OMNIFLIX_RPC_ENDPOINT= # https://rpc.omniflix.network +OMNIFLIX_PRIVATE_KEY= # Private key + +# Hyperliquid +HYPERLIQUID_PRIVATE_KEY= # Private key +HYPERLIQUID_TESTNET= # true/false, default: false + +# Lit Protocol +FUNDING_PRIVATE_KEY= # Funding private key +EVM_RPC_URL= # RPC URL + +# EthStorage DA +ETHSTORAGE_PRIVATE_KEY= # Private key +ETHSTORAGE_ADDRESS=0x64003adbdf3014f7E38FC6BE752EB047b95da89A # Address +ETHSTORAGE_RPC_URL=https://rpc.beta.testnet.l2.quarkchain.io:8545 # RPC URL + +# DCAP +DCAP_EVM_PRIVATE_KEY= # Private key +DCAP_MODE= # Options: OFF|PLUGIN-SGX|PLUGIN-TEE|MOCK + +# QuickIntel +QUICKINTEL_API_KEY= # Token security analysis API key + +# News API +NEWS_API_KEY= # From https://newsapi.org/ + +# BTCFUN +BTCFUN_API_URL= # Default: https://api-testnet-new.btc.fun +BTC_PRIVATE_KEY_WIF= # BTC private key in WIF format +BTC_ADDRESS= # BTC address +BTC_MINT_CAP=10000 # Maximum mint amount +BTC_MINT_DEADLINE=864000 # Deadline in seconds +BTC_FUNDRAISING_CAP=100 # Maximum fundraising amount + +# Trikon +TRIKON_WALLET_ADDRESS= # Valid 64-char hex with 0x prefix +TRIKON_INITIAL_BALANCE= # Optional, default: 0 + +# Arbitrage +ARBITRAGE_ETHEREUM_WS_URL= # Ethereum WebSocket URL +ARBITRAGE_EVM_PROVIDER_URL= # Ethereum RPC URL +ARBITRAGE_EVM_PRIVATE_KEY= # Private key for transactions +FLASHBOTS_RELAY_SIGNING_KEY= # Flashbots signing key +BUNDLE_EXECUTOR_ADDRESS= # Bundle executor contract address + +# DESK Exchange +DESK_EXCHANGE_PRIVATE_KEY= # Private key +DESK_EXCHANGE_NETWORK= # mainnet or testnet + +# Compass +COMPASS_WALLET_PRIVATE_KEY= # Private key +COMPASS_ARBITRUM_RPC_URL= # Arbitrum RPC URL +COMPASS_ETHEREUM_RPC_URL= # Ethereum RPC URL +COMPASS_BASE_RPC_URL= # Base RPC URL + +# d.a.t.a +DATA_API_KEY= # API key +DATA_AUTH_TOKEN= # Auth token + +# NKN +NKN_CLIENT_PRIVATE_KEY= # Required client private key +NKN_CLIENT_ID= # Optional client ID + +# Router Nitro EVM +ROUTER_NITRO_EVM_ADDRESS= # Address +ROUTER_NITRO_EVM_PRIVATE_KEY= # Private key + +# OriginTrail DKG +DKG_ENVIRONMENT= # Options: development|testnet|mainnet +DKG_HOSTNAME= # Hostname +DKG_PORT=8900 # Port +DKG_PUBLIC_KEY= # Public key +DKG_PRIVATE_KEY= # Private key +DKG_BLOCKCHAIN_NAME= # Chain configs + +# Initia +INITIA_PRIVATE_KEY= # Wallet private key +INITIA_NODE_URL= # Node URL, default: testnet +INITIA_CHAIN_ID=initia-test # Chain ID, default: testnet + +# NVIDIA +NVIDIA_NIM_ENV=production # Environment +NVIDIA_NIM_SPASH=false # Show splash +NVIDIA_NIM_API_KEY= # NIM API key +NVIDIA_NGC_API_KEY= # NGC API key +NVIDIA_NIM_MAX_RETRIES=3 # Max retries +NVIDIA_NIM_RETRY_DELAY=1000 # Retry delay (ms) +NVIDIA_NIM_TIMEOUT=5000 # Timeout (ms) +NVIDIA_GRANULAR_LOG=true # Granular logging +NVIDIA_LOG_LEVEL=debug # Log level +NVIDIA_OFFTOPIC_SYSTEM= # Off-topic system +NVIDIA_OFFTOPIC_USER= # Off-topic user +NVIDIA_NIM_BASE_VISION_URL=https://ai.api.nvidia.com/v1/vlm # Vision URL +NVIDIA_COSMOS_MODEL=nvidia/cosmos-nemotron-34b # Model name +NVIDIA_COSMOS_INVOKE_URL=https://ai.api.nvidia.com/v1/vlm/nvidia/cosmos-nemotron-34b # Invoke URL +NVIDIA_COSMOS_ASSET_URL=https://api.nvcf.nvidia.com/v2/nvcf/assets # Asset URL +NVIDIA_COSMOS_MAX_TOKENS=1000 # Max tokens + +# Email +EMAIL_OUTGOING_SERVICE=smtp # Options: smtp|gmail +EMAIL_OUTGOING_HOST=smtp.example.com # SMTP host +EMAIL_OUTGOING_PORT=465 # Default: 465 (secure), 587 (TLS) +EMAIL_OUTGOING_USER= # Username +EMAIL_OUTGOING_PASS= # Password/app password +EMAIL_INCOMING_SERVICE=imap # Service type +EMAIL_INCOMING_HOST=imap.example.com # IMAP host +EMAIL_INCOMING_PORT=993 # Default port for secure IMAP +EMAIL_INCOMING_USER= # Username +EMAIL_INCOMING_PASS= # Password + +# Email Automation +RESEND_API_KEY= # Resend API key +DEFAULT_TO_EMAIL= # Default recipient +DEFAULT_FROM_EMAIL= # Default sender +EMAIL_AUTOMATION_ENABLED=false # Enable AI detection +EMAIL_EVALUATION_PROMPT= # Custom detection criteria + +# ANKR +ANKR_ENV=production # Environment +ANKR_WALLET= # Wallet +ANKR_MAX_RETRIES=3 # Max retries +ANKR_RETRY_DELAY=1000 # Retry delay (ms) +ANKR_TIMEOUT=5000 # Timeout (ms) +ANKR_GRANULAR_LOG=true # Granular logging +ANKR_LOG_LEVEL=debug # Log level +ANKR_RUNTIME_CHECK_MODE=false # Check mode +ANKR_SPASH=true # Show splash + +# Quai Network +QUAI_PRIVATE_KEY= # Private key +QUAI_RPC_URL=https://rpc.quai.network # RPC URL + +# Tokenizer +TOKENIZER_MODEL= # Tokenizer model +TOKENIZER_TYPE= # Options: tiktoken|auto, default: tiktoken + +# AWS Services +AWS_ACCESS_KEY_ID= # Access key ID +AWS_SECRET_ACCESS_KEY= # Secret access key +AWS_REGION= # AWS region +AWS_S3_BUCKET= # S3 bucket name +AWS_S3_UPLOAD_PATH= # S3 upload path +AWS_S3_ENDPOINT= # S3 endpoint +AWS_S3_SSL_ENABLED= # Enable SSL +AWS_S3_FORCE_PATH_STYLE= # Force path style + +# Deva +DEVA_API_KEY= # API key from deva.me/settings/apps +DEVA_API_BASE_URL=https://api.deva.me # Default URL + +# Verifiable Inference +VERIFIABLE_INFERENCE_ENABLED=false # Enable verification +VERIFIABLE_INFERENCE_PROVIDER=opacity # Provider option + +# Qdrant +QDRANT_URL= # Qdrant instance URL +QDRANT_KEY= # API key +QDRANT_PORT=443 # Port (443 cloud, 6333 local) +QDRANT_VECTOR_SIZE=1536 # Vector size + +# Autonome +AUTONOME_JWT_TOKEN= # JWT token +AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps # RPC URL + +# Akash Network +AKASH_ENV=mainnet # Environment +AKASH_NET=https://raw.githubusercontent.com/ovrclk/net/master/mainnet # Network +RPC_ENDPOINT=https://rpc.akashnet.net:443 # RPC endpoint +AKASH_GAS_PRICES=0.025uakt # Gas prices +AKASH_GAS_ADJUSTMENT=1.5 # Gas adjustment +AKASH_KEYRING_BACKEND=os # Keyring backend +AKASH_FROM=default # From account +AKASH_FEES=20000uakt # Fees +AKASH_DEPOSIT=500000uakt # Deposit +AKASH_MNEMONIC= # Mnemonic +AKASH_WALLET_ADDRESS= # Wallet address +AKASH_PRICING_API_URL=https://console-api.akash.network/v1/pricing # Pricing API +AKASH_DEFAULT_CPU=1000 # Default CPU +AKASH_DEFAULT_MEMORY=1000000000 # Default memory +AKASH_DEFAULT_STORAGE=1000000000 # Default storage +AKASH_SDL=example.sdl.yml # SDL file +AKASH_CLOSE_DEP=closeAll # Close deployment +AKASH_CLOSE_DSEQ=19729929 # Close DSEQ +AKASH_PROVIDER_INFO=akash1ccktptfkvdc67msasmesuy5m7gpc76z75kukpz # Provider info +AKASH_DEP_STATUS=dseq # Deployment status +AKASH_DEP_DSEQ=19729929 # Deployment DSEQ +AKASH_GAS_OPERATION=close # Gas operation +AKASH_GAS_DSEQ=19729929 # Gas DSEQ +AKASH_MANIFEST_MODE=auto # Manifest mode +AKASH_MANIFEST_PATH= # Manifest path +AKASH_MANIFEST_VALIDATION_LEVEL=strict # Validation level + +# Pyth +PYTH_NETWORK_ENV=mainnet # Network environment +PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network # Mainnet Hermes URL +PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws # Mainnet WSS URL +PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com # Mainnet Pythnet URL +PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids # Registry +PYTH_MAINNET_PROGRAM_KEY= # Program key +PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network # Testnet Hermes URL +PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws # Testnet WSS URL +PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com # Testnet Pythnet URL +PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet # Registry +PYTH_TESTNET_PROGRAM_KEY= # Program key +PYTH_MAX_RETRIES=3 # Max retries +PYTH_RETRY_DELAY=1000 # Retry delay (ms) +PYTH_TIMEOUT=5000 # Timeout (ms) +PYTH_GRANULAR_LOG=true # Granular logging +PYTH_LOG_LEVEL=debug # Log level for debugging +PYTH_LOG_LEVEL=info # Log level for production +PYTH_ENABLE_PRICE_STREAMING=true # Enable price streaming +PYTH_MAX_PRICE_STREAMS=2 # Max price streams +PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 # Test ID +PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace # Test ID + +# Misc Plugins +INTIFACE_WEBSOCKET_URL=ws://localhost:12345 # Intiface WebSocket URL +GIPHY_API_KEY= # API key from giphy +OPEN_WEATHER_API_KEY= # OpenWeather API key +PASSPORT_API_KEY= # Gitcoin Passport key +PASSPORT_SCORER= # Scorer number +TAVILY_API_KEY= # Web search API key +ECHOCHAMBERS_API_URL=http://127.0.0.1:3333 # API URL +ECHOCHAMBERS_API_KEY=testingkey0011 # API key +ECHOCHAMBERS_USERNAME=eliza # Username +ECHOCHAMBERS_ROOMS=general # Comma-separated room list +ECHOCHAMBERS_POLL_INTERVAL=60 # Poll interval (sec) +ECHOCHAMBERS_MAX_MESSAGES=10 # Max messages +ECHOCHAMBERS_CONVERSATION_STARTER_INTERVAL=300 # Check interval (sec) +ECHOCHAMBERS_QUIET_PERIOD=900 # Quiet period (sec) +SUNO_API_KEY= # Suno AI music generation +UDIO_AUTH_TOKEN= # Udio AI music generation +FOOTBALL_API_KEY= # Football-Data.org API key +IMGFLIP_USERNAME= # Imgflip username +IMGFLIP_PASSWORD= # Imgflip password +RUNTIME_CHECK_MODE=false # Runtime check mode +``` +
      --- ## FAQ -### How do I manage multiple environment configurations? -Use different .env files (.env.development, .env.staging, .env.production) and load them based on NODE_ENV. - ### How do I configure different model providers? Set `modelProvider` in your character.json and add corresponding API keys in `.env` or character secrets. Supports Anthropic, OpenAI, DeepSeek, and others. -### How do I handle secrets and credentials? -Use `.env` file for global settings or add secrets in `character.json` under `settings.secrets` for per-agent configuration. - ### How do I adjust the temperature setting in my character file? The temperature setting controls response randomness and can be configured in your character's JSON file: @@ -349,9 +974,9 @@ The temperature setting controls response randomness and can be configured in yo "modelProvider": "openrouter", "temperature": 0.7, "settings": { + "model": "openai/gpt-4o-mini" "maxInputTokens": 200000, - "maxOutputTokens": 8192, - "model": "large" + "maxOutputTokens": 8192 } } ``` @@ -360,9 +985,10 @@ Increase temperature for more creative responses, decrease for more consistent o ### I'm getting an authentication error ("No auth credentials found"). What should I do? Check these common issues: 1. Verify API keys in your .env file -2. Ensure keys are properly formatted +2. Ensure keys are properly formatted (OpenAI keys start with `sk-`, Groq with `gsk_`, etc.) 3. Check logs for specific authentication errors 4. Try restarting the application after updating credentials +5. For character-specific providers, ensure they have access to the needed keys ### How do I debug when my agent isn't responding? 1. Enable debug logging: `DEBUG=eliza:*` in your .env file @@ -372,13 +998,3 @@ Check these common issues: ### How do I control my agent's behavior across platforms? Configure platform-specific settings in `.env` (like `TWITTER_TARGET_USERS`) and adjust response templates in your character file. - ---- - -## Further Resources - -- [Quickstart Guide](../quickstart.md) for initial setup -- [Secrets Management](./secrets-management.md) for secure configuration -- [Local Development](./local-development.md) for development setup -- [Advanced Usage](./advanced.md) for complex configurations - From 69c51ad61bc30dded66eab9af291f281c429da02 Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:10:06 -0500 Subject: [PATCH 5/9] add sidebar to package showcase, cleanup, add readmes --- docs/docusaurus.config.js | 50 +- docs/packages/adapters/mongodb.md | 136 ++ docs/packages/adapters/pglite.md | 113 ++ docs/packages/adapters/postgres.md | 176 ++ docs/packages/adapters/qdrant.md | 137 ++ docs/packages/adapters/sqlite.md | 125 ++ docs/packages/adapters/sqljs.md | 1 + docs/packages/adapters/supabase.md | 66 + docs/packages/backup.tar | Bin 0 -> 727040 bytes docs/packages/clients/alexa.md | 76 + docs/packages/clients/auto.md | 1 + docs/packages/clients/deva.md | 134 ++ docs/packages/clients/direct.md | 1 + docs/packages/clients/discord.md | 102 ++ docs/packages/clients/eliza-home.md | 153 ++ docs/packages/clients/farcaster.md | 149 ++ docs/packages/clients/github.md | 145 ++ docs/packages/clients/instagram.md | 113 ++ docs/packages/clients/lens.md | 1 + docs/packages/clients/simsai.md | 1 + docs/packages/clients/slack.md | 194 ++ docs/packages/clients/tako.md | 79 + docs/packages/clients/telegram-account.md | 121 ++ docs/packages/clients/telegram.md | 88 + docs/packages/clients/twitter.md | 159 ++ docs/packages/clients/xmtp.md | 79 + docs/packages/index.md | 21 + docs/packages/plugins/0g.md | 221 +++ docs/packages/plugins/0x.md | 86 + docs/packages/plugins/3d-generation.md | 221 +++ docs/packages/plugins/ATTPs.md | 172 ++ docs/packages/plugins/abstract.md | 175 ++ docs/packages/plugins/advanced-sdk-ts.md | 126 ++ docs/packages/plugins/agentkit.md | 123 ++ docs/packages/plugins/akash.md | 133 ++ docs/packages/plugins/allora.md | 87 + docs/packages/plugins/ankr.md | 87 + docs/packages/plugins/anyone.md | 69 + docs/packages/plugins/aptos.md | 249 +++ docs/packages/plugins/arbitrage.md | 113 ++ docs/packages/plugins/arthera.md | 68 + docs/packages/plugins/asterai.md | 80 + docs/packages/plugins/autonome.md | 84 + docs/packages/plugins/avail.md | 42 + docs/packages/plugins/avalanche.md | 253 +++ docs/packages/plugins/aws-s3.md | 68 + docs/packages/plugins/b2.md | 169 ++ docs/packages/plugins/binance.md | 88 + docs/packages/plugins/birdeye.md | 38 + docs/packages/plugins/bittensor.md | 24 + docs/packages/plugins/bnb.md | 144 ++ docs/packages/plugins/bootstrap.md | 180 ++ docs/packages/plugins/browser.md | 133 ++ docs/packages/plugins/cache-redis.md | 1 + docs/packages/plugins/ccxt.md | 62 + docs/packages/plugins/chainbase.md | 66 + docs/packages/plugins/coinbase.md | 213 +++ docs/packages/plugins/coingecko.md | 98 + docs/packages/plugins/coinmarketcap.md | 127 ++ docs/packages/plugins/compass.md | 73 + docs/packages/plugins/conflux.md | 237 +++ docs/packages/plugins/cosmos.md | 223 +++ docs/packages/plugins/cronos.md | 257 +++ docs/packages/plugins/cronoszkevm.md | 160 ++ docs/packages/plugins/d-a-t-a.md | 134 ++ docs/packages/plugins/dcap.md | 88 + docs/packages/plugins/depin.md | 102 ++ docs/packages/plugins/desk-exchange.md | 95 + docs/packages/plugins/devin.md | 79 + docs/packages/plugins/dexscreener.md | 79 + docs/packages/plugins/di.md | 150 ++ docs/packages/plugins/dkg.md | 103 ++ docs/packages/plugins/echochambers.md | 200 +++ docs/packages/plugins/edwin.md | 67 + docs/packages/plugins/eliza-nkn.md | 8 + docs/packages/plugins/email-automation.md | 167 ++ docs/packages/plugins/email.md | 52 + docs/packages/plugins/ethstorage.md | 39 + docs/packages/plugins/evm.md | 324 ++++ docs/packages/plugins/ferePro.md | 228 +++ docs/packages/plugins/firecrawl.md | 85 + docs/packages/plugins/flow-advanced.md | 51 + docs/packages/plugins/flow.md | 165 ++ docs/packages/plugins/football.md | 216 +++ docs/packages/plugins/form.md | 175 ++ docs/packages/plugins/fuel.md | 154 ++ docs/packages/plugins/gelato.md | 116 ++ docs/packages/plugins/genlayer.md | 101 ++ docs/packages/plugins/gigbot.md | 148 ++ docs/packages/plugins/giphy.md | 48 + docs/packages/plugins/gitbook.md | 195 ++ docs/packages/plugins/gitcoin-passport.md | 38 + docs/packages/plugins/goat.md | 165 ++ docs/packages/plugins/goplus.md | 83 + docs/packages/plugins/grix.md | 117 ++ docs/packages/plugins/holdstation.md | 51 + docs/packages/plugins/hyperbolic.md | 130 ++ docs/packages/plugins/hyperliquid.md | 111 ++ docs/packages/plugins/icp.md | 235 +++ docs/packages/plugins/image-generation.md | 155 ++ docs/packages/plugins/image.md | 60 + docs/packages/plugins/imgflip.md | 53 + docs/packages/plugins/initia.md | 62 + docs/packages/plugins/injective.md | 176 ++ docs/packages/plugins/intiface.md | 205 +++ docs/packages/plugins/iq6900.md | 28 + docs/packages/plugins/irys.md | 317 ++++ docs/packages/plugins/isaacx.md | 77 + docs/packages/plugins/lens-network.md | 99 ++ docs/packages/plugins/lensNetwork.md | 99 ++ docs/packages/plugins/letzai.md | 98 + docs/packages/plugins/lightlink.md | 95 + docs/packages/plugins/lightning.md | 64 + docs/packages/plugins/lit.md | 148 ++ docs/packages/plugins/llama.md | 162 ++ docs/packages/plugins/massa.md | 16 + docs/packages/plugins/merkle-eliza-plugin.md | 72 + docs/packages/plugins/merkle.md | 72 + docs/packages/plugins/messari-ai-toolkit.md | 129 ++ docs/packages/plugins/mina.md | 139 ++ docs/packages/plugins/mind-network.md | 118 ++ docs/packages/plugins/moralis.md | 140 ++ docs/packages/plugins/movement.md | 43 + docs/packages/plugins/multichain.md | 228 +++ docs/packages/plugins/multiversx.md | 214 +++ docs/packages/plugins/near.md | 222 +++ docs/packages/plugins/news.md | 171 ++ docs/packages/plugins/nft-collections.md | 1584 +++++++++++++++++ docs/packages/plugins/nft-generation.md | 245 +++ docs/packages/plugins/nkn.md | 8 + docs/packages/plugins/node.md | 392 ++++ docs/packages/plugins/nvidia-nim.md | 137 ++ docs/packages/plugins/obsidian.md | 234 +++ docs/packages/plugins/okto.md | 111 ++ docs/packages/plugins/omniflix.md | 223 +++ docs/packages/plugins/opacity.md | 125 ++ docs/packages/plugins/open-weather.md | 208 +++ docs/packages/plugins/openai.md | 63 + docs/packages/plugins/para.md | 299 ++++ docs/packages/plugins/pdf.md | 25 + docs/packages/plugins/primus.md | 210 +++ docs/packages/plugins/pyth-data.md | 136 ++ docs/packages/plugins/quai.md | 149 ++ docs/packages/plugins/quick-intel.md | 155 ++ docs/packages/plugins/rabbit-trader.md | 180 ++ docs/packages/plugins/router-nitro.md | 41 + docs/packages/plugins/sei.md | 107 ++ docs/packages/plugins/sgx.md | 96 + docs/packages/plugins/solana-agent-kit.md | 94 + docs/packages/plugins/solana-agentkit.md | 11 + docs/packages/plugins/solana-v2.md | 122 ++ docs/packages/plugins/solana.md | 374 ++++ docs/packages/plugins/speech-tts.md | 4 + docs/packages/plugins/spheron.md | 146 ++ docs/packages/plugins/squid-router.md | 26 + docs/packages/plugins/stargaze.md | 37 + docs/packages/plugins/starknet.md | 173 ++ docs/packages/plugins/story.md | 197 ++ docs/packages/plugins/sui.md | 172 ++ docs/packages/plugins/suno.md | 238 +++ docs/packages/plugins/tee-log.md | 136 ++ docs/packages/plugins/tee-marlin.md | 95 + docs/packages/plugins/tee-verifiable-log.md | 35 + docs/packages/plugins/tee.md | 230 +++ docs/packages/plugins/thirdweb.md | 62 + docs/packages/plugins/ton.md | 343 ++++ docs/packages/plugins/trikon.md | 35 + docs/packages/plugins/trustdb.md | 222 +++ docs/packages/plugins/trustgo.md | 82 + docs/packages/plugins/tts.md | 173 ++ docs/packages/plugins/twilio.md | 198 +++ docs/packages/plugins/twitter.md | 275 +++ docs/packages/plugins/udio.md | 166 ++ docs/packages/plugins/viction.md | 178 ++ docs/packages/plugins/video-generation.md | 293 +++ docs/packages/plugins/video.md | 31 + docs/packages/plugins/web-search.md | 247 +++ docs/packages/plugins/whatsapp.md | 226 +++ docs/packages/plugins/youtube-to-text.md | 38 + docs/packages/plugins/zapper.md | 190 ++ docs/packages/plugins/zerion.md | 119 ++ docs/packages/plugins/zilliqa.md | 50 + docs/packages/plugins/zksync-era.md | 234 +++ docs/src/components/ShowcaseComponent.tsx | 102 ++ docs/src/data/plugin-descriptions.json | 2 +- docs/src/data/registry-users.tsx | 2 +- docs/src/pages/index.module.css | 2 +- .../_components/ShowcaseCard/index.tsx | 36 +- .../ShowcaseCard/styles.module.css | 24 +- .../_components/ShowcaseLayout/index.tsx | 22 + .../ShowcaseLayout/styles.module.css | 4 +- docs/src/pages/showcase/index.tsx | 43 +- docs/static/img/plugins.png | Bin 0 -> 279304 bytes 193 files changed, 25114 insertions(+), 35 deletions(-) create mode 100644 docs/packages/adapters/mongodb.md create mode 100644 docs/packages/adapters/pglite.md create mode 100644 docs/packages/adapters/postgres.md create mode 100644 docs/packages/adapters/qdrant.md create mode 100644 docs/packages/adapters/sqlite.md create mode 100644 docs/packages/adapters/sqljs.md create mode 100644 docs/packages/adapters/supabase.md create mode 100644 docs/packages/backup.tar create mode 100644 docs/packages/clients/alexa.md create mode 100644 docs/packages/clients/auto.md create mode 100644 docs/packages/clients/deva.md create mode 100644 docs/packages/clients/direct.md create mode 100644 docs/packages/clients/discord.md create mode 100644 docs/packages/clients/eliza-home.md create mode 100644 docs/packages/clients/farcaster.md create mode 100644 docs/packages/clients/github.md create mode 100644 docs/packages/clients/instagram.md create mode 100644 docs/packages/clients/lens.md create mode 100644 docs/packages/clients/simsai.md create mode 100644 docs/packages/clients/slack.md create mode 100644 docs/packages/clients/tako.md create mode 100644 docs/packages/clients/telegram-account.md create mode 100644 docs/packages/clients/telegram.md create mode 100644 docs/packages/clients/twitter.md create mode 100644 docs/packages/clients/xmtp.md create mode 100644 docs/packages/index.md create mode 100644 docs/packages/plugins/0g.md create mode 100644 docs/packages/plugins/0x.md create mode 100644 docs/packages/plugins/3d-generation.md create mode 100644 docs/packages/plugins/ATTPs.md create mode 100644 docs/packages/plugins/abstract.md create mode 100644 docs/packages/plugins/advanced-sdk-ts.md create mode 100644 docs/packages/plugins/agentkit.md create mode 100644 docs/packages/plugins/akash.md create mode 100644 docs/packages/plugins/allora.md create mode 100644 docs/packages/plugins/ankr.md create mode 100644 docs/packages/plugins/anyone.md create mode 100644 docs/packages/plugins/aptos.md create mode 100644 docs/packages/plugins/arbitrage.md create mode 100644 docs/packages/plugins/arthera.md create mode 100644 docs/packages/plugins/asterai.md create mode 100644 docs/packages/plugins/autonome.md create mode 100644 docs/packages/plugins/avail.md create mode 100644 docs/packages/plugins/avalanche.md create mode 100644 docs/packages/plugins/aws-s3.md create mode 100644 docs/packages/plugins/b2.md create mode 100644 docs/packages/plugins/binance.md create mode 100644 docs/packages/plugins/birdeye.md create mode 100644 docs/packages/plugins/bittensor.md create mode 100644 docs/packages/plugins/bnb.md create mode 100644 docs/packages/plugins/bootstrap.md create mode 100644 docs/packages/plugins/browser.md create mode 100644 docs/packages/plugins/cache-redis.md create mode 100644 docs/packages/plugins/ccxt.md create mode 100644 docs/packages/plugins/chainbase.md create mode 100644 docs/packages/plugins/coinbase.md create mode 100644 docs/packages/plugins/coingecko.md create mode 100644 docs/packages/plugins/coinmarketcap.md create mode 100644 docs/packages/plugins/compass.md create mode 100644 docs/packages/plugins/conflux.md create mode 100644 docs/packages/plugins/cosmos.md create mode 100644 docs/packages/plugins/cronos.md create mode 100644 docs/packages/plugins/cronoszkevm.md create mode 100644 docs/packages/plugins/d-a-t-a.md create mode 100644 docs/packages/plugins/dcap.md create mode 100644 docs/packages/plugins/depin.md create mode 100644 docs/packages/plugins/desk-exchange.md create mode 100644 docs/packages/plugins/devin.md create mode 100644 docs/packages/plugins/dexscreener.md create mode 100644 docs/packages/plugins/di.md create mode 100644 docs/packages/plugins/dkg.md create mode 100644 docs/packages/plugins/echochambers.md create mode 100644 docs/packages/plugins/edwin.md create mode 100644 docs/packages/plugins/eliza-nkn.md create mode 100644 docs/packages/plugins/email-automation.md create mode 100644 docs/packages/plugins/email.md create mode 100644 docs/packages/plugins/ethstorage.md create mode 100644 docs/packages/plugins/evm.md create mode 100644 docs/packages/plugins/ferePro.md create mode 100644 docs/packages/plugins/firecrawl.md create mode 100644 docs/packages/plugins/flow-advanced.md create mode 100644 docs/packages/plugins/flow.md create mode 100644 docs/packages/plugins/football.md create mode 100644 docs/packages/plugins/form.md create mode 100644 docs/packages/plugins/fuel.md create mode 100644 docs/packages/plugins/gelato.md create mode 100644 docs/packages/plugins/genlayer.md create mode 100644 docs/packages/plugins/gigbot.md create mode 100644 docs/packages/plugins/giphy.md create mode 100644 docs/packages/plugins/gitbook.md create mode 100644 docs/packages/plugins/gitcoin-passport.md create mode 100644 docs/packages/plugins/goat.md create mode 100644 docs/packages/plugins/goplus.md create mode 100644 docs/packages/plugins/grix.md create mode 100644 docs/packages/plugins/holdstation.md create mode 100644 docs/packages/plugins/hyperbolic.md create mode 100644 docs/packages/plugins/hyperliquid.md create mode 100644 docs/packages/plugins/icp.md create mode 100644 docs/packages/plugins/image-generation.md create mode 100644 docs/packages/plugins/image.md create mode 100644 docs/packages/plugins/imgflip.md create mode 100644 docs/packages/plugins/initia.md create mode 100644 docs/packages/plugins/injective.md create mode 100644 docs/packages/plugins/intiface.md create mode 100644 docs/packages/plugins/iq6900.md create mode 100644 docs/packages/plugins/irys.md create mode 100644 docs/packages/plugins/isaacx.md create mode 100644 docs/packages/plugins/lens-network.md create mode 100644 docs/packages/plugins/lensNetwork.md create mode 100644 docs/packages/plugins/letzai.md create mode 100644 docs/packages/plugins/lightlink.md create mode 100644 docs/packages/plugins/lightning.md create mode 100644 docs/packages/plugins/lit.md create mode 100644 docs/packages/plugins/llama.md create mode 100644 docs/packages/plugins/massa.md create mode 100644 docs/packages/plugins/merkle-eliza-plugin.md create mode 100644 docs/packages/plugins/merkle.md create mode 100644 docs/packages/plugins/messari-ai-toolkit.md create mode 100644 docs/packages/plugins/mina.md create mode 100644 docs/packages/plugins/mind-network.md create mode 100644 docs/packages/plugins/moralis.md create mode 100644 docs/packages/plugins/movement.md create mode 100644 docs/packages/plugins/multichain.md create mode 100644 docs/packages/plugins/multiversx.md create mode 100644 docs/packages/plugins/near.md create mode 100644 docs/packages/plugins/news.md create mode 100644 docs/packages/plugins/nft-collections.md create mode 100644 docs/packages/plugins/nft-generation.md create mode 100644 docs/packages/plugins/nkn.md create mode 100644 docs/packages/plugins/node.md create mode 100644 docs/packages/plugins/nvidia-nim.md create mode 100644 docs/packages/plugins/obsidian.md create mode 100644 docs/packages/plugins/okto.md create mode 100644 docs/packages/plugins/omniflix.md create mode 100644 docs/packages/plugins/opacity.md create mode 100644 docs/packages/plugins/open-weather.md create mode 100644 docs/packages/plugins/openai.md create mode 100644 docs/packages/plugins/para.md create mode 100644 docs/packages/plugins/pdf.md create mode 100644 docs/packages/plugins/primus.md create mode 100644 docs/packages/plugins/pyth-data.md create mode 100644 docs/packages/plugins/quai.md create mode 100644 docs/packages/plugins/quick-intel.md create mode 100644 docs/packages/plugins/rabbit-trader.md create mode 100644 docs/packages/plugins/router-nitro.md create mode 100644 docs/packages/plugins/sei.md create mode 100644 docs/packages/plugins/sgx.md create mode 100644 docs/packages/plugins/solana-agent-kit.md create mode 100644 docs/packages/plugins/solana-agentkit.md create mode 100644 docs/packages/plugins/solana-v2.md create mode 100644 docs/packages/plugins/solana.md create mode 100644 docs/packages/plugins/speech-tts.md create mode 100644 docs/packages/plugins/spheron.md create mode 100644 docs/packages/plugins/squid-router.md create mode 100644 docs/packages/plugins/stargaze.md create mode 100644 docs/packages/plugins/starknet.md create mode 100644 docs/packages/plugins/story.md create mode 100644 docs/packages/plugins/sui.md create mode 100644 docs/packages/plugins/suno.md create mode 100644 docs/packages/plugins/tee-log.md create mode 100644 docs/packages/plugins/tee-marlin.md create mode 100644 docs/packages/plugins/tee-verifiable-log.md create mode 100644 docs/packages/plugins/tee.md create mode 100644 docs/packages/plugins/thirdweb.md create mode 100644 docs/packages/plugins/ton.md create mode 100644 docs/packages/plugins/trikon.md create mode 100644 docs/packages/plugins/trustdb.md create mode 100644 docs/packages/plugins/trustgo.md create mode 100644 docs/packages/plugins/tts.md create mode 100644 docs/packages/plugins/twilio.md create mode 100644 docs/packages/plugins/twitter.md create mode 100644 docs/packages/plugins/udio.md create mode 100644 docs/packages/plugins/viction.md create mode 100644 docs/packages/plugins/video-generation.md create mode 100644 docs/packages/plugins/video.md create mode 100644 docs/packages/plugins/web-search.md create mode 100644 docs/packages/plugins/whatsapp.md create mode 100644 docs/packages/plugins/youtube-to-text.md create mode 100644 docs/packages/plugins/zapper.md create mode 100644 docs/packages/plugins/zerion.md create mode 100644 docs/packages/plugins/zilliqa.md create mode 100644 docs/packages/plugins/zksync-era.md create mode 100644 docs/src/components/ShowcaseComponent.tsx create mode 100644 docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx create mode 100644 docs/static/img/plugins.png diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index ba895348540..2376cbef827 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -66,6 +66,48 @@ const config = { }, }, ], + [ + "@docusaurus/plugin-content-docs", + { + id: "packages", + path: "packages", + routeBasePath: "packages", + includeCurrentVersion: true, + sidebarItemsGenerator: async ({ + defaultSidebarItemsGenerator, + ...args + }) => { + const sidebarItems = await defaultSidebarItemsGenerator(args); + // Add icons to categories + return sidebarItems + .map((item) => { + if (item.type === "category") { + switch (item.label.toLowerCase()) { + case "adapters": + item.label = "🔌 " + item.label; + break; + case "clients": + item.label = "🔗 " + item.label; + break; + case "plugins": + item.label = "🧩 " + item.label; + break; + default: + item.label = "📦 " + item.label; + } + } + return item; + }) + .sort((a, b) => { + const labelA = a.label || ""; + const labelB = b.label || ""; + return labelA.localeCompare(labelB, undefined, { + numeric: true, + }); + }); + }, + }, + ], [ "docusaurus-plugin-typedoc", { @@ -202,9 +244,11 @@ const config = { docId: "index", }, { - to: 'showcase', - label: 'Packages', - position: 'left' + type: "doc", + docsPluginId: "packages", + position: "left", + label: "Packages", + docId: "index", // You'll need to create packages/index.md }, { to: 'blog', diff --git a/docs/packages/adapters/mongodb.md b/docs/packages/adapters/mongodb.md new file mode 100644 index 00000000000..3ccd76aa2a8 --- /dev/null +++ b/docs/packages/adapters/mongodb.md @@ -0,0 +1,136 @@ +# MongoDB Adapter for ElizaOS + +A robust MongoDB adapter for ElizaOS that provides persistence, vector search capabilities, and caching functionality. + +## Features + +- Full MongoDB database support with connection pooling +- Vector search capabilities for efficient similarity searches +- Automatic fallback to standard search when vector search is unavailable +- Built-in caching system with TTL support +- Sharding support for better performance at scale +- Comprehensive memory and knowledge management +- Relationship tracking between users +- Goal tracking and management +- Participant and room management + +## Prerequisites + +- MongoDB 6.0 or later (recommended for vector search support) +- NodeJS 16.0 or later +- ElizaOS installation + +## Installation + +```bash +npm install @elizaos-plugins/adapter-mongodb +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-mongodb"], + "settings": { + "MONGODB_CONNECTION_STRING": "your_mongodb_connection_string", + "MONGODB_DATABASE": "your_database_name" // Optional, defaults to "elizaAgent" + } +} +``` + +### Required Environment Variables + +- `MONGODB_CONNECTION_STRING`: Your MongoDB connection string +- `MONGODB_DATABASE` (optional): Database name to use + +## Connection Options + +The adapter is configured with optimal connection settings: + +- Maximum pool size: 100 connections +- Minimum pool size: 5 connections +- Connection timeout: 10 seconds +- Socket timeout: 45 seconds +- Retry support for both reads and writes +- Compression enabled (zlib) + +## Features in Detail + +### Vector Search + +The adapter automatically detects and enables vector search capabilities if your MongoDB instance supports it. This provides efficient similarity searches for: + +- Memory retrieval +- Knowledge base searches +- Semantic similarity matching + +If vector search is unavailable, the adapter automatically falls back to standard search methods. + +### Caching + +Built-in caching system with: + +- 24-hour TTL by default +- Automatic cache invalidation +- Memory-efficient storage +- Cache hit/miss optimizations + +### Memory Management + +Comprehensive memory management features: + +- CRUD operations for memories +- Vector-based similarity search +- Batch processing support +- Automatic uniqueness checking + +### Knowledge Base + +Robust knowledge base management: + +- Support for shared and private knowledge +- Vector-based knowledge retrieval +- Metadata support +- Chunk management for large content + +## Development + +### Running Tests + +The test suite uses Docker for running a test MongoDB instance: + +```bash +cd src/__tests__ +./run_tests.sh +``` + +This will: +1. Start a MongoDB container +2. Run the test suite +3. Clean up resources automatically + +### Contributing + +1. Fork the repository +2. Create a feature branch +3. Add tests for new functionality +4. Submit a pull request + +## Error Handling + +The adapter includes comprehensive error handling: + +- Connection failure recovery +- Automatic reconnection +- Graceful degradation of vector search +- Detailed error logging + +## Performance Considerations + +- Uses connection pooling for optimal performance +- Implements efficient batch processing +- Supports sharding for horizontal scaling +- Includes index optimization + diff --git a/docs/packages/adapters/pglite.md b/docs/packages/adapters/pglite.md new file mode 100644 index 00000000000..300a04a5880 --- /dev/null +++ b/docs/packages/adapters/pglite.md @@ -0,0 +1,113 @@ +# PGLite Adapter for ElizaOS + +A lightweight PostgreSQL-compatible database adapter for ElizaOS, providing vector search capabilities and efficient data persistence in a local environment. + +## Features + +- Embedded PostgreSQL engine for local development and testing +- Full vector search support via pgvector +- Built-in fuzzy string matching +- Automatic schema initialization +- Memory-efficient caching system +- Support for multiple embedding providers (OpenAI, Ollama, GaiaNet) +- Transaction support with automatic rollback + +## Prerequisites + +- Node.js 16 or later +- ElizaOS installation +- Sufficient disk space for local database storage + +## Installation + +```bash +npm install @elizaos-plugins/adapter-pglite +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-pglite"], + "settings": { + "PGLITE_DATA_DIR": "/path/to/data/directory" // Required setting + } +} +``` + +### Required Environment Variables + +- `PGLITE_DATA_DIR`: Path to the directory where PGLite will store its data + - Use `memory://` for in-memory database (useful for testing) + +## Features in Detail + +### Vector Search + +The adapter automatically configures vector search based on your embedding provider: + +- OpenAI (1536 dimensions) +- Ollama (1024 dimensions) +- GaiaNet (768 dimensions) +- Default/Other (384 dimensions) + +### Schema Management + +The adapter automatically manages: + +- Database tables (memories, participants, goals, etc.) +- Vector indexes for similarity search +- Cache tables with TTL support +- Relationship tracking tables + +### Caching System + +Built-in caching system features: + +- Automatic cache invalidation +- Support for vector similarity caching +- Levenshtein distance-based text matching +- Transaction-safe cache updates + +## Performance Considerations + +- Uses optimized vector indexes for fast similarity searches +- Implements efficient batch processing for large datasets +- Automatic cleanup of expired cache entries +- Transaction support for data consistency + +## FAQ + +### Can I use this adapter in production? + +PGLite is designed primarily for development and testing environments. For production use, consider using the full PostgreSQL adapter. + +### How does the vector search compare to full PostgreSQL? + +PGLite's vector search capabilities are identical to PostgreSQL when using pgvector, but with slightly lower performance due to its embedded nature. + +### Can I migrate from PGLite to full PostgreSQL? + +Yes, the schema and query structure are identical between PGLite and PostgreSQL, making migration straightforward. + +### Does it support concurrent connections? + +PGLite supports multiple connections but is optimized for single-process use. For heavy concurrent workloads, use the full PostgreSQL adapter. + +### How large can the database grow? + +PGLite is limited by available disk space and system memory. For datasets larger than a few GB, consider using the full PostgreSQL adapter. + +### Can I use custom embedding dimensions? + +Yes, the adapter automatically detects and configures the correct embedding dimensions based on your provider settings. + +### Is the data persistent? + +Yes, when using a file system path for PGLITE_DATA_DIR. Use memory:// for non-persistent, in-memory storage. + +### How do I backup the database? + +Simply copy the PGLITE_DATA_DIR directory. All database files are stored there. diff --git a/docs/packages/adapters/postgres.md b/docs/packages/adapters/postgres.md new file mode 100644 index 00000000000..d87d8e21efa --- /dev/null +++ b/docs/packages/adapters/postgres.md @@ -0,0 +1,176 @@ +# ElizaOS PostgreSQL Adapter + +A database adapter plugin for ElizaOS that provides PostgreSQL connectivity with vector embedding support for semantic search capabilities. + +## Features + +- Seamless integration with ElizaOS memory and knowledge storage systems +- Vector embedding storage and retrieval with pgvector extension +- Support for multiple embedding models and dimensions (OpenAI, Ollama, GaiaNet) +- Robust connection management with automatic retries and circuit breaking +- Full transaction support for safe database operations +- Comprehensive memory, relationship, and knowledge management +- Built-in caching system + +## Prerequisites + +- PostgreSQL 15+ with pgvector extension installed +- Connection permissions to create tables and extensions + +## Installation + +Install the adapter via npm: + +```bash +npm install @elizaos-plugins/adapter-postgres +``` + +Or using pnpm: + +```bash +pnpm add @elizaos-plugins/adapter-postgres +``` + +## Configuration + +Add the adapter to your ElizaOS configuration and provide the necessary connection details: + +```javascript +// agent.config.js +export default { + // Other ElizaOS configuration + adapters: ["postgres"], + // PostgreSQL connection environment variables + settings: { + POSTGRES_URL: "postgresql://username:password@localhost:5432/elizaos" + } +} +``` + +### Environment Variables + +- `POSTGRES_URL` - Required PostgreSQL connection string + +## Database Schema + +The adapter automatically initializes the required database schema when first connecting, including: + +- Setting up the pgvector extension +- Creating all necessary tables (memories, accounts, rooms, etc.) +- Configuring indexes for vector search + +The schema includes tables for: +- `accounts` - User and agent profiles +- `rooms` - Conversation containers +- `memories` - Messages and other memory objects with vector embeddings +- `goals` - User and agent goals +- `participants` - Room participation records +- `relationships` - Connections between accounts +- `knowledge` - Agent knowledge base with vector embeddings +- `cache` - Key-value cache storage + +## Vector Search + +The adapter uses pgvector to provide semantic search through vector embeddings, supporting: + +- Multiple embedding models (OpenAI, Ollama, GaiaNet, etc.) +- Automatic dimension detection (1536 for OpenAI, 1024 for Ollama, etc.) +- Cosine similarity search with configurable thresholds +- Text-based keyword search with Levenshtein distance + +## Memory Management + +The adapter provides methods for: + +```typescript +// Creating memories with vector embeddings +await adapter.createMemory(memory, tableName); + +// Searching memories by vector similarity +await adapter.searchMemoriesByEmbedding(embedding, options); + +// Retrieving memories by various criteria +await adapter.getMemories({ roomId, tableName, count, unique }); +``` + +## Knowledge Management + +For agent knowledge base management: + +```typescript +// Store knowledge items with vector embeddings +await adapter.createKnowledge(knowledgeItem); + +// Search knowledge by vector similarity and text +await adapter.searchKnowledge({ + agentId, + embedding, + match_threshold: 0.8, + match_count: 10, + searchText: "optional text" +}); + +// Remove knowledge +await adapter.removeKnowledge(knowledgeId); +``` + +## Caching System + +The adapter includes a built-in caching system: + +```typescript +// Store cache values +await adapter.setCache({ key, agentId, value }); + +// Retrieve cached values +const value = await adapter.getCache({ key, agentId }); + +// Delete cache entries +await adapter.deleteCache({ key, agentId }); +``` + +## Connection Management + +The adapter implements robust connection handling: + +- Circuit breaker pattern to prevent cascading failures +- Automatic connection retry with exponential backoff +- Connection pooling with configurable limits +- Graceful connection cleanup on shutdown + +## Development + +### Testing + +The repository includes a comprehensive test suite: + +```bash +# Run tests with Docker for pgvector support +cd src/__tests__ +./run_tests.sh +``` + +Tests require Docker to spin up a PostgreSQL instance with pgvector support. + +### Building + +```bash +pnpm build +``` + +## Troubleshooting + +### Common Issues + +1. **Connection errors**: + - Verify your PostgreSQL connection string + - Ensure PostgreSQL is running and accessible + - Check network connectivity and firewall settings + +2. **Vector search issues**: + - Verify pgvector extension is installed in your PostgreSQL database + - Ensure embedding dimensions match your model + +3. **Permission errors**: + - The database user needs permission to create extensions and tables + - For production, consider using a more restricted user after initialization diff --git a/docs/packages/adapters/qdrant.md b/docs/packages/adapters/qdrant.md new file mode 100644 index 00000000000..87cd56d23df --- /dev/null +++ b/docs/packages/adapters/qdrant.md @@ -0,0 +1,137 @@ +# Qdrant Adapter for ElizaOS + +A vector database adapter for ElizaOS that provides efficient similarity search capabilities through Qdrant, optimized for knowledge management and semantic search operations. + +## Features + +- Vector similarity search with cosine distance +- Efficient knowledge base management +- Built-in text preprocessing for better search quality +- UUID v5 compatibility for Qdrant IDs +- In-memory caching system +- Content metadata support +- Shared knowledge management + +## Prerequisites + +- Qdrant server (self-hosted or cloud) +- Node.js 23 or later +- ElizaOS installation + +## Installation + +```bash +npm install @elizaos-plugins/adapter-qdrant +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-qdrant"], + "settings": { + "QDRANT_URL": "your-qdrant-server-url", + "QDRANT_KEY": "your-qdrant-api-key", + "QDRANT_PORT": "6333", + "QDRANT_VECTOR_SIZE": "1536" // Adjust based on your embedding size + } +} +``` + +### Required Environment Variables + +- `QDRANT_URL`: URL of your Qdrant server +- `QDRANT_KEY`: API key for authentication +- `QDRANT_PORT`: Port number for Qdrant server +- `QDRANT_VECTOR_SIZE`: Dimension of your vectors + +## Features in Detail + +### Vector Search + +The adapter provides specialized vector search capabilities: +- Cosine similarity search +- Configurable vector dimensions +- Support for multiple embedding types +- Cache support for frequent searches + +### Knowledge Management + +Knowledge items are stored with: +- Vector embeddings for similarity search +- Metadata support for additional information +- Shared/private knowledge separation +- Content versioning through chunk management + +### Text Preprocessing + +Built-in text preprocessing for better search quality: +- Code block removal +- URL normalization +- Markdown cleanup +- Special character handling +- Whitespace normalization + +### Caching System + +Efficient in-memory caching: +- Per-agent cache isolation +- UUID-based cache keys +- Automatic cache management + +## Usage Notes + +### Specialized Functions + +This adapter primarily implements: +- Knowledge management +- Vector similarity search +- Caching operations + +Other database functions (like memory management, participant tracking, etc.) are stubbed but not implemented. Use a different adapter if you need these features. + +### Collection Management + +The adapter automatically manages: +- Collection creation +- Vector indexes +- Point upserts with payload + +### Best Practices + +1. Set correct vector dimensions based on your embedding model +2. Use consistent embedding generation +3. Consider caching for frequent searches +4. Monitor memory usage with large cache sizes + +## FAQ + +### Can I use different vector sizes? + +Yes, configure QDRANT_VECTOR_SIZE based on your embedding model's output size. + +### Is caching required? + +No, caching is optional but recommended for performance when doing repeated searches. + +### Can I share knowledge between agents? + +Yes, use the isShared flag in knowledge metadata for shared content. + +### How do I handle different embedding models? + +Configure the vector size to match your model's output dimensions and ensure consistent preprocessing. + +### Does it support multi-tenancy? + +Yes, through per-agent isolation of knowledge and cache. + +### What about full-text search? + +The adapter focuses on vector similarity search; use MongoDB or PostgreSQL adapters for full-text search. + +### Is sharding supported? + +Yes, through Qdrant's native sharding capabilities. diff --git a/docs/packages/adapters/sqlite.md b/docs/packages/adapters/sqlite.md new file mode 100644 index 00000000000..c0a3e93b6b1 --- /dev/null +++ b/docs/packages/adapters/sqlite.md @@ -0,0 +1,125 @@ +# SQLite Adapter + +A SQLite database adapter for ElizaOS that provides persistent storage capabilities with vector similarity search support. This adapter implements the `IDatabaseAdapter` interface and extends the `DatabaseAdapter` base class to provide a lightweight, file-based storage solution ideal for development and embedded environments. + +## Features + +- Full SQLite database implementation of ElizaOS database interface +- Vector similarity search via sqlite-vec extension +- JSON validation and foreign key constraints +- Built-in caching system +- Comprehensive transaction support with circuit breaker pattern +- Support for storing and retrieving: + - Memory entries with embeddings + - User accounts and relationships + - Goals and objectives + - Room and participant management + - Knowledge base with RAG support + - System logs and cache + +## Installation + +```bash +npm install @elizaos-plugins/adapter-sqlite +``` + +## Dependencies + +- better-sqlite3 (v11.8.1) +- sqlite-vec (v0.1.6) +- whatwg-url (v7.1.0) + +## Usage + +```typescript +import sqlitePlugin from '@elizaos-plugins/adapter-sqlite'; +import { IAgentRuntime } from '@elizaos/core'; + +// Initialize with ElizaOS runtime +function initializeAgent(runtime: IAgentRuntime) { + runtime.use(sqlitePlugin); +} + +// Or initialize directly +import Database from 'better-sqlite3'; +import { SqliteDatabaseAdapter } from '@elizaos-plugins/adapter-sqlite'; + +const db = new Database('path/to/database.db'); +const adapter = new SqliteDatabaseAdapter(db); +await adapter.init(); +``` + +## Configuration + +The adapter looks for the following configuration in your ElizaOS runtime: + +- `SQLITE_FILE`: Path to the SQLite database file (default: `./data/db.sqlite`) + +### Default Database Location + +By default, the adapter creates a `data` directory in your project root and stores the database file there. Customize this by setting the `SQLITE_FILE` in your ElizaOS runtime configuration. + +## Database Schema + +The adapter creates and manages these tables with appropriate indexes and constraints: + +- `accounts`: User account information with JSON details +- `memories`: Memory entries with BLOB embeddings and JSON content +- `goals`: Task tracking with JSON objectives +- `logs`: System event logging +- `participants`: Room participation management +- `relationships`: User relationship tracking +- `rooms`: Conversation room management +- `cache`: Temporary data storage with JSON validation +- `knowledge`: RAG knowledge base with embedding support + +Each table includes appropriate indexes and foreign key constraints. The complete schema is available in `sqliteTables.ts`. + +## Vector Search + +The adapter implements vector similarity search using `sqlite-vec` for efficient embedding comparisons: + +```typescript +const memories = await adapter.searchMemories({ + tableName: "memories", + roomId: "room-id", + embedding: [/* vector */], + match_threshold: 0.95, + match_count: 10, + unique: true +}); +``` + +## FAQ + +### How does vector similarity search work? + +The adapter uses sqlite-vec to calculate L2 distances between embeddings stored as BLOB data. This enables efficient vector similarity searches for memory and knowledge retrieval. + +### Can I use this adapter with other databases? + +This adapter is specifically designed for SQLite and implements ElizaOS's IDatabaseAdapter interface. For other databases, use the appropriate adapter (MongoDB, PostgreSQL, etc.). + +### How are embeddings stored? + +Embeddings are stored as BLOB data in SQLite using Float32Array, with automatic conversion between formats as needed. + +### Is there support for transactions? + +Yes, the adapter implements the framework's circuit breaker pattern and transaction support through better-sqlite3. + +### How does the caching system work? + +The adapter provides a built-in caching system through the `cache` table with support for JSON validation and automatic timestamp management. + +### Can I use this in production? + +While the adapter is built on production-ready better-sqlite3, it's primarily designed for development and embedded environments. For production deployments, consider PostgreSQL or MongoDB adapters. + +### How do I backup the database? + +Use standard SQLite backup procedures - either file system backup of the .sqlite file when the database is not in use, or SQLite's online backup API. + +### What embedding dimensions are supported? + +The adapter supports any embedding dimension through BLOB storage, though the default configuration is optimized for 384-dimensional vectors commonly used by local models. diff --git a/docs/packages/adapters/sqljs.md b/docs/packages/adapters/sqljs.md new file mode 100644 index 00000000000..f45c2ce01cb --- /dev/null +++ b/docs/packages/adapters/sqljs.md @@ -0,0 +1 @@ +# Unmaintained: this plugin used to live in @elizaos/core. It needs a maintainer. diff --git a/docs/packages/adapters/supabase.md b/docs/packages/adapters/supabase.md new file mode 100644 index 00000000000..50fbd16d66d --- /dev/null +++ b/docs/packages/adapters/supabase.md @@ -0,0 +1,66 @@ +# ElizaOS Supabase Adapter + +This adapter enables ElizaOS to integrate with Supabase for data persistence and real-time capabilities. + +## Prerequisites + +- Supabase account and project +- ElizaOS installation +- Node.js and npm/yarn/pnpm + +## Installation + +```bash +npm install github:elizaos-plugins/adapter-supabase +``` + +## Configuration + +1. Add the adapter to your character configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-supabase"], + "settings": { + "secrets": { + "SUPABASE_URL": "your-supabase-project-url", + "SUPABASE_ANON_KEY": "your-supabase-anon-key" + } + } +} +``` + +2. Set up the database schema by running the migrations: + +```bash +# Run the schema migration +psql -f schema.sql + +# Seed the initial data +psql -f seed.sql +``` + +## Required Environment Variables + +The adapter requires the following environment variables: + +- `SUPABASE_URL`: Your Supabase project URL +- `SUPABASE_ANON_KEY`: Your Supabase project's anonymous key + +You can find these values in your Supabase project dashboard under Project Settings > API. + +## Database Setup + +Before using the adapter, ensure you've run both migration files: +- `schema.sql`: Sets up the required database tables and relationships +- `seed.sql`: Populates initial data (if any) + +These migrations must be executed before starting the adapter to ensure proper functionality. + +## Usage + +Once configured, the adapter will automatically handle: +- Data persistence for character states and interactions +- Real-time updates for multi-user environments +- State synchronization across different instances +- Secure data storage and retrieval diff --git a/docs/packages/backup.tar b/docs/packages/backup.tar new file mode 100644 index 0000000000000000000000000000000000000000..b9f266465407b47bca4eed9617ddd1103ac90591 GIT binary patch literal 727040 zcmeFa>v~j4mZq7%{dwvhc8aG9LE|n7A&4Y{tP+wSRDljDcOo)|%8^`h7xF-ISNZ`$ zNpJ!4Yp!7a^+n9}^bO1{%=@inX4|&A3y2JYs_KUB$^hTCZQEhlI(+M3?N0l0+#QaV ze)rq`S?14!2W!9MKPwN`mh=DWk^cN{<=%t)EBEf*91Xd#_omtrxGmCu4r; zw8!n^_NZF~GRd12aWU#$^v>JE-uS8*b=$*}v*M(E z**@-__r^UMj?adJ$;-1afIG$Da?A^V?{=*7SN*}8^KR#5x43Bc+b_Ep>apGL&=o(7 zdnd8a!DV;Y9`^?QQKMG7aie(BZI36z?x79@3y?!z7{-lX_nfpn1L}xE;=*QhLEH#erZ<96?zT&;-&$l;= z*K2(D;*t^DLR{G!VGp)9M>N~+*DtykgW(m+b#kUoM^~e9_ku?ogZ^0SaM2yJ5#x3- znp|EEhGQNz&)P$lt{itZWG&17usiJjZPFX{#=bV;o1^aVHG^Fob4t z6?F|p^~>|gOWt3qa-JIRSWnFLwD)r2dkZOcI#5hWfa5`NHJBt?Wl^){4{Pe?#}R{i zTPuo%@TrA|#fyaxe1GAucl5@HJ!I)eyrLfX<$|PP=LgUDZ9(4-yt3{~Sf32f z7xZq~_S>x=rrWkJd-Ye{tEqea8uHAD=r> z9F?;?dRQ>mVsPp`SI7klh%K2TE!X$A3#Mhn+@7#cI-yP#WmCh=e#i)QM6eAcoQxnV6Bmz%NpB~v)=FMqmipyBT zHsqz#-acoo5f&G5mz@DET@HJ%VG3zsk71&$A^S z3-c;@Y_0YWF<{@oPPaHdADp}@hOpSz?Q<4HRNmJ_#Fvbb)r+0>@KtBMy zZJ?7$aRQ@lpNPSqA&$^@iXwa3!~o`)%DObYPFR{(dj-)a414|0KDUi_zt}D&tb4gPkqfK!ztn0!bVqlReD4-PL}lXP z{qwy!Dh8ABB}Admhh5zsr8${e1c&5Hy8}KHrpiH(Mrxc+6va{xE;s`n2t~_q*&Q1D zLvt+NAn=L~yZDl3muxg`T!wUAD}{_~o+D{#8E-^YeADG!JML+&S`BECgCDfI)AROA ziMCgX=_d_PL$O{vS|aUcnBg~rHw=ljH8zzmZ@Jq>5Be+{ZOWE^H(UP#Jqx~q?rz$a zy-+S_Dd9{tM?j-_YaEfVD#~#f*yaG`zsGI_iD=TW&d5>1ui|z`p};B!UYNL`6o7Ie zWD*#0h2FoHG15L}$BWa+`8oX}KYTCfJ3qCjgA*2-UGB#dG{d_7XoLxEzZ`5nmj1hs zg8XvWZT|ULWFRg+r$1FvnfAsNGM}!|nNf6{qH9(xY99vi8hIVx$gQPD?RpdT*E|Vq zu++jwf5Teoen$I$W%>Stdo%X`{k1Rl|F7BCk9`+S;Lp$4@M!VtkdeJS(ci^44*1q_rL<|d=X+$fL8~rMG!HXrKGD!SRn$;9jG8sQ-h(;KJU?^~qAtv^J%RYlLGn zJ6L}jr)q6nn=j4>Fa0wng{0Jg;N+;tF9Jb)6QjwFEqf`AqYt2l-c&CfTB>`i)nf7W z%1Yy_#)^QNZ2K2qFE>^i_x0-=#NnHl!X{|^fM1ty*$~YjFqFhB&y!*Aa$JKNWt)3X z`v%XT?Xg-nuLVuK?ae>Nci$G<>oQ#q*cr^<;@wmSODL^fn%6)uwow_~@OB0fNq^|? z)}l$kL5~fs@5RvIVf9e}cW-(>XOz8wq~ ze`)R@7CXl@Z@+1C4ny;X)^L$uuYuQc#prx6c;#x1cIjN%+04{Ed z$n*#ivfbJ`e6sy)ONbBi5!+RF)51kOw^;0SPuqYZ4~wIQ&3dVG-0+1uGJ3tiNw5}a zm5OJB05H`aU%`{@=^gt-Tp=^L;2`bdNGo|1wpz$)96YFkctbH9U@wXp8Cc>%B(A=R z1$8{^ViAG44TMtj0~W%uplw46?aP&Ur;kk0b#)z0Q!HoI#NfYZR~6MX560(w$_6MS z!GJqIJ?%>-gUK%NC76~rql~`;i?TP7Z?Z8tALS*pXN;vA!!yazF*Hr0;mB+|7!fbd z^DUXAb5uGJO$ zY(rh59HS&DLgiAHLRj4=6GlTvw4{HVHS4b>v6lo-Z42|%_ni$pIiJYoa^2QnBj%-O z$x0Kb1F?*ZoYd_la}gA77awBAbw_7|b6#I={9(;K0A?~Dntt-I zSXuTTC;c8s?n8)d(yhJAc=3}6hPchngs#<<-wcMYrtDbc+$fj+Fxr#$`N;%Y?-tMQ z!u8z01-A-lLz)-wv6-l@?NMRJSClLAfEcjHMdDjh!M$(IIO|OjSl(Za_yY_jo zh)cM~_-AC*c1Q-|vB}jaSfXkWFj`@-xEBp)gYwZ~0~!;=idc9?hJo{9TTfdLP)$VUcI|M9Ja6S1a==WM~Rbwrl$>dMo#~L3ILnnpANQdo8Zt#GjBwu$|nTMW*!mJ z1pbs3b8}q$%u#6A0iH$v3p*`zPIwyzxR0#bX-uFD&S*Ja0M1P5 zN)yGcafR{&>nj|!{WOSR+~VYgXVPwSe7Xpr55)hhuB^<&|E#Uu`-1;{EQa@M+TBQi zQ!{LQi3C=pZ&U}OF@u&N5&9C(ZqRX42T}%11x~PFfau_H0P=zba&*wn=xlsS>MqzT zCRAV~ve(d`<2Wi2C}p^c6ak`6maf{v{?a9X`$%BsCCq7Z{IGjXj7mHm*O}3H=B^7= zDgDM3ZtxFESj8>}+wVlU1FUS_0#Y`5`zuqd+s~;}Y00lH29uHCTfC!#3CF3Aw1niDJ5m@! zbAqUiAjix{J1p+;Kw^3VxQJIPpdf6Q1w9piQb3QN%S|i-!$5gR97OGLm*d?HcAST+jIo|{|z$hT8_!93}B6saWoVoPZsAP$}9+)_6{ViY!% zPWA_vX7Fg%1{OL8TExAN^aev>FIkyHK%?TqqNh;Nf9jr0wGkTf?{LF%#hG<11gO0IBZDAsml*w^N0r-t=$+B)!ti7wX1qB1u7x;Ae06dO4rDf%53zBCX2+j8(R;Wj*TSQcfXN;^4G|=FYkVM1!nX=6wa3e(AQ6={wePJz4707 z?`84-9{+uBdG(9__u<|9^(}5BV{bi}`(hnIxso$@I5-xgoH7ZG!9*3T8vmU!usaFI znhpQHW9%au>~q*@9>;CI(>Mh2Ad^TaA?B|#V;+v%M>CW^@^UZ;VR_#6~Zz@!p$M3~D6Yfxe98$h|GYj!RUS0drGKge+K1bHX$ND@OVUk=prsRVGPll?3j z&!qDdGA>6bahoR5Q_y+b!~2cp6i!|&PKQ=i7c;Cw3`YOAX0ejL&PXF6R&0S^>4*({ z@H$2RIxRmAB`N@>)BZy`ei*>DD*n#i?$f=^$A=qxySv1QZ=<0%TL;^_Ph-gWVdw!E zIv$NfJpHIPF~mG}vANzd(;&SWkJw=!tk1*E_d+b(o#<;r6CM-`T^UN|m0iene}$NS zNV`VujRTmOLsWkwy_8en_-P94dU`t!|EO4u5qq}?7>{g1bI@3!Ycm2j(sC3&DLm_F zhf$Fgz7%&4twG#_D{Ww$%Szqi!v1GznnGKdD=lUoob|9khnK$ zk_}B}GC^$W2p1#GI;MsZx{OVg9^PBa9v%=#fj=^Xc1-~nvgm5#8**`su{pyaV+C&M zhJB}4{QG(D*ny-uZkM;*x*U=opuX40 z4?;Q52Av49Zg}`<7UUjfWWY*AkT$ow_sG}5rj+==nhq{-sHhZMdR4}7#q(%xv8#F} z{2aLy{aJfr*_SSQm;yRYppEV~X=Hxe>RKZ&tQ;83@C?RY*xXvZaHp{p(pAF!M;U_J86M=_u zycJlhfIisWsMr+0@HCr!^2u*iI@Ff4PY6A zPYfKCIs4GU(PcCfXp!-2l5hwmSFkzbG-J9PoW+(avqE-1UIECM{j3_sK1Vnr{GRx0 zJA=S$Pw+fhZvF+{>Nuq;ZQwKQ)}JkMm4 zh(^j!M$Oq4$__s=kF$yf%9*eX$?eh^STc~~sYA(-!lA)s8`W8v;n$mZ@9km6{^w9B!hQ4!0f6`0|0Mgb&iH@suRQo-|G#(RKGDO{ z|C70Z0~8?hKUxAwJN8ss;}Fr-soMWpKasP%RtmT&(t&f8uGm~#ozCpebwr0)qhhK! zHX@KNh))sV>uxA9NBc+|*IYw5f|ssMl{!b};Eheps`cPx7?yQ?`7+Kx(dHq-I#&?p zq;|Ty*5HohF&*j}cVFIxEWB0i06FDTm1G*Weu{QfEMc zjAB;S{`++c%|3&?kc-!`;YBei`6Ojkqmq^9!ICjDQmbN#0ruQJzg-E=4*#lv{R*bX zW0+|~AChr zDQ4sqf;@egKLT8hJRqE4X+j!EDWfezpbkK-`;%dA!P>BpYlT$fEJ?7Tdd>!1MBXt{ z`hA?8;~Ko0?S3|*xqdYehEX)TL$LS$UbFS|V5=#wCh>c*_rIM#Tv`&4CFB3$C21c- z5Ox05;wMz(;NjZ6)w@duUJOPv$i?;P@%iVDluHmZ>gUfQU=^mlM>t|$gl{^|<`D`W zEM-3iO*f?NCuSVnp@ux3_J*kQap{y1>v5r+f73mKQ!jeh=5jF8o_V3*`$UXI3JJcq zMPsBGXdL;Fa{(&=?&Al`zV!oXTdq!G^s!h>RaG_hISf8UuZFMCT28PsJelQ1KPAtD zGi+3-a4AI%iD@6%_q7EZd3Y|%;C6?#iQ`tY9Z~&D85wlv(SAWbc+7D~G>Pmz#pvl< z9<@9>9{XJlQq(c&C`J~-Ler0?woA1i8isR}b5U!~6asc##%RWsR`-d?s&50^=0*$8 z9lJpQdhgrrRoxuJ;NU_9f|N6!_?_eAh*YYyRM9XqBNNfUU?Ve`mew&CYGxF7B8(F$ za%Z;uL6DKx3B{7mN?R$(QmiAPO%nf$Dvx2hNtCWslDg+V1Tk9@tQCLBpq>clgRhhv zOu^91%p-h7RH{c1@Cn@S;wtbYD{f;7!ZSswkIu$jptBfwYfHT2NYqYNtRV*-!>Zzz zb~H$1c6OXaJ;N>2NsYAa;&Nuur?Nj>D*71wI1@)|2TuXfgd!_1#$(Xczl(@TNjg-=e2zh(BVS@Dm~+?`X%Bg6xM+3AvU+yp8C+s?l^vB@vZTn zZF$!frL0LPnvujIB6ls!y2t~pzfF15`T9SBKRIJb2h3ydOI2px7Bm$yogF|1OQnsu z>g{N13cd|#G>hrG+w@V{g{=R1dth8lsm)U#@XaVcpvZTdB1^?zvmN1I9;BYATk-2( zsnwj|b?;ZSkC2TZyVXBhut;{1&jA!p;76L%)X=QpMz<=j$qNUXKuI(j8GL;gf0?pYAu- zWB#6nbApE0wzT$uXNfhIygBPx_DL}Qq&oJQCOLlwh7V3pc`F-waNPP?q7PRh#e&a) zf-OHaL1Nh_LX8#$RFBRkW7TajmOBHOwm|hDE~lyzKMV?!bOU%u4&{}IrBfF0aEeMZ zMA1%t2C^nW8SL8H$6=|~mw8IzETKDAdvu8u0U>SYN^%5jr|hKgL9>%@nEj>gDM4Mc zI}~`{NiNM6(aTElI3xMZ+RAH(;fLR_*dC3*K&{ls?c3QF8NxWaeOsxzC>7tqr%$gu z5%9e#u(jUu2(hdoK9qz@OU*kmSf4?8_Zvd*QAo#%|4%xu!3k31P<^{^q_ReRU2Iqg(359RnvHYR_YnN?K3eQaSeiKUit;Rx}miWxQG(6?{zCsWmt z+Hz1jsIhw?_e0CuAoRa{qqJ?)h+Ua={n-a4k%lS}@(;2Af6pUn6FY9$vkVhz7!d$y z8ulsjmKldETQl*$Ag`YYVf)YB%?$oaOy-ZD68vTQ@5g^B3VU}3{{<8Ng8zOF%DGWI z?_a3+gS>U5Fj`h#zM@4YYee?AL=5~KGtum6)fcI5xb>f>ZeXkBVDYJybr zq_zZ7%6p(@pT+CQqKi0!gC)6d$Bfz1o2(9{_@pp+SPzAIEcGpeg=alNjy%A#G6l2S zr&@qV(t8inS(8%nrTo?lbCpy_8NE~T2tVbqXQ{baDOSJ*Eq&IFPbb}x}ijy(nsjQ5dZP(IG%V!SHZGngrv+u<`*40c|5 zZGCzTkJ)m};8Q^7*) zfN=CJDMed?lqX6?yTqpreGf%HuJERKp@yZ9O>Efyc#|7z+{C_%I2&aOqWb}J3= z@{oZBkaR&D)HN_~I(Fvhahy>ZZ=U>P(PzOOk~v+HBLVNiox+?BB_JMb-Q4F=LbU;! zrh7w>qF2;Vi)z&Q{E+ZqTH4IigBVmq<`NUEa;_MF<+Caop<2y^BIZ0U?r<6O7dmG2 z^HB8w!drdEjP+(5uWtTr|8Pi*awb+X}KP$LTnOxurfT zJjywul||Jd;4DH>Dlc+P@eSl_ zi5ZZ{AJ_tLNUAqbmLRaNl#z%5h&CBoNi*}Z8fCvi8fNeayvA0gGnd#wjR-(is)(Yd zkwk(DAsqysg@pq9InVk?b0AxC>Ye-o0=-OGKPy#Ero$lX!7I8tXc7hg9V;wsXJ=$; z5sCR!#sWD(Sz%c?%}Be>#6~1W>d+80L}5=t{=$rW6Fd=-*{i%-Sn# zllg0OSEiMYK0f7DhT`T~Gg~?6sXSI9Bb5T8;3704)K3KBM03_{zqas%_(7q6s)h{r zqmlWkfPDX_8hihl4les2P(%%WM*EmXxsrUr*|b*3Xr)P~pZ08BZ=( zB2eEL$p?gvntDoj>C?ym0HK#>ld80o7%P1>nUG=Ni5{Z5T@@*LK&8s%sLR>Qh(dq9G5nWUkQHr)RenJM09y&^fL8j))a@lf`^F@hIhm_Jx4jO%R|39 zx}U`u`w#fY$+@m-8U2>mKNfUC;aEZeck_c@7~&%_}|a4`@j3$jSST_R#1`v@DF~#ND$nFVV623 zH?kS*#YJ(b_oWis2H~-ziX$?akG;~Fgd7EVMKv@%$Ojbt z=Jd1g!D-nT%g)PmB@$V{S3TM3Kp88herV0qb;vxCf;ZteI%uL9X+-7Btzk5cq~6=a z(;ZCf649tN{QtI+r6dtZfzWFwfucG@M=2PQXyfK z_=U$JDrv3j9ub-K@c4Oidv~kZJY3({*n7^EQSnn{&klFCcOU&>StWM#hot?GOKP-8@JUME)?oq?yy*3*X#&YhB_=lV;;9hq;qap9ouS{1=YdORP>s{ z)sfY07^mBg1tMokIxkHN%h`I?I!oRvRBg6{BdXpp7B);JORxKC13^3-$5Pj2gj9uI ztgLQL3aszD0yp9;yueL}nF_3Skt}900j1D#)d?*4q)iYAcfZ~8lb)>$`nV_)F5-3? zbv1c6#7<35r=jmRJiJYBS;t-m3Iy~o>2#H$%jUO*x z-W2d@HCFKwD6W%6-*l-$T~6-zH&fVI7-XEtKQchYPCx*fd^y5`n(5P{Te0C4?|k?l z^Tyrq2A`Okk;k^^o)U-!tM>A2FdmG;#6n!xjg)!F)QQoEC4Z(!n63H-@qsfYh|m~! zII~T5(7l(2$*yjYY~_Zj4(?6cy86o9Roki1E5AQgnxzrj@9l}$uf3qZSo^du&-@lA zB>Z(-k`G3AKA9w5%)VVxy`q;Dn&bgw9+%|Dlp}7zLg3ZD2FSh21#~XVXT+%OInv*b zBWxUFVbNW#H&oahd^#8m4xBB27_dkER|M#~i2rd`_2*VJW ziv3Z{kHR4{^AHC3g%SMrJMwwIFn#{JuiKya^nd95uPi@UUdhh?eej>vd&}T|U(Ww; zPYY%KH_`I#!WD|b@BUHzkJCqSUDkIj?ju{gz}cRvRbuxOzaCPw0pd;D!66}wMUP}4 z*%wCxUA`M*ydBorqcFznUiXa$>dy|$loyOCS(WzX2wPM~;KBJ!3m_@pVZ(PX^!-qh z#hgh!^WbsMM4OJykte-}>%hnrJHrLb{Ry(qH3g+Wg40xeE|)~n_eN*T;Z13WVKzB{ zB-avV=tu>OqEQ&`WSmx2373*mSl+?uUyIR|LUdR{_wBkCu5rchSniTVMMTGsQlnha z!#)qOJ+9;H`X)r1XLC;Cv_QFjiNQBk*VE5ZVmnPpYSEP%Rv>erTrQHBlSUzIJX zEQ?BLm1|=Ijd%OlvgtM#lHDzFAjV>mn&!Sa+a^-ByoG_Fk+#dtvp$>SEB1h}Ds*n{ zMTV|4T+bbdlh3jR@&$c8;I>ziC)I-!0?`265ZeoN%*@hHxL*X&-WxdOr@7wYOeDBu zqXIkCT2?5{F+@N0cXY-q)K>>5E@HQO^3uRPEk(z>%p;EJ8ICcO*Rm@)TTxLzz&$po z6N6#e9a?d^g&>!B`eH%D4MA2uBGt8?bCG*CyK7^zHn+Z8Kg8IpRI}Cxga+p~v!{l6 z&Fr)B_;Q4&lC}-KL|**G((9F2Pj3or+uqgW{;+(_qY<`OePP=JtAP>zUmh zPwB8x*Amo)IV>cagj#di+!VO}~`?qD^s>)>jwE(}8Hf zd5BDL67g)vQ>OgSTwzT#=VBb%t)kjj+$(h`V8HJ7mZu?!8+Cq7FEhKRUOpCRr78HV zjb^H!^}kp@ABnWmj{w@Nqmmxf&-Z8K2P@nF5LA4%hhGASW!y!^vJnOvk}>u(b*3O3 z`jLk~O3|llki`pBZrnMcE<)2~j|lh_=&S42rf5=k zbvnODd;*CPzZOcq1BI^xFA*ieEtrYZRR~pZ`MTZh`}QqhWPhy0-*@kd#oxbuJ4W2Y zKAyv9{Z}B(w{MSogLm)v?>W|s{bfA3?46AGD?j>}5n2AvG&Zf*)=ymbLULSa$uFB0 zG61=U->{n)L98pFb~g&$YgS4lR@OJkV^EBtI~-+FL2^z4lS_^4;$P-nnO39ry)vQc zWu?A~G9~4S2qWv#YVP3U;e}4P-I8_idyiQQO;YP36-W@HBs(LQx==oKWB>f>7OIZI zkaS4iJ04OK?dlbkF9|4<3W;#O@GhkkYjZyZPu88{M^z8D!js-V3)xW3`XMUV2sjTS zB>{1APLvc^@JWic74OZBD^`R}%iSm*lNozzK{Y2xKT$cf!<3*Eu19grYCKR`v9yPD zMK*Y`^Ss$YyC|$ukj3cS{c5=Z8zH`C@T0Uc2&VY={=ZW^pkwKf9<@BWm2{HwYmFo{ z-&gD1*lf_7XY0Kq1F2$%&{YUkMH3cl5=pq)$vMl4zjIoqRVx+N^E`Uhu+MeWKw<(c z+0qN0y`WCfO;w>P^pxvoflOv`|7MJY=nA^hGVLYy_cv* z{Hk>kE!G-=0lLd*bhhXe=6(jF}g4;s;9%@fB145RPlgYGfm znPJj$s7Y#ciCGONm^@YcB5W3K30o(%K3u1EG{y0^caLmR)4xj+1jk$mV%ldUIG`Eb z6-D{&{veF5Q^Agnz3=vg z{Z)F2x{GkV8WBcXKi86)hrwttxO#kdHIQ;dY^9Pmx56c?{d4`UVU(3hTV+AlP1!_s-wlPyQt`{}`5SzdW?%@SZ zyeBM>DF}A{wN9Bet|V@$1xhHgTc5=v>~1it_{kMKOD|HLez!4NVOG<#T^w-I*|_9nY8npWNi=$k3!4&q@c zVu(DQ5NZ&F`t)T0>!C-5cYBnQrzMF$oVCe0&JMN?lXr+(iE-HuIN`WGY>>PxhMeQUNO48EeUdoG3JC%1CqEy)0IMt*pkeebsb0yTo}NZe^~XLw z;*)cVDx(`=)S2#@YKME+y{@Y&7v(OOBYWLtCyn(>E{Hg?&1XX?EiA)v6+F#mjoV`;LI2Wvl zv*~5N%88_EYrN^J21z5Bt-UH)g58~Hrbj>QJwG_yeR{C>t%?X9xx_W@>^qUx+Tp7! z%8u5^58(Z)!wfI>jTEHyut1dCwvj($g%mj}fPPSP*YB0HhYDPWgt>x?8yc`rh1;y$ zTV46;!9wknFbmWcEMrjwQ$0Kz(6RkXzvy3wWM>_Q>iywTVLj5HD2hI|37gnClqpsA zXZV4Sb1=3ryYlOC_SMPi!|n4o?W>WxLP$Pz5TZ5^ilbX7$VTu^M#SaE$>}xjDJXl_ z4|SV!uv$kCHNG@=e~zJtSUn#-gjFey|GLLNqNZKyUZ3A@PA0Lh;$BE1X z#p+>z01hpVs(Q$l?Bp-m>mGfg7odVe|LHx%Ftsg#(i@Q+u6gXMea*w(#WfGKAXAUD z+lPJ&fIUgNy0p7;*u7DCk}O10^V6RXFG}hWE5$xB7`{C8TYJks%hQSfj2l6?>!s73 z_jo*b)$Jb+!A2yor&}O)YPI`t$eimg)E+d7J%o6ZAv7iwPx#w)AA452cbm*Wk8y~zU=5YbZuDNN9==JKVn_Ar*1f_q|aQK&zW zTDpr681ICB#LP1-LEnUNTEZJg>;q0#(Hiz}l)+m0*SBW8FSHntQTIDw1&@;A{`U+ZC zh%D-fhE-%M(2xkWOA)Us68uoB*0QnV@<^O^Q{2 z-QyxdiHqX9cnPQDY_K^HRAD(CRGOm(1tdsh*PYz)J5Y}RRKX=d2<6IH^V#~ww>XR} zV%(3g{V!Ry(nDsBhpx`7o`mqr_NEa6tw*NdD=1%3w?mzxe^dTN>4?v8kCYn^nz3c}=o+3{Do$3vT;o{J+jD$W#29-Dd;w#^`L%Y^JW=aZMmg3x_MHuCa_X7V)$ z=Opz=Sj#Y?p4P!Lmsyc?o^a!fY)J*+z6z4aEekA?y!xTWskb9%%6XsD6-IdXCy>E& zT^r*=H=Ijv9#v$>5eQqyAxgfI)m5z4Y|QHE0I-GYi#`37YsL}^6{ekHD~X9Em3EM7i+QPBJj2s70R$JbuMjv!UMhU1TP(Bn_BK2>lx%~Ne0>>>7_XQJ#EET3hvv>- zv=9f8pXAI0o&pfBg~-_nOA&hR3{ED}JzaklIm#)Z_H)^*CLbfpYPBaccNd7X)a3IH zhcUP^x*W@_EH7)~_3rWagEZN=O{`Dz;IP^Z^*gtF#DG{(fY}kKrZcv9PK>EKsM+@+ z85EX|Z^g+G&T7-iQ!+FDV*MHmMzf|6?XPxGduR)Bc}(%U|k0eiov<5hA>CKlewU<%?fF@}Fr1rp`ZcgmUg()I*B;CvgRT;QT*W zyIaAK?A$1Y5La?+T-~YqZpFpZeNeM3W06X z_3-gnN^QIusEt*EpEUIuXlyzr$$ZE%;!@p16m1N}^d8ot6+$%kiU)0YC}Z+_sjP** z_HsgXF5xfKrIyxJ>V@gv34KWFTIxNFD#Th?07r>jOY;X1P(f_XFauAgMnJ=T^7nfu zJ)+EP_~wF;rHdwPm9m0&3vGAtUo}K|)9m&?T$32dgK{=z z9?=6>ELL+>a9gT0-T45kF}Bf1_bq-5gkt#0AbrRC&A4RgeV)V$)6%lE3qt1zjx)qH zRCKWgo~j@FxJy5}iddSq!PL_!1+M3=&n~|u@5s&Tv9V;w6Lr&{a4(nLDV(-zYJ-YJ zz%!6h+aCS(8!QI%c^g2r*MyR=Q~<6$mdK#zmjc6GEthVrzuhRX9G+q>S3ZPWI#nbw z$e_m!#Knu~)4sTBjKeW%;I%QYcIok+_tbpe&jz|PE%Q64Z$?_I%pPq%xX0a;mw6Jg zChQsvNW3!ro2sJ&nQGbE=koSh@R6+F;IzSlyM0?rge#s>B)4zdnw38hEp>MLwl4-I zMhUlz0Aq+BMwgjNAE@vmayH90?m}F5vzgqstC91tWhGu>;gtPv_I9@(E&O-t5Zqh4 z|KKZ9DFkc(pwQTSNqp%npbSjtM4^N;eFX^Lx{8o<>?^Ieh2VNcn7JK%v)=sX(Sjy& zs72EX9jZRu!tD3RZ`j`0I^5aY+ns7ykWE5`vkh#OaW&f4kQXq$UB;6$ z6Z~VcjN(yUE*h1)0$ z-qCvc?Tq%SakPvHI_qndi*6nHz%&F4 zY^B$ADAY9TCZJbvbrFx@@O&ry)7^6f&W~Us9$R%fv0|f$Dr1$`g}`Tvpb0Tc$xMa% zo0D-$PF7PXv!)yfciOwKRFZ^wW6lwRrR20VP0}-aovBJ-QfN!FmdKN%I!ZhmBJiy0 zXo9J|-iAeU@EBMIPfjWLf((oDkrqu!(yAck6!WoE09Aq*VDuCyNS`8A!WJ$vQiqH7 z%((y{`SV;iCYd}!2`%JyD(5Q8w2B#5)jX>#<;or??P`Xt8IM(F5rswh-~CL^&azd{ zOPcA!d2888BE`T@lXyZdTV~VT9>iQfq7O0MYkJ9fZrM|X--_8-V!GG#Xdqw2oZ0fJD$|Pg4+pTaTDV`Mh9Q&>#RPiyu;rLz6-p*^%pt0D{Nt&| z`&DujOCF%jEdPkdoMU#>SW@}ZrN{_Vd9u*vs4SKW**`{dQ4Cv7Jo1&wk~t3V#<^HH z^N?#1X~Pmr;2G`Dgo8`ds`Auy_1N}wq05IKRBC}nFl|;l zxU<98r?PoQ-%h-=k}j1p6>Jb`*sKU9*Ew-W=E*Ve81`e^Z-SMjuz!V>fT_9J zQBglwo`4pYFY>KppmEs@mPm$3h#%9tkyGpH)RG&cal~+W^^_c|vmx_F8_#sdpD{&q z&$L9eHfp6CDmXDtRYeSygQ(ei>IFJ2LSJf7c;EcTJ}PTHbRH@qm0t#iL>FN$x%s8z z6c!X(rzW$$5z0_A0KCqsvgL_5i zJ0HM*mY3I76aE|P|9px6FW2w4{M&W)f9Blm^;-_(OW*%ND=>Bbf4Uf7e&W;rLI2O% z>fMn4lj?u3-XkUG3;z2VXyQikmz~yr1c5`!5B_-NDae#I_h3u~BKpYv^omiAIY4HD zDRxL#cdH7s8d52jAxw`t{ zId*qk6#GxqKX4Q{g-)ZW*s$Vo>d|~8x!Mye91qS@M2oWO5SYmY;fHPN^D@iJv!dmZ zmItjD3yx46psrCsX5p`fA#7~FSlIBDvfvd>B0M^174`a`ijD1>wft}Y4Mi1&$y>Y6 zd}G_1Y;L?**t8M@;c4pJA2;nep$gnM@2^)Iw0IuX@A(bBR}0ofkixtk)_IODKA8JZ zWb$GmBNo0Mr=;SX5n3m4#>$I@ zotQxR&&9TC&5ptZH=FSd1)yn#1MTU>rr!KcrE&-wjXi`HTlstbp_ZB}m;$;Q*&9$# zZ2o<0-?XAsbl>`3?e{I8oKXo*35mJko%Q$%H}Z&Hd1qa(tdkLTMV2w2*!l@OP7#9P z6(UWqm?P3e87Ai=H`i;yH~A<{Nat$Kj{D6;R+ZcY9HQMU0n@-ufOSa#%B*#E`Pe? z$w}6q?O*EZj9X*uA{+%&(^>Zq`hVAVc6X|?vbW-(b%$e+I*jOBvHqHPAPWt0f)$u# z>$g~5MrsGIF3EKZ;PJs}L6aOmX$K@7JF_ z+iIz@(xZY#viU-(eM_$g3eZowu$vI`t=)}-ANDOcJHCKC=t9G|)gWMk>sRj*|3$1D zQpXleMt>{}6cRm;vuD0X0C!&PAxq5*bx~~kugzuC8zbCaIGGSpYn5Iw{4NKjyXGav z?Bv)gJasS0P~qf%^XDazS>4{N$M^iQyYJ7gj21+pw{LItJN5CPuDp$Z=3LT$kGNGO z({JjAF8D%82rM5o0zl*k*HK3*HC%MN=6}=mlHdh~1}T8iC8AuL%6m&Pl*$bHvI4m3 zBRmww5Xn6njaBa9>5NQ zNv#Y@;j8+FP=Jis`8&=}i=KDrdI0+u7;F5>c5`5&mEI@9S!YlPebOf>1!g zQua{~chem9PN`8L?PAcsx{$`fc3+OV6Fgr2?}>8o{WE=1V_?^I-Id``{SI6buQ4=r zr`X=-e|Wp&?ij7APoJ}bXou`CF2krc^K)#YaL=|vIq@@JcBy^MZtK5by>?kWPHk0^ zrsRmYbf}NxN@rrS{yY*&E~0uRSpMBr|rMpGS7vT zOG&|)*-3J>>HF?6`+Yq42}ml4L|<{8Z#!j?QUYxL!agM5cR7Ic(=B5Q1G_qu8NG>} z+ep|Qg|}+YqZb(@370w~7u{Z$x`YjmO0Xz%|6lj6rr*LGZ~>6w|4!S(6Eq0oB`!Lj z>~rtOe^!8hrsMza-Mf4Li~aY>HsC!SmGxhr#H|nNzpB3mZ?H7@=(x97l&I*;=vgHj zD7*V`h1b}3`Ht&4G0Z3ymN0LJv^pu_AN~{!!MusqrHL!&f~!dT7MqXKkFKVPs{S7IN_87FcepT0Y9GX5UT&Md?}w&|tpU}r zl?Yq@jiwQNcJs}qkBI;|jVvXZPwYs3MRyBo3)G)HG@`&Vnuv`kUtpg}fDw{}8l>0+ zd~nyUg><_}-~?z`2nH|My22LZcub!4xZd)@6ShYnp6u!O`P<8CrpdMbWc^@coj@Im ziERC_yM7SM%*u0I9_D1hxc^qPkO;vY(KG!h2bW%-Ki}R|U&^Uvbo!^MNak!T`v{KU z>As%$%ReY~s%*@!#iA>dr@ih_^;B(TJSqV``B5t~xB6>d@wFP4VD9#EmYWAZ93DKU zW*(sqoF)tjyil@kWbY|TDxIQucotPs0d18Er;Iq2Iwib8H%Vy|4xer9K5c!YKI0u% zN>#@_$pLVh{~7x-6k09EvcLE2S-N#gZyU>x^#G|n?bbw+59y*Un%?y#4_9TWCZIal za>NwhwK%2BoxlO6CZQ>L2Xm?kmUU>2jAP+Jb(LNA#n(Qn2JHv>NcCs0yYwrY7A!+i z2%_SgJr+}wi^XW!p{cvVX4W|CF(7T_ZDvexEnlOZR4Q5B?6Vrz)x*7hJoE1!Q-6_g z;xJ&@VQ`{Rft)8-CopR&_WGd0)LPp+ThF)w?y&X4{+2pwaj%rw+o1-!m_K@f9p2da z&x$zWaMF_^N9NpNR*G+vo`JPlHN@=Ju7nsx*7we9yWT8OA_7miuq-r8EII_@Ss~ce zxb6zzta&hd<5?UJ44ZA}%73so;+8X|!G&jb#}vR&99o69r+cFgs7ERb#H_-SQ~5}0 zq2mVngthWvFHTK^i=zZnH7!*!d@jA}fL3|8)QwOqyZ3jI@dk<^k{rZFMke>Y7KTGQo9)2I{7EAfj&EkArylSRCF^izp^mqz5^Hlj` z0oO-<*IF9Qjynmwdgkyw;|lTeVJE}DvOvVQZ$n&%_=ajHTQOy=-Y)W=AKs`cal>Am z9t0`LJPVz@cMPG#F-S1DqoB9ycs8YI027fRFg5#F6*)wsh-XZVI1G&ezN@|aV^XmQ zcdI4@o31-sHT75(TjN_4>Wm4)5f_(&Czz#dlJ)%IdaZNHuLeyI@RQ(pDzOEppY92f zTM7 z?E8-+gS~?{cxm>HTL#1uL?sPz^IMZ-rHX4`F-AQ=axl~nejsm5-+^O0J)BA%S3N%y zjEPKJ>~JKg{>k}-QhT(=hUpR}JyL>>h3rUvWuL}>IJ!c6yvPDX zDyqcB*oY(0nu+iq^(yCsmNlJr=-L@~=$KmqxV$qj_`Ab{5!#62_%F>`6 zNr}ca7S}{;{tssr=42Le5z`Ntqv}tgx`)+MQ22UvL`ct5`m&+CHy~rDFx+2G3rxISJAPuu=7|D@T#6dEd?X_sUl&+*5-d8ih z_Ty~UJ#E0gUg}CE;O4bZtmsF*I2t|->+|sTQL!ihH7=NyTBF5Jl@?u#b%`t>kymUy zeCUK-_U8YN&wt9F$G)mfh7XOCls!0O$$XTS?b%fBqj3jY5%->xOYukjn2H|Zau=yW z4JF9v02t)J>9$`zcESzKG8wI0v3W?WSciQ*GSSK>Twka)ch(PDt#2r=*9^7rJhd>} z)5A!GO3J|UIkedU$;5f*Ni1{9+yogk|rGzSfrio3-#Sol?;#ln?Yz2&58Ed1Z2^ zZ%wHUMNAk!0`mX@bOwWAsPvcQ%A6J8PNQJC&j=lsk1>9)OEALh=~R@@vUUH(zX{@y zhGwK4o7!W0H;kB92?FEf@}_T#rLg#rgyxJVm96RZEi*0*PV=frK4ET^J=u2G8h6{u zmMfPNb->4}!9aX@Pnk$E43CfSI0$fmYaOdqIW1aF!W8D^A8Llo&v6X`i+5!dtb zCG6c9oaC#)IJTtgN_!Xkz5qcY@tsgR-4>2MWveC|d{t?+3Im*MYq@SQ=qz%W1L(7))A$uDSc0p8+qByv$iZt=~hpH z=unw9wae;Okyg}AQc?QA0qn&mgmT&Auo8qGvk`dd_1<`#j`md5sF@OMEd(6Vs}r+AU^-23{udC9RvRM9t4r>jK7L#9}Fe zF_CX7wej+dAYb*ViJo_f5eRocR7{(|_Az=mhYPL{<_Uq$7>(mh*A~UeYHSbzlFe5u z5f)n;6y9eHUhLnFh=Y}ez69x$b)eduzCM8~MVWJzZ@%}-lKRr{4l`u7zT4$eWbFjA zLwb1EWy4{yObuMRoK3yF6Udc9k%sBCu3U+}LbsL;k9$AV5!GsEljgQx3wX>Xr-_N% zme6a9?ERkz>Z1;hB2qhEcAWKc()RgmP>99#O9h`20;-z~7;mi9K;8F*-l=vYm~7AM zmmFz`wj4&fI1s4BZ5Of`J|*lcydWIxNJY2}2o66E5g>*DAN`k0S^O-x$p0=MnZo~K z4)`ZT|2~-ib^rd_gOva2_dgN-_a*-Cvyh-1KVJVNg#E<|U$TpX@fz=gvRnNOfKyh5 zw4(CmV8$7^5?;fvp+IKw&g9+{+84VOyG>}G!g%6HV1L{`n6kvk*lv%Ex5L^sEMP5y z%L7Y}FGXiS86_NgATF4!A!qo~2PpXA-U9G?wAphm1ad!qiDb?yRj36LbYYW|rTjxt za>#;7d+DvXR{jZ0sG*9#QgKRkchxh0C1Itk%%1KtbWaIJfd-mJANE<>5VDRsv5K#M z;)zv>sk8XJO4%cVl}yD=+o@~nS$DD;CU!Mr*wVq}W!%#6jm0wWeu4&O$YQs{gxM`@?H25ivx`yr6eKU0zUN7{<)FWQ_y3^GZho_q8n6>VDh>(Q;oHQm4OXA40y_T(v-A*x_>l)c0i;)4PDwXQcm zvIr)gYM+D4-pcqfM2}R_QO3B@MaG%Se!AMx;^xliBL-~4^WOF-eDQBwyt3V27dP#8 z43uY}*9SWQ8+y2^OpZ?ia>pd^jY%M4At2;*1l=?)5f97kn%ZJM1#o`uxI0ZqvGiO>%!{V@Io$+1q{Pjthk5|B8+5P zZYMU6&0Seuwnuioy^ro9+}G|E2ZfD<4tX5XiX_UyZOUSYc3Ci-Wc;CJwBZSOun41U zOg1q8pP!4pW4o0`!+ZPA8?mIG85CoY5{nLYmweu#TVrn69Co9xN}X8Vv>`}J)g~qT zx<4L(rot^$&o7R?PRvo@)Sqkfj;HDy`ygRr#$|*0Eh=dn5OSzY=LO z7t_s7w}O8bj3}z-l=5u~n6$_5rH8y>ATB#VP^?P8E!0zO!G$};Lj4b4J-EMiZ}slV z!e6cLc~r!E5R5%e%gt|ZEmA0reP?c*673d#Pzdf+JQzV*sv<}zk59?2;n4^~ucSTd z)vsmi)j8Iro8gW6lf6+Et1G@?Cm_!qw>H6-r6z$Afs=rfwSg0L*5=APQL|Z+NN%G% zXIin{VPEQ)-zAfKP?m zrfhluO-gbdE!o#n2hM_i0ViR1xZdiQpDVlTODi?IEGgfzk~e`gZ+~K z_sKVVPKP&U${hp}Q2L(%w3HhOIyfQY)Y~KQ$Mp{JL{$#}w`oA8u_qAw zR)svE2Z2gp=zXF=FLl#Yj50QE7+y@Qvx0=U+cJ<~vI4Zo?+?LHUC8(qpm}F(LR<1{ zN^6_j&5gZ-P2KSLEM6A4z4=ITh7!*z6lhySeeA61b_mx9t$H4nfg%$8a*B!#x)=4= zDJdfFF#m-NEuzRX>qn;aRqDguN=q;&0mO)yv80DuWY-KiI|9Evwihts~by99f_{wNem7ZOZ_B@H3K@GhrWxJ3HTi()rbG$= z?Y;>eTPh721B~H(yYsNP8U9}Hb!?m%V0?rt4{v^>+YaM4{r;w<*`(dD-PCxU5pLN% zU311P078)hR%R)DYW{$&Nkfcy!$-H64=v>7*fK@-nsfj6_32AsB<*a{)&QUR&=x>{ ziL>|TOdgHB{i-r&gY+N_%26wV)%0Q#h3zyvCaZvg_accp_XeocC+x0TcU!DFR*ZG# zE`jK&7*RgJh7+e|BZ7xpdO3>m?b~4s!%0dX#9Wa;;geZOYOi)?{65|2Z+q#X)4sA z*%B6}9Bez3(_i(IFOj7#f-q(7l_Qrv8$qpHjNu?Abj3jOE@?Wl0(H3oTk5S5SVSe6 z#Zk3y0{kxy7bWHVY-&5B42`c=)4I*PiOf7!lnZX&iHJsVW8^2h|Mz-%m{J@5<7$>T zk5BRcV@zUX#^==kQT12vPW%5>?tSt9&C%9B{ZAqOzX){!m;REfe|RK5XoNIgP63IG zPG6wX5jyCA?phtOWfv&gzW=O!JTg64 zwbaTt!h+dCu}Gl`d6VlLi#(!`m}2WBdGJ!E@n)AWwEssDs|?%UFohcI~4Y;g>oO)e#2BUcgFfRVVR*SL@&$f5ATaVWKlQ-mRMvr72h^#_U!B>F>7T>6p zUU;-ZZ3f1;Kfq&PI*CpnFSCwR2rS=ftsgvPdZLhK*fqsUqI1+oU2IS=Z!{ECZVTRR z4|M~wC-qh~f)zraP!d z7ZV}0NK*~{nvxCEy{!M`k;*UFA1;&+PNxDsKG6c*1Ta8fxyZGvErn*0@yayRF@4>yMjjP1|)Cdk3T-goQI4kMIMV&iFCGi^4$S>N5=qSVOdquE9q-)wDso2rmJT2=m} zorX1Cy`k!b8s-HxS9|d|B#X}Y_1%XE(f}8@bH!QAv}Ko2gTRTrmC4{7H7F~Lj$J)m zpu7Sb#o-A*cybJ&KyGC(#MX1H>{N%?^-rrnpdz()87;Q;`~l&UBhg)z9isW*!qSv{ z*F8YtRoAK_wUyrt!yW%UW9nBof+1WKxXOvyXJ5p)&xnE(rlr5H!$#tiI9 zqCfLO56Wzb4pb>s$>~MdcaMUM_UULpC~ujG+8u_W%fj>Np0@*v_Y87i>L^VkanIHXuMTtgL$R=ZQYzo$^n2 z&_-ia$5wEU$%t@GmM4!=2p5B@hl|pe&&5coTAGaH+MDic)v54xaZA*ys0EPq6jjNi z>Z77r%F}p&lYxxr1vLxis_C2hN1(BA-i?wpSHe%aCugeX*}{G+7Ev0#C?;raKLJHF z)MGXC7m7tGO{N!aB{j>t!&w>7?wBXJty@GuLly5UIc>K}qJ?N!73I_xF=?NX4b^Iq z^+g@D?zEP;yeGlBUT#$I&=L(@)IpSi6l6n_31P}asn14$2eblDvhp#N*J6Zk46(a3 z?3#;MN-#@nQe>ofWFKj@|LS3pW)kjNtVBzTSX!>d7?(0v8T?tf_WV5Z^33|H7_)vh zDz@M=-7KSUw(7<3=6Ca0!HBBfFwKAixjh<9gcR`AsFghNimW2+5akZlq^p?Vw^rhq zLIM^^E|m@rSO%5xT7Vs>IxDRMr2|b$qw=pz@sv1(@@q3}VY+|+^0Z3F{>7}AP%3X$ z*4x!PVH`n}h80MkpDQJWO}jY(Z8Jk3!AO=>b@q}+i6uq8#tU&oJ<+@PvXs*>U|W6| zg!{`Qc7w5ljiQvy3zp9oUBF7Y7ZxX=U3!ied|v9MJC~qp9N#Jfp(4UG-;T~J4Nr(p zb(6}m$_Viy!a}CVCnsKMk^AeY;9~4vnnHQPgURPsX07&whdm=Mjrwm8nHjEj`h4|d zCQCm}R4A3!AbpP80qKWe!ilQ&WmmS1+BdfzKY#kDtNi1Kw=K<8IY=-^|7Kue=u;5m zaL51xGHCY!XAUl75)FA==sH`EB?!z z-(UY@`N8UgY5Z^X!M)Wl{{PQGE{H_;1U~JJznL7H#^9RtlSVX7IGN|%b z$QE@s{V@vLiIvL~>tVN{;0cJP z!JCkZr7Gw<3XQ$*+<~Cgx5neBdiQJqRh`ZX|{MsceVDGH^1$jV{;4uChT%QlbVR z<`CC{fHf?#7+w+~;wpkq=yF1Ag^a0S9*{B8wGO^bdnxap;mg&W4U`Stp@?2;$#>Fg zsVKl|h#dpLGTe)T-KK`d#Bscy#_1`?c zf9|!l)pEMmWFKUWEQb2&cI%txj}Q002beq37m1pFqtdt`>|~mqcrJ%0F53X}UJkbQ z_pB3o$qtebWotY2KiBl~_+Wi^;~VuuYKWtafg~0?o*zQ~rAkg8-BO3w^s>LM(zV`T zzfI9vNbz()$gsc!X@c-8cVAu(uI~j!*5g!;elEgNNVoM+Q*pMcYr8TQQEC=~lF%d% zJ}Cnl9tNUK4n!xvrGu^Y&7CdWh_TM-+b{%|Ht&I$Dv|}D39u)9-LWihG5-P^pXby^ zW};DKktqtuK>;hVCrD#9R)Z5X%^#e}%<={g-|(?DT;9Zv6+J5MI$8|z55GaT2>?vf z%31Nu+~$l{?E~jtvxZR@`^_jWm#Lcd6iU-UQb6n#@s?pi%4+t;wI+NUrrb6p;EEwRNb)ZduT zTU1Bo$nqcK?Nz|y>yqfeM*<^m9nIk6fw$O;gUk24w_%B4_<7Olh!wP?196p{0oed> z1S$BGVyBDxo;-K##jE^xETjr zd3ayHby|&W6NUN@@BX9<%@P3mFR>HN%9sw?<3TxyKuQ6Dh>h>KlJ>D*RNsM!UE4Fg zrfJc7PR{`+w9*EyMS1#)YX;YC;woA8ctq6YFK12Pp?oN2h zH?kH4BBz?T^jX$tuw>_kqKD6y>hp4 zzp<=mFV6?Z_RDhPUSmzaP$eH$C>u<_uQu*Jprr(NKGE3$THi~tyRZ1R^*<(3Lj8Qz zSfzV)vw>b3k3CU?KZcJ?97}Cu-AWF#MS4p>OcM)&hV1@Cb0g~27i4R|Ka}c>G}_= z_wL^Pg8zK{F8<>!;Sa;EG6M-Bwg~@Fc!?Tm97*hq3Pbw>3jgCP{h#wqQb@W#eex4u zo$Cki-{rfjq5kvQ%JMx5zbvmT-~WRDR@d;i`WH}3t;g9nI;aJ0ao?jpN3{_#jK}Ta zAy@Er31mwk@Q6|{4+~1xS#&7gIC@Ez{s94i@RV`NIpL~F9BLD;30+c|!tPM%CSS*9 z01}TDmdvTOq+DSx&*&}`OMm*pYksRe&--9-F(PYwTT{Uz?d|F>>|t@RkP zft%q|cmlP-_wV1!_dU`9Pga&!vi#o%#{btI-2bBgeHKExQ7U-XkN}Cm+x2+GuF*$| ze*=y7moi70W!+%Ok#^P-)W>5As_LJ5l#?qFi!kdT9y!iKDy#|pDiIt5k(K%rRn?2UY2 znjRsF42v!p61U+HwTAP8hju%pV&Kx$ES$t$nra^*gc3XSA#w}VmZIm2^>8B|YXK-W zxtv1Z%h=o+KGm&VrRZ+^-SQFgRnYMd>?i&j!hJe1r-3lAC+p9jwQznMPDS&VLGLVo z?^4mGsr8eCy`5_NvbDPJ4w*oT>erZsR*Y))iNp2ht-T$K4iC}Cn-(Rmp{9U&rk=^+ZvVd56-?@) zse;@bbPYcWxyn{xBrmcrs?CVaT@Ky{l~7+8(NBLgxC>%LS}eDtUAt~u%fdryRTQ`< z8jVKb*EhwE%oo9}T;;Mj&9_2%ChqyLLP>c=Zn6?aA?p;C+oRaB6wX4W?SRe*_KHPx z(4{XYp*o8*PrX=s`}X(sdZ3cfLAP;6&QHDm?p^KcPVY5A6F_c{7Hm!GI_(_l?r`Bx zHtw&_R{r$%?Py{JsNTK%dWnD6{7Lq%>eQ%&SHDA|g>l31x)$Z_+ww8r)K6b8@$#I0 zNJ2uoz*D%2YNnsB&+h(7HTd?e0VBEVL$nSj=jA{2!`rtvtOgf7di(HYJ&S+7KJPI% zojXm8f7saK)3Zjv8^xt1SQ+2|E^iG-A%qOI-Iz1uxL7h=NuKuRik(cxS^77?Re@s-y zwMRrMKP;AwwU@u2at7x5dTH_Dhi#V>Ym%@sf^R6X%7g>^2oz6r#n*60yGHg}D zT}={)k=a$sh*|Q2u6=mjZAb;M;B+)Agq1GJ)_dtQx&$5tF8ReRSwtntj>Htb*ryWn zV@iosM?#J);I`6{M=cE%=T6A~32sX@weHf#-f;PxBI+%Y-=|`VQ09`!!`mytK$TJ` zs2VXG-hQ{p_w=`i=DI3l;vd?bP(&+9MKNC(L-WU0|Z zr4U1OehrEz5j0cOXq%UR_lZ4x`eHL!H-Gi*$)}j0HqQYv^)_~ra+((j$Ai#y0S(S<)^Ns9 zbB)mrfVnDurY7<}Unmb^qG<~8vn3)Z^9qs`(Np0JJIp~@l}R8f;V|2|kx$zQkLyqf z2Bi`Y7fDAdZQ;sCOEf{Xanpb>B?Tzqj8#2-Woz>OH}rZgIC50>QK~(D zXC*zgT*ne2lF|ylbc(f(Gn>ak^=$#OtE0kAGGW*9OdRb)+|5n!Oc`HBFXdRu`7D8W zTHaM44TW8$h=prkSZZJP>RdR0p2yuJORQ-sV5rT7T*7J~tcK(E`P`0lu9ZXJc?r>d zTG^{PwV8DABOipJJx(*NB4 z-<5k0?yi;iFTmgO%Iezky)XXXPrli6I!x}}U~P*4{;Bp)6#r}THf$HKVbf7ia@rTfWFoOBK|UTl{3m#9ko2Hj zHff7<7cQn3Rjk0J+o_ara6Y0>RAJyk1;IypJ%mBIA{zQ|dDtPD^@R4awRKyn*fdBb z#)RKNHE^5~(^dU!`Moj3lzUkRUo-MgiHottLci$=k=r-uh@h8-1XQ@_L3+3dsev%>!*O{au}{A<9s$TRE{b?q}Mt^v<+@4IQi_|~5mq=NRqPpE{Z0ol7E zg*tS0)0@1@CiY}&z4aWhHSA|P3_Erh7WJ*h%aB4`w-a*9I!O)v)CkJP2tesi2getM zI662Dbam&f2dlV1%w-Wz&i}z6bCW;in*|XoF+TIb{bJWIh5&q*-}HuWOG}P zoQ*{m%XEh}euKZk&@J!7K{dWl%qBR#?Pdtwubg)8ebVDpk@uk?>(XGU;!5oV%)=%H z(YuD`J>=MFF5GjvcyrDI-@H?#y>uQ#MD#lSUmg>^4mqQ=ag`&>+7W}HA`Cpj2d#~w z+6j-;l=$jM6CFGtay!VdPd`fAm)C_F)&dr?2ZPIR0SneDzwDctzn0!MJh6A$>kbc3 zxhwhbCB=_49zM}no+UJ$AV-#WjI;s)X@i~0oP*Zq5nJG~zL8;f1izJ=@60tLnw--1 zgYQTiRwX9IK~Ya5(WkL!0RZ+X$TGmKfuYokClUiwgy-LmZy19&sYeK{-*yrRE?EO1 z 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
    1. @@ -86,9 +106,17 @@ export default function ShowcaseCard({user}: {user: User}) {

      {user.description}

      -
        - tag)} /> -
      +
      +
      + tag)} /> +
      + + Readme + +
    2. ); } diff --git a/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css b/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css index eeada739444..16b95d60ce2 100644 --- a/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css +++ b/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css @@ -1,3 +1,26 @@ +/* In src/pages/showcase/_components/ShowcaseCard/styles.module.css */ + +/* Add to the existing CSS file */ +.cardFooter { + display: flex; + justify-content: space-between; + align-items: center; +} + +.tagContainer { + display: flex; + flex-wrap: wrap; + flex: 1; +} + +.readmeBtn { + margin-left: 8px; + white-space: nowrap; + font-size: 0.75rem; + margin-bottom: 12px; + padding: 4px 8px; +} + .showcaseCardImage { overflow: hidden; width: 100%; @@ -66,7 +89,6 @@ /* Base tag styling */ .tag { font-size: 0.675rem; - border: 1px solid var(--ifm-color-secondary-darkest); cursor: default; margin-right: 6px; margin-bottom: 6px; diff --git a/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx b/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx new file mode 100644 index 00000000000..d78849e6226 --- /dev/null +++ b/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx @@ -0,0 +1,22 @@ +// src/pages/showcase/_components/ShowcaseLayout/index.tsx +import React from 'react'; +import styles from './styles.module.css'; +import { type TagType } from '@site/src/data/users'; + +export default function ShowcaseLayout({ + children, + selectedTags, + toggleTag, +}: { + children: React.ReactNode; + selectedTags: TagType[]; + toggleTag: (tag: TagType) => void; +}): JSX.Element { + return ( +
      +
      + {children} +
      +
      + ); +} diff --git a/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css b/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css index 00b06960b9a..ab7a285cd3d 100644 --- a/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css +++ b/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css @@ -25,14 +25,14 @@ margin-top: 1rem; } -@media (max-width: 992px) { +@media (max-width: 1024px) { .filtersContainer { flex-direction: column; align-items: flex-start; } } -@media (max-width: 768px) { +@media (max-width: 1024px) { .filtersContainer { flex-direction: column; align-items: stretch; diff --git a/docs/src/pages/showcase/index.tsx b/docs/src/pages/showcase/index.tsx index 043f6542595..c691dbc50d6 100644 --- a/docs/src/pages/showcase/index.tsx +++ b/docs/src/pages/showcase/index.tsx @@ -4,6 +4,7 @@ import { type User, sortedUsers } from '@site/src/data/users'; import ShowcaseSearchBar from './_components/ShowcaseSearchBar'; import ShowcaseCards from './_components/ShowcaseCards'; import ShowcaseFilters from './_components/ShowcaseFilters'; +import ShowcaseLayout from './_components/ShowcaseLayout'; import Link from '@docusaurus/Link'; import styles from './_components/ShowcaseLayout/styles.module.css'; @@ -72,10 +73,6 @@ export default function Showcase(): JSX.Element { setOperator(op => op === 'OR' ? 'AND' : 'OR'); }; - const clearSearch = () => { - setSearchValue(''); - }; - const filteredUsers = useMemo(() => { return filterUsers(sortedUsers, searchValue, selectedTags, operator); }, [searchValue, selectedTags, operator]); @@ -86,26 +83,28 @@ export default function Showcase(): JSX.Element {
      -
      -
      - - + +
      +
      + + +
      -
      - {/* Tag buttons will be rendered inside ShowcaseFilters component */} -
      -
      + + +
      - - ); diff --git a/docs/static/img/plugins.png b/docs/static/img/plugins.png new file mode 100644 index 0000000000000000000000000000000000000000..5dcab04c7c25739b9a2e3a2499a62399a22f83f1 GIT binary patch literal 279304 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]-`Y624=`GKLfGB&Jp#_j=ZJzSUo~z1^^NvVx&` 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
      &rF=Kanm#Hp!+M& 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%0AZ%#BL(~MuNUF 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 $cwY5V&{Z+=6KpNy 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 NvZA^|ncRcG{|9}285RHl literal 0 HcmV?d00001 From 771d48af6e2900e91227ff3c83312fc3a3fa85c8 Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Tue, 4 Mar 2025 16:04:52 -0500 Subject: [PATCH 6/9] update api docs --- docs/api/classes/AgentRuntime.md | 14 +-- docs/api/classes/CacheManager.md | 2 +- docs/api/classes/DatabaseAdapter.md | 2 +- docs/api/classes/DbCacheAdapter.md | 2 +- docs/api/classes/FsCacheAdapter.md | 2 +- docs/api/classes/MemoryCacheAdapter.md | 2 +- docs/api/classes/MemoryManager.md | 2 +- docs/api/classes/RAGKnowledgeManager.md | 2 +- docs/api/classes/Service.md | 2 +- docs/api/enumerations/ActionTimelineType.md | 2 +- docs/api/enumerations/CacheKeyPrefix.md | 2 +- docs/api/enumerations/CacheStore.md | 2 +- docs/api/enumerations/GoalStatus.md | 2 +- docs/api/enumerations/IrysDataType.md | 2 +- docs/api/enumerations/IrysMessageType.md | 2 +- docs/api/enumerations/KnowledgeScope.md | 2 +- docs/api/enumerations/LoggingLevel.md | 2 +- docs/api/enumerations/ModelClass.md | 2 +- docs/api/enumerations/ModelProviderName.md | 2 +- docs/api/enumerations/ServiceType.md | 2 +- docs/api/enumerations/TokenizerType.md | 2 +- .../api/enumerations/TranscriptionProvider.md | 2 +- docs/api/functions/addHeader.md | 2 +- docs/api/functions/cleanJsonResponse.md | 2 +- docs/api/functions/composeActionExamples.md | 2 +- docs/api/functions/composeContext.md | 6 +- docs/api/functions/composeRandomUser.md | 2 +- docs/api/functions/configureSettings.md | 2 +- docs/api/functions/createGoal.md | 2 +- docs/api/functions/createRelationship.md | 2 +- docs/api/functions/embed.md | 2 +- docs/api/functions/extractAttributes.md | 2 +- docs/api/functions/findNearestEnvFile.md | 8 +- docs/api/functions/formatActionNames.md | 2 +- docs/api/functions/formatActions.md | 2 +- docs/api/functions/formatActors.md | 2 +- .../formatEvaluatorExampleDescriptions.md | 2 +- docs/api/functions/formatEvaluatorExamples.md | 2 +- docs/api/functions/formatEvaluatorNames.md | 2 +- docs/api/functions/formatEvaluators.md | 2 +- docs/api/functions/formatGoalsAsString.md | 2 +- docs/api/functions/formatMessages.md | 2 +- docs/api/functions/formatPosts.md | 2 +- docs/api/functions/formatRelationships.md | 2 +- docs/api/functions/formatTimestamp.md | 2 +- docs/api/functions/generateCaption.md | 4 +- docs/api/functions/generateImage.md | 4 +- docs/api/functions/generateMessageResponse.md | 4 +- docs/api/functions/generateObject.md | 4 +- docs/api/functions/generateObjectArray.md | 4 +- .../api/functions/generateObjectDeprecated.md | 4 +- docs/api/functions/generateShouldRespond.md | 4 +- docs/api/functions/generateText.md | 4 +- docs/api/functions/generateTextArray.md | 4 +- docs/api/functions/generateTrueOrFalse.md | 4 +- docs/api/functions/generateTweetActions.md | 4 +- docs/api/functions/getActorDetails.md | 2 +- docs/api/functions/getEmbeddingConfig.md | 2 +- .../functions/getEmbeddingModelSettings.md | 2 +- docs/api/functions/getEmbeddingType.md | 2 +- docs/api/functions/getEmbeddingZeroVector.md | 2 +- docs/api/functions/getEndpoint.md | 2 +- docs/api/functions/getEnvVariable.md | 2 +- docs/api/functions/getGoals.md | 2 +- docs/api/functions/getImageModelSettings.md | 2 +- docs/api/functions/getModelSettings.md | 2 +- docs/api/functions/getProviders.md | 2 +- docs/api/functions/getRelationship.md | 2 +- docs/api/functions/getRelationships.md | 2 +- docs/api/functions/handleProvider.md | 4 +- docs/api/functions/hasEnvVariable.md | 2 +- docs/api/functions/loadEnvConfig.md | 2 +- docs/api/functions/normalizeJsonString.md | 2 +- .../functions/parseActionResponseFromText.md | 2 +- docs/api/functions/parseBooleanFromText.md | 2 +- docs/api/functions/parseJSONObjectFromText.md | 2 +- docs/api/functions/parseJsonArrayFromText.md | 2 +- .../functions/parseShouldRespondFromText.md | 2 +- docs/api/functions/splitChunks.md | 4 +- docs/api/functions/splitText.md | 4 +- docs/api/functions/stringToUuid.md | 2 +- docs/api/functions/trimTokens.md | 6 +- .../functions/truncateToCompleteSentence.md | 2 +- docs/api/functions/updateGoal.md | 2 +- docs/api/functions/validateCharacterConfig.md | 2 +- docs/api/functions/validateEnv.md | 2 +- docs/api/functions/validateUuid.md | 2 +- docs/api/index.md | 2 +- docs/api/interfaces/Account.md | 2 +- docs/api/interfaces/Action.md | 2 +- docs/api/interfaces/ActionExample.md | 2 +- docs/api/interfaces/ActionResponse.md | 2 +- docs/api/interfaces/Actor.md | 2 +- docs/api/interfaces/ChunkRow.md | 2 +- docs/api/interfaces/Content.md | 2 +- docs/api/interfaces/ConversationExample.md | 2 +- docs/api/interfaces/DataIrysFetchedFromGQL.md | 2 +- docs/api/interfaces/DirectoryItem.md | 2 +- docs/api/interfaces/EvaluationExample.md | 2 +- docs/api/interfaces/Evaluator.md | 2 +- docs/api/interfaces/GenerationOptions.md | 22 ++-- docs/api/interfaces/Goal.md | 2 +- docs/api/interfaces/GraphQLTag.md | 2 +- docs/api/interfaces/IAgentConfig.md | 2 +- docs/api/interfaces/IAgentRuntime.md | 14 +-- docs/api/interfaces/IAwsS3Service.md | 2 +- docs/api/interfaces/IBrowserService.md | 2 +- docs/api/interfaces/ICacheAdapter.md | 2 +- docs/api/interfaces/ICacheManager.md | 2 +- docs/api/interfaces/IDatabaseAdapter.md | 2 +- docs/api/interfaces/IDatabaseCacheAdapter.md | 2 +- .../interfaces/IImageDescriptionService.md | 2 +- docs/api/interfaces/IIrysService.md | 2 +- docs/api/interfaces/IMemoryManager.md | 2 +- docs/api/interfaces/IPdfService.md | 2 +- docs/api/interfaces/IRAGKnowledgeManager.md | 2 +- docs/api/interfaces/ISlackService.md | 2 +- docs/api/interfaces/ISpeechService.md | 2 +- docs/api/interfaces/ITeeLogService.md | 2 +- docs/api/interfaces/ITextGenerationService.md | 2 +- docs/api/interfaces/ITranscriptionService.md | 2 +- docs/api/interfaces/IVideoService.md | 2 +- docs/api/interfaces/IrysTimestamp.md | 2 +- docs/api/interfaces/Memory.md | 2 +- docs/api/interfaces/MessageExample.md | 2 +- docs/api/interfaces/ModelConfiguration.md | 2 +- docs/api/interfaces/Objective.md | 2 +- docs/api/interfaces/Participant.md | 2 +- docs/api/interfaces/Provider.md | 2 +- docs/api/interfaces/RAGKnowledgeItem.md | 2 +- docs/api/interfaces/Relationship.md | 2 +- docs/api/interfaces/Room.md | 2 +- docs/api/interfaces/State.md | 2 +- .../interfaces/TwitterSpaceDecisionOptions.md | 2 +- docs/api/interfaces/UploadIrysResult.md | 2 +- docs/api/type-aliases/Adapter.md | 2 +- docs/api/type-aliases/CacheOptions.md | 2 +- docs/api/type-aliases/Character.md | 2 +- docs/api/type-aliases/CharacterConfig.md | 2 +- docs/api/type-aliases/Client.md | 2 +- docs/api/type-aliases/ClientInstance.md | 2 +- docs/api/type-aliases/EmbeddingConfig.md | 2 +- .../type-aliases/EmbeddingModelSettings.md | 2 +- .../api/type-aliases/EmbeddingProviderType.md | 2 +- docs/api/type-aliases/EnvConfig.md | 2 +- docs/api/type-aliases/Handler.md | 2 +- docs/api/type-aliases/HandlerCallback.md | 2 +- docs/api/type-aliases/ImageModelSettings.md | 2 +- docs/api/type-aliases/KnowledgeItem.md | 2 +- docs/api/type-aliases/Media.md | 2 +- docs/api/type-aliases/Model.md | 2 +- docs/api/type-aliases/ModelSettings.md | 2 +- docs/api/type-aliases/Models.md | 2 +- docs/api/type-aliases/Plugin.md | 2 +- docs/api/type-aliases/TelemetrySettings.md | 2 +- docs/api/type-aliases/TemplateType.md | 2 +- docs/api/type-aliases/UUID.md | 2 +- docs/api/type-aliases/Validator.md | 2 +- docs/api/variables/CharacterSchema.md | 100 +----------------- docs/api/variables/EmbeddingProvider.md | 2 +- docs/api/variables/booleanFooter.md | 2 +- docs/api/variables/elizaLogger.md | 4 +- docs/api/variables/envSchema.md | 36 +------ docs/api/variables/evaluationTemplate.md | 2 +- docs/api/variables/knowledge.md | 2 +- docs/api/variables/messageCompletionFooter.md | 2 +- docs/api/variables/models.md | 2 +- .../api/variables/postActionResponseFooter.md | 2 +- docs/api/variables/settings.md | 2 +- docs/api/variables/shouldRespondFooter.md | 2 +- docs/api/variables/stringArrayFooter.md | 4 +- docs/api/variables/uuidSchema.md | 4 +- 172 files changed, 210 insertions(+), 358 deletions(-) diff --git a/docs/api/classes/AgentRuntime.md b/docs/api/classes/AgentRuntime.md index c76a8265412..304b84ce78a 100644 --- a/docs/api/classes/AgentRuntime.md +++ b/docs/api/classes/AgentRuntime.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / AgentRuntime +[@elizaos/core v0.25.9](../index.md) / AgentRuntime # Class: AgentRuntime @@ -272,7 +272,7 @@ The model to use for describing images. ### fetch() -> **fetch**: (`input`, `init`?) => `Promise`\<`Response`\>(`input`, `init`?) => `Promise`\<`Response`\> +> **fetch**: (`input`, `init`?) => `Promise`\<`Response`\> Fetch function to use Some environments may not have access to the global fetch function and need a custom fetch override. @@ -289,16 +289,6 @@ Some environments may not have access to the global fetch function and need a cu `Promise`\<`Response`\> -#### Parameters - -• **input**: `string` \| `Request` \| `URL` - -• **init?**: `RequestInit` - -#### Returns - -`Promise`\<`Response`\> - #### Implementation of [`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`fetch`](../interfaces/IAgentRuntime.md#fetch) diff --git a/docs/api/classes/CacheManager.md b/docs/api/classes/CacheManager.md index 1d31f23288f..34a5207b109 100644 --- a/docs/api/classes/CacheManager.md +++ b/docs/api/classes/CacheManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheManager +[@elizaos/core v0.25.9](../index.md) / CacheManager # Class: CacheManager\ diff --git a/docs/api/classes/DatabaseAdapter.md b/docs/api/classes/DatabaseAdapter.md index 4fad4200e78..4bde908c166 100644 --- a/docs/api/classes/DatabaseAdapter.md +++ b/docs/api/classes/DatabaseAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DatabaseAdapter +[@elizaos/core v0.25.9](../index.md) / DatabaseAdapter # Class: `abstract` DatabaseAdapter\ diff --git a/docs/api/classes/DbCacheAdapter.md b/docs/api/classes/DbCacheAdapter.md index 0148c24d5e4..3fa0ca9ba43 100644 --- a/docs/api/classes/DbCacheAdapter.md +++ b/docs/api/classes/DbCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DbCacheAdapter +[@elizaos/core v0.25.9](../index.md) / DbCacheAdapter # Class: DbCacheAdapter diff --git a/docs/api/classes/FsCacheAdapter.md b/docs/api/classes/FsCacheAdapter.md index 7b1337745ef..516efde3398 100644 --- a/docs/api/classes/FsCacheAdapter.md +++ b/docs/api/classes/FsCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / FsCacheAdapter +[@elizaos/core v0.25.9](../index.md) / FsCacheAdapter # Class: FsCacheAdapter diff --git a/docs/api/classes/MemoryCacheAdapter.md b/docs/api/classes/MemoryCacheAdapter.md index e08eb037a14..a6fe6e86034 100644 --- a/docs/api/classes/MemoryCacheAdapter.md +++ b/docs/api/classes/MemoryCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MemoryCacheAdapter +[@elizaos/core v0.25.9](../index.md) / MemoryCacheAdapter # Class: MemoryCacheAdapter diff --git a/docs/api/classes/MemoryManager.md b/docs/api/classes/MemoryManager.md index 16eb73dc95f..cfa0bcb07eb 100644 --- a/docs/api/classes/MemoryManager.md +++ b/docs/api/classes/MemoryManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MemoryManager +[@elizaos/core v0.25.9](../index.md) / MemoryManager # Class: MemoryManager diff --git a/docs/api/classes/RAGKnowledgeManager.md b/docs/api/classes/RAGKnowledgeManager.md index 52e7d946e1a..267b8aa12d6 100644 --- a/docs/api/classes/RAGKnowledgeManager.md +++ b/docs/api/classes/RAGKnowledgeManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / RAGKnowledgeManager +[@elizaos/core v0.25.9](../index.md) / RAGKnowledgeManager # Class: RAGKnowledgeManager diff --git a/docs/api/classes/Service.md b/docs/api/classes/Service.md index 8eb4c46d6da..7a863e9f2db 100644 --- a/docs/api/classes/Service.md +++ b/docs/api/classes/Service.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Service +[@elizaos/core v0.25.9](../index.md) / Service # Class: `abstract` Service diff --git a/docs/api/enumerations/ActionTimelineType.md b/docs/api/enumerations/ActionTimelineType.md index fb0f6207a9e..b684a45cd40 100644 --- a/docs/api/enumerations/ActionTimelineType.md +++ b/docs/api/enumerations/ActionTimelineType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionTimelineType +[@elizaos/core v0.25.9](../index.md) / ActionTimelineType # Enumeration: ActionTimelineType diff --git a/docs/api/enumerations/CacheKeyPrefix.md b/docs/api/enumerations/CacheKeyPrefix.md index 04ef55796aa..fe32ee5f5a0 100644 --- a/docs/api/enumerations/CacheKeyPrefix.md +++ b/docs/api/enumerations/CacheKeyPrefix.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheKeyPrefix +[@elizaos/core v0.25.9](../index.md) / CacheKeyPrefix # Enumeration: CacheKeyPrefix diff --git a/docs/api/enumerations/CacheStore.md b/docs/api/enumerations/CacheStore.md index 8dc82eb0a26..90024e42b36 100644 --- a/docs/api/enumerations/CacheStore.md +++ b/docs/api/enumerations/CacheStore.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheStore +[@elizaos/core v0.25.9](../index.md) / CacheStore # Enumeration: CacheStore diff --git a/docs/api/enumerations/GoalStatus.md b/docs/api/enumerations/GoalStatus.md index 82b4e428540..60da9055e4e 100644 --- a/docs/api/enumerations/GoalStatus.md +++ b/docs/api/enumerations/GoalStatus.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GoalStatus +[@elizaos/core v0.25.9](../index.md) / GoalStatus # Enumeration: GoalStatus diff --git a/docs/api/enumerations/IrysDataType.md b/docs/api/enumerations/IrysDataType.md index cdd2b3d63f9..b4a873824e9 100644 --- a/docs/api/enumerations/IrysDataType.md +++ b/docs/api/enumerations/IrysDataType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysDataType +[@elizaos/core v0.25.9](../index.md) / IrysDataType # Enumeration: IrysDataType diff --git a/docs/api/enumerations/IrysMessageType.md b/docs/api/enumerations/IrysMessageType.md index 05d902f288e..3c6d18baa34 100644 --- a/docs/api/enumerations/IrysMessageType.md +++ b/docs/api/enumerations/IrysMessageType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysMessageType +[@elizaos/core v0.25.9](../index.md) / IrysMessageType # Enumeration: IrysMessageType diff --git a/docs/api/enumerations/KnowledgeScope.md b/docs/api/enumerations/KnowledgeScope.md index 8495fe7bbab..97d166ec8ea 100644 --- a/docs/api/enumerations/KnowledgeScope.md +++ b/docs/api/enumerations/KnowledgeScope.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / KnowledgeScope +[@elizaos/core v0.25.9](../index.md) / KnowledgeScope # Enumeration: KnowledgeScope diff --git a/docs/api/enumerations/LoggingLevel.md b/docs/api/enumerations/LoggingLevel.md index 2ebc8b32cb4..c31d0ef72a3 100644 --- a/docs/api/enumerations/LoggingLevel.md +++ b/docs/api/enumerations/LoggingLevel.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / LoggingLevel +[@elizaos/core v0.25.9](../index.md) / LoggingLevel # Enumeration: LoggingLevel diff --git a/docs/api/enumerations/ModelClass.md b/docs/api/enumerations/ModelClass.md index 6053978bc72..d2d629d6ef6 100644 --- a/docs/api/enumerations/ModelClass.md +++ b/docs/api/enumerations/ModelClass.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelClass +[@elizaos/core v0.25.9](../index.md) / ModelClass # Enumeration: ModelClass diff --git a/docs/api/enumerations/ModelProviderName.md b/docs/api/enumerations/ModelProviderName.md index 1f4334910e1..4a8b5acbdf1 100644 --- a/docs/api/enumerations/ModelProviderName.md +++ b/docs/api/enumerations/ModelProviderName.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelProviderName +[@elizaos/core v0.25.9](../index.md) / ModelProviderName # Enumeration: ModelProviderName diff --git a/docs/api/enumerations/ServiceType.md b/docs/api/enumerations/ServiceType.md index 6b27a8435ef..b872ac289b7 100644 --- a/docs/api/enumerations/ServiceType.md +++ b/docs/api/enumerations/ServiceType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ServiceType +[@elizaos/core v0.25.9](../index.md) / ServiceType # Enumeration: ServiceType diff --git a/docs/api/enumerations/TokenizerType.md b/docs/api/enumerations/TokenizerType.md index e6bb3b12b37..a76bddf3a8a 100644 --- a/docs/api/enumerations/TokenizerType.md +++ b/docs/api/enumerations/TokenizerType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TokenizerType +[@elizaos/core v0.25.9](../index.md) / TokenizerType # Enumeration: TokenizerType diff --git a/docs/api/enumerations/TranscriptionProvider.md b/docs/api/enumerations/TranscriptionProvider.md index 54feec67077..e766c337d1a 100644 --- a/docs/api/enumerations/TranscriptionProvider.md +++ b/docs/api/enumerations/TranscriptionProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TranscriptionProvider +[@elizaos/core v0.25.9](../index.md) / TranscriptionProvider # Enumeration: TranscriptionProvider diff --git a/docs/api/functions/addHeader.md b/docs/api/functions/addHeader.md index 2911250010b..209dad3f7bd 100644 --- a/docs/api/functions/addHeader.md +++ b/docs/api/functions/addHeader.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / addHeader +[@elizaos/core v0.25.9](../index.md) / addHeader # Function: addHeader() diff --git a/docs/api/functions/cleanJsonResponse.md b/docs/api/functions/cleanJsonResponse.md index 08367dcc38a..fa0a6cfd7e4 100644 --- a/docs/api/functions/cleanJsonResponse.md +++ b/docs/api/functions/cleanJsonResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / cleanJsonResponse +[@elizaos/core v0.25.9](../index.md) / cleanJsonResponse # Function: cleanJsonResponse() diff --git a/docs/api/functions/composeActionExamples.md b/docs/api/functions/composeActionExamples.md index 479ffde7cef..86486947248 100644 --- a/docs/api/functions/composeActionExamples.md +++ b/docs/api/functions/composeActionExamples.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / composeActionExamples +[@elizaos/core v0.25.9](../index.md) / composeActionExamples # Function: composeActionExamples() diff --git a/docs/api/functions/composeContext.md b/docs/api/functions/composeContext.md index 60f74fd3f17..f979ccf937d 100644 --- a/docs/api/functions/composeContext.md +++ b/docs/api/functions/composeContext.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / composeContext +[@elizaos/core v0.25.9](../index.md) / composeContext # Function: composeContext() -> **composeContext**(`params`): `string` +> **composeContext**(`params`): `any` Composes a context string by replacing placeholders in a template with corresponding values from the state. @@ -32,7 +32,7 @@ The templating engine to use for compiling and evaluating the template (optional ## Returns -`string` +`any` The composed context string with placeholders replaced by corresponding state values. diff --git a/docs/api/functions/composeRandomUser.md b/docs/api/functions/composeRandomUser.md index eb248a3eac5..0d643a9cc21 100644 --- a/docs/api/functions/composeRandomUser.md +++ b/docs/api/functions/composeRandomUser.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / composeRandomUser +[@elizaos/core v0.25.9](../index.md) / composeRandomUser # Function: composeRandomUser() diff --git a/docs/api/functions/configureSettings.md b/docs/api/functions/configureSettings.md index 87f3a00abb5..17bc9d1e314 100644 --- a/docs/api/functions/configureSettings.md +++ b/docs/api/functions/configureSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / configureSettings +[@elizaos/core v0.25.9](../index.md) / configureSettings # Function: configureSettings() diff --git a/docs/api/functions/createGoal.md b/docs/api/functions/createGoal.md index 8d71860fbd8..2c0d569971a 100644 --- a/docs/api/functions/createGoal.md +++ b/docs/api/functions/createGoal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / createGoal +[@elizaos/core v0.25.9](../index.md) / createGoal # Function: createGoal() diff --git a/docs/api/functions/createRelationship.md b/docs/api/functions/createRelationship.md index 05970a06e59..3690bf723a1 100644 --- a/docs/api/functions/createRelationship.md +++ b/docs/api/functions/createRelationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / createRelationship +[@elizaos/core v0.25.9](../index.md) / createRelationship # Function: createRelationship() diff --git a/docs/api/functions/embed.md b/docs/api/functions/embed.md index c0c7bcb10ca..5cab0baf5eb 100644 --- a/docs/api/functions/embed.md +++ b/docs/api/functions/embed.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / embed +[@elizaos/core v0.25.9](../index.md) / embed # Function: embed() diff --git a/docs/api/functions/extractAttributes.md b/docs/api/functions/extractAttributes.md index c38120c00e6..ecd8d43d857 100644 --- a/docs/api/functions/extractAttributes.md +++ b/docs/api/functions/extractAttributes.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / extractAttributes +[@elizaos/core v0.25.9](../index.md) / extractAttributes # Function: extractAttributes() diff --git a/docs/api/functions/findNearestEnvFile.md b/docs/api/functions/findNearestEnvFile.md index 0f3ce65894f..9e3648182f8 100644 --- a/docs/api/functions/findNearestEnvFile.md +++ b/docs/api/functions/findNearestEnvFile.md @@ -1,21 +1,21 @@ -[@elizaos/core v0.25.8](../index.md) / findNearestEnvFile +[@elizaos/core v0.25.9](../index.md) / findNearestEnvFile # Function: findNearestEnvFile() -> **findNearestEnvFile**(`startDir`?): `string` +> **findNearestEnvFile**(`startDir`?): `any` Recursively searches for a .env file starting from the current directory and moving up through parent directories (Node.js only) ## Parameters -• **startDir?**: `string` = `...` +• **startDir?**: `any` = `...` Starting directory for the search ## Returns -`string` +`any` Path to the nearest .env file or null if not found diff --git a/docs/api/functions/formatActionNames.md b/docs/api/functions/formatActionNames.md index 9e5d3074c39..b88051ac736 100644 --- a/docs/api/functions/formatActionNames.md +++ b/docs/api/functions/formatActionNames.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActionNames +[@elizaos/core v0.25.9](../index.md) / formatActionNames # Function: formatActionNames() diff --git a/docs/api/functions/formatActions.md b/docs/api/functions/formatActions.md index a333e10cd21..8886b0872fd 100644 --- a/docs/api/functions/formatActions.md +++ b/docs/api/functions/formatActions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActions +[@elizaos/core v0.25.9](../index.md) / formatActions # Function: formatActions() diff --git a/docs/api/functions/formatActors.md b/docs/api/functions/formatActors.md index 80dc3167d65..f88f499b8d9 100644 --- a/docs/api/functions/formatActors.md +++ b/docs/api/functions/formatActors.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActors +[@elizaos/core v0.25.9](../index.md) / formatActors # Function: formatActors() diff --git a/docs/api/functions/formatEvaluatorExampleDescriptions.md b/docs/api/functions/formatEvaluatorExampleDescriptions.md index 43b3b840b07..fbf9d8f0e06 100644 --- a/docs/api/functions/formatEvaluatorExampleDescriptions.md +++ b/docs/api/functions/formatEvaluatorExampleDescriptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorExampleDescriptions +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorExampleDescriptions # Function: formatEvaluatorExampleDescriptions() diff --git a/docs/api/functions/formatEvaluatorExamples.md b/docs/api/functions/formatEvaluatorExamples.md index 65546d99d9c..b0ecee640ad 100644 --- a/docs/api/functions/formatEvaluatorExamples.md +++ b/docs/api/functions/formatEvaluatorExamples.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorExamples +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorExamples # Function: formatEvaluatorExamples() diff --git a/docs/api/functions/formatEvaluatorNames.md b/docs/api/functions/formatEvaluatorNames.md index 596530e98d2..1e16c4cf6a2 100644 --- a/docs/api/functions/formatEvaluatorNames.md +++ b/docs/api/functions/formatEvaluatorNames.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorNames +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorNames # Function: formatEvaluatorNames() diff --git a/docs/api/functions/formatEvaluators.md b/docs/api/functions/formatEvaluators.md index d86caf01c12..6941457b2d7 100644 --- a/docs/api/functions/formatEvaluators.md +++ b/docs/api/functions/formatEvaluators.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluators +[@elizaos/core v0.25.9](../index.md) / formatEvaluators # Function: formatEvaluators() diff --git a/docs/api/functions/formatGoalsAsString.md b/docs/api/functions/formatGoalsAsString.md index fa0a692cd5b..817431fe535 100644 --- a/docs/api/functions/formatGoalsAsString.md +++ b/docs/api/functions/formatGoalsAsString.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatGoalsAsString +[@elizaos/core v0.25.9](../index.md) / formatGoalsAsString # Function: formatGoalsAsString() diff --git a/docs/api/functions/formatMessages.md b/docs/api/functions/formatMessages.md index e94c2292421..5d9812cd476 100644 --- a/docs/api/functions/formatMessages.md +++ b/docs/api/functions/formatMessages.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatMessages +[@elizaos/core v0.25.9](../index.md) / formatMessages # Function: formatMessages() diff --git a/docs/api/functions/formatPosts.md b/docs/api/functions/formatPosts.md index 7208791f409..671455a0afa 100644 --- a/docs/api/functions/formatPosts.md +++ b/docs/api/functions/formatPosts.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatPosts +[@elizaos/core v0.25.9](../index.md) / formatPosts # Function: formatPosts() diff --git a/docs/api/functions/formatRelationships.md b/docs/api/functions/formatRelationships.md index 1142090598b..bf2c6aabb3d 100644 --- a/docs/api/functions/formatRelationships.md +++ b/docs/api/functions/formatRelationships.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatRelationships +[@elizaos/core v0.25.9](../index.md) / formatRelationships # Function: formatRelationships() diff --git a/docs/api/functions/formatTimestamp.md b/docs/api/functions/formatTimestamp.md index cfbbc11b8a5..ee82eb8b089 100644 --- a/docs/api/functions/formatTimestamp.md +++ b/docs/api/functions/formatTimestamp.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatTimestamp +[@elizaos/core v0.25.9](../index.md) / formatTimestamp # Function: formatTimestamp() diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md index 29732598353..d57136275be 100644 --- a/docs/api/functions/generateCaption.md +++ b/docs/api/functions/generateCaption.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateCaption +[@elizaos/core v0.25.9](../index.md) / generateCaption # Function: generateCaption() @@ -26,4 +26,4 @@ ## Defined in -[packages/core/src/generation.ts:2103](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2103) +[packages/core/src/generation.ts:2148](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2148) diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md index df6e4414917..4b1d47d667a 100644 --- a/docs/api/functions/generateImage.md +++ b/docs/api/functions/generateImage.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateImage +[@elizaos/core v0.25.9](../index.md) / generateImage # Function: generateImage() @@ -56,4 +56,4 @@ ## Defined in -[packages/core/src/generation.ts:1704](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1704) +[packages/core/src/generation.ts:1737](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1737) diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md index ff602646488..0b2e2d8a9c6 100644 --- a/docs/api/functions/generateMessageResponse.md +++ b/docs/api/functions/generateMessageResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateMessageResponse +[@elizaos/core v0.25.9](../index.md) / generateMessageResponse # Function: generateMessageResponse() @@ -28,4 +28,4 @@ The completed message. ## Defined in -[packages/core/src/generation.ts:1661](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1661) +[packages/core/src/generation.ts:1694](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1694) diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md index b81cb61aeaf..e45e795c3a8 100644 --- a/docs/api/functions/generateObject.md +++ b/docs/api/functions/generateObject.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObject +[@elizaos/core v0.25.9](../index.md) / generateObject # Function: generateObject() @@ -24,4 +24,4 @@ Configuration options for generating objects. ## Defined in -[packages/core/src/generation.ts:2165](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2165) +[packages/core/src/generation.ts:2210](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2210) diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md index 16ea987910a..03eb87d0faf 100644 --- a/docs/api/functions/generateObjectArray.md +++ b/docs/api/functions/generateObjectArray.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObjectArray +[@elizaos/core v0.25.9](../index.md) / generateObjectArray # Function: generateObjectArray() @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1613](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1613) +[packages/core/src/generation.ts:1646](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1646) diff --git a/docs/api/functions/generateObjectDeprecated.md b/docs/api/functions/generateObjectDeprecated.md index d0d03e1611a..a084ad4e23f 100644 --- a/docs/api/functions/generateObjectDeprecated.md +++ b/docs/api/functions/generateObjectDeprecated.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObjectDeprecated +[@elizaos/core v0.25.9](../index.md) / generateObjectDeprecated # Function: generateObjectDeprecated() @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1577](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1577) +[packages/core/src/generation.ts:1610](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1610) diff --git a/docs/api/functions/generateShouldRespond.md b/docs/api/functions/generateShouldRespond.md index 2e37004edb5..09793d2918a 100644 --- a/docs/api/functions/generateShouldRespond.md +++ b/docs/api/functions/generateShouldRespond.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateShouldRespond +[@elizaos/core v0.25.9](../index.md) / generateShouldRespond # Function: generateShouldRespond() @@ -28,4 +28,4 @@ Promise resolving to "RESPOND", "IGNORE", "STOP" or null ## Defined in -[packages/core/src/generation.ts:1388](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1388) +[packages/core/src/generation.ts:1392](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1392) diff --git a/docs/api/functions/generateText.md b/docs/api/functions/generateText.md index 075c2f91c83..1fb518a9908 100644 --- a/docs/api/functions/generateText.md +++ b/docs/api/functions/generateText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateText +[@elizaos/core v0.25.9](../index.md) / generateText # Function: generateText() @@ -20,7 +20,7 @@ The context of the message to be completed. • **opts.modelClass**: [`ModelClass`](../enumerations/ModelClass.md) -• **opts.tools?**: `Record`\<`string`, `Tool`\> = `{}` +• **opts.tools?**: `Record`\<`string`, `CoreTool`\<`any`, `any`\>\> = `{}` • **opts.onStepFinish?** diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md index 2eacf759aae..6613498b2f1 100644 --- a/docs/api/functions/generateTextArray.md +++ b/docs/api/functions/generateTextArray.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTextArray +[@elizaos/core v0.25.9](../index.md) / generateTextArray # Function: generateTextArray() @@ -28,4 +28,4 @@ Promise resolving to an array of strings parsed from the model's response ## Defined in -[packages/core/src/generation.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1541) +[packages/core/src/generation.ts:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1574) diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md index 625bb3989b7..fc39db664af 100644 --- a/docs/api/functions/generateTrueOrFalse.md +++ b/docs/api/functions/generateTrueOrFalse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTrueOrFalse +[@elizaos/core v0.25.9](../index.md) / generateTrueOrFalse # Function: generateTrueOrFalse() @@ -28,4 +28,4 @@ Promise resolving to a boolean value parsed from the model's response ## Defined in -[packages/core/src/generation.ts:1489](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1489) +[packages/core/src/generation.ts:1522](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1522) diff --git a/docs/api/functions/generateTweetActions.md b/docs/api/functions/generateTweetActions.md index 5c875d8cd62..aeedd5178dc 100644 --- a/docs/api/functions/generateTweetActions.md +++ b/docs/api/functions/generateTweetActions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTweetActions +[@elizaos/core v0.25.9](../index.md) / generateTweetActions # Function: generateTweetActions() @@ -22,4 +22,4 @@ doesn't belong here ## Defined in -[packages/core/src/generation.ts:2757](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2757) +[packages/core/src/generation.ts:2802](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2802) diff --git a/docs/api/functions/getActorDetails.md b/docs/api/functions/getActorDetails.md index b9ae46a62ca..54512389b58 100644 --- a/docs/api/functions/getActorDetails.md +++ b/docs/api/functions/getActorDetails.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getActorDetails +[@elizaos/core v0.25.9](../index.md) / getActorDetails # Function: getActorDetails() diff --git a/docs/api/functions/getEmbeddingConfig.md b/docs/api/functions/getEmbeddingConfig.md index 1bc3d2ee4e7..708f0c1f851 100644 --- a/docs/api/functions/getEmbeddingConfig.md +++ b/docs/api/functions/getEmbeddingConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingConfig +[@elizaos/core v0.25.9](../index.md) / getEmbeddingConfig # Function: getEmbeddingConfig() diff --git a/docs/api/functions/getEmbeddingModelSettings.md b/docs/api/functions/getEmbeddingModelSettings.md index 484fecc4905..a4e4a82e888 100644 --- a/docs/api/functions/getEmbeddingModelSettings.md +++ b/docs/api/functions/getEmbeddingModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingModelSettings +[@elizaos/core v0.25.9](../index.md) / getEmbeddingModelSettings # Function: getEmbeddingModelSettings() diff --git a/docs/api/functions/getEmbeddingType.md b/docs/api/functions/getEmbeddingType.md index 6e008ffcdf5..17ef2c1a07f 100644 --- a/docs/api/functions/getEmbeddingType.md +++ b/docs/api/functions/getEmbeddingType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingType +[@elizaos/core v0.25.9](../index.md) / getEmbeddingType # Function: getEmbeddingType() diff --git a/docs/api/functions/getEmbeddingZeroVector.md b/docs/api/functions/getEmbeddingZeroVector.md index b8ea25855bf..ddb3687ec92 100644 --- a/docs/api/functions/getEmbeddingZeroVector.md +++ b/docs/api/functions/getEmbeddingZeroVector.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingZeroVector +[@elizaos/core v0.25.9](../index.md) / getEmbeddingZeroVector # Function: getEmbeddingZeroVector() diff --git a/docs/api/functions/getEndpoint.md b/docs/api/functions/getEndpoint.md index e8b12a9dbad..e6905d7d2b8 100644 --- a/docs/api/functions/getEndpoint.md +++ b/docs/api/functions/getEndpoint.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEndpoint +[@elizaos/core v0.25.9](../index.md) / getEndpoint # Function: getEndpoint() diff --git a/docs/api/functions/getEnvVariable.md b/docs/api/functions/getEnvVariable.md index 412c92f1126..5c6bb2684f6 100644 --- a/docs/api/functions/getEnvVariable.md +++ b/docs/api/functions/getEnvVariable.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEnvVariable +[@elizaos/core v0.25.9](../index.md) / getEnvVariable # Function: getEnvVariable() diff --git a/docs/api/functions/getGoals.md b/docs/api/functions/getGoals.md index 77768684c67..2bf9ff3f387 100644 --- a/docs/api/functions/getGoals.md +++ b/docs/api/functions/getGoals.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getGoals +[@elizaos/core v0.25.9](../index.md) / getGoals # Function: getGoals() diff --git a/docs/api/functions/getImageModelSettings.md b/docs/api/functions/getImageModelSettings.md index 9970b6e8389..a55cfb9175f 100644 --- a/docs/api/functions/getImageModelSettings.md +++ b/docs/api/functions/getImageModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getImageModelSettings +[@elizaos/core v0.25.9](../index.md) / getImageModelSettings # Function: getImageModelSettings() diff --git a/docs/api/functions/getModelSettings.md b/docs/api/functions/getModelSettings.md index d8404d859d9..741e5396158 100644 --- a/docs/api/functions/getModelSettings.md +++ b/docs/api/functions/getModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getModelSettings +[@elizaos/core v0.25.9](../index.md) / getModelSettings # Function: getModelSettings() diff --git a/docs/api/functions/getProviders.md b/docs/api/functions/getProviders.md index 4986211ed94..298086b8cdd 100644 --- a/docs/api/functions/getProviders.md +++ b/docs/api/functions/getProviders.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getProviders +[@elizaos/core v0.25.9](../index.md) / getProviders # Function: getProviders() diff --git a/docs/api/functions/getRelationship.md b/docs/api/functions/getRelationship.md index d9f7076505e..194cc9e9e4f 100644 --- a/docs/api/functions/getRelationship.md +++ b/docs/api/functions/getRelationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getRelationship +[@elizaos/core v0.25.9](../index.md) / getRelationship # Function: getRelationship() diff --git a/docs/api/functions/getRelationships.md b/docs/api/functions/getRelationships.md index de136f319f1..46c87394f96 100644 --- a/docs/api/functions/getRelationships.md +++ b/docs/api/functions/getRelationships.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getRelationships +[@elizaos/core v0.25.9](../index.md) / getRelationships # Function: getRelationships() diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md index b9a12e7e458..15d1a4ec66f 100644 --- a/docs/api/functions/handleProvider.md +++ b/docs/api/functions/handleProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / handleProvider +[@elizaos/core v0.25.9](../index.md) / handleProvider # Function: handleProvider() @@ -20,4 +20,4 @@ Configuration options specific to the provider. ## Defined in -[packages/core/src/generation.ts:2238](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2238) +[packages/core/src/generation.ts:2283](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2283) diff --git a/docs/api/functions/hasEnvVariable.md b/docs/api/functions/hasEnvVariable.md index 33178688bf0..412802eed47 100644 --- a/docs/api/functions/hasEnvVariable.md +++ b/docs/api/functions/hasEnvVariable.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / hasEnvVariable +[@elizaos/core v0.25.9](../index.md) / hasEnvVariable # Function: hasEnvVariable() diff --git a/docs/api/functions/loadEnvConfig.md b/docs/api/functions/loadEnvConfig.md index a56ba64542f..ecf8a9f4af0 100644 --- a/docs/api/functions/loadEnvConfig.md +++ b/docs/api/functions/loadEnvConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / loadEnvConfig +[@elizaos/core v0.25.9](../index.md) / loadEnvConfig # Function: loadEnvConfig() diff --git a/docs/api/functions/normalizeJsonString.md b/docs/api/functions/normalizeJsonString.md index 16a7868342d..6ba32218df0 100644 --- a/docs/api/functions/normalizeJsonString.md +++ b/docs/api/functions/normalizeJsonString.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / normalizeJsonString +[@elizaos/core v0.25.9](../index.md) / normalizeJsonString # Function: normalizeJsonString() diff --git a/docs/api/functions/parseActionResponseFromText.md b/docs/api/functions/parseActionResponseFromText.md index cee668526f9..d114ee77d38 100644 --- a/docs/api/functions/parseActionResponseFromText.md +++ b/docs/api/functions/parseActionResponseFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseActionResponseFromText +[@elizaos/core v0.25.9](../index.md) / parseActionResponseFromText # Function: parseActionResponseFromText() diff --git a/docs/api/functions/parseBooleanFromText.md b/docs/api/functions/parseBooleanFromText.md index 806d8987a1f..f212847a9c4 100644 --- a/docs/api/functions/parseBooleanFromText.md +++ b/docs/api/functions/parseBooleanFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseBooleanFromText +[@elizaos/core v0.25.9](../index.md) / parseBooleanFromText # Function: parseBooleanFromText() diff --git a/docs/api/functions/parseJSONObjectFromText.md b/docs/api/functions/parseJSONObjectFromText.md index cf6fe13f864..71e96a23254 100644 --- a/docs/api/functions/parseJSONObjectFromText.md +++ b/docs/api/functions/parseJSONObjectFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseJSONObjectFromText +[@elizaos/core v0.25.9](../index.md) / parseJSONObjectFromText # Function: parseJSONObjectFromText() diff --git a/docs/api/functions/parseJsonArrayFromText.md b/docs/api/functions/parseJsonArrayFromText.md index 7f5d9c390ba..8915df893a4 100644 --- a/docs/api/functions/parseJsonArrayFromText.md +++ b/docs/api/functions/parseJsonArrayFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseJsonArrayFromText +[@elizaos/core v0.25.9](../index.md) / parseJsonArrayFromText # Function: parseJsonArrayFromText() diff --git a/docs/api/functions/parseShouldRespondFromText.md b/docs/api/functions/parseShouldRespondFromText.md index 4ed1525b88e..30da0126a34 100644 --- a/docs/api/functions/parseShouldRespondFromText.md +++ b/docs/api/functions/parseShouldRespondFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseShouldRespondFromText +[@elizaos/core v0.25.9](../index.md) / parseShouldRespondFromText # Function: parseShouldRespondFromText() diff --git a/docs/api/functions/splitChunks.md b/docs/api/functions/splitChunks.md index 0127fcd706f..684ddb04f2b 100644 --- a/docs/api/functions/splitChunks.md +++ b/docs/api/functions/splitChunks.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / splitChunks +[@elizaos/core v0.25.9](../index.md) / splitChunks # Function: splitChunks() @@ -28,4 +28,4 @@ Promise resolving to array of text chunks with bleed sections ## Defined in -[packages/core/src/generation.ts:1443](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1443) +[packages/core/src/generation.ts:1447](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1447) diff --git a/docs/api/functions/splitText.md b/docs/api/functions/splitText.md index 4bf236df667..fd8d1fd2c30 100644 --- a/docs/api/functions/splitText.md +++ b/docs/api/functions/splitText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / splitText +[@elizaos/core v0.25.9](../index.md) / splitText # Function: splitText() @@ -18,4 +18,4 @@ ## Defined in -[packages/core/src/generation.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1462) +[packages/core/src/generation.ts:1486](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1486) diff --git a/docs/api/functions/stringToUuid.md b/docs/api/functions/stringToUuid.md index 4d3c4608674..86b5a6e91ff 100644 --- a/docs/api/functions/stringToUuid.md +++ b/docs/api/functions/stringToUuid.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / stringToUuid +[@elizaos/core v0.25.9](../index.md) / stringToUuid # Function: stringToUuid() diff --git a/docs/api/functions/trimTokens.md b/docs/api/functions/trimTokens.md index dbaab12142b..6e50ae193e3 100644 --- a/docs/api/functions/trimTokens.md +++ b/docs/api/functions/trimTokens.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / trimTokens +[@elizaos/core v0.25.9](../index.md) / trimTokens # Function: trimTokens() -> **trimTokens**(`context`, `maxTokens`, `runtime`): `Promise`\<`string`\> +> **trimTokens**(`context`, `maxTokens`, `runtime`): `Promise`\<`any`\> Trims the provided text context to a specified token limit using a tokenizer model and type. @@ -26,7 +26,7 @@ The runtime interface providing tokenizer settings. ## Returns -`Promise`\<`string`\> +`Promise`\<`any`\> A promise that resolves to the trimmed text. diff --git a/docs/api/functions/truncateToCompleteSentence.md b/docs/api/functions/truncateToCompleteSentence.md index 7dc14edc08f..1c418d0ac93 100644 --- a/docs/api/functions/truncateToCompleteSentence.md +++ b/docs/api/functions/truncateToCompleteSentence.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / truncateToCompleteSentence +[@elizaos/core v0.25.9](../index.md) / truncateToCompleteSentence # Function: truncateToCompleteSentence() diff --git a/docs/api/functions/updateGoal.md b/docs/api/functions/updateGoal.md index 6ea60874e63..139244f388a 100644 --- a/docs/api/functions/updateGoal.md +++ b/docs/api/functions/updateGoal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / updateGoal +[@elizaos/core v0.25.9](../index.md) / updateGoal # Function: updateGoal() diff --git a/docs/api/functions/validateCharacterConfig.md b/docs/api/functions/validateCharacterConfig.md index 5676699ede7..8c8cb4ba317 100644 --- a/docs/api/functions/validateCharacterConfig.md +++ b/docs/api/functions/validateCharacterConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateCharacterConfig +[@elizaos/core v0.25.9](../index.md) / validateCharacterConfig # Function: validateCharacterConfig() diff --git a/docs/api/functions/validateEnv.md b/docs/api/functions/validateEnv.md index e5de71051f3..111436f71b1 100644 --- a/docs/api/functions/validateEnv.md +++ b/docs/api/functions/validateEnv.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateEnv +[@elizaos/core v0.25.9](../index.md) / validateEnv # Function: validateEnv() diff --git a/docs/api/functions/validateUuid.md b/docs/api/functions/validateUuid.md index 001cb29a87c..002f07c9cc4 100644 --- a/docs/api/functions/validateUuid.md +++ b/docs/api/functions/validateUuid.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateUuid +[@elizaos/core v0.25.9](../index.md) / validateUuid # Function: validateUuid() diff --git a/docs/api/index.md b/docs/api/index.md index b708224b511..4aa4de07dbe 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -1,4 +1,4 @@ -# @elizaos/core v0.25.8 +# @elizaos/core v0.25.9 ## Enumerations diff --git a/docs/api/interfaces/Account.md b/docs/api/interfaces/Account.md index e703a625d23..7da9cd31388 100644 --- a/docs/api/interfaces/Account.md +++ b/docs/api/interfaces/Account.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Account +[@elizaos/core v0.25.9](../index.md) / Account # Interface: Account diff --git a/docs/api/interfaces/Action.md b/docs/api/interfaces/Action.md index 70a6b6eff6f..b33cd7cae42 100644 --- a/docs/api/interfaces/Action.md +++ b/docs/api/interfaces/Action.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Action +[@elizaos/core v0.25.9](../index.md) / Action # Interface: Action diff --git a/docs/api/interfaces/ActionExample.md b/docs/api/interfaces/ActionExample.md index 3ea0b843d12..6c030647e3e 100644 --- a/docs/api/interfaces/ActionExample.md +++ b/docs/api/interfaces/ActionExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionExample +[@elizaos/core v0.25.9](../index.md) / ActionExample # Interface: ActionExample diff --git a/docs/api/interfaces/ActionResponse.md b/docs/api/interfaces/ActionResponse.md index 2409b8ad22f..f4a393c39c7 100644 --- a/docs/api/interfaces/ActionResponse.md +++ b/docs/api/interfaces/ActionResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionResponse +[@elizaos/core v0.25.9](../index.md) / ActionResponse # Interface: ActionResponse diff --git a/docs/api/interfaces/Actor.md b/docs/api/interfaces/Actor.md index cb8d0159f36..e2588637258 100644 --- a/docs/api/interfaces/Actor.md +++ b/docs/api/interfaces/Actor.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Actor +[@elizaos/core v0.25.9](../index.md) / Actor # Interface: Actor diff --git a/docs/api/interfaces/ChunkRow.md b/docs/api/interfaces/ChunkRow.md index 8cf2f54f080..115d98d0897 100644 --- a/docs/api/interfaces/ChunkRow.md +++ b/docs/api/interfaces/ChunkRow.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ChunkRow +[@elizaos/core v0.25.9](../index.md) / ChunkRow # Interface: ChunkRow diff --git a/docs/api/interfaces/Content.md b/docs/api/interfaces/Content.md index 48ba56a92d7..28731773833 100644 --- a/docs/api/interfaces/Content.md +++ b/docs/api/interfaces/Content.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Content +[@elizaos/core v0.25.9](../index.md) / Content # Interface: Content diff --git a/docs/api/interfaces/ConversationExample.md b/docs/api/interfaces/ConversationExample.md index 13c761b7975..ecddda2e95e 100644 --- a/docs/api/interfaces/ConversationExample.md +++ b/docs/api/interfaces/ConversationExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ConversationExample +[@elizaos/core v0.25.9](../index.md) / ConversationExample # Interface: ConversationExample diff --git a/docs/api/interfaces/DataIrysFetchedFromGQL.md b/docs/api/interfaces/DataIrysFetchedFromGQL.md index 1421bc4beda..5224486270b 100644 --- a/docs/api/interfaces/DataIrysFetchedFromGQL.md +++ b/docs/api/interfaces/DataIrysFetchedFromGQL.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DataIrysFetchedFromGQL +[@elizaos/core v0.25.9](../index.md) / DataIrysFetchedFromGQL # Interface: DataIrysFetchedFromGQL diff --git a/docs/api/interfaces/DirectoryItem.md b/docs/api/interfaces/DirectoryItem.md index e42a4798956..27835a721ea 100644 --- a/docs/api/interfaces/DirectoryItem.md +++ b/docs/api/interfaces/DirectoryItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DirectoryItem +[@elizaos/core v0.25.9](../index.md) / DirectoryItem # Interface: DirectoryItem diff --git a/docs/api/interfaces/EvaluationExample.md b/docs/api/interfaces/EvaluationExample.md index 78009451f1c..b157133ec34 100644 --- a/docs/api/interfaces/EvaluationExample.md +++ b/docs/api/interfaces/EvaluationExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EvaluationExample +[@elizaos/core v0.25.9](../index.md) / EvaluationExample # Interface: EvaluationExample diff --git a/docs/api/interfaces/Evaluator.md b/docs/api/interfaces/Evaluator.md index a060dfd4061..01bdedc9489 100644 --- a/docs/api/interfaces/Evaluator.md +++ b/docs/api/interfaces/Evaluator.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Evaluator +[@elizaos/core v0.25.9](../index.md) / Evaluator # Interface: Evaluator diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md index e62008b9c91..4bf29958591 100644 --- a/docs/api/interfaces/GenerationOptions.md +++ b/docs/api/interfaces/GenerationOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GenerationOptions +[@elizaos/core v0.25.9](../index.md) / GenerationOptions # Interface: GenerationOptions @@ -12,7 +12,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2131](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2131) +[packages/core/src/generation.ts:2176](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2176) *** @@ -22,7 +22,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2132](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2132) +[packages/core/src/generation.ts:2177](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2177) *** @@ -32,17 +32,17 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2133](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2133) +[packages/core/src/generation.ts:2178](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2178) *** ### schema? -> `optional` **schema**: `ZodType`\<`any`, `ZodTypeDef`, `any`\> +> `optional` **schema**: `ZodSchema` #### Defined in -[packages/core/src/generation.ts:2134](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2134) +[packages/core/src/generation.ts:2179](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2179) *** @@ -52,7 +52,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2135](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2135) +[packages/core/src/generation.ts:2180](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2180) *** @@ -62,7 +62,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2136](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2136) +[packages/core/src/generation.ts:2181](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2181) *** @@ -72,7 +72,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2137](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2137) +[packages/core/src/generation.ts:2182](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2182) *** @@ -82,7 +82,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2138](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2138) +[packages/core/src/generation.ts:2183](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2183) *** @@ -92,4 +92,4 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2139](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2139) +[packages/core/src/generation.ts:2184](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2184) diff --git a/docs/api/interfaces/Goal.md b/docs/api/interfaces/Goal.md index 82076da4425..44746a96fee 100644 --- a/docs/api/interfaces/Goal.md +++ b/docs/api/interfaces/Goal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Goal +[@elizaos/core v0.25.9](../index.md) / Goal # Interface: Goal diff --git a/docs/api/interfaces/GraphQLTag.md b/docs/api/interfaces/GraphQLTag.md index cba202a7a9b..fd6670c74e9 100644 --- a/docs/api/interfaces/GraphQLTag.md +++ b/docs/api/interfaces/GraphQLTag.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GraphQLTag +[@elizaos/core v0.25.9](../index.md) / GraphQLTag # Interface: GraphQLTag diff --git a/docs/api/interfaces/IAgentConfig.md b/docs/api/interfaces/IAgentConfig.md index c37179c6c0b..78647f912ae 100644 --- a/docs/api/interfaces/IAgentConfig.md +++ b/docs/api/interfaces/IAgentConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAgentConfig +[@elizaos/core v0.25.9](../index.md) / IAgentConfig # Interface: IAgentConfig diff --git a/docs/api/interfaces/IAgentRuntime.md b/docs/api/interfaces/IAgentRuntime.md index 01811de4500..19fbc72723d 100644 --- a/docs/api/interfaces/IAgentRuntime.md +++ b/docs/api/interfaces/IAgentRuntime.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAgentRuntime +[@elizaos/core v0.25.9](../index.md) / IAgentRuntime # Interface: IAgentRuntime @@ -128,7 +128,7 @@ Properties ### fetch()? -> `optional` **fetch**: (`input`, `init`?) => `Promise`\<`Response`\>(`input`, `init`?) => `Promise`\<`Response`\> +> `optional` **fetch**: (`input`, `init`?) => `Promise`\<`Response`\> [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) @@ -142,16 +142,6 @@ Properties `Promise`\<`Response`\> -#### Parameters - -• **input**: `string` \| `Request` \| `URL` - -• **init?**: `RequestInit` - -#### Returns - -`Promise`\<`Response`\> - #### Defined in [packages/core/src/types.ts:1302](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1302) diff --git a/docs/api/interfaces/IAwsS3Service.md b/docs/api/interfaces/IAwsS3Service.md index a07b9959921..811be0ec3dd 100644 --- a/docs/api/interfaces/IAwsS3Service.md +++ b/docs/api/interfaces/IAwsS3Service.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAwsS3Service +[@elizaos/core v0.25.9](../index.md) / IAwsS3Service # Interface: IAwsS3Service diff --git a/docs/api/interfaces/IBrowserService.md b/docs/api/interfaces/IBrowserService.md index 82c763624e4..06cc2a53d63 100644 --- a/docs/api/interfaces/IBrowserService.md +++ b/docs/api/interfaces/IBrowserService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IBrowserService +[@elizaos/core v0.25.9](../index.md) / IBrowserService # Interface: IBrowserService diff --git a/docs/api/interfaces/ICacheAdapter.md b/docs/api/interfaces/ICacheAdapter.md index 6fb6d82553d..5dfdf7253b9 100644 --- a/docs/api/interfaces/ICacheAdapter.md +++ b/docs/api/interfaces/ICacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ICacheAdapter +[@elizaos/core v0.25.9](../index.md) / ICacheAdapter # Interface: ICacheAdapter diff --git a/docs/api/interfaces/ICacheManager.md b/docs/api/interfaces/ICacheManager.md index 1b38d3e8bbd..b93613a6097 100644 --- a/docs/api/interfaces/ICacheManager.md +++ b/docs/api/interfaces/ICacheManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ICacheManager +[@elizaos/core v0.25.9](../index.md) / ICacheManager # Interface: ICacheManager diff --git a/docs/api/interfaces/IDatabaseAdapter.md b/docs/api/interfaces/IDatabaseAdapter.md index 8a8d5b97e69..03496d8f1b8 100644 --- a/docs/api/interfaces/IDatabaseAdapter.md +++ b/docs/api/interfaces/IDatabaseAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IDatabaseAdapter +[@elizaos/core v0.25.9](../index.md) / IDatabaseAdapter # Interface: IDatabaseAdapter diff --git a/docs/api/interfaces/IDatabaseCacheAdapter.md b/docs/api/interfaces/IDatabaseCacheAdapter.md index 3d634072add..ecc63f2515a 100644 --- a/docs/api/interfaces/IDatabaseCacheAdapter.md +++ b/docs/api/interfaces/IDatabaseCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IDatabaseCacheAdapter +[@elizaos/core v0.25.9](../index.md) / IDatabaseCacheAdapter # Interface: IDatabaseCacheAdapter diff --git a/docs/api/interfaces/IImageDescriptionService.md b/docs/api/interfaces/IImageDescriptionService.md index 4613e9a6ffc..bc1fb2bc610 100644 --- a/docs/api/interfaces/IImageDescriptionService.md +++ b/docs/api/interfaces/IImageDescriptionService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IImageDescriptionService +[@elizaos/core v0.25.9](../index.md) / IImageDescriptionService # Interface: IImageDescriptionService diff --git a/docs/api/interfaces/IIrysService.md b/docs/api/interfaces/IIrysService.md index 0bb4c22d617..0ba2eb0a8e0 100644 --- a/docs/api/interfaces/IIrysService.md +++ b/docs/api/interfaces/IIrysService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IIrysService +[@elizaos/core v0.25.9](../index.md) / IIrysService # Interface: IIrysService diff --git a/docs/api/interfaces/IMemoryManager.md b/docs/api/interfaces/IMemoryManager.md index 2fefa8b7676..93e13de0e62 100644 --- a/docs/api/interfaces/IMemoryManager.md +++ b/docs/api/interfaces/IMemoryManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IMemoryManager +[@elizaos/core v0.25.9](../index.md) / IMemoryManager # Interface: IMemoryManager diff --git a/docs/api/interfaces/IPdfService.md b/docs/api/interfaces/IPdfService.md index f0d2918ff0f..8dd643b2c69 100644 --- a/docs/api/interfaces/IPdfService.md +++ b/docs/api/interfaces/IPdfService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IPdfService +[@elizaos/core v0.25.9](../index.md) / IPdfService # Interface: IPdfService diff --git a/docs/api/interfaces/IRAGKnowledgeManager.md b/docs/api/interfaces/IRAGKnowledgeManager.md index b3c22552a80..c1c937691bf 100644 --- a/docs/api/interfaces/IRAGKnowledgeManager.md +++ b/docs/api/interfaces/IRAGKnowledgeManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IRAGKnowledgeManager +[@elizaos/core v0.25.9](../index.md) / IRAGKnowledgeManager # Interface: IRAGKnowledgeManager diff --git a/docs/api/interfaces/ISlackService.md b/docs/api/interfaces/ISlackService.md index fa6f44bf9c3..df73d679f66 100644 --- a/docs/api/interfaces/ISlackService.md +++ b/docs/api/interfaces/ISlackService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ISlackService +[@elizaos/core v0.25.9](../index.md) / ISlackService # Interface: ISlackService diff --git a/docs/api/interfaces/ISpeechService.md b/docs/api/interfaces/ISpeechService.md index 257616dbfdb..48f86bbf17a 100644 --- a/docs/api/interfaces/ISpeechService.md +++ b/docs/api/interfaces/ISpeechService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ISpeechService +[@elizaos/core v0.25.9](../index.md) / ISpeechService # Interface: ISpeechService diff --git a/docs/api/interfaces/ITeeLogService.md b/docs/api/interfaces/ITeeLogService.md index cf34d4dfaca..60c824421d9 100644 --- a/docs/api/interfaces/ITeeLogService.md +++ b/docs/api/interfaces/ITeeLogService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITeeLogService +[@elizaos/core v0.25.9](../index.md) / ITeeLogService # Interface: ITeeLogService diff --git a/docs/api/interfaces/ITextGenerationService.md b/docs/api/interfaces/ITextGenerationService.md index 760b6ba4cb1..4c539f0a33d 100644 --- a/docs/api/interfaces/ITextGenerationService.md +++ b/docs/api/interfaces/ITextGenerationService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITextGenerationService +[@elizaos/core v0.25.9](../index.md) / ITextGenerationService # Interface: ITextGenerationService diff --git a/docs/api/interfaces/ITranscriptionService.md b/docs/api/interfaces/ITranscriptionService.md index 8b66afdaa1b..c2c8f4c2c4e 100644 --- a/docs/api/interfaces/ITranscriptionService.md +++ b/docs/api/interfaces/ITranscriptionService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITranscriptionService +[@elizaos/core v0.25.9](../index.md) / ITranscriptionService # Interface: ITranscriptionService diff --git a/docs/api/interfaces/IVideoService.md b/docs/api/interfaces/IVideoService.md index b4c00c95a0e..e6ef12899b8 100644 --- a/docs/api/interfaces/IVideoService.md +++ b/docs/api/interfaces/IVideoService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IVideoService +[@elizaos/core v0.25.9](../index.md) / IVideoService # Interface: IVideoService diff --git a/docs/api/interfaces/IrysTimestamp.md b/docs/api/interfaces/IrysTimestamp.md index 097ad538523..5f086fa562a 100644 --- a/docs/api/interfaces/IrysTimestamp.md +++ b/docs/api/interfaces/IrysTimestamp.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysTimestamp +[@elizaos/core v0.25.9](../index.md) / IrysTimestamp # Interface: IrysTimestamp diff --git a/docs/api/interfaces/Memory.md b/docs/api/interfaces/Memory.md index 2a888ec5618..25155495feb 100644 --- a/docs/api/interfaces/Memory.md +++ b/docs/api/interfaces/Memory.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Memory +[@elizaos/core v0.25.9](../index.md) / Memory # Interface: Memory diff --git a/docs/api/interfaces/MessageExample.md b/docs/api/interfaces/MessageExample.md index da5bb1112b1..f7ffe2b8825 100644 --- a/docs/api/interfaces/MessageExample.md +++ b/docs/api/interfaces/MessageExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MessageExample +[@elizaos/core v0.25.9](../index.md) / MessageExample # Interface: MessageExample diff --git a/docs/api/interfaces/ModelConfiguration.md b/docs/api/interfaces/ModelConfiguration.md index 957134669ab..60a25e598b1 100644 --- a/docs/api/interfaces/ModelConfiguration.md +++ b/docs/api/interfaces/ModelConfiguration.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelConfiguration +[@elizaos/core v0.25.9](../index.md) / ModelConfiguration # Interface: ModelConfiguration diff --git a/docs/api/interfaces/Objective.md b/docs/api/interfaces/Objective.md index 58bd9142e5b..c650d3ed9ec 100644 --- a/docs/api/interfaces/Objective.md +++ b/docs/api/interfaces/Objective.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Objective +[@elizaos/core v0.25.9](../index.md) / Objective # Interface: Objective diff --git a/docs/api/interfaces/Participant.md b/docs/api/interfaces/Participant.md index 6fbab79a423..49d77d14ebe 100644 --- a/docs/api/interfaces/Participant.md +++ b/docs/api/interfaces/Participant.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Participant +[@elizaos/core v0.25.9](../index.md) / Participant # Interface: Participant diff --git a/docs/api/interfaces/Provider.md b/docs/api/interfaces/Provider.md index b660f684bea..3ce914ff22b 100644 --- a/docs/api/interfaces/Provider.md +++ b/docs/api/interfaces/Provider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Provider +[@elizaos/core v0.25.9](../index.md) / Provider # Interface: Provider diff --git a/docs/api/interfaces/RAGKnowledgeItem.md b/docs/api/interfaces/RAGKnowledgeItem.md index cee29a6c71c..337ddbf7b62 100644 --- a/docs/api/interfaces/RAGKnowledgeItem.md +++ b/docs/api/interfaces/RAGKnowledgeItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / RAGKnowledgeItem +[@elizaos/core v0.25.9](../index.md) / RAGKnowledgeItem # Interface: RAGKnowledgeItem diff --git a/docs/api/interfaces/Relationship.md b/docs/api/interfaces/Relationship.md index 3e7f30b862e..7463fde6799 100644 --- a/docs/api/interfaces/Relationship.md +++ b/docs/api/interfaces/Relationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Relationship +[@elizaos/core v0.25.9](../index.md) / Relationship # Interface: Relationship diff --git a/docs/api/interfaces/Room.md b/docs/api/interfaces/Room.md index 21204f7a70f..290fc6a47d1 100644 --- a/docs/api/interfaces/Room.md +++ b/docs/api/interfaces/Room.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Room +[@elizaos/core v0.25.9](../index.md) / Room # Interface: Room diff --git a/docs/api/interfaces/State.md b/docs/api/interfaces/State.md index dd7b3fcc990..06c63b6c767 100644 --- a/docs/api/interfaces/State.md +++ b/docs/api/interfaces/State.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / State +[@elizaos/core v0.25.9](../index.md) / State # Interface: State diff --git a/docs/api/interfaces/TwitterSpaceDecisionOptions.md b/docs/api/interfaces/TwitterSpaceDecisionOptions.md index 8760d9cbbc6..7fa3d8baeee 100644 --- a/docs/api/interfaces/TwitterSpaceDecisionOptions.md +++ b/docs/api/interfaces/TwitterSpaceDecisionOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TwitterSpaceDecisionOptions +[@elizaos/core v0.25.9](../index.md) / TwitterSpaceDecisionOptions # Interface: TwitterSpaceDecisionOptions diff --git a/docs/api/interfaces/UploadIrysResult.md b/docs/api/interfaces/UploadIrysResult.md index 0344568a668..3dcf6ab73df 100644 --- a/docs/api/interfaces/UploadIrysResult.md +++ b/docs/api/interfaces/UploadIrysResult.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / UploadIrysResult +[@elizaos/core v0.25.9](../index.md) / UploadIrysResult # Interface: UploadIrysResult diff --git a/docs/api/type-aliases/Adapter.md b/docs/api/type-aliases/Adapter.md index 6c39c44b130..36a9dd39778 100644 --- a/docs/api/type-aliases/Adapter.md +++ b/docs/api/type-aliases/Adapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Adapter +[@elizaos/core v0.25.9](../index.md) / Adapter # Type Alias: Adapter diff --git a/docs/api/type-aliases/CacheOptions.md b/docs/api/type-aliases/CacheOptions.md index 054ad005b65..c1e15e82bea 100644 --- a/docs/api/type-aliases/CacheOptions.md +++ b/docs/api/type-aliases/CacheOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheOptions +[@elizaos/core v0.25.9](../index.md) / CacheOptions # Type Alias: CacheOptions diff --git a/docs/api/type-aliases/Character.md b/docs/api/type-aliases/Character.md index 2bb6ea478f0..515dd8799cb 100644 --- a/docs/api/type-aliases/Character.md +++ b/docs/api/type-aliases/Character.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Character +[@elizaos/core v0.25.9](../index.md) / Character # Type Alias: Character diff --git a/docs/api/type-aliases/CharacterConfig.md b/docs/api/type-aliases/CharacterConfig.md index 63711ed32aa..bbe7c7acfff 100644 --- a/docs/api/type-aliases/CharacterConfig.md +++ b/docs/api/type-aliases/CharacterConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CharacterConfig +[@elizaos/core v0.25.9](../index.md) / CharacterConfig # Type Alias: CharacterConfig diff --git a/docs/api/type-aliases/Client.md b/docs/api/type-aliases/Client.md index 77493e4e774..2f9222da8a9 100644 --- a/docs/api/type-aliases/Client.md +++ b/docs/api/type-aliases/Client.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Client +[@elizaos/core v0.25.9](../index.md) / Client # Type Alias: Client diff --git a/docs/api/type-aliases/ClientInstance.md b/docs/api/type-aliases/ClientInstance.md index 897b7db2326..a6a74d2af0b 100644 --- a/docs/api/type-aliases/ClientInstance.md +++ b/docs/api/type-aliases/ClientInstance.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ClientInstance +[@elizaos/core v0.25.9](../index.md) / ClientInstance # Type Alias: ClientInstance diff --git a/docs/api/type-aliases/EmbeddingConfig.md b/docs/api/type-aliases/EmbeddingConfig.md index 8616101f044..cdd476fa0f1 100644 --- a/docs/api/type-aliases/EmbeddingConfig.md +++ b/docs/api/type-aliases/EmbeddingConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingConfig +[@elizaos/core v0.25.9](../index.md) / EmbeddingConfig # Type Alias: EmbeddingConfig diff --git a/docs/api/type-aliases/EmbeddingModelSettings.md b/docs/api/type-aliases/EmbeddingModelSettings.md index 4d85333ae83..bf262afe978 100644 --- a/docs/api/type-aliases/EmbeddingModelSettings.md +++ b/docs/api/type-aliases/EmbeddingModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingModelSettings +[@elizaos/core v0.25.9](../index.md) / EmbeddingModelSettings # Type Alias: EmbeddingModelSettings diff --git a/docs/api/type-aliases/EmbeddingProviderType.md b/docs/api/type-aliases/EmbeddingProviderType.md index 0f98d23d10b..e9748d46ee1 100644 --- a/docs/api/type-aliases/EmbeddingProviderType.md +++ b/docs/api/type-aliases/EmbeddingProviderType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingProviderType +[@elizaos/core v0.25.9](../index.md) / EmbeddingProviderType # Type Alias: EmbeddingProviderType diff --git a/docs/api/type-aliases/EnvConfig.md b/docs/api/type-aliases/EnvConfig.md index d04701eb613..a3c8d89ec25 100644 --- a/docs/api/type-aliases/EnvConfig.md +++ b/docs/api/type-aliases/EnvConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EnvConfig +[@elizaos/core v0.25.9](../index.md) / EnvConfig # Type Alias: EnvConfig diff --git a/docs/api/type-aliases/Handler.md b/docs/api/type-aliases/Handler.md index 7a7c26efe5e..6f7f1cb985d 100644 --- a/docs/api/type-aliases/Handler.md +++ b/docs/api/type-aliases/Handler.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Handler +[@elizaos/core v0.25.9](../index.md) / Handler # Type Alias: Handler() diff --git a/docs/api/type-aliases/HandlerCallback.md b/docs/api/type-aliases/HandlerCallback.md index e725ca74c0f..e368d47a15e 100644 --- a/docs/api/type-aliases/HandlerCallback.md +++ b/docs/api/type-aliases/HandlerCallback.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / HandlerCallback +[@elizaos/core v0.25.9](../index.md) / HandlerCallback # Type Alias: HandlerCallback() diff --git a/docs/api/type-aliases/ImageModelSettings.md b/docs/api/type-aliases/ImageModelSettings.md index 3225ea93b5d..39e0a137c80 100644 --- a/docs/api/type-aliases/ImageModelSettings.md +++ b/docs/api/type-aliases/ImageModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ImageModelSettings +[@elizaos/core v0.25.9](../index.md) / ImageModelSettings # Type Alias: ImageModelSettings diff --git a/docs/api/type-aliases/KnowledgeItem.md b/docs/api/type-aliases/KnowledgeItem.md index 410207dd25b..befb9827e60 100644 --- a/docs/api/type-aliases/KnowledgeItem.md +++ b/docs/api/type-aliases/KnowledgeItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / KnowledgeItem +[@elizaos/core v0.25.9](../index.md) / KnowledgeItem # Type Alias: KnowledgeItem diff --git a/docs/api/type-aliases/Media.md b/docs/api/type-aliases/Media.md index b322a97a138..9420248e5f5 100644 --- a/docs/api/type-aliases/Media.md +++ b/docs/api/type-aliases/Media.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Media +[@elizaos/core v0.25.9](../index.md) / Media # Type Alias: Media diff --git a/docs/api/type-aliases/Model.md b/docs/api/type-aliases/Model.md index f7390e2bcb3..b1f969329bf 100644 --- a/docs/api/type-aliases/Model.md +++ b/docs/api/type-aliases/Model.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Model +[@elizaos/core v0.25.9](../index.md) / Model # Type Alias: Model diff --git a/docs/api/type-aliases/ModelSettings.md b/docs/api/type-aliases/ModelSettings.md index f5408dcaedc..66c25d741e7 100644 --- a/docs/api/type-aliases/ModelSettings.md +++ b/docs/api/type-aliases/ModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelSettings +[@elizaos/core v0.25.9](../index.md) / ModelSettings # Type Alias: ModelSettings diff --git a/docs/api/type-aliases/Models.md b/docs/api/type-aliases/Models.md index e5b2ed23912..b532417d81a 100644 --- a/docs/api/type-aliases/Models.md +++ b/docs/api/type-aliases/Models.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Models +[@elizaos/core v0.25.9](../index.md) / Models # Type Alias: Models diff --git a/docs/api/type-aliases/Plugin.md b/docs/api/type-aliases/Plugin.md index 841d5b67b3a..d832f432aec 100644 --- a/docs/api/type-aliases/Plugin.md +++ b/docs/api/type-aliases/Plugin.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Plugin +[@elizaos/core v0.25.9](../index.md) / Plugin # Type Alias: Plugin diff --git a/docs/api/type-aliases/TelemetrySettings.md b/docs/api/type-aliases/TelemetrySettings.md index a2072d79689..242fdbcef16 100644 --- a/docs/api/type-aliases/TelemetrySettings.md +++ b/docs/api/type-aliases/TelemetrySettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TelemetrySettings +[@elizaos/core v0.25.9](../index.md) / TelemetrySettings # Type Alias: TelemetrySettings diff --git a/docs/api/type-aliases/TemplateType.md b/docs/api/type-aliases/TemplateType.md index bb4119ddff7..45daa99057a 100644 --- a/docs/api/type-aliases/TemplateType.md +++ b/docs/api/type-aliases/TemplateType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TemplateType +[@elizaos/core v0.25.9](../index.md) / TemplateType # Type Alias: TemplateType diff --git a/docs/api/type-aliases/UUID.md b/docs/api/type-aliases/UUID.md index 5ca10540bbc..b728bb02c42 100644 --- a/docs/api/type-aliases/UUID.md +++ b/docs/api/type-aliases/UUID.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / UUID +[@elizaos/core v0.25.9](../index.md) / UUID # Type Alias: UUID diff --git a/docs/api/type-aliases/Validator.md b/docs/api/type-aliases/Validator.md index 5262088828d..35470ba12a7 100644 --- a/docs/api/type-aliases/Validator.md +++ b/docs/api/type-aliases/Validator.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Validator +[@elizaos/core v0.25.9](../index.md) / Validator # Type Alias: Validator() diff --git a/docs/api/variables/CharacterSchema.md b/docs/api/variables/CharacterSchema.md index 55ed168ffa9..182a237f4e3 100644 --- a/docs/api/variables/CharacterSchema.md +++ b/docs/api/variables/CharacterSchema.md @@ -1,107 +1,11 @@ -[@elizaos/core v0.25.8](../index.md) / CharacterSchema +[@elizaos/core v0.25.9](../index.md) / CharacterSchema # Variable: CharacterSchema -> `const` **CharacterSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> +> `const` **CharacterSchema**: `any` Main Character schema -## Type declaration - -### id - -> **id**: `ZodOptional`\<`ZodString`\> - -### name - -> **name**: `ZodString` - -### system - -> **system**: `ZodOptional`\<`ZodString`\> - -### modelProvider - -> **modelProvider**: `ZodNativeEnum`\<*typeof* [`ModelProviderName`](../enumerations/ModelProviderName.md)\> - -### modelEndpointOverride - -> **modelEndpointOverride**: `ZodOptional`\<`ZodString`\> - -### templates - -> **templates**: `ZodOptional`\<`ZodRecord`\<`ZodString`, `ZodString`\>\> - -### bio - -> **bio**: `ZodUnion`\<[`ZodString`, `ZodArray`\<`ZodString`, `"many"`\>]\> - -### lore - -> **lore**: `ZodArray`\<`ZodString`, `"many"`\> - -### messageExamples - -> **messageExamples**: `ZodArray`\<`ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>, `"many"`\> - -### postExamples - -> **postExamples**: `ZodArray`\<`ZodString`, `"many"`\> - -### topics - -> **topics**: `ZodArray`\<`ZodString`, `"many"`\> - -### adjectives - -> **adjectives**: `ZodArray`\<`ZodString`, `"many"`\> - -### knowledge - -> **knowledge**: `ZodOptional`\<`ZodArray`\<`ZodUnion`\<[`ZodString`, `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>]\>, `"many"`\>\> - -### plugins - -> **plugins**: `ZodUnion`\<[`ZodArray`\<`ZodString`, `"many"`\>, `ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>]\> - -### settings - -> **settings**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### clientConfig - -> **clientConfig**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### style - -> **style**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> - -#### Type declaration - -##### all - -> **all**: `ZodArray`\<`ZodString`, `"many"`\> - -##### chat - -> **chat**: `ZodArray`\<`ZodString`, `"many"`\> - -##### post - -> **post**: `ZodArray`\<`ZodString`, `"many"`\> - -### twitterProfile - -> **twitterProfile**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### nft - -> **nft**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### extends - -> **extends**: `ZodOptional`\<`ZodArray`\<`ZodString`, `"many"`\>\> - ## Defined in [packages/core/src/environment.ts:67](https://github.com/elizaOS/eliza/blob/main/packages/core/src/environment.ts#L67) diff --git a/docs/api/variables/EmbeddingProvider.md b/docs/api/variables/EmbeddingProvider.md index f1cd6450276..19ed880eea3 100644 --- a/docs/api/variables/EmbeddingProvider.md +++ b/docs/api/variables/EmbeddingProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingProvider +[@elizaos/core v0.25.9](../index.md) / EmbeddingProvider # Variable: EmbeddingProvider diff --git a/docs/api/variables/booleanFooter.md b/docs/api/variables/booleanFooter.md index 39818afa620..4ec33890240 100644 --- a/docs/api/variables/booleanFooter.md +++ b/docs/api/variables/booleanFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / booleanFooter +[@elizaos/core v0.25.9](../index.md) / booleanFooter # Variable: booleanFooter diff --git a/docs/api/variables/elizaLogger.md b/docs/api/variables/elizaLogger.md index 3dee2decd13..22af390bf55 100644 --- a/docs/api/variables/elizaLogger.md +++ b/docs/api/variables/elizaLogger.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / elizaLogger +[@elizaos/core v0.25.9](../index.md) / elizaLogger # Variable: elizaLogger -> `const` **elizaLogger**: `Logger`\<`string`, `boolean`\> +> `const` **elizaLogger**: `any` ## Defined in diff --git a/docs/api/variables/envSchema.md b/docs/api/variables/envSchema.md index a7b6a939fb9..d1903f8d8a5 100644 --- a/docs/api/variables/envSchema.md +++ b/docs/api/variables/envSchema.md @@ -1,43 +1,11 @@ -[@elizaos/core v0.25.8](../index.md) / envSchema +[@elizaos/core v0.25.9](../index.md) / envSchema # Variable: envSchema -> `const` **envSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> +> `const` **envSchema**: `any` TODO: TO COMPLETE -## Type declaration - -### OPENAI\_API\_KEY - -> **OPENAI\_API\_KEY**: `ZodString` - -API Keys with specific formats - -### REDPILL\_API\_KEY - -> **REDPILL\_API\_KEY**: `ZodString` - -### GROK\_API\_KEY - -> **GROK\_API\_KEY**: `ZodString` - -### GROQ\_API\_KEY - -> **GROQ\_API\_KEY**: `ZodString` - -### OPENROUTER\_API\_KEY - -> **OPENROUTER\_API\_KEY**: `ZodString` - -### GOOGLE\_GENERATIVE\_AI\_API\_KEY - -> **GOOGLE\_GENERATIVE\_AI\_API\_KEY**: `ZodString` - -### ELEVENLABS\_XI\_API\_KEY - -> **ELEVENLABS\_XI\_API\_KEY**: `ZodString` - ## Defined in [packages/core/src/environment.ts:6](https://github.com/elizaOS/eliza/blob/main/packages/core/src/environment.ts#L6) diff --git a/docs/api/variables/evaluationTemplate.md b/docs/api/variables/evaluationTemplate.md index 77ac3dcb878..af1812a53c3 100644 --- a/docs/api/variables/evaluationTemplate.md +++ b/docs/api/variables/evaluationTemplate.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / evaluationTemplate +[@elizaos/core v0.25.9](../index.md) / evaluationTemplate # Variable: evaluationTemplate diff --git a/docs/api/variables/knowledge.md b/docs/api/variables/knowledge.md index 8c34e745a43..4faaf7d6f6f 100644 --- a/docs/api/variables/knowledge.md +++ b/docs/api/variables/knowledge.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / knowledge +[@elizaos/core v0.25.9](../index.md) / knowledge # Variable: knowledge diff --git a/docs/api/variables/messageCompletionFooter.md b/docs/api/variables/messageCompletionFooter.md index 928b6feef97..6bab04d70b0 100644 --- a/docs/api/variables/messageCompletionFooter.md +++ b/docs/api/variables/messageCompletionFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / messageCompletionFooter +[@elizaos/core v0.25.9](../index.md) / messageCompletionFooter # Variable: messageCompletionFooter diff --git a/docs/api/variables/models.md b/docs/api/variables/models.md index d920fd8b36c..02b1357c0ae 100644 --- a/docs/api/variables/models.md +++ b/docs/api/variables/models.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / models +[@elizaos/core v0.25.9](../index.md) / models # Variable: models diff --git a/docs/api/variables/postActionResponseFooter.md b/docs/api/variables/postActionResponseFooter.md index 4d890857738..f1b483ec232 100644 --- a/docs/api/variables/postActionResponseFooter.md +++ b/docs/api/variables/postActionResponseFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / postActionResponseFooter +[@elizaos/core v0.25.9](../index.md) / postActionResponseFooter # Variable: postActionResponseFooter diff --git a/docs/api/variables/settings.md b/docs/api/variables/settings.md index 5d4248d8c65..8388d4f716c 100644 --- a/docs/api/variables/settings.md +++ b/docs/api/variables/settings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / settings +[@elizaos/core v0.25.9](../index.md) / settings # Variable: settings diff --git a/docs/api/variables/shouldRespondFooter.md b/docs/api/variables/shouldRespondFooter.md index 9bb177285f9..66e71c06a13 100644 --- a/docs/api/variables/shouldRespondFooter.md +++ b/docs/api/variables/shouldRespondFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / shouldRespondFooter +[@elizaos/core v0.25.9](../index.md) / shouldRespondFooter # Variable: shouldRespondFooter diff --git a/docs/api/variables/stringArrayFooter.md b/docs/api/variables/stringArrayFooter.md index 4427141603c..38b85e2d3c5 100644 --- a/docs/api/variables/stringArrayFooter.md +++ b/docs/api/variables/stringArrayFooter.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / stringArrayFooter +[@elizaos/core v0.25.9](../index.md) / stringArrayFooter # Variable: stringArrayFooter -> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a valid JSON block formatted in markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the valid JSON block." +> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a valid JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the valid JSON block." ## Defined in diff --git a/docs/api/variables/uuidSchema.md b/docs/api/variables/uuidSchema.md index d9e51f62e18..bf3460f6ad3 100644 --- a/docs/api/variables/uuidSchema.md +++ b/docs/api/variables/uuidSchema.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / uuidSchema +[@elizaos/core v0.25.9](../index.md) / uuidSchema # Variable: uuidSchema -> `const` **uuidSchema**: `ZodType`\<\`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`, `ZodTypeDef`, \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`\> +> `const` **uuidSchema**: `ZodType`\<\`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`\> ## Defined in From a3177f2b87ecae7b7e07103e7f5572cd38a430b5 Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Tue, 4 Mar 2025 16:06:57 -0500 Subject: [PATCH 7/9] update api docs --- docs/api/classes/AgentRuntime.md | 30 +++---- docs/api/classes/MemoryManager.md | 30 ++++++- docs/api/classes/Service.md | 8 +- docs/api/enumerations/ActionTimelineType.md | 4 +- docs/api/enumerations/CacheKeyPrefix.md | 2 +- docs/api/enumerations/CacheStore.md | 6 +- docs/api/enumerations/IrysDataType.md | 6 +- docs/api/enumerations/IrysMessageType.md | 6 +- docs/api/enumerations/KnowledgeScope.md | 4 +- docs/api/enumerations/LoggingLevel.md | 6 +- docs/api/enumerations/ServiceType.md | 36 ++++----- docs/api/enumerations/TokenizerType.md | 4 +- .../api/enumerations/TranscriptionProvider.md | 6 +- 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 +- .../api/functions/generateObjectDeprecated.md | 2 +- docs/api/functions/generateTextArray.md | 2 +- docs/api/functions/generateTrueOrFalse.md | 2 +- docs/api/functions/generateTweetActions.md | 2 +- docs/api/functions/handleProvider.md | 2 +- docs/api/functions/splitText.md | 2 +- docs/api/interfaces/ActionResponse.md | 8 +- docs/api/interfaces/ChunkRow.md | 2 +- docs/api/interfaces/DataIrysFetchedFromGQL.md | 6 +- docs/api/interfaces/DirectoryItem.md | 4 +- docs/api/interfaces/GenerationOptions.md | 18 ++--- docs/api/interfaces/GraphQLTag.md | 4 +- docs/api/interfaces/IAgentRuntime.md | 78 +++++++++---------- docs/api/interfaces/IAwsS3Service.md | 8 +- docs/api/interfaces/IBrowserService.md | 8 +- docs/api/interfaces/ICacheManager.md | 6 +- .../interfaces/IImageDescriptionService.md | 6 +- docs/api/interfaces/IIrysService.md | 10 +-- docs/api/interfaces/IMemoryManager.md | 32 ++++++-- docs/api/interfaces/IPdfService.md | 8 +- docs/api/interfaces/IRAGKnowledgeManager.md | 20 ++--- docs/api/interfaces/ISlackService.md | 6 +- docs/api/interfaces/ISpeechService.md | 8 +- docs/api/interfaces/ITeeLogService.md | 8 +- docs/api/interfaces/ITextGenerationService.md | 12 +-- docs/api/interfaces/ITranscriptionService.md | 12 +-- docs/api/interfaces/IVideoService.md | 12 +-- docs/api/interfaces/IrysTimestamp.md | 4 +- docs/api/interfaces/RAGKnowledgeItem.md | 14 ++-- docs/api/interfaces/UploadIrysResult.md | 8 +- docs/api/type-aliases/CacheOptions.md | 2 +- docs/api/type-aliases/KnowledgeItem.md | 2 +- docs/api/variables/knowledge.md | 2 +- 51 files changed, 259 insertions(+), 219 deletions(-) diff --git a/docs/api/classes/AgentRuntime.md b/docs/api/classes/AgentRuntime.md index 304b84ce78a..fb94686791c 100644 --- a/docs/api/classes/AgentRuntime.md +++ b/docs/api/classes/AgentRuntime.md @@ -607,7 +607,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/runtime.ts:945](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L945) +[packages/core/src/runtime.ts:959](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L959) *** @@ -629,7 +629,7 @@ The number of recent messages to be kept in memory. #### Defined in -[packages/core/src/runtime.ts:967](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L967) +[packages/core/src/runtime.ts:981](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L981) *** @@ -655,7 +655,7 @@ The action to register. #### Defined in -[packages/core/src/runtime.ts:975](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L975) +[packages/core/src/runtime.ts:989](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L989) *** @@ -677,7 +677,7 @@ The evaluator to register. #### Defined in -[packages/core/src/runtime.ts:984](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L984) +[packages/core/src/runtime.ts:998](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L998) *** @@ -699,7 +699,7 @@ The context provider to register. #### Defined in -[packages/core/src/runtime.ts:992](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L992) +[packages/core/src/runtime.ts:1006](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1006) *** @@ -721,7 +721,7 @@ The adapter to register. #### Defined in -[packages/core/src/runtime.ts:1000](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1000) +[packages/core/src/runtime.ts:1014](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1014) *** @@ -753,7 +753,7 @@ The message to process. #### Defined in -[packages/core/src/runtime.ts:1009](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1009) +[packages/core/src/runtime.ts:1023](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1023) *** @@ -793,7 +793,7 @@ The results of the evaluation. #### Defined in -[packages/core/src/runtime.ts:1093](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1093) +[packages/core/src/runtime.ts:1107](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1107) *** @@ -825,7 +825,7 @@ An error if the participant cannot be added. #### Defined in -[packages/core/src/runtime.ts:1163](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1163) +[packages/core/src/runtime.ts:1177](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1177) *** @@ -861,7 +861,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1179](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1179) +[packages/core/src/runtime.ts:1193](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1193) *** @@ -885,7 +885,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1205](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1205) +[packages/core/src/runtime.ts:1219](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1219) *** @@ -915,7 +915,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1222](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1222) +[packages/core/src/runtime.ts:1236](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1236) *** @@ -946,7 +946,7 @@ An error if the room cannot be created. #### Defined in -[packages/core/src/runtime.ts:1258](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1258) +[packages/core/src/runtime.ts:1272](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1272) *** @@ -976,7 +976,7 @@ The state of the agent. #### Defined in -[packages/core/src/runtime.ts:1271](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1271) +[packages/core/src/runtime.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1285) *** @@ -998,4 +998,4 @@ The state of the agent. #### Defined in -[packages/core/src/runtime.ts:1728](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1728) +[packages/core/src/runtime.ts:1742](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1742) diff --git a/docs/api/classes/MemoryManager.md b/docs/api/classes/MemoryManager.md index cfa0bcb07eb..0eed920ce4e 100644 --- a/docs/api/classes/MemoryManager.md +++ b/docs/api/classes/MemoryManager.md @@ -278,6 +278,28 @@ A Promise that resolves when the operation completes. *** +### getMemoriesByIds() + +> **getMemoriesByIds**(`ids`): `Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Parameters + +• **ids**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[] + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Implementation of + +[`IMemoryManager`](../interfaces/IMemoryManager.md).[`getMemoriesByIds`](../interfaces/IMemoryManager.md#getMemoriesByIds) + +#### Defined in + +[packages/core/src/memory.ts:201](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L201) + +*** + ### getMemoryById() > **getMemoryById**(`id`): `Promise`\<[`Memory`](../interfaces/Memory.md)\> @@ -296,7 +318,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:201](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L201) +[packages/core/src/memory.ts:205](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L205) *** @@ -324,7 +346,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:212](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L212) +[packages/core/src/memory.ts:216](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L216) *** @@ -352,7 +374,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:224](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L224) +[packages/core/src/memory.ts:228](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L228) *** @@ -384,4 +406,4 @@ A Promise resolving to the count of memories. #### Defined in -[packages/core/src/memory.ts:237](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L237) +[packages/core/src/memory.ts:241](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L241) diff --git a/docs/api/classes/Service.md b/docs/api/classes/Service.md index 7a863e9f2db..1b3f0db9d14 100644 --- a/docs/api/classes/Service.md +++ b/docs/api/classes/Service.md @@ -40,7 +40,7 @@ #### Defined in -[packages/core/src/types.ts:1268](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1268) +[packages/core/src/types.ts:1269](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1269) *** @@ -56,7 +56,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -74,7 +74,7 @@ #### Defined in -[packages/core/src/types.ts:1272](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1272) +[packages/core/src/types.ts:1273](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1273) *** @@ -94,4 +94,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) diff --git a/docs/api/enumerations/ActionTimelineType.md b/docs/api/enumerations/ActionTimelineType.md index b684a45cd40..5a02d5041aa 100644 --- a/docs/api/enumerations/ActionTimelineType.md +++ b/docs/api/enumerations/ActionTimelineType.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1601](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1601) +[packages/core/src/types.ts:1602](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1602) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1602](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1602) +[packages/core/src/types.ts:1603](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1603) diff --git a/docs/api/enumerations/CacheKeyPrefix.md b/docs/api/enumerations/CacheKeyPrefix.md index fe32ee5f5a0..cc8ef45b4cd 100644 --- a/docs/api/enumerations/CacheKeyPrefix.md +++ b/docs/api/enumerations/CacheKeyPrefix.md @@ -10,4 +10,4 @@ #### Defined in -[packages/core/src/types.ts:1610](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1610) +[packages/core/src/types.ts:1611](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1611) diff --git a/docs/api/enumerations/CacheStore.md b/docs/api/enumerations/CacheStore.md index 90024e42b36..c3a9d338cc6 100644 --- a/docs/api/enumerations/CacheStore.md +++ b/docs/api/enumerations/CacheStore.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1254](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1254) +[packages/core/src/types.ts:1255](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1255) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1255](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1255) +[packages/core/src/types.ts:1256](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1256) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1256](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1256) +[packages/core/src/types.ts:1257](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1257) diff --git a/docs/api/enumerations/IrysDataType.md b/docs/api/enumerations/IrysDataType.md index b4a873824e9..7d50e5fbd9d 100644 --- a/docs/api/enumerations/IrysDataType.md +++ b/docs/api/enumerations/IrysDataType.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1478](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1478) +[packages/core/src/types.ts:1479](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1479) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1479](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1479) +[packages/core/src/types.ts:1480](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1480) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1480](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1480) +[packages/core/src/types.ts:1481](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1481) diff --git a/docs/api/enumerations/IrysMessageType.md b/docs/api/enumerations/IrysMessageType.md index 3c6d18baa34..97a6223a7af 100644 --- a/docs/api/enumerations/IrysMessageType.md +++ b/docs/api/enumerations/IrysMessageType.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1472](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1472) +[packages/core/src/types.ts:1473](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1473) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1473](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1473) +[packages/core/src/types.ts:1474](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1474) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1474](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1474) +[packages/core/src/types.ts:1475](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1475) diff --git a/docs/api/enumerations/KnowledgeScope.md b/docs/api/enumerations/KnowledgeScope.md index 97d166ec8ea..85300c5b464 100644 --- a/docs/api/enumerations/KnowledgeScope.md +++ b/docs/api/enumerations/KnowledgeScope.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1605](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1605) +[packages/core/src/types.ts:1606](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1606) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1606](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1606) +[packages/core/src/types.ts:1607](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1607) diff --git a/docs/api/enumerations/LoggingLevel.md b/docs/api/enumerations/LoggingLevel.md index c31d0ef72a3..1760341d980 100644 --- a/docs/api/enumerations/LoggingLevel.md +++ b/docs/api/enumerations/LoggingLevel.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1546](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1546) +[packages/core/src/types.ts:1547](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1547) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1547](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1547) +[packages/core/src/types.ts:1548](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1548) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1548](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1548) +[packages/core/src/types.ts:1549](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1549) diff --git a/docs/api/enumerations/ServiceType.md b/docs/api/enumerations/ServiceType.md index b872ac289b7..346f2361f47 100644 --- a/docs/api/enumerations/ServiceType.md +++ b/docs/api/enumerations/ServiceType.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1525](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1525) +[packages/core/src/types.ts:1526](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1526) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1526](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1526) +[packages/core/src/types.ts:1527](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1527) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1527](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1527) +[packages/core/src/types.ts:1528](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1528) *** @@ -40,7 +40,7 @@ #### Defined in -[packages/core/src/types.ts:1528](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1528) +[packages/core/src/types.ts:1529](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1529) *** @@ -50,7 +50,7 @@ #### Defined in -[packages/core/src/types.ts:1529](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1529) +[packages/core/src/types.ts:1530](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1530) *** @@ -60,7 +60,7 @@ #### Defined in -[packages/core/src/types.ts:1530](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1530) +[packages/core/src/types.ts:1531](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1531) *** @@ -70,7 +70,7 @@ #### Defined in -[packages/core/src/types.ts:1531](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1531) +[packages/core/src/types.ts:1532](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1532) *** @@ -80,7 +80,7 @@ #### Defined in -[packages/core/src/types.ts:1532](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1532) +[packages/core/src/types.ts:1533](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1533) *** @@ -90,7 +90,7 @@ #### Defined in -[packages/core/src/types.ts:1533](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1533) +[packages/core/src/types.ts:1534](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1534) *** @@ -100,7 +100,7 @@ #### Defined in -[packages/core/src/types.ts:1534](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1534) +[packages/core/src/types.ts:1535](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1535) *** @@ -110,7 +110,7 @@ #### Defined in -[packages/core/src/types.ts:1535](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1535) +[packages/core/src/types.ts:1536](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1536) *** @@ -120,7 +120,7 @@ #### Defined in -[packages/core/src/types.ts:1536](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1536) +[packages/core/src/types.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1537) *** @@ -130,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1537) +[packages/core/src/types.ts:1538](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1538) *** @@ -140,7 +140,7 @@ #### Defined in -[packages/core/src/types.ts:1538](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1538) +[packages/core/src/types.ts:1539](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1539) *** @@ -150,7 +150,7 @@ #### Defined in -[packages/core/src/types.ts:1539](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1539) +[packages/core/src/types.ts:1540](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1540) *** @@ -160,7 +160,7 @@ #### Defined in -[packages/core/src/types.ts:1540](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1540) +[packages/core/src/types.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1541) *** @@ -170,7 +170,7 @@ #### Defined in -[packages/core/src/types.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1541) +[packages/core/src/types.ts:1542](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1542) *** @@ -180,4 +180,4 @@ #### Defined in -[packages/core/src/types.ts:1542](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1542) +[packages/core/src/types.ts:1543](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1543) diff --git a/docs/api/enumerations/TokenizerType.md b/docs/api/enumerations/TokenizerType.md index a76bddf3a8a..32856760d49 100644 --- a/docs/api/enumerations/TokenizerType.md +++ b/docs/api/enumerations/TokenizerType.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1590](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1590) +[packages/core/src/types.ts:1591](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1591) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1591](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1591) +[packages/core/src/types.ts:1592](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1592) diff --git a/docs/api/enumerations/TranscriptionProvider.md b/docs/api/enumerations/TranscriptionProvider.md index e766c337d1a..e911eb2d161 100644 --- a/docs/api/enumerations/TranscriptionProvider.md +++ b/docs/api/enumerations/TranscriptionProvider.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1595](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1595) +[packages/core/src/types.ts:1596](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1596) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1596](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1596) +[packages/core/src/types.ts:1597](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1597) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1597](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1597) +[packages/core/src/types.ts:1598](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1598) diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md index d57136275be..fff94862164 100644 --- a/docs/api/functions/generateCaption.md +++ b/docs/api/functions/generateCaption.md @@ -26,4 +26,4 @@ ## Defined in -[packages/core/src/generation.ts:2148](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2148) +[packages/core/src/generation.ts:2163](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2163) diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md index 4b1d47d667a..ead2ed35b1f 100644 --- a/docs/api/functions/generateImage.md +++ b/docs/api/functions/generateImage.md @@ -56,4 +56,4 @@ ## Defined in -[packages/core/src/generation.ts:1737](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1737) +[packages/core/src/generation.ts:1752](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1752) diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md index 0b2e2d8a9c6..e0162ec5ecf 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:1694](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1694) +[packages/core/src/generation.ts:1709](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1709) diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md index e45e795c3a8..5ef8ac649d6 100644 --- a/docs/api/functions/generateObject.md +++ b/docs/api/functions/generateObject.md @@ -24,4 +24,4 @@ Configuration options for generating objects. ## Defined in -[packages/core/src/generation.ts:2210](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2210) +[packages/core/src/generation.ts:2225](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2225) diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md index 03eb87d0faf..1501d6f7f0c 100644 --- a/docs/api/functions/generateObjectArray.md +++ b/docs/api/functions/generateObjectArray.md @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1646](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1646) +[packages/core/src/generation.ts:1661](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1661) diff --git a/docs/api/functions/generateObjectDeprecated.md b/docs/api/functions/generateObjectDeprecated.md index a084ad4e23f..644a04d4961 100644 --- a/docs/api/functions/generateObjectDeprecated.md +++ b/docs/api/functions/generateObjectDeprecated.md @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1610](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1610) +[packages/core/src/generation.ts:1625](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1625) diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md index 6613498b2f1..6fbd4b0862f 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:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1574) +[packages/core/src/generation.ts:1589](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1589) diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md index fc39db664af..d228d8b13f7 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:1522](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1522) +[packages/core/src/generation.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1537) diff --git a/docs/api/functions/generateTweetActions.md b/docs/api/functions/generateTweetActions.md index aeedd5178dc..55afb668748 100644 --- a/docs/api/functions/generateTweetActions.md +++ b/docs/api/functions/generateTweetActions.md @@ -22,4 +22,4 @@ doesn't belong here ## Defined in -[packages/core/src/generation.ts:2802](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2802) +[packages/core/src/generation.ts:2817](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2817) diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md index 15d1a4ec66f..dc9c0b1bd7e 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:2283](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2283) +[packages/core/src/generation.ts:2298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2298) diff --git a/docs/api/functions/splitText.md b/docs/api/functions/splitText.md index fd8d1fd2c30..243ace468b5 100644 --- a/docs/api/functions/splitText.md +++ b/docs/api/functions/splitText.md @@ -18,4 +18,4 @@ ## Defined in -[packages/core/src/generation.ts:1486](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1486) +[packages/core/src/generation.ts:1495](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1495) diff --git a/docs/api/interfaces/ActionResponse.md b/docs/api/interfaces/ActionResponse.md index f4a393c39c7..ab8fcacaeb2 100644 --- a/docs/api/interfaces/ActionResponse.md +++ b/docs/api/interfaces/ActionResponse.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1579](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1579) +[packages/core/src/types.ts:1580](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1580) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1580](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1580) +[packages/core/src/types.ts:1581](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1581) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1581](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1581) +[packages/core/src/types.ts:1582](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1582) *** @@ -40,4 +40,4 @@ #### Defined in -[packages/core/src/types.ts:1582](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1582) +[packages/core/src/types.ts:1583](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1583) diff --git a/docs/api/interfaces/ChunkRow.md b/docs/api/interfaces/ChunkRow.md index 115d98d0897..155ff8f0fd1 100644 --- a/docs/api/interfaces/ChunkRow.md +++ b/docs/api/interfaces/ChunkRow.md @@ -10,4 +10,4 @@ #### Defined in -[packages/core/src/types.ts:1619](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1619) +[packages/core/src/types.ts:1620](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1620) diff --git a/docs/api/interfaces/DataIrysFetchedFromGQL.md b/docs/api/interfaces/DataIrysFetchedFromGQL.md index 5224486270b..e981566b73d 100644 --- a/docs/api/interfaces/DataIrysFetchedFromGQL.md +++ b/docs/api/interfaces/DataIrysFetchedFromGQL.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1461](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1461) +[packages/core/src/types.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1462) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1462) +[packages/core/src/types.ts:1463](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1463) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1463](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1463) +[packages/core/src/types.ts:1464](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1464) diff --git a/docs/api/interfaces/DirectoryItem.md b/docs/api/interfaces/DirectoryItem.md index 27835a721ea..3424724d0b8 100644 --- a/docs/api/interfaces/DirectoryItem.md +++ b/docs/api/interfaces/DirectoryItem.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1614](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1614) +[packages/core/src/types.ts:1615](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1615) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1615](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1615) +[packages/core/src/types.ts:1616](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1616) diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md index 4bf29958591..80be6759b47 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:2176](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2176) +[packages/core/src/generation.ts:2191](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2191) *** @@ -22,7 +22,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2177](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2177) +[packages/core/src/generation.ts:2192](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2192) *** @@ -32,7 +32,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2178](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2178) +[packages/core/src/generation.ts:2193](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2193) *** @@ -42,7 +42,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2179](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2179) +[packages/core/src/generation.ts:2194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2194) *** @@ -52,7 +52,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2180](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2180) +[packages/core/src/generation.ts:2195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2195) *** @@ -62,7 +62,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2181](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2181) +[packages/core/src/generation.ts:2196](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2196) *** @@ -72,7 +72,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2182](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2182) +[packages/core/src/generation.ts:2197](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2197) *** @@ -82,7 +82,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2183](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2183) +[packages/core/src/generation.ts:2198](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2198) *** @@ -92,4 +92,4 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2184](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2184) +[packages/core/src/generation.ts:2199](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2199) diff --git a/docs/api/interfaces/GraphQLTag.md b/docs/api/interfaces/GraphQLTag.md index fd6670c74e9..eedf55058c5 100644 --- a/docs/api/interfaces/GraphQLTag.md +++ b/docs/api/interfaces/GraphQLTag.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1467](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1467) +[packages/core/src/types.ts:1468](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1468) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1468](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1468) +[packages/core/src/types.ts:1469](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1469) diff --git a/docs/api/interfaces/IAgentRuntime.md b/docs/api/interfaces/IAgentRuntime.md index 19fbc72723d..8aafc08e22c 100644 --- a/docs/api/interfaces/IAgentRuntime.md +++ b/docs/api/interfaces/IAgentRuntime.md @@ -12,7 +12,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1289](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1289) +[packages/core/src/types.ts:1290](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1290) *** @@ -22,7 +22,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1290](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1290) +[packages/core/src/types.ts:1291](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1291) *** @@ -32,7 +32,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1291](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1291) +[packages/core/src/types.ts:1292](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1292) *** @@ -42,7 +42,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1292](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1292) +[packages/core/src/types.ts:1293](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1293) *** @@ -52,7 +52,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1293](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1293) +[packages/core/src/types.ts:1294](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1294) *** @@ -62,7 +62,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1294](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1294) +[packages/core/src/types.ts:1295](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1295) *** @@ -72,7 +72,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1295](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1295) +[packages/core/src/types.ts:1296](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1296) *** @@ -82,7 +82,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1296](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1296) +[packages/core/src/types.ts:1297](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1297) *** @@ -92,7 +92,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1297](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1297) +[packages/core/src/types.ts:1298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1298) *** @@ -102,7 +102,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1298) +[packages/core/src/types.ts:1299](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1299) *** @@ -112,7 +112,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1299](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1299) +[packages/core/src/types.ts:1300](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1300) *** @@ -122,7 +122,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1300](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1300) +[packages/core/src/types.ts:1301](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1301) *** @@ -144,7 +144,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1302](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1302) +[packages/core/src/types.ts:1303](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1303) *** @@ -154,7 +154,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1304](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1304) +[packages/core/src/types.ts:1305](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1305) *** @@ -164,7 +164,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1305](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1305) +[packages/core/src/types.ts:1306](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1306) *** @@ -174,7 +174,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1306](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1306) +[packages/core/src/types.ts:1307](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1307) *** @@ -184,7 +184,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1307](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1307) +[packages/core/src/types.ts:1308](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1308) *** @@ -194,7 +194,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1308](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1308) +[packages/core/src/types.ts:1309](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1309) *** @@ -204,7 +204,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1309](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1309) +[packages/core/src/types.ts:1310](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1310) *** @@ -214,7 +214,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1311](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1311) +[packages/core/src/types.ts:1312](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1312) *** @@ -224,7 +224,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1313](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1313) +[packages/core/src/types.ts:1314](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1314) *** @@ -234,7 +234,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1314](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1314) +[packages/core/src/types.ts:1315](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1315) ## Methods @@ -250,7 +250,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1318](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1318) +[packages/core/src/types.ts:1319](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1319) *** @@ -268,7 +268,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1320](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1320) +[packages/core/src/types.ts:1321](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1321) *** @@ -286,7 +286,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1322](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1322) +[packages/core/src/types.ts:1323](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1323) *** @@ -308,7 +308,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1324](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1324) +[packages/core/src/types.ts:1325](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1325) *** @@ -326,7 +326,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1326](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1326) +[packages/core/src/types.ts:1327](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1327) *** @@ -344,7 +344,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1328](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1328) +[packages/core/src/types.ts:1329](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1329) *** @@ -360,7 +360,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1331](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1331) +[packages/core/src/types.ts:1332](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1332) *** @@ -384,7 +384,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1333](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1333) +[packages/core/src/types.ts:1334](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1334) *** @@ -408,7 +408,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1340](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1340) +[packages/core/src/types.ts:1341](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1341) *** @@ -428,7 +428,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1347](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1347) +[packages/core/src/types.ts:1348](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1348) *** @@ -452,7 +452,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1349](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1349) +[packages/core/src/types.ts:1350](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1350) *** @@ -470,7 +470,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1356](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1356) +[packages/core/src/types.ts:1357](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1357) *** @@ -496,7 +496,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1358](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1358) +[packages/core/src/types.ts:1359](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1359) *** @@ -516,7 +516,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1366](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1366) +[packages/core/src/types.ts:1367](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1367) *** @@ -534,7 +534,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1368](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1368) +[packages/core/src/types.ts:1369](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1369) *** @@ -554,7 +554,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1370](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1370) +[packages/core/src/types.ts:1371](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1371) *** @@ -572,4 +572,4 @@ Methods #### Defined in -[packages/core/src/types.ts:1375](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1375) +[packages/core/src/types.ts:1376](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1376) diff --git a/docs/api/interfaces/IAwsS3Service.md b/docs/api/interfaces/IAwsS3Service.md index 811be0ec3dd..99eea0de6e9 100644 --- a/docs/api/interfaces/IAwsS3Service.md +++ b/docs/api/interfaces/IAwsS3Service.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1440](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1440) +[packages/core/src/types.ts:1441](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1441) *** @@ -104,4 +104,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1450](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1450) +[packages/core/src/types.ts:1451](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1451) diff --git a/docs/api/interfaces/IBrowserService.md b/docs/api/interfaces/IBrowserService.md index 06cc2a53d63..1fa9003aa2d 100644 --- a/docs/api/interfaces/IBrowserService.md +++ b/docs/api/interfaces/IBrowserService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1422](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1422) +[packages/core/src/types.ts:1423](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1423) *** @@ -94,4 +94,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1423](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1423) +[packages/core/src/types.ts:1424](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1424) diff --git a/docs/api/interfaces/ICacheManager.md b/docs/api/interfaces/ICacheManager.md index b93613a6097..57c17b72209 100644 --- a/docs/api/interfaces/ICacheManager.md +++ b/docs/api/interfaces/ICacheManager.md @@ -22,7 +22,7 @@ #### Defined in -[packages/core/src/types.ts:1260](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1260) +[packages/core/src/types.ts:1261](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1261) *** @@ -48,7 +48,7 @@ #### Defined in -[packages/core/src/types.ts:1261](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1261) +[packages/core/src/types.ts:1262](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1262) *** @@ -66,4 +66,4 @@ #### Defined in -[packages/core/src/types.ts:1262](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1262) +[packages/core/src/types.ts:1263](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1263) diff --git a/docs/api/interfaces/IImageDescriptionService.md b/docs/api/interfaces/IImageDescriptionService.md index bc1fb2bc610..fa676056b1f 100644 --- a/docs/api/interfaces/IImageDescriptionService.md +++ b/docs/api/interfaces/IImageDescriptionService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -74,4 +74,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1379](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1379) +[packages/core/src/types.ts:1380](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1380) diff --git a/docs/api/interfaces/IIrysService.md b/docs/api/interfaces/IIrysService.md index 0ba2eb0a8e0..bb713fa5bf3 100644 --- a/docs/api/interfaces/IIrysService.md +++ b/docs/api/interfaces/IIrysService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -70,7 +70,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1489](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1489) +[packages/core/src/types.ts:1490](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1490) *** @@ -104,7 +104,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1494](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1494) +[packages/core/src/types.ts:1495](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1495) *** @@ -128,4 +128,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1505](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1505) +[packages/core/src/types.ts:1506](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1506) diff --git a/docs/api/interfaces/IMemoryManager.md b/docs/api/interfaces/IMemoryManager.md index 93e13de0e62..8894cb08c39 100644 --- a/docs/api/interfaces/IMemoryManager.md +++ b/docs/api/interfaces/IMemoryManager.md @@ -98,6 +98,24 @@ *** +### getMemoriesByIds() + +> **getMemoriesByIds**(`ids`): `Promise`\<[`Memory`](Memory.md)[]\> + +#### Parameters + +• **ids**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[] + +#### Returns + +`Promise`\<[`Memory`](Memory.md)[]\> + +#### Defined in + +[packages/core/src/types.ts:1194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1194) + +*** + ### getMemoryById() > **getMemoryById**(`id`): `Promise`\<[`Memory`](Memory.md)\> @@ -112,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1194) +[packages/core/src/types.ts:1195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1195) *** @@ -134,7 +152,7 @@ #### Defined in -[packages/core/src/types.ts:1195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1195) +[packages/core/src/types.ts:1196](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1196) *** @@ -162,7 +180,7 @@ #### Defined in -[packages/core/src/types.ts:1199](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1199) +[packages/core/src/types.ts:1200](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1200) *** @@ -182,7 +200,7 @@ #### Defined in -[packages/core/src/types.ts:1209](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1209) +[packages/core/src/types.ts:1210](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1210) *** @@ -200,7 +218,7 @@ #### Defined in -[packages/core/src/types.ts:1211](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1211) +[packages/core/src/types.ts:1212](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1212) *** @@ -218,7 +236,7 @@ #### Defined in -[packages/core/src/types.ts:1213](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1213) +[packages/core/src/types.ts:1214](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1214) *** @@ -238,4 +256,4 @@ #### Defined in -[packages/core/src/types.ts:1215](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1215) +[packages/core/src/types.ts:1216](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1216) diff --git a/docs/api/interfaces/IPdfService.md b/docs/api/interfaces/IPdfService.md index 8dd643b2c69..b6076dab014 100644 --- a/docs/api/interfaces/IPdfService.md +++ b/docs/api/interfaces/IPdfService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1435](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1435) +[packages/core/src/types.ts:1436](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1436) *** @@ -80,4 +80,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1436](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1436) +[packages/core/src/types.ts:1437](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1437) diff --git a/docs/api/interfaces/IRAGKnowledgeManager.md b/docs/api/interfaces/IRAGKnowledgeManager.md index c1c937691bf..97e3c502d66 100644 --- a/docs/api/interfaces/IRAGKnowledgeManager.md +++ b/docs/api/interfaces/IRAGKnowledgeManager.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1219](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1219) +[packages/core/src/types.ts:1220](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1220) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1220](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1220) +[packages/core/src/types.ts:1221](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1221) ## Methods @@ -48,7 +48,7 @@ #### Defined in -[packages/core/src/types.ts:1222](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1222) +[packages/core/src/types.ts:1223](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1223) *** @@ -66,7 +66,7 @@ #### Defined in -[packages/core/src/types.ts:1229](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1229) +[packages/core/src/types.ts:1230](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1230) *** @@ -84,7 +84,7 @@ #### Defined in -[packages/core/src/types.ts:1230](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1230) +[packages/core/src/types.ts:1231](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1231) *** @@ -112,7 +112,7 @@ #### Defined in -[packages/core/src/types.ts:1231](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1231) +[packages/core/src/types.ts:1232](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1232) *** @@ -130,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1238](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1238) +[packages/core/src/types.ts:1239](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1239) *** @@ -156,7 +156,7 @@ #### Defined in -[packages/core/src/types.ts:1239](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1239) +[packages/core/src/types.ts:1240](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1240) *** @@ -170,7 +170,7 @@ #### Defined in -[packages/core/src/types.ts:1245](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1245) +[packages/core/src/types.ts:1246](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1246) *** @@ -190,4 +190,4 @@ #### Defined in -[packages/core/src/types.ts:1246](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1246) +[packages/core/src/types.ts:1247](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1247) diff --git a/docs/api/interfaces/ISlackService.md b/docs/api/interfaces/ISlackService.md index df73d679f66..ffce27f458e 100644 --- a/docs/api/interfaces/ISlackService.md +++ b/docs/api/interfaces/ISlackService.md @@ -14,7 +14,7 @@ #### Defined in -[packages/core/src/types.ts:1586](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1586) +[packages/core/src/types.ts:1587](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1587) ## Accessors @@ -34,7 +34,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -58,4 +58,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) diff --git a/docs/api/interfaces/ISpeechService.md b/docs/api/interfaces/ISpeechService.md index 48f86bbf17a..f2cd0e9461c 100644 --- a/docs/api/interfaces/ISpeechService.md +++ b/docs/api/interfaces/ISpeechService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1430](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1430) +[packages/core/src/types.ts:1431](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1431) *** @@ -82,4 +82,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1431](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1431) +[packages/core/src/types.ts:1432](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1432) diff --git a/docs/api/interfaces/ITeeLogService.md b/docs/api/interfaces/ITeeLogService.md index 60c824421d9..416d52ad2b7 100644 --- a/docs/api/interfaces/ITeeLogService.md +++ b/docs/api/interfaces/ITeeLogService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1514](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1514) +[packages/core/src/types.ts:1515](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1515) *** @@ -88,4 +88,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1515](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1515) +[packages/core/src/types.ts:1516](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1516) diff --git a/docs/api/interfaces/ITextGenerationService.md b/docs/api/interfaces/ITextGenerationService.md index 4c539f0a33d..9759c3e1ca0 100644 --- a/docs/api/interfaces/ITextGenerationService.md +++ b/docs/api/interfaces/ITextGenerationService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1401](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1401) +[packages/core/src/types.ts:1402](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1402) *** @@ -90,7 +90,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1402](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1402) +[packages/core/src/types.ts:1403](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1403) *** @@ -118,7 +118,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1410](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1410) +[packages/core/src/types.ts:1411](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1411) *** @@ -136,4 +136,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1418](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1418) +[packages/core/src/types.ts:1419](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1419) diff --git a/docs/api/interfaces/ITranscriptionService.md b/docs/api/interfaces/ITranscriptionService.md index c2c8f4c2c4e..381b98350b4 100644 --- a/docs/api/interfaces/ITranscriptionService.md +++ b/docs/api/interfaces/ITranscriptionService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -66,7 +66,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1385](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1385) +[packages/core/src/types.ts:1386](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1386) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1386](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1386) +[packages/core/src/types.ts:1387](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1387) *** @@ -102,7 +102,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1389](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1389) +[packages/core/src/types.ts:1390](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1390) *** @@ -120,4 +120,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1390](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1390) +[packages/core/src/types.ts:1391](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1391) diff --git a/docs/api/interfaces/IVideoService.md b/docs/api/interfaces/IVideoService.md index e6ef12899b8..60b063d66ec 100644 --- a/docs/api/interfaces/IVideoService.md +++ b/docs/api/interfaces/IVideoService.md @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -66,7 +66,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1394](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1394) +[packages/core/src/types.ts:1395](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1395) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1395](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1395) +[packages/core/src/types.ts:1396](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1396) *** @@ -102,7 +102,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1396](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1396) +[packages/core/src/types.ts:1397](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1397) *** @@ -122,4 +122,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1397](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1397) +[packages/core/src/types.ts:1398](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1398) diff --git a/docs/api/interfaces/IrysTimestamp.md b/docs/api/interfaces/IrysTimestamp.md index 5f086fa562a..00417a89290 100644 --- a/docs/api/interfaces/IrysTimestamp.md +++ b/docs/api/interfaces/IrysTimestamp.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1484](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1484) +[packages/core/src/types.ts:1485](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1485) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1485](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1485) +[packages/core/src/types.ts:1486](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1486) diff --git a/docs/api/interfaces/RAGKnowledgeItem.md b/docs/api/interfaces/RAGKnowledgeItem.md index 337ddbf7b62..85892a94be7 100644 --- a/docs/api/interfaces/RAGKnowledgeItem.md +++ b/docs/api/interfaces/RAGKnowledgeItem.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1557](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1557) +[packages/core/src/types.ts:1558](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1558) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1558](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1558) +[packages/core/src/types.ts:1559](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1559) *** @@ -70,7 +70,7 @@ #### Defined in -[packages/core/src/types.ts:1559](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1559) +[packages/core/src/types.ts:1560](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1560) *** @@ -80,7 +80,7 @@ #### Defined in -[packages/core/src/types.ts:1572](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1572) +[packages/core/src/types.ts:1573](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1573) *** @@ -90,7 +90,7 @@ #### Defined in -[packages/core/src/types.ts:1573](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1573) +[packages/core/src/types.ts:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1574) *** @@ -100,7 +100,7 @@ #### Defined in -[packages/core/src/types.ts:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1574) +[packages/core/src/types.ts:1575](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1575) *** @@ -110,4 +110,4 @@ #### Defined in -[packages/core/src/types.ts:1575](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1575) +[packages/core/src/types.ts:1576](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1576) diff --git a/docs/api/interfaces/UploadIrysResult.md b/docs/api/interfaces/UploadIrysResult.md index 3dcf6ab73df..a1a6ca6c395 100644 --- a/docs/api/interfaces/UploadIrysResult.md +++ b/docs/api/interfaces/UploadIrysResult.md @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1454](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1454) +[packages/core/src/types.ts:1455](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1455) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1455](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1455) +[packages/core/src/types.ts:1456](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1456) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1456](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1456) +[packages/core/src/types.ts:1457](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1457) *** @@ -40,4 +40,4 @@ #### Defined in -[packages/core/src/types.ts:1457](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1457) +[packages/core/src/types.ts:1458](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1458) diff --git a/docs/api/type-aliases/CacheOptions.md b/docs/api/type-aliases/CacheOptions.md index c1e15e82bea..4ee424bbb38 100644 --- a/docs/api/type-aliases/CacheOptions.md +++ b/docs/api/type-aliases/CacheOptions.md @@ -12,4 +12,4 @@ ## Defined in -[packages/core/src/types.ts:1249](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1249) +[packages/core/src/types.ts:1250](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1250) diff --git a/docs/api/type-aliases/KnowledgeItem.md b/docs/api/type-aliases/KnowledgeItem.md index befb9827e60..2edcc4e37c9 100644 --- a/docs/api/type-aliases/KnowledgeItem.md +++ b/docs/api/type-aliases/KnowledgeItem.md @@ -16,4 +16,4 @@ ## Defined in -[packages/core/src/types.ts:1551](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1551) +[packages/core/src/types.ts:1552](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1552) diff --git a/docs/api/variables/knowledge.md b/docs/api/variables/knowledge.md index 4faaf7d6f6f..da81b4a7756 100644 --- a/docs/api/variables/knowledge.md +++ b/docs/api/variables/knowledge.md @@ -52,4 +52,4 @@ ## Defined in -[packages/core/src/knowledge.ts:169](https://github.com/elizaOS/eliza/blob/main/packages/core/src/knowledge.ts#L169) +[packages/core/src/knowledge.ts:151](https://github.com/elizaOS/eliza/blob/main/packages/core/src/knowledge.ts#L151) From 46d2b98caca1cea543672a798a6581d709d47c29 Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Tue, 4 Mar 2025 16:08:11 -0500 Subject: [PATCH 8/9] update package.json too --- docs/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/package.json b/docs/package.json index b34669ef9a6..1b648e6de8a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,11 +24,12 @@ "@docusaurus/preset-classic": "3.7.0", "@docusaurus/theme-common": "3.7.0", "@docusaurus/theme-mermaid": "3.7.0", - "clsx": "^2.1.1", "@mdx-js/react": "3.0.1", + "clsx": "^2.1.1", "docusaurus-lunr-search": "3.5.0", "dotenv": "^16.4.7", "lodash": "^4.17.21", + "lucide-react": "^0.477.0", "lunr": "2.3.9", "prism-react-renderer": "2.3.1", "react": "18.3.1", From 265940d04a6129b22ac0d7b3e68ef582193ec30e Mon Sep 17 00:00:00 2001 From: madjin <32600939+madjin@users.noreply.github.com> Date: Tue, 4 Mar 2025 16:16:30 -0500 Subject: [PATCH 9/9] remove backup file --- docs/packages/backup.tar | Bin 727040 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/packages/backup.tar diff --git a/docs/packages/backup.tar b/docs/packages/backup.tar deleted file mode 100644 index b9f266465407b47bca4eed9617ddd1103ac90591..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 727040 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 z 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
    3. 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�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
    4. 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�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, description?: string)`: Create PR +- `createCommit(message: string, files: Array<{path: string, content: string}>)`: Direct commit + +## Scripts + +```bash +# Build the project +pnpm run build + +# Development with watch mode +pnpm run dev + +# Lint the codebase +pnpm run lint +``` + +## Dependencies + +- `@elizaos/core`: ^0.1.7-alpha.2 +- `@octokit/rest`: ^20.1.1 +- `@octokit/types`: ^12.6.0 +- `glob`: ^10.4.5 +- `simple-git`: ^3.27.0 + +## Development Dependencies + +- `@types/glob`: ^8.1.0 +- `tsup`: ^8.3.5 + +## Contribution + +Contributions are welcome! Please ensure all code adheres to the framework's standards and passes linting checks. + +## License + +This project is licensed under the MIT License. See the LICENSE file for details. diff --git a/docs/packages/clients/instagram.md b/docs/packages/clients/instagram.md new file mode 100644 index 00000000000..6315f65dec3 --- /dev/null +++ b/docs/packages/clients/instagram.md @@ -0,0 +1,113 @@ +# @elizaos/client-instagram + +An Instagram client implementation for ElizaOS, enabling Instagram integration with support for media posting, comment handling, and interaction management. + +## Features + +- Instagram API integration using instagram-private-api +- Media post creation and scheduling +- Comment and interaction handling +- Profile management +- Media processing utilities +- Rate limiting and request queuing +- Session management and caching + +## Installation + +As this is a workspace package, it's installed as part of the ElizaOS monorepo: + +```bash +pnpm install +``` + +## Configuration + +The client requires the following environment variables: + +```bash +# Instagram Credentials +INSTAGRAM_USERNAME=your_username +INSTAGRAM_PASSWORD=your_password +INSTAGRAM_APP_ID=your_app_id +INSTAGRAM_APP_SECRET=your_app_secret + +# Optional Business Account +INSTAGRAM_BUSINESS_ACCOUNT_ID=your_business_account_id + +# Posting Configuration +POST_INTERVAL_MIN=90 # Minimum interval between posts (minutes) +POST_INTERVAL_MAX=180 # Maximum interval between posts (minutes) +ENABLE_ACTION_PROCESSING=true +ACTION_INTERVAL=5 # Minutes between action processing +MAX_ACTIONS_PROCESSING=1 # Maximum actions to process per interval +``` + +## Usage + +### Basic Initialization + +```typescript +import { InstagramClientInterface } from '@elizaos/client-instagram'; + +// Initialize the client +const instagramManager = await InstagramClientInterface.start(runtime); +``` + +### Posting Content + +All posts on Instagram must include media (image, video, or carousel): + +```typescript +// Post a single image +await instagramManager.post.createPost({ + media: [{ + type: 'IMAGE', + url: 'path/to/image.jpg' + }], + caption: 'Hello Instagram!' +}); + +// Post a carousel +await instagramManager.post.createPost({ + media: [ + { type: 'IMAGE', url: 'path/to/image1.jpg' }, + { type: 'IMAGE', url: 'path/to/image2.jpg' } + ], + caption: 'Check out these photos!' +}); +``` + +### Handling Interactions + +```typescript +// Handle comments +await instagramManager.interaction.handleComment({ + mediaId: 'media-123', + comment: 'Great post!', + userId: 'user-123' +}); + +// Like media +await instagramManager.interaction.likeMedia('media-123'); +``` + +## Key Components + +1. ClientBase + - Handles authentication and session management + - Manages API rate limiting + - Provides core API functionality + + +2. PostClient + - Manages media uploads + - Handles post scheduling + - Processes media before upload + + +3. InteractionClient + - Handles comments and likes + - Manages user interactions + - Processes notifications + + diff --git a/docs/packages/clients/lens.md b/docs/packages/clients/lens.md new file mode 100644 index 00000000000..7df89e30f69 --- /dev/null +++ b/docs/packages/clients/lens.md @@ -0,0 +1 @@ +# client-lens \ No newline at end of file diff --git a/docs/packages/clients/simsai.md b/docs/packages/clients/simsai.md new file mode 100644 index 00000000000..739af9d826c --- /dev/null +++ b/docs/packages/clients/simsai.md @@ -0,0 +1 @@ +Deprecated: this plugin needs a maintainer. \ No newline at end of file diff --git a/docs/packages/clients/slack.md b/docs/packages/clients/slack.md new file mode 100644 index 00000000000..d1e06673ed2 --- /dev/null +++ b/docs/packages/clients/slack.md @@ -0,0 +1,194 @@ +# Eliza Slack Client + +This package provides Slack integration for the Eliza AI agent. + +## Setup Guide + +### Prerequisites + +- A Slack workspace where you have permissions to install apps +- ngrok installed for local development (`brew install ngrok` on macOS) +- Node.js and pnpm installed + +### Step 1: Start ngrok + +1. Open a terminal and start ngrok on port 3069 (or your configured port): + ```bash + ngrok http 3069 + ``` +2. Copy the HTTPS URL (e.g., `https://xxxx-xx-xx-xx-xx.ngrok-free.app`) +3. Keep this terminal open - closing it will invalidate the URL + +### Step 2: Create Slack App + +1. Go to [Slack API Apps page](https://api.slack.com/apps) +2. Click "Create New App" +3. Choose "From an app manifest" +4. Select your workspace +5. Copy this manifest, replacing `YOUR_NGROK_URL` with your ngrok HTTPS URL: + +```yaml +display_information: + name: eve + description: Eve elizaos + background_color: "#143187" +features: + app_home: + home_tab_enabled: true + messages_tab_enabled: true + messages_tab_read_only_enabled: false + bot_user: + display_name: eve + always_online: false +oauth_config: + scopes: + bot: + - app_mentions:read + - channels:history + - channels:join + - channels:read + - chat:write + - files:read + - files:write + - groups:history + - groups:read + - im:history + - im:read + - im:write + - mpim:history + - mpim:read + - mpim:write + - users:read +settings: + event_subscriptions: + request_url: YOUR_NGROK_URL/slack/events + bot_events: + - app_mention + - message.channels + - message.groups + - message.im + - message.mpim + - file_shared + interactivity: + is_enabled: true + request_url: YOUR_NGROK_URL/slack/interactions + org_deploy_enabled: false + socket_mode_enabled: false + token_rotation_enabled: false +``` + +6. Click "Create" +7. On the "Basic Information" page, scroll down to "App Credentials" +8. Copy all the credentials - you'll need them in Step 3 + +### Step 2.5: Verify Event Subscription + +Before proceeding to install the app, make sure to verify the event subscription: + +1. In your Slack App settings, go to "Event Subscriptions." +2. Enter the request URL (your ngrok HTTPS URL followed by /slack/events). +3. Slack will send a verification request to this URL. +4. Ensure your server is running and configured to respond to the url_verification event by echoing back the challenge token provided in the request. +5. Once verified, you will see a confirmation in your Slack app settings. + +### Step 3: Configure Environment Variables + +1. Create or edit `.env` file in your project root: + ```bash + SLACK_APP_ID= # From Basic Information > App Credentials > App ID + SLACK_CLIENT_ID= # From Basic Information > App Credentials > Client ID + SLACK_CLIENT_SECRET= # From Basic Information > App Credentials > Client Secret + SLACK_SIGNING_SECRET= # From Basic Information > App Credentials > Signing Secret + SLACK_BOT_TOKEN= # From OAuth & Permissions > Bot User OAuth Token (starts with xoxb-) + SLACK_VERIFICATION_TOKEN= # From Basic Information > App Credentials > Verification Token + SLACK_SERVER_PORT=3069 # Must match the port you used with ngrok + ``` + +### Step 4: Install the App + +1. In your Slack App settings, go to "Install App" +2. Click "Install to Workspace" +3. Review the permissions and click "Allow" + +### Step 5: Verify Installation + +1. Start your Eliza server +2. Check the logs for successful connection +3. Test the bot: + - In Slack, invite the bot to a channel: `/invite @eve` + - Try mentioning the bot: `@eve hello` + - Check your server logs for event reception + +### Common Issues and Solutions + +#### URL Verification Failed + +- Make sure ngrok is running and the URL in your app settings matches exactly +- Check that the `/slack/events` endpoint is accessible +- Verify your environment variables are set correctly + +#### Bot Not Responding + +1. Check server logs for incoming events +2. Verify the bot is in the channel +3. Ensure all required scopes are granted +4. Try reinstalling the app to refresh permissions + +#### Messages Not Received + +1. Verify Event Subscriptions are enabled +2. Check the Request URL is correct and verified +3. Confirm all bot events are subscribed +4. Ensure the bot token starts with `xoxb-` + +### Updating ngrok URL + +If you restart ngrok, you'll get a new URL. You'll need to: + +1. Copy the new ngrok HTTPS URL +2. Update the Request URLs in your Slack App settings: + - Event Subscriptions > Request URL + - Interactivity & Shortcuts > Request URL +3. Wait for URL verification to complete + +### Security Notes + +- Never commit your `.env` file or tokens to version control +- Rotate your tokens if they're ever exposed +- Use HTTPS URLs only for Request URLs +- Keep your ngrok and server running while testing + +## Development + +### Local Testing + +1. Start ngrok: `ngrok http 3069` +2. Update Slack App URLs with new ngrok URL +3. Start the server: `pnpm start` +4. Monitor logs for events and errors + +### Debugging + +Enable detailed logging by setting: + +```bash +DEBUG=eliza:* +``` + +### Adding New Features + +1. Update the manifest if adding new scopes +2. Reinstall the app to apply new permissions +3. Update documentation for any new environment variables + +## Support + +For issues or questions: + +1. Check the Common Issues section above +2. Review server logs for errors +3. Verify all setup steps are completed +4. Open an issue with: + - Error messages + - Server logs + - Steps to reproduce diff --git a/docs/packages/clients/tako.md b/docs/packages/clients/tako.md new file mode 100644 index 00000000000..df5d538dbc2 --- /dev/null +++ b/docs/packages/clients/tako.md @@ -0,0 +1,79 @@ +Tako Client for Eliza + +Tako is a decentralized social app. With Tako Client, you can integrate AI capabilities into Tako. + +## Pre-Requisites + +### Register a Tako Account + +Sign up for a Tako account on the [Tako App](https://app.tako.so) and obtain your Tako ID. + +Tako is developed in collaboration with Farcaster. Every Tako account must be linked to a Farcaster account. + + + +- The identifier for a Tako account is the **Tako ID**. +- The identifier for a Farcaster account is the **FID**. For more details, refer to the [Farcaster Documentation](https://docs.farcaster.xyz/). + +### Obtain a Tako API Key + +Fill out and submit the application form: [Open the Form](https://docs.google.com/forms/d/e/1FAIpQLSfb0c4g3ZlexTVBfff3RCGqpv1wv7s3MweeXugPRwQqgbAGmA/viewform?usp=header). + +After submitting the form, the review process will be completed within **48 hours**. + +[API Documentation](https://takolab.notion.site/Tako-API-Docs-08f3c381f4ed4215a356cde1e0160979?pvs=4) + +# Configurations + +## .env + +``` +TAKO_FID= # FID, not the Tako ID +TAKO_API_KEY= # Tako API Key +TAKO_API_URL= # Tako API URL, currently only supports: https://open-api.tako.so +TAKO_PROACTIVE_COMMENTING= # Boolean type; if set to true, the agent account will proactively interact with content from users specified in TAKO_TARGET_FOLLOWERS, TAKO_TARGET_USERS, and TAKO_TARGET_COMMUNITIES at regular intervals (currently only supports commenting) +TAKO_POLL_INTERVAL= # Interval for proactive interactions with users, in minutes; default is 2 minutes. +TAKO_TARGET_FOLLOWERS= # Boolean type; if set to true, the agent account will proactively interact with Farcaster accounts it follows (currently only supports commenting) +TAKO_TARGET_USERS= # Specify a list of FIDs (not Tako IDs); the agent will proactively interact with them (currently only supports commenting), format: ,, +TAKO_TARGET_COMMUNITIES= # Specify a list of community IDs; the agent will proactively interact with content posted in these communities (currently only supports commenting), format: ,, +TAKO_BLACKLIST_USERS= # Specify a list of FIDs (not Tako IDs); the agent account will not interact with these accounts, format: `,,` +TAKO_CHAT_WITH_USER= # Boolean type; if set to true, the agent account will continuously reply to user comments +TAKO_CHAT_INTERVAL= # Interval for replying to user comments, in minutes; default is 2 minutes +TAKO_NEW_CAST= # Boolean type; if set to true, the agent account will periodically post new content +TAKO_NEW_CAST_INTERVAL= # Interval for posting new content; default is 240 minutes +TAKO_START_DELAY= # Boolean type; if set to true, when starting multiple agents using pnpm start --characters="1.character.json,2.character.json", each agent will have a random startup delay of 0-1 minutes to prevent excessive API requests +TAKO_DRY_RUN=false # Boolean type; if set to true, the agent will generate tweets and comments but will not actually post them online +``` + +.env configuration can also be written in xx.character.json + +## xx.character.json + +```json +{ + ... + + "settings": { + "secrets": { + "OPENAI_API_KEY": "" + }, + "TAKO_FID": 0, + "TAKO_API_KEY": "", + "TAKO_API_URL": "", + "TAKO_PROACTIVE_COMMENTING": "true", + "TAKO_POLL_INTERVAL": 60, + "TAKO_TARGET_FOLLOWERS": "true", + "TAKO_TARGET_USERS": ",,", + "TAKO_TARGET_COMMUNITIES": "tako,farcaster", + "TAKO_BLACKLIST_USERS": ",,", + "TAKO_CHAT_WITH_USER": "true", + "TAKO_CHAT_INTERVAL": 2, + "TAKO_NEW_CAST": "true", + "TAKO_NEW_CAST_INTERVAL": 360, + "TAKO_START_DELAY": "true", + "TAKO_DRY_RUN": "false" + } + + ... +} +``` \ No newline at end of file diff --git a/docs/packages/clients/telegram-account.md b/docs/packages/clients/telegram-account.md new file mode 100644 index 00000000000..cb01857141b --- /dev/null +++ b/docs/packages/clients/telegram-account.md @@ -0,0 +1,121 @@ +# Client Telegram Account + +The Telegram Account Plugin allows ElizaOS agents to connect and operate through a real Telegram account, enabling your agent to participate in Telegram chats, groups, and direct messages as a regular user. + +## Features + +- Connect to any Telegram account using API credentials +- Receive and respond to direct messages +- Participate in group chats when mentioned (@username) +- Reply to messages that reply to the account +- Support for multi-part messages (automatically splits long messages) +- Proper Markdown formatting in responses +- Media attachment support + +## Prerequisites + +Before using this plugin, you need: + +1. A Telegram account with an active phone number +2. Telegram API credentials (App ID and App Hash) +3. ElizaOS installed and configured + +## Setup + +### 1. Get Telegram API Credentials + +1. Visit [https://my.telegram.org/apps](https://my.telegram.org/apps) +2. Log in with your Telegram account phone number +3. Create a new application if you don't have one already +4. Note down the **App api_id** and **App api_hash** + +### 2. Configure the Plugin + +Add the following environment variables to your ElizaOS configuration: + +``` +TELEGRAM_ACCOUNT_PHONE="+1234567890" # Your phone number with country code +TELEGRAM_ACCOUNT_APP_ID=12345 # Your Telegram API app_id +TELEGRAM_ACCOUNT_APP_HASH="your_api_hash_here" +TELEGRAM_ACCOUNT_DEVICE_MODEL="Desktop" # Device model to show in Telegram +TELEGRAM_ACCOUNT_SYSTEM_VERSION="1.0" # System version to show in Telegram +``` + +### 3. Install the Plugin + +To install the plugin to your ElizaOS agent: + +```bash +npm install @elizaos-plugins/client-telegram-account +``` + +### 4. Add the Plugin to Your Agent Configuration + +Add the Telegram Account client to your agent's configuration: + +```json +{ + "clients": [ + "telegramAccount" + ] +} +``` + +### 5. First-time Authentication + +When running your agent for the first time with this plugin: + +1. The plugin will prompt you to enter the authentication code sent to your Telegram account +2. Enter the code to authenticate your session +3. The session will be saved for future use + +## Usage + +Once configured, your agent will: + +- Respond to direct messages automatically +- Respond in groups when specifically mentioned with @username +- Respond to replies to its own messages +- Process incoming media files +- Format responses using Markdown +- Split long messages into multiple parts if necessary + +## Configuration Options + +| Environment Variable | Required | Description | +|---------------------|----------|-------------| +| `TELEGRAM_ACCOUNT_PHONE` | Yes | Phone number with country code | +| `TELEGRAM_ACCOUNT_APP_ID` | Yes | Telegram API application ID | +| `TELEGRAM_ACCOUNT_APP_HASH` | Yes | Telegram API application hash | +| `TELEGRAM_ACCOUNT_DEVICE_MODEL` | Yes | Device model shown to other users | +| `TELEGRAM_ACCOUNT_SYSTEM_VERSION` | Yes | System version shown to other users | + +## Security Considerations + +- Store your Telegram API credentials securely as they provide full access to your account +- The plugin stores the authentication session in `./data/telegram_account_session` directory +- Be mindful of rate limits and Telegram's terms of service + +## Troubleshooting + +### Authentication Issues + +If you encounter authentication problems: + +1. Make sure your app ID and hash are correct +2. Delete the session file in `./data/telegram_account_session` to reset authentication +3. Ensure your phone number is in the correct format (with country code) + +### Response Problems + +If your agent is not responding properly: + +1. Check if the agent has the correct username in Telegram +2. Verify the agent is being mentioned properly in groups with @username +3. Examine the logs for any error messages + +## Limitations + +- The agent can only respond, it cannot initiate conversations +- In groups, it requires an explicit mention (@username) to respond +- Cannot currently handle voice messages or stickers diff --git a/docs/packages/clients/telegram.md b/docs/packages/clients/telegram.md new file mode 100644 index 00000000000..bf31180688b --- /dev/null +++ b/docs/packages/clients/telegram.md @@ -0,0 +1,88 @@ +# Telegram Client Plugin for ElizaOS + +This plugin integrates a Telegram client with ElizaOS, allowing characters in ElizaOS to interact via Telegram. It provides an easy setup for starting the Telegram client using the provided bot token and includes basic lifecycle management. + +## Features + +- **Seamless Telegram Integration**: Connects ElizaOS characters to Telegram through the bot API. +- **Configuration Validation**: Ensures required settings are properly configured before starting. +- **Startup Logging**: Logs successful initialization of the Telegram client for better debugging. +- **Future-proof Design**: Provides a basic structure for stopping the client (currently unsupported). + +## Configuration Options + +Here are the available configuration options for the `character.json` file: + +| Key | Type | Default | Description | +| ------------------------------- | ------- | -------- | --------------------------------------------------------------------------------------------------- | +| `clients` | Array | Required | Specifies the client type (e.g., `["telegram"]`). | +| `allowDirectMessages` | Boolean | `false` | Determines whether the bot should respond to direct messages (DMs). | +| `shouldOnlyJoinInAllowedGroups` | Boolean | `false` | Ensures the bot only joins and responds in specified groups. | +| `allowedGroupIds` | Array | `[]` | Lists the group IDs the bot is allowed to interact with (requires `shouldOnlyJoinInAllowedGroups`). | +| `messageTrackingLimit` | Integer | `100` | Sets the maximum number of messages to track in memory for each chat. | +| `templates` | Object | `{}` | Allows customization of response templates for different message scenarios. | + +## Example `.character.json` + +Below is an example configuration file with all options: + +```json +{ + "clients": ["telegram"], + "allowDirectMessages": true, + "shouldOnlyJoinInAllowedGroups": true, + "allowedGroupIds": ["-123456789", "-987654321"], + "messageTrackingLimit": 100, + "templates": { + "telegramMessageHandlerTemplate": "Your custom template here" + }, + "secrets": { + "key": "" + } +} +``` + +## How to Modify Settings + +1. Locate the `character.json` file in your project directory. +2. Update the file with the desired configuration options as shown in the example above. +3. Save the file and restart the bot for the changes to take effect. + +## Best Practices + +- **Production**: Restrict bot access with `shouldOnlyJoinInAllowedGroups: true` and specify `allowedGroupIds` to ensure security. +- **Token Management**: Always keep your bot token and backend tokens secure and never expose them in public repositories. + +## Pre-Requisites + +1. Add the bot token to the `.env` file in the project root: + +```env +TELEGRAM_BOT_TOKEN=your-bot-token +``` + +2. Add the same token to your character configuration file: + +Create or modify `characters/your-character.json`: + +```json +{ + "clients": ["telegram"], + "secrets": { + "key": "" + } +} +``` + +## From the project root: + +```bash +npm run dev +``` + +## Or using pnpm: + +```bash +pnpm start --character="characters/your-character.json" +``` + diff --git a/docs/packages/clients/twitter.md b/docs/packages/clients/twitter.md new file mode 100644 index 00000000000..7d2665d4613 --- /dev/null +++ b/docs/packages/clients/twitter.md @@ -0,0 +1,159 @@ +# Eliza Twitter/X Client + +This package provides Twitter/X integration for the Eliza AI agent. + +## Features + +- Post generation and management +- Interaction handling (mentions, replies) +- Search functionality +- Twitter Spaces support with STT/TTS capabilities +- Media handling (images, videos) +- Approval workflow via Discord (optional) + +## Setup Guide + +### Prerequisites + +- A Twitter/X Developer Account with API access +- Node.js and pnpm installed +- Discord bot (if using approval workflow) +- ElevenLabs API key (if using Spaces with TTS) + +### Step 1: Configure Environment Variables + +Create or edit `.env` file in your project root: + +```bash +# Twitter API Credentials +TWITTER_USERNAME= # Your Twitter/X username +TWITTER_PASSWORD= # Your Twitter/X password +TWITTER_EMAIL= # Your Twitter/X email +TWITTER_2FA_SECRET= # Optional: 2FA secret for login + +# Twitter Client Configuration +TWITTER_DRY_RUN=false # Set to true for testing without posting +MAX_TWEET_LENGTH=280 # Default tweet length limit +TWITTER_SEARCH_ENABLE=false # Enable search functionality +TWITTER_RETRY_LIMIT=5 # Login retry attempts +TWITTER_POLL_INTERVAL=120 # Poll interval in seconds +TWITTER_TARGET_USERS= # Comma-separated list of target users + +# Post Generation Settings +ENABLE_TWITTER_POST_GENERATION=true +POST_INTERVAL_MIN=90 # Minimum interval between posts (minutes) +POST_INTERVAL_MAX=180 # Maximum interval between posts (minutes) +POST_IMMEDIATELY=false # Skip approval workflow + +# Action Processing +ENABLE_ACTION_PROCESSING=false +ACTION_INTERVAL=5 # Action check interval (minutes) +MAX_ACTIONS_PROCESSING=1 # Maximum concurrent actions + +# Spaces Configuration (Optional) +TWITTER_SPACES_ENABLE=false +ELEVENLABS_XI_API_KEY= # Required for TTS in Spaces + +# Approval Workflow (Optional) +TWITTER_APPROVAL_DISCORD_BOT_TOKEN= +TWITTER_APPROVAL_DISCORD_CHANNEL_ID= +TWITTER_APPROVAL_CHECK_INTERVAL=300000 # 5 minutes in milliseconds +``` + +### Step 2: Initialize the Client + +```typescript +import { TwitterClientInterface } from "@elizaos/twitter"; + +const twitterPlugin = { + name: "twitter", + description: "Twitter client", + clients: [TwitterClientInterface], +}; + +// Register with your Eliza runtime +runtime.registerPlugin(twitterPlugin); +``` + +## Features + +### Post Generation + +The client can automatically generate and post tweets based on your agent's character profile and topics. Posts can be: +- Regular tweets (≤280 characters) +- Long-form tweets (Note Tweets) +- Media tweets (with images/videos) + +### Interactions + +Handles: +- Mentions +- Replies +- Quote tweets +- Direct messages + +### Search + +When enabled, periodically searches Twitter for relevant topics and engages with found content. + +### Twitter Spaces + +Supports creating and managing Twitter Spaces with: +- Speech-to-Text (STT) for transcription +- Text-to-Speech (TTS) via ElevenLabs +- Speaker management +- Idle monitoring +- Recording capabilities + +### Approval Workflow + +Optional Discord-based approval system for tweets: +1. Generated tweets are sent to a Discord channel +2. Moderators can approve/reject via reactions +3. Approved tweets are automatically posted + +## Development + +### Testing + +```bash +# Run tests +pnpm test + +# Run with debug logging +DEBUG=eliza:* pnpm start +``` + +### Common Issues + +#### Login Failures +- Verify credentials in .env +- Check 2FA configuration +- Ensure no rate limiting + +#### Post Generation Issues +- Verify character profile configuration +- Check MAX_TWEET_LENGTH setting +- Monitor approval workflow logs + +#### Spaces Issues +- Verify ELEVENLABS_XI_API_KEY if using TTS +- Check space configuration in character profile +- Monitor idle timeout settings + +## Security Notes + +- Never commit .env or credential files +- Use environment variables for sensitive data +- Implement proper rate limiting +- Monitor API usage and costs (especially for ElevenLabs) + +## Support + +For issues or questions: +1. Check the Common Issues section +2. Review debug logs (enable with DEBUG=eliza:*) +3. Open an issue with: + - Error messages + - Configuration details + - Steps to reproduce diff --git a/docs/packages/clients/xmtp.md b/docs/packages/clients/xmtp.md new file mode 100644 index 00000000000..443e6ab9af3 --- /dev/null +++ b/docs/packages/clients/xmtp.md @@ -0,0 +1,79 @@ +# XMTP Client package + +Eliza's client packages enable integration with various platforms and services. Each client provides a standardized interface for sending and receiving messages, handling media, and interacting with platform-specific features. + +## Architecture Overview + +```mermaid +graph TD + RT["Agent Runtime"] + CI["Client Interface"] + RT --> CI + + %% Main Clients + CI --> DC["Direct Client"] + CI --> DSC["Discord Client"] + CI --> TC["Telegram Client"] + CI --> TWC["Twitter Client"] + CI --> AC["Auto Client"] + CI --> XMTP["XMTP Client"] + + %% Key Features - one per client for clarity + DC --> |"REST API"| DC1["Messages & Images"] + DSC --> |"Bot Integration"| DSC1["Voice & Messages"] + TC --> |"Bot API"| TC1["Commands & Media"] + TWC --> |"Social"| TWC1["Posts & Interactions"] + AC --> |"Trading"| AC1["Analysis & Execution"] + XMTP --> |"E2EE Messaging"| XMTP1["Secure messaging"] + + %% Simple styling with better contrast and black text + classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px,color:black + classDef highlight fill:#e9e9e9,stroke:#333,stroke-width:2px,color:black + + class RT,CI highlight +``` + +## Available Client + +- XMTP (@elizaos/client-xmtp) - XMTP agent integration + +## Installation + +```bash +# XMTP + +pnpm add @elizaos/client-xmtp +``` + +## XMTP Client + +The XMTP client enables secure, decentralized, and encrypted messaging. + +### Basic Setup + +```tsx +import { XmtpClientInterface } from "@elizaos/client-xmtp"; + +// Initialize the XMTP client +const client = await XmtpClientInterface.start(runtime); + +// Configuration in .env +WALLET_KEY= // the private key of the wallet +ENCRYPTION_KEY= // a second random 32 bytes encryption key for local db encryption +``` + +For more information about XMTP visit it's [agent examples repo](https://github.com/ephemeraHQ/xmtp-agent-examples) + +## Why XMTP + +- **End-to-end & compliant**: Data is encrypted in transit and at rest, meeting strict security and regulatory standards. +- **Open-source & trustless**: Built on top of the [MLS](https://messaginglayersecurity.rocks/) protocol, it replaces trust in centralized certificate authorities with cryptographic proofs. +- **Privacy & metadata protection**: Offers anonymous or pseudonymous usage with no tracking of sender routes, IPs, or device and message timestamps. +- **Decentralized**: Operates on a peer-to-peer network, eliminating single points of failure. +- **Multi-tenant**: Allows multi-agent multi-human confidential communication over MLS group chats. + +> See [FAQ](https://docs.xmtp.org/intro/faq) for more detailed information. + +## Web inbox + +Interact with the XMTP protocol using [xmtp.chat](https://xmtp.chat) the official web inbox for developers using the latest version powered by MLS. diff --git a/docs/packages/index.md b/docs/packages/index.md new file mode 100644 index 00000000000..fde43226eeb --- /dev/null +++ b/docs/packages/index.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +id: index +title: Showcase +hide_title: true +sidebar_label: Showcase +hide_table_of_contents: true +slug: / +--- + +import BrowserOnly from '@docusaurus/BrowserOnly'; +import Layout from '@theme/Layout'; + + +{() => { + const ShowcaseComponent = require('@site/src/components/ShowcaseComponent').default; + return ( + + ); +}} + diff --git a/docs/packages/plugins/0g.md b/docs/packages/plugins/0g.md new file mode 100644 index 00000000000..e0d2a4922ed --- /dev/null +++ b/docs/packages/plugins/0g.md @@ -0,0 +1,221 @@ +# @elizaos/plugin-0g + +A plugin for storing data using the 0G protocol within the ElizaOS ecosystem. + +## Description + +The 0G plugin enables seamless integration with the Zero Gravity (0G) protocol for decentralized file storage. It provides functionality to upload files to the 0G network. + +## Installation + +```bash +pnpm install @elizaos/plugin-0g +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ZEROG_INDEXER_RPC=<0G indexer RPC endpoint> +ZEROG_EVM_RPC=<0G EVM RPC endpoint> +ZEROG_PRIVATE_KEY= +ZEROG_FLOW_ADDRESS=<0G Flow contract address> +``` + +## Usage + +### Basic Integration + +```typescript +import { zgPlugin } from "@eliza/plugin-0g"; +``` + +### File Upload Example + +```typescript +// The plugin automatically handles file uploads when triggered +// through natural language commands like: + +"Upload my document.pdf"; +"Store this image.png on 0G"; +"Save my resume.docx to Zero Gravity"; +``` + +## API Reference + +### Actions + +#### ZG_UPLOAD + +Uploads files to the 0G network. + +**Aliases:** + +- UPLOAD_FILE_TO_ZG +- STORE_FILE_ON_ZG +- SAVE_FILE_TO_ZG +- UPLOAD_TO_ZERO_GRAVITY +- STORE_ON_ZERO_GRAVITY +- SHARE_FILE_ON_ZG +- PUBLISH_FILE_TO_ZG + +**Input Content:** + +```typescript +interface UploadContent { + filePath: string; +} +``` + +## Common Issues & Troubleshooting + +1. **File Access Errors** + + - Ensure the file exists at the specified path + - Check file permissions + - Verify the path is absolute or relative to the execution context + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure RPC endpoints are accessible + - Confirm private key has sufficient permissions + +## Security Best Practices + +1. **Environment Variables** + - Never commit private keys to version control + - Use secure environment variable management + - Rotate private keys periodically + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Storage Management** + + - Multi-file upload optimization + - Folder structure preservation + - Automated file replication + - Storage redundancy management + - File versioning system + - Archival storage options + +2. **Content Distribution** + + - CDN integration + - Bandwidth optimization + - Geographic replication + - Edge caching support + - P2P content delivery + - Streaming optimization + +3. **Data Security** + + - Enhanced encryption options + - Access control lists + - Key management system + - Data integrity verification + - Secure sharing mechanisms + - Privacy-preserving features + +4. **Integration Features** + + - Additional blockchain support + - Cross-chain functionality + - Smart contract integration + - NFT storage optimization + - DApp integration tools + - API expansion + +5. **Performance Optimization** + + - Upload speed improvements + - Parallel processing + - Compression algorithms + - Caching mechanisms + - Network optimization + - Resource management + +6. **Developer Tools** + + - Enhanced SDK features + - CLI tool improvements + - Testing framework + - Monitoring dashboard + - Analytics integration + - Documentation generator + +7. **Content Management** + + - Metadata management + - Search functionality + - Content indexing + - Tag system + - Collection management + - Batch operations + +8. **Protocol Features** + - Model service deployment + - KV store implementation + - State persistence + - Database integration + - Enhanced file metadata + - Protocol governance + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Zero Gravity (0G)](https://0g.ai/): Decentralized file storage protocol +- [IPFS](https://ipfs.tech/): InterPlanetary File System +- [Filecoin](https://filecoin.io/): Decentralized storage network +- [Flow](https://flow.com/): Blockchain for open worlds +- [Content Addressable Storage](https://en.wikipedia.org/wiki/Content-addressable_storage): Storage architecture + +Special thanks to: + +- The 0G Protocol development team +- The Protocol Labs team for IPFS +- The Filecoin Foundation +- The Flow blockchain team +- The decentralized storage community +- The Eliza community for their contributions and feedback + +For more information about 0G capabilities: + +- [0G Documentation](https://docs.0g.xyz/) +- [IPFS Documentation](https://docs.ipfs.tech/) +- [Filecoin Docs](https://docs.filecoin.io/) +- [Flow Documentation](https://developers.flow.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/0x.md b/docs/packages/plugins/0x.md new file mode 100644 index 00000000000..42cd84804c2 --- /dev/null +++ b/docs/packages/plugins/0x.md @@ -0,0 +1,86 @@ +# @elizaos/plugin-0x + +This plugin enables Eliza to interact with the 0x Protocol, providing decentralized exchange capabilities across multiple evm blockchain networks with optimized token swaps and liquidity aggregation. + +Supported networks include: + - Ethereum Mainnet + - Polygon + - Binance Smart Chain + - Arbitrum + - Optimism + - Base + - Linea + - Scroll + - Avalanche + - Blast + +## Configuration + +Set the following environment variables: + +```env +WALLET_PRIVATE_KEY=your_private_key +ZERO_EX_API_KEY=your_0x_api_key +{chain}_RPC_URL=your_rpc_endpoint +``` + +## Installation + +```bash +pnpm install @elizaos/plugin-0x +``` + +## Usage + +### Basic Integration + +```typescript +import { zeroExPlugin } from "@elizaos/plugin-0x"; +``` + +### Example Usage + +The plugin supports natural language commands for ETH transfers: + +```typescript +"I want to convert 1 ETH to USDC on ethereum chain"; +"Give me the quote"; +"Execute it"; +``` + +## Available Actions + +The plugin provides the following actions: + +1. **GET_INDICATIVE_PRICE_0X**: Get indicative prices for token swaps + - Example: "Get quote for swapping 1 ETH to USDC on Ethereum chain" + - Example: "Price check for trading 100 USDT to MATIC on Polygon chain" + +2. **GET_QUOTE_0X**: Get the quote for the swap. Quote expires in 5mins. (This action is triggered only after user has requested for an indicative price. No need to repeat the buy/sell tokens because the last indicative price will be stored in the memory) + - Example: "Get quote" + +3. **EXECUTE_SWAP_0X**: Execute token swaps. (Action is triggered only after user has gotten a quote) + - Example: "Execute the swap" + +## Security Best Practices + +1. **Environment Variables** + - Never commit private keys to version control + - Use secure environment variable management + - Rotate private keys periodically + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: +- [0x Protocol](https://0x.org/) + +For more information about 0x capabilities: +- [0x API Documentation](https://0x.org/docs/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/3d-generation.md b/docs/packages/plugins/3d-generation.md new file mode 100644 index 00000000000..51e50349a74 --- /dev/null +++ b/docs/packages/plugins/3d-generation.md @@ -0,0 +1,221 @@ +# @elizaos/plugin-3d-generation + +A plugin for generating 3D models using the FAL.ai API within the ElizaOS ecosystem. + +## Description + +The 3D Generation plugin enables AI-powered creation of 3D models through FAL.ai's services. It provides functionality to generate 3D models from text descriptions and save them locally. + +## Installation + +```bash +pnpm install @elizaos/plugin-3d-generation +``` + +## Configuration + +The plugin requires the following environment variable or runtime setting to be set: + +```typescript +FAL_API_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation"; +``` + +### Model Generation Examples + +```typescript +// The plugin responds to natural language commands like: + +"Generate a 3D object of a cat playing piano"; +"Create a 3D object of an anime character Goku"; +"Make a 3D model of [your description]"; +``` + +## API Reference + +### Actions + +#### GENERATE_3D + +Generates 3D models based on text descriptions. + +**Aliases:** + +- 3D_GENERATION +- 3D_GEN +- CREATE_3D +- MAKE_3D +- TEXT23D +- TEXT_TO_3D +- 3D_CREATE +- 3D_MAKE + +**Default Configuration:** + +```typescript +{ + geometry_file_format: "glb", // Available: glb, usdz, fbx, obj, stl + material: "PBR", // Available: PBR, Shaded + quality: "medium", // Available: extra-low, low, medium, high + tier: "Regular" // Available: Regular, Sketch +} +``` + +## Common Issues & Troubleshooting + +1. **Generation Failures** + + - Verify FAL API key is correctly set + - Ensure prompt is descriptive (minimum 3 characters) + - Check network connectivity to FAL.ai services + +2. **Storage Issues** + - Verify write permissions to content_cache directory + - Ensure sufficient disk space + - Check if content_cache directory exists + +## Security Best Practices + +1. **API Key Management** + - Store FAL API key securely using runtime settings or environment variables + - Never commit API keys to version control + - Monitor API usage + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Generation Features** + + - Multi-object scene generation + - Texture customization options + - Animation support + - Material property controls + - Advanced lighting systems + - Physics-based rendering + +2. **Model Optimization** + + - Automatic mesh simplification + - LOD (Level of Detail) generation + - Texture compression + - File size optimization + - Performance profiling + - Mobile-friendly exports + +3. **Format Support** + + - Additional file format exports + - Custom format converters + - Batch format conversion + - Format-specific optimizations + - Metadata preservation + - Version control integration + +4. **AI Improvements** + + - Enhanced prompt understanding + - Style transfer capabilities + - Real-time generation + - Multi-model support + - Quality improvements + - Consistency controls + +5. **Scene Management** + + - Scene composition tools + - Environment management + - Asset library integration + - Scene presets + - Batch processing + - Scene version control + +6. **Developer Tools** + + - API expansion + - Testing framework + - Documentation generator + - Debug visualization + - Performance monitoring + - Integration templates + +7. **Rendering Features** + + - Real-time preview + - Custom shader support + - Post-processing effects + - Render queue management + - Batch rendering + - Cloud rendering options + +8. **Collaboration Features** + - Asset sharing + - Version control + - Team workspace + - Review system + - Access control + - Change tracking + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [FAL.ai](https://fal.ai/): AI model deployment platform +- [Three.js](https://threejs.org/): 3D graphics library +- [glTF](https://www.khronos.org/gltf/): 3D file format standard +- [USD](https://graphics.pixar.com/usd/): Universal Scene Description +- [Blender](https://www.blender.org/): 3D creation suite + +Special thanks to: + +- The FAL.ai team for AI infrastructure +- The Three.js development community +- The Khronos Group for glTF standards +- The Pixar USD team +- The Blender Foundation +- The Eliza community for their contributions and feedback + +For more information about 3D generation capabilities: + +- [FAL.ai Documentation](https://fal.ai/docs) +- [Three.js Documentation](https://threejs.org/docs/) +- [glTF Specification](https://github.com/KhronosGroup/glTF) +- [USD Documentation](https://graphics.pixar.com/usd/docs/index.html) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/ATTPs.md b/docs/packages/plugins/ATTPs.md new file mode 100644 index 00000000000..6f01ad3d617 --- /dev/null +++ b/docs/packages/plugins/ATTPs.md @@ -0,0 +1,172 @@ + +# @elizaos/plugin-attps + +Foundation plugin that enables advanced agent interactions, data verification, and price queries on the Eliza OS platform. It streamlines agent creation, verification processes, and provides a flexible framework for building robust agent-based solutions. + +## Overview + +The ATTPs plugin bridges agent-based logic with the Eliza ecosystem. It handles agent registration, data verification, and price queries, empowering both automated and user-driven workflows. + +## Features + +### Agent Operations +- **Agent Creation**: Deploy new agents with custom settings +- **Registration**: Register agents on-chain or via standardized processes +- **Multi-Signer Framework**: Supports threshold-based approval flows + +### Data Verification +- **Chain Validation**: Verify data authenticity on-chain +- **Transaction Execution**: Handle verification logic with built-in security checks +- **Auto-Hashing**: Convert raw data to hashed formats when needed +- **Metadata Parsing**: Validate content type, encoding, and compression + +### Price Queries +- **Live Price Data**: Fetch price information for various pairs +- **Format Validation**: Normalize user query inputs to standard trading-pair formats +- **APIs Integration**: Retrieve real-time or near-real-time pricing information + +## Security Features + +### Access Control +- **Private Key Management**: Safe usage of private keys for transaction signing +- **Environment Variables**: Secure injection of credentials +- **On-Chain Validation**: Leverage on-chain contract checks + +### Verification +- **Input Validation**: Strict schema checks before on-chain operations +- **Transaction Receipts**: Provide verifiable transaction details +- **Error Handling**: Detailed error logs for quick debugging + +## Installation + +```bash +npm install @elizaos/plugin-attps +``` + +## Configuration + +Configure the plugin by setting environment variables or runtime settings: +- ATTPS_RPC_URL +- ATTPS_PROXY_ADDRESS +- ATTPS_PRIVATE_KEY +- ATTPS_CONVERTER_ADDRESS +- ATTPS_AUTO_HASH_DATA + +## Usage + +### Basic Setup +```typescript +import { attpsPlugin } from "@elizaos/plugin-attps"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [attpsPlugin], +}); +``` + +### Actions + +#### CREATE_AND_REGISTER_AGENT +Creates and registers an agent using specified settings. + +```typescript +const result = await runtime.executeAction("CREATE_AND_REGISTER_AGENT", { + signers: [...], + threshold: 3, + agentHeader: { ... }, + // ...other fields... +}); +``` + +#### VERIFY +Verifies data on-chain via the Agent SDK. + +```typescript +const result = await runtime.executeAction("VERIFY", { + payload: { + data: "0x...hexData", + signatures: [...], + }, + agent: "0x...agentAddress", + digest: "0x...digestString", +}); +``` + +#### PRICE_QUERY +Fetches live price data for a specified trading pair. + +```typescript +const result = await runtime.executeAction("PRICE_QUERY", { + pair: "BTC/USD", +}); +``` + +## Performance Optimization + +1. **Cache Management** + - Implement caching for frequent queries + - Monitor retrieval times and cache hits + +2. **Network Efficiency** + - Batch requests where possible + - Validate response parsing to reduce overhead + +## System Requirements +- Node.js 16.x or higher +- Sufficient network access to on-chain endpoints +- Basic configuration of environment variables +- Minimum 4GB RAM recommended + +## Troubleshooting + +1. **Invalid Agent Settings** + - Ensure signers and threshold are correct + - Validate agentHeader for proper UUIDs and numeric values + +2. **Verification Failures** + - Check the input data formats + - Confirm environment variables are set + +3. **Price Query Errors** + - Verify the trading pair format + - Check external API availability + +## Safety & Security + +1. **Credential Management** + - Store private keys securely + - Do not commit secrets to version control + +2. **Transaction Limits** + - Configure thresholds to mitigate abuse + - Log transaction attempts and failures + +3. **Monitoring & Logging** + - Track unusual activity + - Maintain detailed audit logs + +## Support + +For issues or feature requests: +1. Check existing documentation +2. Submit a GitHub issue with relevant details +3. Include transaction logs and system info if applicable + +## Contributing + +We welcome pull requests! Refer to the project’s CONTRIBUTING.md and open discussions to coordinate efforts. + +## Credits + +- [APRO](https://www.apro.com/) - Plugin sponsor and partner +- [ATTPs SDK JS](https://github.com/APRO-com/attps-sdk-js) - Underlying agent SDK +- [ethers.js](https://docs.ethers.io/) - Transaction and contract interaction +- Community contributors for feedback and testing + +For more information about Apro plugin capabilities: + +- [Apro Documentation](https://docs.apro.com/en) + +## License + +This plugin is part of the Eliza project. Refer to the main project repository for licensing details. \ No newline at end of file diff --git a/docs/packages/plugins/abstract.md b/docs/packages/plugins/abstract.md new file mode 100644 index 00000000000..865ec94ead2 --- /dev/null +++ b/docs/packages/plugins/abstract.md @@ -0,0 +1,175 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description + +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-abstract +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ABSTRACT_ADDRESS= +ABSTRACT_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { abstractPlugin } from "@elizaos/plugin-abstract"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; +"Transfer 0.1 ETH to 0xbD8679cf79137042214fA4239b02F4022208EE82"; +"Pay 50 USDC on Abstract to [address]"; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** + +- TRANSFER_TOKEN_ON_ABSTRACT +- TRANSFER_TOKENS_ON_ABSTRACT +- SEND_TOKENS_ON_ABSTRACT +- SEND_ETH_ON_ABSTRACT +- PAY_ON_ABSTRACT +- MOVE_TOKENS_ON_ABSTRACT +- MOVE_ETH_ON_ABSTRACT + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Smart Account Features** + + - Multi-signature support + - Account recovery mechanisms + - Batch transaction processing + - Advanced permission management + - Account abstraction improvements + - Social recovery options + +2. **DEX Integration** + + - Advanced swap routing + - Liquidity pool management + - Yield farming automation + - Price impact analysis + - Slippage protection + - AMM optimization + +3. **Security Enhancements** + + - Transaction simulation + - Risk assessment tools + - Rate limiting controls + - Fraud detection system + - Emergency shutdown features + - Audit integration tools + +4. **Developer Tools** + + - Enhanced debugging capabilities + - Documentation generator + - CLI tool improvements + - Testing utilities + - Deployment automation + - Performance profiling + +5. **Analytics and Monitoring** + + - Transaction tracking dashboard + - Network statistics + - Performance metrics + - Gas usage optimization + - Custom reporting tools + - Real-time monitoring + +6. **Wallet Management** + - Multiple wallet support + - Hardware wallet integration + - Address book features + - Transaction history analysis + - Balance monitoring + - Token management tools + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Abstract](https://abs.xyz/): Consumer blockchain +- [viem](https://viem.sh/): Typescript web3 client + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/advanced-sdk-ts.md b/docs/packages/plugins/advanced-sdk-ts.md new file mode 100644 index 00000000000..73f0bf459dc --- /dev/null +++ b/docs/packages/plugins/advanced-sdk-ts.md @@ -0,0 +1,126 @@ +# Coinbase Advanced API TypeScript SDK + +Welcome to the Coinbase Advanced API TypeScript SDK. This TypeScript project was created to allow developers to easily plug into the [Coinbase Advanced API](https://docs.cdp.coinbase.com/advanced-trade/docs/welcome). + +Coinbase Advanced Trade offers a comprehensive API for traders, providing access to real-time market data, order management, and execution. Elevate your trading strategies and develop sophisticated solutions using our powerful tools and features. + +For more information on all the available REST endpoints, see the [API Reference](https://docs.cdp.coinbase.com/advanced-trade/reference/). + +--- + +## Installation + +```bash +npm install +``` + +--- + +## Build and Use + +To build the project, run the following command: + +```bash +npm run build +``` + +_Note: To avoid potential issues, do not forget to build your project again after making any changes to it._ + +After building the project, each `.ts` file will have its `.js` counterpart generated. + +To run a file, use the following command: + +``` +node dist/{INSERT-FILENAME}.js +``` + +For example, a `main.ts` file would be run like: + +```bash +node dist/main.js +``` + +--- + +## Coinbase Developer Platform (CDP) API Keys + +This SDK uses Cloud Developer Platform (CDP) API keys. To use this SDK, you will need to create a CDP API key and secret by following the instructions [here](https://docs.cdp.coinbase.com/advanced-trade/docs/getting-started). +Make sure to save your API key and secret in a safe place. You will not be able to retrieve your secret again. + +--- + +## Importing the RESTClient + +All the REST endpoints are available directly from the client, therefore it's all you need to import. + +``` +import { RESTClient } from './rest'; +``` + +--- + +## Authentication + +Authentication of CDP API Keys is handled automatically by the SDK when making a REST request. + +After creating your CDP API keys, store them using your desired method and simply pass them into the client during initialization like: + +``` +const client = new RESTClient(API_KEY, API_SECRET); +``` + +--- + +## Making Requests + +Here are a few examples requests: + +**[List Accounts](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getaccounts)** + +``` +client + .listAccounts({}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Get Product](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproduct)** + +``` +client + .getProduct({productId: "BTC-USD"}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Create Order](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_postorder)** + +_$10 Market Buy on BTC-USD_ + +``` +client + .createOrder({ + clientOrderId: "00000001", + productId: "BTC-USD", + side: OrderSide.BUY, + orderConfiguration:{ + market_market_ioc: { + quote_size: "10" + } + } + }) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` diff --git a/docs/packages/plugins/agentkit.md b/docs/packages/plugins/agentkit.md new file mode 100644 index 00000000000..f5a2580832c --- /dev/null +++ b/docs/packages/plugins/agentkit.md @@ -0,0 +1,123 @@ +# @elizaos/plugin-agentkit + +AgentKit plugin for Eliza that enables interaction with CDP AgentKit tools for NFT and token management. + +## Setup + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure environment variables: + +```env +CDP_API_KEY_NAME=your_key_name +CDP_API_KEY_PRIVATE_KEY=your_private_key +CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia +``` + +3. Add the plugin to your character configuration: + +```json +{ + "plugins": ["@elizaos/plugin-agentkit"], + "settings": { + "secrets": { + "CDP_API_KEY_NAME": "your_key_name", + "CDP_API_KEY_PRIVATE_KEY": "your_private_key" + } + } +} +``` + +## Available Tools + +The plugin provides access to the following CDP AgentKit tools: + +- `GET_WALLET_DETAILS`: Get wallet information +- `DEPLOY_NFT`: Deploy a new NFT collection +- `DEPLOY_TOKEN`: Deploy a new token +- `GET_BALANCE`: Check token or NFT balance +- `MINT_NFT`: Mint NFTs from a collection +- `REGISTER_BASENAME`: Register a basename for NFTs +- `REQUEST_FAUCET_FUNDS`: Request testnet funds +- `TRADE`: Execute trades +- `TRANSFER`: Transfer tokens or NFTs +- `WOW_BUY_TOKEN`: Buy WOW tokens +- `WOW_SELL_TOKEN`: Sell WOW tokens +- `WOW_CREATE_TOKEN`: Create new WOW tokens + +## Usage Examples + +1. Get wallet details: + +``` +Can you show me my wallet details? +``` + +2. Deploy an NFT collection: + +``` +Deploy a new NFT collection called "Music NFTs" with symbol "MUSIC" +``` + +3. Create a token: + +``` +Create a new WOW token called "Artist Token" with symbol "ART" +``` + +4. Check balance: + +``` +What's my current balance? +``` + +## Development + +1. Build the plugin: + +```bash +pnpm build +``` + +2. Run in development mode: + +```bash +pnpm dev +``` + +## Dependencies + +- @elizaos/core +- @coinbase/cdp-agentkit-core +- @coinbase/cdp-langchain +- @langchain/core + +## Network Support + +The plugin supports the following networks: + +- Base Sepolia (default) +- Base Mainnet + +Configure the network using the `CDP_AGENT_KIT_NETWORK` environment variable. + +## Troubleshooting + +1. If tools are not being triggered: + + - Verify CDP API key configuration + - Check network settings + - Ensure character configuration includes the plugin + +2. Common errors: + - "Cannot find package": Make sure dependencies are installed + - "API key not found": Check environment variables + - "Network error": Verify network configuration + +## License + +MIT diff --git a/docs/packages/plugins/akash.md b/docs/packages/plugins/akash.md new file mode 100644 index 00000000000..081f353f26b --- /dev/null +++ b/docs/packages/plugins/akash.md @@ -0,0 +1,133 @@ +# Akash Network Plugin for Eliza + +A powerful plugin for interacting with the Akash Network, enabling deployment management and cloud compute operations through Eliza. + +## Table of Contents +- [Installation](#installation) +- [Configuration](#configuration) +- [Directory Structure](#directory-structure) +- [Available Actions](#available-actions) + +## Installation + +```bash +pnpm add @elizaos/plugin-akash +``` + +## Configuration + +### Environment Variables +Create a `.env` file in your project root with the following configuration: + +```env +# Network Configuration +AKASH_ENV=mainnet +AKASH_NET=https://raw.githubusercontent.com/ovrclk/net/master/mainnet +RPC_ENDPOINT=https://rpc.akashnet.net:443 + +# Transaction Settings +AKASH_GAS_PRICES=0.025uakt +AKASH_GAS_ADJUSTMENT=1.5 +AKASH_KEYRING_BACKEND=os +AKASH_FROM=default +AKASH_FEES=20000uakt + +# Authentication +AKASH_MNEMONIC=your_12_word_mnemonic_here + +# Manifest Settings +AKASH_MANIFEST_MODE=auto # Options: auto, validate_only +AKASH_MANIFEST_VALIDATION_LEVEL=strict # Options: strict, basic, none +AKASH_MANIFEST_PATH=/path/to/manifests # Optional: Path to save generated manifests + +# Deployment Settings +AKASH_DEPOSIT=5000000uakt # Default deployment deposit +AKASH_SDL=deployment.yml # Default SDL file name +``` + +**Important Notes:** +- `AKASH_MNEMONIC`: Your 12-word wallet mnemonic phrase (required) +- `AKASH_MANIFEST_MODE`: Controls manifest generation behavior +- `AKASH_MANIFEST_VALIDATION_LEVEL`: Sets SDL validation strictness +- `AKASH_DEPOSIT`: Default deposit amount for deployments + +⚠️ Never commit your `.env` file with real credentials to version control! + + +#### SDL (Stack Definition Language) +``` +src/sdl/example.sdl.yml +``` +Place your SDL configuration files here. The plugin looks for SDL files in this directory by default. + +#### Certificates +``` +src/.certificates/ +``` +SSL certificates for secure provider communication are stored here. + +## Available Actions + +| Action | Description | Parameters | +|---------------------|------------------------------------------------|---------------------------------------------| +| CREATE_DEPLOYMENT | Create a new deployment | `sdl`, `sdlFile`, `deposit` | +| CLOSE_DEPLOYMENT | Close an existing deployment | `dseq`, `owner` | +| GET_PROVIDER_INFO | Get provider information | `provider` | +| GET_DEPLOYMENT_STATUS| Check deployment status | `dseq`, `owner` | +| GET_GPU_PRICING | Get GPU pricing comparison | `cpu`, `memory`, `storage` | +| GET_MANIFEST | Generate deployment manifest | `sdl`, `sdlFile` | +| GET_PROVIDERS_LIST | List available providers | `filter: { active, hasGPU, region }` | + + +Each action returns a structured response with: +```typescript +{ + text: string; // Human-readable response + content: { + success: boolean; // Operation success status + data?: any; // Action-specific data + error?: { // Present only on failure + code: string; + message: string; + }; + metadata: { // Operation metadata + timestamp: string; + source: string; + action: string; + version: string; + actionId: string; + } + } +} +``` + +## Error Handling + +The plugin includes comprehensive error handling with specific error codes: + +- `VALIDATION_SDL_FAILED`: SDL validation errors +- `WALLET_NOT_INITIALIZED`: Wallet setup issues +- `DEPLOYMENT_CREATION_FAILED`: Deployment failures +- `API_REQUEST_FAILED`: Network/API issues +- `MANIFEST_PARSING_FAILED`: Manifest generation errors +- `PROVIDER_FILTER_ERROR`: Provider filtering issues + +## Development + +### Running Tests +```bash +pnpm test +``` + +### Building +```bash +pnpm run build +``` + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. + +## Support + +For support and questions, please open an issue in the repository or contact the maintainers. diff --git a/docs/packages/plugins/allora.md b/docs/packages/plugins/allora.md new file mode 100644 index 00000000000..1912853add4 --- /dev/null +++ b/docs/packages/plugins/allora.md @@ -0,0 +1,87 @@ +# @elizaos/plugin-allora + +Seamlessly empowers Eliza agents with real-time, advanced, self-improving AI inferences from the Allora Network. + +## Installation + +```bash +pnpm add @elizaos/plugin-allora +``` + +## Configuration + +### Environment Variables + +```env +ALLORA_API_KEY=your_api_key # Required: Allora API key +ALLORA_CHAIN_SLUG=testnet # Optional: Defaults to testnet +``` + +### Character Configuration + +Add the plugin to your character's configuration: + +```typescript +import { alloraPlugin } from "@elizaos/plugin-allora"; + +const character = { + plugins: [alloraPlugin], + settings: { + secrets: { + ALLORA_API_KEY: "your_api_key" + } + } +}; +``` + +## Features + +- **Real-time Inference Access**: Get live predictions across various topics +- **Topic Management**: Automatic discovery and caching of available topics +- **Smart Caching**: 30-minute cache duration for optimal performance +- **Natural Language Interface**: Simple conversational commands for accessing predictions + +## Usage + +Users can request inferences using natural language: + +```plaintext +"What is the predicted ETH price in 5 minutes?" +"Can you check the current BTC prediction?" +``` + +Example Response: +```plaintext +"Inference provided by Allora Network on topic ETH 5min (Topic ID: 13): 3393.364326646801085508" +``` + +## API Reference + +### Actions + +- `GET_INFERENCE`: Retrieves predictions for a specific topic + - Aliases: `GET_ALLORA_INFERENCE`, `GET_TOPIC_INFERENCE`, `ALLORA_INFERENCE`, `TOPIC_INFERENCE` + - Automatically matches user requests to available topics + - Returns formatted inference results with topic details + +### Providers + +- `topicsProvider`: Manages topic information and caching + - Provides context about available Allora Network topics + - Implements 30-minute caching for optimization + - Returns formatted topic information including names, descriptions, and status + +## Troubleshooting + +### Common Issues + +1. "No active Allora Network topic matches your request" + - Verify that your requested topic exists and is active + - Check that the topic matches the timeframe of your request + +2. API Connection Issues + - Verify your ALLORA_API_KEY is correctly set + - Check network connectivity + - Ensure the API endpoint is accessible + +For detailed information and additional implementation examples, please refer to the [Allora-Eliza integration docs](https://docs.allora.network/marketplace/integrations/eliza-os/implementation). diff --git a/docs/packages/plugins/ankr.md b/docs/packages/plugins/ankr.md new file mode 100644 index 00000000000..56b1bf3067c --- /dev/null +++ b/docs/packages/plugins/ankr.md @@ -0,0 +1,87 @@ + +## Ankr Plugin Guide + +
      +

      🔗 Blockchain Data Query Interface

      +
      + +### Available Actions + +The Ankr plugin provides comprehensive blockchain data querying capabilities through natural language prompts. Below are the supported actions and their usage: + +#### 1. Blockchain Information +```bash +# Get blockchain stats +Show me stats for [chain]eth[/chain] + +# Get top currencies +Show me the top currencies on [chain]eth[/chain] +``` + +#### 2. Wallet & Balance Queries +```bash +# Check wallet balance +Show me the balance for wallet [wallet]0x6B0031518934952C485d5a7E76f1729B50e67486[/wallet] on [chain]eth[/chain] + +# View wallet interactions +Show me interactions for the wallet [wallet]0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45[/wallet] +``` + +#### 3. NFT Operations +```bash +# Get NFT holders +Show me holders of NFT contract [contract]0x34d85c9cdeb23fa97cb08333b511ac86e1c4e258[/contract] token [token]112234[/token] on [chain]eth[/chain] + +# Get NFT metadata +Show me the metadata for NFT [token]1234[/token] at contract [contract]0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d[/contract] [chain]eth[/chain] + +# List NFTs by owner +Show me all NFTs owned by wallet [wallet]0x1234567890123456789012345678901234567890[/wallet] on [chain]eth[/chain] + +# View NFT transfers +Show me NFT transfers for contract [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] [chain]eth[/chain] [fromtimestamp]1655197483[/fromtimestamp][totimestamp]1671974699[/totimestamp] +``` + +#### 4. Token Operations +```bash +# Get token holders +Show me holders for contract [contract]0xf307910A4c7bbc79691fD374889b36d8531B08e3[/contract] on [chain]bsc[/chain] + +# Get token holder count +How many holders does [contract]0xdAC17F958D2ee523a2206206994597C13D831ec7[/contract] have? [chain]eth[/chain] + +# Check token price +What's the current price of [contract]0x8290333cef9e6d528dd5618fb97a76f268f3edd4[/contract] token [chain]eth[/chain] + +# View token transfers +Show me recent contract [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] transfers [chain]eth[/chain] from [fromtimestamp]1655197483[/fromtimestamp] to [totimestamp]1656061483[/totimestamp] +``` + +#### 5. Transaction Queries +```bash +# Get transactions by address +Show me the latest transactions for address [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] [chain]eth[/chain] + +# Get transaction details +Show me details for transaction [txHash]0x748eeb4a15ba05736a9397a07ca86f0184c0c1eca53fa901b28a412d1a3f211f[/txHash] [chain]eth[/chain] +``` + +### Tag Reference + +| Tag | Description | Example | +|-----|-------------|---------| +| `[chain]` | Blockchain identifier | eth, bsc | +| `[wallet]` | Wallet address | 0x1234... | +| `[contract]` | Contract address | 0xabcd... | +| `[token]` | Token ID | 1234 | +| `[txHash]` | Transaction hash | 0x748e... | +| `[fromtimestamp]` | Start timestamp | 1655197483 | +| `[totimestamp]` | End timestamp | 1656061483 | + +### Important Notes + +1. All addresses must be valid blockchain addresses (0x format) +2. Timestamps must be in Unix timestamp format +3. Chain names should be lowercase (eth, bsc, etc.) +4. Transaction hashes must be complete and valid +5. Include all required tags for each action typ diff --git a/docs/packages/plugins/anyone.md b/docs/packages/plugins/anyone.md new file mode 100644 index 00000000000..19881825fa0 --- /dev/null +++ b/docs/packages/plugins/anyone.md @@ -0,0 +1,69 @@ +# @elizaos/plugin-anyone + +A plugin for integrating Anyone protocol proxy services into Eliza agents. + +## Installation + +```bash +pnpm add @elizaos/plugin-anyone +``` + +## Features + +- Start and stop Anyone client services +- Automatic proxy configuration for axios +- SOCKS proxy support (port 9050) +- Clean proxy cleanup and restoration + +## Usage + +Add the plugin to your agent's configuration: + +```typescript +import { anyonePlugin } from "@elizaos/plugin-anyone"; + +const character = { + plugins: [anyonePlugin] +}; +``` + +### Available Actions + +#### START_ANYONE +Starts the Anyone client and configures proxy settings. + +Example commands: +```plaintext +"Can you start Anyone for me?" +"Initialize the Anyone client please" +"Launch Anyone for me" +``` + +#### STOP_ANYONE +Stops the Anyone client and cleans up proxy settings. + +Example commands: +```plaintext +"Can you stop Anyone for me?" +"Please shut down Anyone" +"Close Anyone for me" +``` + +## Technical Details + +The plugin provides two main services: + +1. `AnyoneClientService`: Manages the Anyone client instance + - Singleton pattern implementation + - Handles client initialization and cleanup + - Configures SOCKS proxy on port 9050 + +2. `AnyoneProxyService`: Handles axios proxy configuration + - Preserves original axios settings + - Automatically applies proxy settings + - Provides clean restoration of original config + +## Dependencies + +- @anyone-protocol/anyone-client: ^0.4.3 +- axios: ^1.7.9 diff --git a/docs/packages/plugins/aptos.md b/docs/packages/plugins/aptos.md new file mode 100644 index 00000000000..15c6ae3668d --- /dev/null +++ b/docs/packages/plugins/aptos.md @@ -0,0 +1,249 @@ +# @elizaos/plugin-aptos + +A plugin for interacting with the Aptos blockchain network within the ElizaOS ecosystem. + +## Description + +The Aptos plugin enables seamless token transfers and wallet management on the Aptos blockchain. It provides functionality to transfer APT tokens and monitor wallet balances with real-time price tracking. + +## Installation + +```bash +pnpm install @elizaos/plugin-aptos +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +APTOS_PRIVATE_KEY= +APTOS_NETWORK=<"mainnet" | "testnet"> +``` + +## Usage + +### Basic Integration + +```typescript +import { + aptosPlugin, + WalletProvider, + TransferAptosToken, +} from "@elizaos/plugin-aptos"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 69 APT tokens to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0"; +"Transfer APT to [address]"; +"Pay [amount] APT to [recipient]"; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers APT tokens from the agent's wallet to another address. + +**Aliases:** + +- TRANSFER_TOKEN +- TRANSFER_TOKENS +- SEND_TOKENS +- SEND_APT +- PAY + +**Configuration:** + +```typescript +{ + APT_DECIMALS: 8; // Decimal places for APT token +} +``` + +### Providers + +#### WalletProvider + +Provides wallet information and portfolio tracking. + +**Features:** + +- Real-time APT price tracking +- Portfolio value calculation +- Cached wallet information (5-minute TTL) +- Formatted portfolio reports + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Verify wallet has sufficient APT balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Price Fetching Issues** + - Check connection to DexScreener API + - Verify cache functionality + - Monitor retry mechanism (3 attempts with exponential backoff) + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +5. Development mode: + +```bash +pnpm run dev +``` + +## Dependencies + +- @aptos-labs/ts-sdk: ^1.26.0 +- bignumber.js: 9.1.2 +- node-cache: 5.1.2 + +## Future Enhancements + +The following features and improvements are planned for future releases: + +1. **Advanced Token Operations** + + - Batch token transfers + - Token creation templates + - NFT minting and management + - Token metadata management + - Custom tokenomics implementation + - Token upgrade mechanisms + +2. **DeFi Integration** + + - Liquidity pool management + - Yield farming automation + - Staking optimization + - AMM integration + - Cross-chain bridges + - Price impact analysis + +3. **Move Contract Management** + + - Contract deployment tools + - Contract verification + - Contract upgrade system + - Testing framework + - Gas optimization tools + - Security audit integration + +4. **Wallet Enhancements** + + - Multi-wallet support + - Hardware wallet integration + - Transaction batching + - Address book management + - Custom signature schemes + - Account abstraction + +5. **Price Feed Improvements** + + - Additional data sources + - Real-time price alerts + - Historical data analysis + - Custom price aggregation + - Price prediction tools + - Market sentiment analysis + +6. **Developer Tools** + + - Enhanced debugging capabilities + - Move language IDE integration + - Documentation generator + - Performance profiling + - Testing utilities + - Deployment automation + +7. **Security Features** + + - Transaction simulation + - Risk assessment tools + - Rate limiting controls + - Fraud detection + - Emergency shutdown + - Multi-signature support + +8. **Analytics and Monitoring** + - Transaction tracking + - Portfolio analytics + - Network statistics + - Gas usage optimization + - Performance metrics + - Custom reporting tools + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Aptos](https://aptoslabs.com/): Layer 1 blockchain platform +- [@aptos-labs/ts-sdk](https://github.com/aptos-labs/aptos-core/tree/main/ecosystem/typescript/sdk): Official TypeScript SDK +- [Petra Wallet](https://petra.app/): Aptos wallet integration +- [DexScreener](https://dexscreener.com/): Price feed integration +- [Move Language](https://github.com/move-language/move): Smart contract language + +Special thanks to: + +- The Aptos Labs team for developing the blockchain +- The Petra Wallet development team +- The DexScreener team for price data +- The Move language developers +- The Aptos Developer community +- The Eliza community for their contributions and feedback + +For more information about Aptos capabilities: + +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) +- [Petra Wallet Docs](https://petra.app/docs) +- [DexScreener API](https://docs.dexscreener.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/arbitrage.md b/docs/packages/plugins/arbitrage.md new file mode 100644 index 00000000000..5f6f8052526 --- /dev/null +++ b/docs/packages/plugins/arbitrage.md @@ -0,0 +1,113 @@ +# ElizaOS Arbitrage Plugin + +A powerful DEX arbitrage trading plugin for ElizaOS, designed to identify and automatically execute profitable cross-market trading opportunities on Ethereum-based decentralized exchanges. + +## Overview + +The ElizaOS Arbitrage Plugin monitors multiple decentralized exchanges (DEXs) like Uniswap and Sushiswap for price discrepancies in token pairs. When it identifies a profitable arbitrage opportunity that exceeds the configured threshold, it automatically executes the trade using Flashbots bundles to maximize profits and minimize risk. + +## Features + +- **Real-time Market Monitoring**: Continuously watches market conditions across multiple DEXs via WebSocket connections +- **Automated Opportunity Detection**: Analyzes price differences to identify profitable arbitrage paths +- **Smart Trade Execution**: Uses Flashbots to execute trades privately and avoid front-running +- **Configurable Trading Parameters**: Customizable profit thresholds, gas limits, and other trading parameters +- **Risk Management**: Advanced volume optimization to minimize price impact and maximize profits +- **Performance Optimization**: Efficient batch processing and concurrent operations for minimal latency + +## Prerequisites + +- Node.js 18 or higher +- An Ethereum wallet with private key +- Access to an Ethereum WSS endpoint +- Flashbots relay signing key +- Bundle executor smart contract deployment + +## Installation + +```bash +npm install @elizaos-plugins/plugin-arbitrage +``` + +## Configuration + +To use the plugin, you need to configure your ElizaOS character with the necessary settings: + +```json +{ + "name": "Trader", + "settings": { + "secrets": { + "EVM_PRIVATE_KEY": "YOUR_PRIVATE_KEY_HERE", + "FLASHBOTS_RELAY_SIGNING_KEY": "YOUR_FLASHBOTS_KEY_HERE", + "BUNDLE_EXECUTOR_ADDRESS": "YOUR_EXECUTOR_ADDRESS_HERE" + }, + "arbitrage": { + "ethereumWsUrl": "YOUR_ETH_WSS_URL", + "rpcUrl": "YOUR_ETH_RPC_URL" + } + }, + "plugins": [ + "@elizaos/plugin-arbitrage", + "@elizaos/plugin-evm" + ] +} +``` + +### Required Settings + +| Setting | Description | +|---------|-------------| +| `EVM_PRIVATE_KEY` | Private key for your Ethereum wallet (keep this secure!) | +| `FLASHBOTS_RELAY_SIGNING_KEY` | Signing key for Flashbots bundles | +| `BUNDLE_EXECUTOR_ADDRESS` | Address of your bundle executor contract | +| `ethereumWsUrl` | WebSocket URL for your Ethereum node | +| `rpcUrl` | RPC URL for your Ethereum node | + +## Usage + +The plugin integrates with ElizaOS and provides the following capabilities: + +### Actions + +- `EXECUTE_ARBITRAGE`: Scans for and executes profitable arbitrage opportunities + +### Providers + +- `marketProvider`: Provides real-time market data and arbitrage opportunities + +### Example Interactions + +``` +User: "Find arbitrage opportunities" +Trader: "Scanning for arbitrage trades..." +``` + +## Advanced Configuration + +You can customize trading parameters by modifying the thresholds in `src/config/thresholds.ts`: + +```typescript +export const DEFAULT_THRESHOLDS: MarketThresholds = { + minProfitThreshold: BigNumber.from("100000000000000"), // 0.0001 ETH + maxTradeSize: BigNumber.from("1000000000000000000"), // 1 ETH + gasLimit: 500000, + minerRewardPercentage: 90 +}; +``` + +## Architecture + +The plugin consists of several key components: + +- **Core Engine**: Implements the arbitrage detection and execution logic +- **Market Adapters**: Interfaces with various DEXs like Uniswap and Sushiswap +- **WebSocket Manager**: Handles real-time market data updates +- **Service Layer**: Integrates with ElizaOS to provide plugin functionality + +## Security Considerations + +- Ensure your private keys are stored securely +- Test with small amounts before deploying with significant capital +- Monitor gas costs to ensure profitability +- Implement circuit breakers for market volatility diff --git a/docs/packages/plugins/arthera.md b/docs/packages/plugins/arthera.md new file mode 100644 index 00000000000..b634635d469 --- /dev/null +++ b/docs/packages/plugins/arthera.md @@ -0,0 +1,68 @@ +# `@elizaos/plugin-arthera` + +This plugin provides actions and providers for interacting with Arthera. + +--- + +## Configuration + +### Default Setup + +By default, **Arthera** is enabled. To use it, simply add your private key to the `.env` file: + +```env +ARTHERA_PRIVATE_KEY=your-private-key-here +``` + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use a custom RPC URL for a specific chain, add the following to your `.env` file: + +```env +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +**Example usage:** + +```env +ETHEREUM_PROVIDER_ARTHERA=https://rpc.arthera.net +``` + +## Provider + +The **Wallet Provider** initializes with Arthera. It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chain. + +--- + +## Actions + +### Transfer + +Transfer tokens from one address to another on Arthera. Just specify the: + +- **Amount** +- **Chain** +- **Recipient Address** + +**Example usage:** + +```bash +Transfer 1 AA to 0xRecipient on arthera. +``` + +--- + +## Contribution + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR. + +### Running Tests + +Navigate to the `plugin-arthera` directory and run: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/asterai.md b/docs/packages/plugins/asterai.md new file mode 100644 index 00000000000..c84bf32f3a5 --- /dev/null +++ b/docs/packages/plugins/asterai.md @@ -0,0 +1,80 @@ +# @elizaos/plugin-asterai + +A plugin for interacting with [asterai](https://asterai.io) plugins and agents. + +## Description + +This plugin provides functionality to allow Eliza agents to interact with +asterai plugins and agents. + +This will expand your Eliza character's utility by giving it access to all +the functionality of asterai's ecosystem of marketplace and private plugins +and agents. + +## Installation + +```bash +pnpm install @elizaos/plugin-asterai +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ASTERAI_AGENT_ID= +ASTERAI_PUBLIC_QUERY_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { asteraiPlugin } from '@elizaos/plugin-asterai'; +``` + +### Example Usage + +The plugin supports natural language for interacting with the asterai agent +through your Eliza character. + +For example, if your asterai agent can fetch weather data: + +```typescript +"Hey Eliza, how's the weather in LA?" +``` + +Eliza will then query the asterai agent to fetch the information. + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + diff --git a/docs/packages/plugins/autonome.md b/docs/packages/plugins/autonome.md new file mode 100644 index 00000000000..97e79ddad5c --- /dev/null +++ b/docs/packages/plugins/autonome.md @@ -0,0 +1,84 @@ +# @elizaos/plugin-autonome + +A plugin that enables launching new Eliza agents through the [Autonome platform](https://dev.autonome.fun). + +## Installation + +```bash +pnpm add @elizaos/plugin-autonome +``` + +## Configuration + +### Environment Variables + +```env +# Required: JWT token from Autonome platform +AUTONOME_JWT_TOKEN=your_jwt_token + +# Required: Autonome RPC endpoint (fixed production endpoint) +AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps +``` + +To get your JWT token: +1. Login to [dev.autonome.fun](https://dev.autonome.fun) +2. Open browser developer console +3. Extract your JWT token + +### Character Configuration + +Add the plugin to your character's configuration: + +```typescript +import { autonomePlugin } from "@elizaos/plugin-autonome"; + +const character = { + plugins: [autonomePlugin] +}; +``` + +## Features + +- Launch new Eliza agents through the Autonome platform +- Configure agent settings via natural language +- Track deployment status +- Direct integration with Autonome dashboard + +## Usage + +The plugin responds to various deployment commands: + +```plaintext +"Launch an agent, name is xiaohuo" +"Create a new agent" +"Deploy an Eliza agent" +``` + +Upon successful deployment, you'll receive a dashboard link: +``` +https://dev.autonome.fun/autonome/[app-id]/details +``` + +## API Reference + +### Actions + +#### LAUNCH_AGENT +Creates and deploys a new agent to the Autonome platform. + +Aliases: +- CREATE_AGENT +- DEPLOY_AGENT +- DEPLOY_ELIZA +- DEPLOY_BOT + +Parameters: +- `name`: Name of the agent to deploy +- `config`: Agent configuration in JSON format + +## Dependencies + +- @coral-xyz/anchor: 0.30.1 +- @elizaos/plugin-tee: workspace:* +- @elizaos/plugin-trustdb: workspace:* +- axios: ^1.7.9 diff --git a/docs/packages/plugins/avail.md b/docs/packages/plugins/avail.md new file mode 100644 index 00000000000..16b9a2ca0f5 --- /dev/null +++ b/docs/packages/plugins/avail.md @@ -0,0 +1,42 @@ +# @elizaos/plugin-avail - Plugin for Avail + +This is a plugin for using Eliza to interact with the Avail DA network. Defaults to Turing testnet, but can be customized to use Mainnet by changing the RPC in the `.env` file at `AVAIL_RPC_URL`. + +## Actions +- **transfer**: This action enables the transfer of AVAIL tokens from the agent's wallet (as defined by the keyring generated from `AVAIL_SEED`) to another wallet. To use just mention the transfer of AVAIL tokens to an Avail account. + + - name: `SEND_AVAIL` + + - Message sample: `Send 100 AVAIL to 5GWbvXjefEvXXETtKQH7YBsUaPc379KAQATW1eqeJT26cbsK` + +- **submitData**: This action enables the submission of any arbitrary data to the Avail DA network. To use just mention that you need to send "any data" to Avail. You can customize the Avail `appID` through which the agent submits the data by modifying the `AVAIL_APP_ID` env config. + + - name: `SUBMIT_DATA` + + - Message sample: `Submit the following data to Avail "Hello World!"` + +## Usage & Testing + +### Detailed testing steps +- In `.env` you should set the value for `AVAIL_ADDRESS` (this is the public address for the agent account - [learn how to get one here](https://docs.availproject.org/user-guides/accounts#seed-phrases)) and `AVAIL_SEED` (seed phrase for the same account). + +- **Transfer AVAIL** + - To test transfer function, you need tokens in your Avail account. On testnet, you can use the [Avail Faucet](https://faucet.avail.tools/). If you need more please ping us on [Discord](https://discord.gg/y6fHnxZQX8), and we can send it over. + - Run the agent and prompt it with: "send AMOUNT AVAIL to any other Avail account " - e.g. `send 1 AVAIL to 5GWbvXjefEvXXETtKQH7YBsUaPc379KAQATW1eqeJT26cbsK` + - Assuming everything goes smoothly the agent returns with the Tx Hash, and Block Hash. +The tx hash can be checked on the Avail block explorer at https://avail-turing.subscan.io/ + +- **Submit Data** + - To test data submission, you need tokens in your Avail account to pay fees. On testnet, you can use the [Avail Faucet](https://faucet.avail.tools/). If you need more please ping us on [Discord](https://discord.gg/y6fHnxZQX8), and we can send it over. + - Run the agent and prompt it with: "Submit the following data to Avail DATA" - e.g. `Submit the following data to Avail "Hello World!"` + - Assuming everything goes smoothly the agent returns with the Tx Hash, and Block Hash. The tx hash can be checked on the Avail block explorer at https://avail-turing.subscan.io/ + + +## Resources +- [Avail Documentation](https://docs.availproject.org/) +- [Set up an Avail Account](https://docs.availproject.org/user-guides/accounts#seed-phrases) - Learn how to get your `AVAIL_SEED` +- [Find more Network Information like RPC endpoints](https://docs.availproject.org/docs/networks) +- [Learn more about appIDs](https://docs.availproject.org/docs/build-with-avail/interact-with-avail-da/app-id) +- [Learn more about Avail](https://www.availproject.org/) +- [Awesome Avail Repo](https://github.com/availproject/awesome-avail) + diff --git a/docs/packages/plugins/avalanche.md b/docs/packages/plugins/avalanche.md new file mode 100644 index 00000000000..15cc16d26c7 --- /dev/null +++ b/docs/packages/plugins/avalanche.md @@ -0,0 +1,253 @@ +# @elizaos/plugin-avalanche + +A plugin for interacting with the Avalanche blockchain network within the ElizaOS ecosystem. + +## Description + +The Avalanche plugin enables comprehensive DeFi operations on the Avalanche network, including token transfers, YAK swaps, yield strategy management, and token creation via Token Mill. + +## Installation + +```bash +pnpm install @elizaos/plugin-avalanche +``` + +## Configuration + +The plugin requires the following environment variable: + +```typescript +AVALANCHE_PRIVATE_KEY= +``` + +## Features + +### 1. Token Transfers + +- Send native AVAX and ERC20 tokens +- Support for multiple token standards +- Built-in address validation + +### 2. YAK Swaps + +- Decentralized token swaps +- Automatic best path finding +- Slippage protection (default: 0.2%) +- Support for all major tokens + +### 3. Yield Strategies + +- Deposit tokens into yield-generating strategies +- Support for multiple strategies including: + - YAK staking + - USDC Benqi + - gmYAK Token Mill + - PRINCESS staking + - JOE staking + +### 4. Token Mill + +- Create new tokens +- Configure custom tokenomics +- Automatic market creation + +## Supported Tokens + +```typescript +const TOKENS = { + AVAX: "0x0000000000000000000000000000000000000000", + WAVAX: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + YAK: "0x59414b3089ce2AF0010e7523Dea7E2b35d776ec7", + gmYAK: "0x3A30784c1af928CdFce678eE49370220aA716DC3", + USDC: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + // ... and more +}; +``` + +## Usage Examples + +### Token Transfer + +```typescript +// Send AVAX +"Send 10 AVAX to 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; + +// Send ERC20 +"Transfer 100 USDC to [address]"; +``` + +### YAK Swap + +```typescript +// Swap tokens +"Swap 1 AVAX for USDC"; +"Swap 10 USDC for gmYAK"; +``` + +### Yield Strategy + +```typescript +// Deposit into strategies +"Deposit 1 USDC into the strategy"; +"Deposit 10 gmYAK to earn yield"; +``` + +### Token Creation + +```typescript +// Create new token +"Create a new memecoin called 'Test Token' with the symbol 'TEST'"; +``` + +## Providers + +### 1. Wallet Provider + +- Displays wallet balances +- Shows tokens in yield strategies +- Real-time balance updates + +### 2. Strategies Provider + +- Lists available yield strategies +- Shows deposit token requirements + +### 3. Tokens Provider + +- Lists supported tokens +- Shows token addresses + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- viem: ^2.21.49 +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Advanced DeFi Operations** + + - Multi-hop yield strategies + - Auto-compounding features + - Yield optimization algorithms + - Risk assessment tools + - Portfolio rebalancing automation + - Cross-chain yield farming + +2. **Enhanced Token Management** + + - Batch token operations + - Advanced token creation templates + - Token migration tools + - Automated token listing + - Token analytics dashboard + - Custom tokenomics implementation + +3. **YAK Protocol Integration** + + - Advanced routing algorithms + - MEV protection features + - Gas optimization strategies + - Liquidity analysis tools + - Price impact predictions + - Custom trading strategies + +4. **Benqi Protocol Features** + + - Collateral optimization + - Liquidation protection + - Interest rate monitoring + - Position management tools + - Risk assessment dashboard + - Auto-repayment features + +5. **Token Mill Improvements** + + - Advanced token customization + - Automated market making + - Token distribution tools + - Vesting schedule management + - Governance token features + - Token upgrade mechanisms + +6. **Security Enhancements** + + - Transaction simulation + - Smart contract auditing tools + - Real-time monitoring + - Automated safety checks + - Emergency shutdown features + - Multi-signature support + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + - Performance monitoring + +8. **Analytics and Reporting** + - Portfolio tracking + - Performance metrics + - Gas usage optimization + - Transaction history analysis + - Yield comparison tools + - Risk assessment reports + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Avalanche](https://www.avax.network/): High-performance blockchain platform +- [avalanchejs](https://github.com/ava-labs/avalanchejs): Official Avalanche JavaScript library +- [YAK Protocol](https://yak.exchange/): Decentralized exchange aggregator +- [Benqi](https://benqi.fi/): Lending and borrowing protocol +- [Token Mill](https://tokenmill.xyz/): Token creation platform + +Special thanks to: + +- The Ava Labs team for developing Avalanche +- The YAK Protocol development team +- The Benqi protocol developers +- The Token Mill platform team +- The Avalanche Developer community +- The Eliza community for their contributions and feedback + +For more information about Avalanche capabilities: + +- [Avalanche Documentation](https://docs.avax.network/) +- [YAK Protocol Docs](https://yak.exchange/docs) +- [Benqi Documentation](https://docs.benqi.fi/) +- [Token Mill Guide](https://docs.tokenmill.xyz/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/aws-s3.md b/docs/packages/plugins/aws-s3.md new file mode 100644 index 00000000000..8bade4ce730 --- /dev/null +++ b/docs/packages/plugins/aws-s3.md @@ -0,0 +1,68 @@ +# @elizaos/plugin-node + +Core Node.js plugin for Eliza OS that provides AWS S3 integration for file operations and cloud storage. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, providing AWS S3 integration for cloud-based file management and storage capabilities. + +## Features + +- **AWS S3 Integration**: File upload and management with AWS S3 + +## Installation + +```bash +npm install @elizaos/plugin-node +``` + +## Configuration + +The plugin requires AWS environment variables to function: + +### AWS Settings + +```env +AWS_ACCESS_KEY_ID=your_aws_access_key +AWS_SECRET_ACCESS_KEY=your_aws_secret_key +AWS_REGION=your_aws_region +AWS_S3_BUCKET=your_s3_bucket +AWS_S3_UPLOAD_PATH=your_upload_path +AWS_S3_ENDPOINT=an_alternative_endpoint +AWS_S3_SSL_ENABLED=boolean(true|false) +AWS_S3_FORCE_PATH_STYLE=boolean(true|false) +``` + +## Usage + +```typescript +import { createNodePlugin } from "@elizaos/plugin-node"; + +// Initialize the plugin +const nodePlugin = createNodePlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(nodePlugin); +``` + +## Services + +### AwsS3Service + +Handles file uploads and management with AWS S3. + +## Troubleshooting + +### Common AWS S3 Issues + +```bash +Error: AWS credentials not configured +``` + +- Verify AWS credentials are set +- Check S3 bucket permissions +- Ensure correct region configuration + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/b2.md b/docs/packages/plugins/b2.md new file mode 100644 index 00000000000..1e5ba623cab --- /dev/null +++ b/docs/packages/plugins/b2.md @@ -0,0 +1,169 @@ +# @elizaos/plugin-b2 + +A plugin for interacting with the B2-Network within the ElizaOS ecosystem. + +## Description + +The B2 Network Plugin offers a set of features that can be integrated into the Eliza platform to enhance its capabilities. This plugin enables seamless token transfers on the B2-Network. It provides functionality to transfer both native B2-BTC and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-b2 +``` + +## Configuration + +The plugin requires the following environment variable: + +```typescript +B2_PRIVATE_KEY= +``` + +## Features + +### 1. Token Transfers + +- Send native B2-BTC and ERC20 tokens +- Support for multiple token standards +- Built-in address validation + +## Supported Tokens + +```typescript +const TOKENS = { + "B2-BTC": "0x0000000000000000000000000000000000000000", + uBTC: "0x796e4D53067FF374B89b2Ac101ce0c1f72ccaAc2", + USDC: "0xE544e8a38aDD9B1ABF21922090445Ba93f74B9E5", + USDT: "0x681202351a488040Fa4FdCc24188AfB582c9DD62", + // ... and more +}; +``` + +## Usage Examples + +### Token Transfer + +```typescript +// Send B2-BTC +"Send 1 B2-BTC to 0x4f9e2dc50B4Cd632CC2D24edaBa3Da2a9338832a"; + +// Send ERC20 +"Transfer 100 USDC to [address]"; +``` + +## Providers + +### 1. Wallet Provider + +- Displays wallet balances +- Real-time balance updates + +### 2. Tokens Provider + +- Lists supported tokens +- Shows token addresses + +## Development + +1. Clone the repository +2. Install dependencies: +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- viem: ^2.21.49 +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Advanced DeFi Operations** + + - Multi-hop yield strategies + - Auto-compounding features + - Yield optimization algorithms + - Risk assessment tools + - Portfolio rebalancing automation + - Cross-chain yield farming + +2. **Enhanced Token Management** + + - Batch token operations + - Advanced token creation templates + - Token migration tools + - Automated token listing + - Token analytics dashboard + - Custom tokenomics implementation + +3. **YAK Protocol Integration** + + - Advanced routing algorithms + - MEV protection features + - Gas optimization strategies + - Liquidity analysis tools + - Price impact predictions + - Custom trading strategies + +4. **Benqi Protocol Features** + + - Collateral optimization + - Liquidation protection + - Interest rate monitoring + - Position management tools + - Risk assessment dashboard + - Auto-repayment features + +5. **Token Mill Improvements** + + - Advanced token customization + - Automated market making + - Token distribution tools + - Vesting schedule management + - Governance token features + - Token upgrade mechanisms + +6. **Security Enhancements** + + - Transaction simulation + - Smart contract auditing tools + - Real-time monitoring + - Automated safety checks + - Emergency shutdown features + - Multi-signature support + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + - Performance monitoring + +8. **Analytics and Reporting** + - Portfolio tracking + - Performance metrics + - Gas usage optimization + - Transaction history analysis + - Yield comparison tools + - Risk assessment reports + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/binance.md b/docs/packages/plugins/binance.md new file mode 100644 index 00000000000..67489337202 --- /dev/null +++ b/docs/packages/plugins/binance.md @@ -0,0 +1,88 @@ +# Binance Plugin for Eliza + +This plugin enables Eliza to interact with the Binance cryptocurrency exchange, providing capabilities for checking prices, executing trades, and managing spot wallet balances. + +## Features + +- 📊 Real-time cryptocurrency price checks +- 💱 Spot trading (market and limit orders) +- 💰 Wallet balance inquiries +- ✅ Comprehensive error handling +- 🔒 Secure API integration + +## Prerequisites + +1. **Binance Account**: You need a Binance account to use this plugin +2. **API Keys**: Generate API keys from your Binance account: + - Go to your Binance account settings + - Navigate to API Management + - Create a new API key + - Enable spot trading permissions + - Store your API key and secret securely + +## Configuration + +Set the following environment variables: + +```env +BINANCE_API_KEY=your_api_key +BINANCE_SECRET_KEY=your_secret_key +``` + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-binance"] +} +``` + +## Available Actions + +The plugin provides the following actions: + +1. **GET_PRICE**: Check cryptocurrency prices + + - Example: "What's the current price of Bitcoin?" + - Example: "Check ETH price in USDT" + +2. **EXECUTE_SPOT_TRADE**: Execute spot trades + + - Example: "Buy 0.1 BTC at market price" + - Example: "Sell 100 USDT worth of ETH" + +3. **GET_SPOT_BALANCE**: Check wallet balances + - Example: "What's my BTC balance?" + - Example: "Show all my wallet balances" + +## Important Notes + +1. **API Rate Limits**: Binance implements rate limiting: + + - 1200 requests per minute for most endpoints + - Some endpoints have specific weight limits + - The plugin handles rate limiting errors appropriately + +2. **Minimum Order Sizes**: Binance enforces minimum order sizes and notional values: + + - Minimum order size varies by trading pair + - Minimum notional value (quantity × price) must be met + - The plugin validates these requirements before order execution + +3. **Error Handling**: The plugin provides detailed error messages for: + - Invalid API credentials + - Insufficient balance + - Invalid trading pairs + - Minimum notional value not met + - Other API-specific errors + +## Service Architecture + +The plugin is organized into specialized services: + +- `PriceService`: Handles price-related operations +- `TradeService`: Manages trading operations +- `AccountService`: Handles balance and account operations +- `BaseService`: Provides common functionality diff --git a/docs/packages/plugins/birdeye.md b/docs/packages/plugins/birdeye.md new file mode 100644 index 00000000000..0ac543844f4 --- /dev/null +++ b/docs/packages/plugins/birdeye.md @@ -0,0 +1,38 @@ +# Eliza Birdeye Plugin + +A powerful plugin for Eliza that integrates with Birdeye's comprehensive DeFi and token analytics API. This plugin provides real-time access to blockchain data, token metrics, and DeFi analytics across multiple networks. + +## Features + +### Provider Featurs + +- **Agent Portfolio Provider** + + - If `BIRDEYE_WALLET_ADDR` is set, this provider will fetch the wallet's portfolio data from Birdeye and be able to respond to questions related to the wallet's holdings. + +### Action Features + +- **Token Search Address** + + - This action will search input message for token addresses and when present will query Birdeye for token information + +- **Token Search Symbol** + + - This action will search input message for token symbols in the format of `$SYMBOL` and when present will query Birdeye for token information. Note that this action currently only supports SOL, SUI, and ETH addresses. + - _Any addresses that look like EVM addresses will be treated as ETH addresses since there is no easy way to distinguish between the other EVM chains that are supported by Birdeye_. + +- **Wallet Search Address** + + - This action will search input message for wallet addresses and when present will query Birdeye for wallet information + +## API Reference + +The plugin provides access to a subset of Birdeye API endpoints through structured interfaces. For detailed API documentation, visit [Birdeye's API Documentation](https://public-api.birdeye.so). + +## License + +See parent project for license information. + +## Contributing + +Contributions are welcome! See parent project for contribution guidelines. diff --git a/docs/packages/plugins/bittensor.md b/docs/packages/plugins/bittensor.md new file mode 100644 index 00000000000..47c93d7b50c --- /dev/null +++ b/docs/packages/plugins/bittensor.md @@ -0,0 +1,24 @@ +# @elizaos/plugin-bittensor + +A plugin that integrates BitMind's API into ElizaOS agents, enabling access to AI services and digital assets powered by the Bittensor network. + +## Description +The Bittensor plugin enables agents to interact with BitMind's API to access a range of AI capabilities on Bittensor's decentralized network, including inference, media generation, and deepfake detection services. Currently, the plugin offers image detection functionality to determine if images are AI-generated, with additional capabilities planned for future releases through the BitMind API. + +## Installation + +```bash +pnpm install @elizaos/plugin-bittensor +``` + +## Features + +### SN34 - Deepfake Detection +The plugin currently implements BitMind's SN34 subnet for AI-generated image detection. This subnet provides: +- Real-time analysis of image authenticity +- Confidence scoring for AI influence detection +- Detailed response formatting with: + - Binary classification (AI vs Natural image) + - Percentage-based AI influence rating + - Risk assessment based on confidence levels + - Visual indicators for quick interpretation (🤖, 📸, ⚠️, ⚡, ✅) \ No newline at end of file diff --git a/docs/packages/plugins/bnb.md b/docs/packages/plugins/bnb.md new file mode 100644 index 00000000000..6b66f199f8a --- /dev/null +++ b/docs/packages/plugins/bnb.md @@ -0,0 +1,144 @@ +# `@ai16z/plugin-bnb` + +This plugin enables interaction with the BNB Chain ecosystem, providing support for BNB Smart Chain, opBNB, and BNB Greenfield networks. + +--- + +## Configuration + +### Default Setup + +By default, **plugin-bnb** is not enabled. To use it, simply add your private key and/or public key to the `.env` file. If private key is not provided, some actions will be disabled. + +**Security Note:** Your private key grants full access to your associated funds. Store it securely and never share it with anyone. Do not commit or upload your `.env` file to version control systems like Git. + +```env +BNB_PRIVATE_KEY=your-private-key-here +BNB_PUBLIC_KEY=your-public-key-here +``` + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use custom RPC URLs, add the following to your `.env` file: + +```env +BSC_PROVIDER_URL=https://your-custom-bsc-rpc-url +OPBNB_PROVIDER_URL=https://your-custom-opbnb-rpc-url +``` + +## Provider + +The **Wallet Provider** initializes with BSC as the default. It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chains. + +--- + +## Actions + +### Get Balance + +Get the balance of an address on BSC. Just specify the: + +- **Chain** +- **Address** +- **Token** + +**Example usage:** + +```bash +Get the USDC balance of 0x1234567890 on BSC. +``` + +### Transfer + +Transfer tokens from one address to another on BSC/opBNB. Just specify the: + +- **Chain** +- **Token** +- **Amount** +- **Recipient Address** +- **Data**(Optional) + +**Example usage:** + +```bash +Transfer 1 BNB to 0xRecipient on BSC. +``` + +### Swap + +Swap tokens from one address to another on BSC. Just specify the: + +- **Chain**(Only BSC is supported for now) +- **Input Token** +- **Output Token** +- **Amount** +- **Slippage**(Optional) + +**Example usage:** + +```bash +Swap 1 BNB to USDC on BSC. +``` + +### Bridge + +Bridge tokens from one chain to another on BSC/opBNB. Just specify the: + +- **From Chain** +- **To Chain** +- **From Token** +- **To Token** +- **Amount** +- **Recipient Address**(Optional) + +**Example usage:** + +```bash +Bridge 1 BNB from BSC to opBNB. +``` + +### Stake + +Perform staking operations on BSC through [Lista Dao](https://lista.org/liquid-staking/BNB). User will receive sliBNB(0xB0b84D294e0C75A6abe60171b70edEb2EFd14A1B) as staking credit. Just specify the: + +- **Chain**(Only BSC is supported for now) +- **Action** +- **Amount** + +**Example usage:** + +```bash +Deposit 1 BNB to Lista Dao. +``` + +### Faucet + +Request testnet tokens from the faucet. You could request any of the supported tokens(BNB, BTC, BUSD, DAI, ETH, USDC). Just specify the: + +- **Token**(Optional) +- **Recipient Address** + +The faucet is rate-limited. One claim is allowed per IP address within a 24-hour period. And the recipient address must maintain a minimum balance of 0.002 BNB on BSC Mainnet to qualify. + +**Example usage:** + +```bash +Get some testnet USDC from the faucet. +``` + +--- + +## Contribution + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR. + +### Running Tests + +Navigate to the `plugin-bnb` directory and run: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/bootstrap.md b/docs/packages/plugins/bootstrap.md new file mode 100644 index 00000000000..2988bd7d643 --- /dev/null +++ b/docs/packages/plugins/bootstrap.md @@ -0,0 +1,180 @@ +# Unmaintained: this plugin is currently part of @elizaos/eliza + +# @elizaos/plugin-bootstrap + +A plugin providing core functionality and basic actions for ElizaOS agents. + +## Description + +The Bootstrap plugin enables fundamental agent behaviors including conversation management, room interactions, and fact tracking. It provides essential actions and evaluators that form the foundation of agent interactions. + +## Installation + +```bash +pnpm install @elizaos/plugin-bootstrap +``` + +## Features + +### 1. Conversation Management + +- NONE action for basic responses +- CONTINUE action for follow-ups +- IGNORE action for appropriate disengagement +- Built-in conversation flow control + +### 2. Room Control + +- Follow/Unfollow room functionality +- Mute/Unmute capabilities +- Automatic engagement level tracking +- Smart participation management + +### 3. Fact Management + +- Automatic fact extraction +- Categorization of claims +- Deduplication of known information +- Support for multiple fact types: + - Permanent facts + - Status updates + - Opinions + - Biographical information + +### 4. Goal Tracking + +- Track objective progress +- Update goal statuses +- Monitor completion states +- Automatic progress evaluation + +## Providers + +### 1. Boredom Provider + +- Tracks engagement levels +- Provides status messages +- Monitors conversation quality +- Adjusts participation accordingly + +### 2. Facts Provider + +- Manages fact database +- Retrieves relevant information +- Formats fact summaries +- Maintains fact context + +### 3. Time Provider + +- Provides UTC timestamps +- Human-readable formatting +- Time-based operation support + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Enhanced Conversation Management** + + - Advanced context tracking + - Multi-thread conversation support + - Conversation state persistence + - Improved conversation flow control + - Natural language understanding improvements + +2. **Advanced Room Control** + + - Dynamic room creation and management + - Room permission system + - Advanced moderation tools + - Room analytics and insights + - Cross-room communication features + +3. **Expanded Fact Management** + + - Enhanced fact verification system + - Fact relationship mapping + - Automated fact updating + - Fact confidence scoring + - Cross-reference system + - Fact expiration management + +4. **Goal System Improvements** + + - Multi-step goal planning + - Goal dependency tracking + - Progress visualization + - Goal priority management + - Automated milestone tracking + - Goal optimization suggestions + +5. **Provider Enhancements** + + - Improved boredom detection + - Advanced engagement metrics + - Enhanced fact retrieval algorithms + - Real-time status updates + - Provider performance analytics + +6. **Memory Management** + + - Enhanced memory prioritization + - Memory compression techniques + - Long-term memory storage + - Memory relationship mapping + - Context-aware recall + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Plugin development templates + - Documentation generator + - Performance profiling tools + +8. **Integration Features** + - Enhanced plugin interoperability + - External service connectors + - API gateway integration + - Webhook system improvements + - Third-party platform support + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza Core development team +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/browser.md b/docs/packages/plugins/browser.md new file mode 100644 index 00000000000..c62e92ecbdb --- /dev/null +++ b/docs/packages/plugins/browser.md @@ -0,0 +1,133 @@ +# @elizaos/plugin-browser + +Browser automation plugin for Eliza OS that provides web scraping and browser automation capabilities. + +## Overview + +The Browser plugin serves as a powerful component of Eliza OS, providing browser automation and web scraping capabilities using Playwright. It enables automated web interactions, content extraction, and browser-based tasks for Eliza agents. + +## Features + +- **Browser Automation**: Web scraping and content extraction with Playwright +- **Multiple Browser Support**: Works with Chromium, Firefox, and WebKit +- **Headless Mode**: Support for both headless and headed browser operations +- **Page Interaction**: Automated form filling, clicking, and navigation +- **Content Extraction**: HTML parsing and data extraction +- **Screenshot Capture**: Page and element screenshot capabilities +- **Network Handling**: Request interception and network monitoring + +## Installation + +```bash +npm install @elizaos/plugin-browser +``` + +## Configuration + +The plugin may require various environment variables depending on your use case: + +### Core Settings + +```env +CAPSOLVER_API_KEY=your_capsolver_api_key # Optional: For CAPTCHA solving capabilities +``` + +## Usage + +```typescript +import { createBrowserPlugin } from "@elizaos/plugin-browser"; + +// Initialize the plugin +const browserPlugin = createBrowserPlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(browserPlugin); +``` + +## Services + +### BrowserService + +Provides comprehensive web automation and scraping capabilities using Playwright: + +- Page navigation and interaction +- Form filling and submission +- Content extraction and parsing +- Screenshot capture +- Network request handling +- CAPTCHA solving (with appropriate configuration) + +## Safety & Security + +### Browser Operations + +- **Sandbox Environment**: Browser operations run in isolated contexts +- **Resource Management**: Automatic cleanup of browser instances +- **Request Filtering**: Control over network requests +- **Memory Management**: Efficient handling of browser resources + +## Troubleshooting + +### Common Issues + +1. **Browser Launch Failures** + +```bash +Error: Failed to launch browser +``` + +- Verify system dependencies are installed +- Check for sufficient system resources +- Ensure proper permissions + +2. **Page Navigation Issues** + +```bash +Error: Navigation timeout +``` + +- Check network connectivity +- Verify URL accessibility +- Adjust timeout settings + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-browser:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- Supported operating system (Windows, macOS, or Linux) +- Sufficient RAM for browser operations +- Internet connectivity + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Playwright](https://playwright.dev/) - Core browser automation +- [CAPSolver](https://capsolver.com/) - CAPTCHA solving capabilities (optional) + +Special thanks to: + +- The Playwright community for their excellent browser automation framework +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/cache-redis.md b/docs/packages/plugins/cache-redis.md new file mode 100644 index 00000000000..46fbd84ada0 --- /dev/null +++ b/docs/packages/plugins/cache-redis.md @@ -0,0 +1 @@ +# Unmaintained: this cache plugin originally lived in @elizaos/core. It needs a maintainer. diff --git a/docs/packages/plugins/ccxt.md b/docs/packages/plugins/ccxt.md new file mode 100644 index 00000000000..19f2fdc9814 --- /dev/null +++ b/docs/packages/plugins/ccxt.md @@ -0,0 +1,62 @@ +# @elizaos/plugin-ccxt + +A plugin for Eliza OS that enables cryptocurrency trading and arbitrage using the CCXT library. + +## Features + +- Check balance of assets across multiple configured exchanges +- Place market and limit buy/sell orders +- Identify arbitrage opportunities between different exchanges + +## Installation + +```bash +npm install @elizaos/plugin-ccxt +``` + +## Configuration +Get your API keys from your preferred cryptocurrency exchanges. + +Set up your environment variables: + +```bash + +CCXT__API_KEY=your_api_key +CCXT__API_SECRET=your_api_secret +``` +### FOR EXAMPLE + +```bash +CCXT_BINANCE_API_KEY=your_binance_api_key +CCXT_BINANCE_API_SECRET=your_binance_api_secret + +CCXT_BYBIT_API_KEY=your_bybit_api_key +CCXT_BYBIT_API_SECRET=your_bybit_api_secret +``` + + +## Available Actions + +### checkbalance +Retrieves the current balance of your assets from a specified exchange. + +### placeorder +Places a market or limit buy/sell order on a specified exchange. + +### getarbitrageopportunity +Analyzes price differences across exchanges to identify profitable trades. + + +## Rate Limits + +Each exchange has its own rate limits. Please refer to the official documentation of your exchange to understand the limitations. + +# Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- [DISCORD](https://discordapp.com/users/zettdrive) +- [GMAIL](mailto:pranavjadhavworks@gmail.com) + +## Links +- [CCXT DOCUMENTATION](https://docs.ccxt.com/) diff --git a/docs/packages/plugins/chainbase.md b/docs/packages/plugins/chainbase.md new file mode 100644 index 00000000000..1439da3fe4b --- /dev/null +++ b/docs/packages/plugins/chainbase.md @@ -0,0 +1,66 @@ +# Chainbase Plugin for Eliza + +The Chainbase Plugin for Eliza bridges the gap between on-chain data and AI agents, enabling natural language interactions with blockchain data across multiple networks. This plugin leverages Chainbase's comprehensive blockchain data infrastructure to provide real-time insights and analytics. + +## Description + +This plugin serves as a powerful interface between Eliza AI agents and blockchain data, allowing users to query and analyze on-chain information using natural language. It transforms complex blockchain queries into actionable insights without requiring deep technical knowledge. + +## Key Features + +- **Multi-chain Data Access**: Access comprehensive data across multiple blockchain networks +- **Natural Language Processing**: Convert natural language queries into blockchain data analytics and insights +- **Real-time Data**: Get up-to-date blockchain information and analytics + +## Supported Networks + +- Ethereum +- Polygon +- BNB Smart Chain (BSC) +- Avalanche +- Arbitrum One +- Optimism +- Base +- zkSync +- Merlin + +## Usage Examples + +### On-chain Data Queries + +```plaintext +Query: "query onchain data: This address 0x8308964da9ed5d2e8012023d7c7ef02f9e6438c7 which tokens on Ethereum are held" +``` + +This query will return the token holdings for the specified Ethereum address. + +```plaintext +Query: "query onchain data: List the top 10 Ethereum blocks by total gas used in the last 24 hours" +``` + +This query will analyze and return gas usage statistics for recent Ethereum blocks. + +```plaintext +Query: "query onchain data: The address 0x8308964da9ed5d2e8012023d7c7ef02f9e6438c7 last 10 Ethereum token transfer" +``` + +This query will fetch the most recent 10 token transfer events for the specified Ethereum address, including both incoming and outgoing transfers. + +## Components + +- **Actions**: Pre-configured blockchain data retrieval and analysis actions +- **Providers**: Data providers for different blockchain networks +- **Evaluators**: Analysis tools for blockchain data interpretation +- **Services**: Specialized services for data processing and transformation + +## Getting Started + +To use this plugin, you'll need a Chainbase API key: + +1. Visit [Chainbase Platform](https://console.chainbase.com) to create an account +2. Once logged in, you can obtain a free API key from your dashboard +3. Set your API key as the `CHAINBASE_API_KEY` environment variable + +For development and testing purposes, you can use the API key "demo" to test the basic functionality. + +For more detailed information about the available APIs and endpoints, please refer to the [Chainbase API Documentation](https://docs.chainbase.com/api-reference/overview). diff --git a/docs/packages/plugins/coinbase.md b/docs/packages/plugins/coinbase.md new file mode 100644 index 00000000000..840d82716ef --- /dev/null +++ b/docs/packages/plugins/coinbase.md @@ -0,0 +1,213 @@ +# @elizaos/plugin-coinbase + +A comprehensive Coinbase integration plugin for ElizaOS that provides access to Coinbase's various APIs and services. + +## Features + +- **Commerce Integration**: Create and manage payment charges using Coinbase Commerce +- **Trading**: Execute trades and swaps between different assets +- **Token Contract Management**: Deploy and interact with ERC20, ERC721, and ERC1155 smart contracts +- **Mass Payments**: Process bulk transfers and payments to multiple addresses +- **Advanced Trading**: Access to Coinbase Advanced Trading API features +- **Webhook Management**: Create and manage webhooks for various blockchain events + +## Installation + +```bash +npm install @elizaos/plugin-coinbase +``` + +## Configuration + +The plugin requires several environment variables to be set: + +```env +COINBASE_API_KEY=your_api_key +COINBASE_PRIVATE_KEY=your_private_key +COINBASE_COMMERCE_KEY=your_commerce_key +COINBASE_NOTIFICATION_URI=your_webhook_notification_uri +``` + +## Usage + +```typescript +import { plugins } from "@elizaos/plugin-coinbase"; + +// Register all plugins +const { + coinbaseMassPaymentsPlugin, + coinbaseCommercePlugin, + tradePlugin, + tokenContractPlugin, + webhookPlugin, + advancedTradePlugin, +} = plugins; + +// Register individual plugins as needed +runtime.registerPlugin(coinbaseCommercePlugin); +runtime.registerPlugin(tradePlugin); +// etc... +``` + +## Available Plugins + +### Commerce Plugin + +- Create charges with fixed or dynamic pricing +- Support for multiple currencies (USD, EUR, USDC) +- Charge status tracking and management + +### Trade Plugin + +- Execute basic trades between assets +- Support for market and limit orders +- Transaction logging and tracking + +### Token Contract Plugin + +- Deploy ERC20, ERC721, and ERC1155 contracts +- Interact with deployed contracts +- Read contract data and balances + +### Mass Payments Plugin + +- Process bulk transfers to multiple addresses +- Support for various assets and networks +- Transaction logging and CSV export + +### Advanced Trade Plugin + +- Access to advanced trading features +- Support for complex order types +- Detailed trade history and tracking + +### Webhook Plugin + +- Create and manage blockchain event webhooks +- Support for various event types and filters +- Webhook status tracking and logging + +## Supported Networks + +- Base (Mainnet & Sepolia) +- Ethereum (Mainnet & Holesky) +- Polygon Mainnet +- Solana (Mainnet & Devnet) +- Arbitrum Mainnet +- And more... + +## CSV Logging + +The plugin automatically logs various operations to CSV files: + +- `trades.csv`: Trading operations +- `transactions.csv`: Mass payment transactions +- `webhooks.csv`: Webhook configurations +- `advanced_trades.csv`: Advanced trading operations + +## Dependencies + +- `@elizaos/core`: Core ElizaOS functionality +- `coinbase-api`: Coinbase API integration +- `coinbase-advanced-sdk`: Coinbase Advanced Trading SDK +- Additional type definitions and utilities + +## Future Enhancements + +1. **Advanced Trading Features** + + - Real-time market data streaming + - Advanced order types (OCO, trailing stop) + - Portfolio rebalancing automation + - Custom trading strategies implementation + - Multi-exchange arbitrage support + +2. **Enhanced Commerce Integration** + + - Subscription payment handling + - Multi-currency checkout optimization + - Advanced refund management + - Custom payment flow templates + - Automated invoice generation + +3. **Improved Token Management** + + - Batch token operations + - Gas optimization for token contracts + - Token metadata management system + - Automated token listing process + - Smart contract deployment templates + +4. **Security Enhancements** + + - Advanced API key management + - Multi-signature support + - Transaction monitoring system + - Risk assessment tools + - Rate limiting improvements + +5. **Analytics and Reporting** + + - Custom report generation + - Trading performance analytics + - Payment flow analytics + - Real-time monitoring dashboard + - Historical data analysis tools + +6. **Webhook Management** + + - Enhanced event filtering + - Retry mechanism improvements + - Webhook monitoring dashboard + - Custom webhook templates + - Event batching support + +7. **Developer Tools** + + - SDK expansion + - Testing environment improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + +8. **Cross-Platform Integration** + - Mobile SDK support + - Browser extension support + - Desktop application integration + - IoT device support + - Cross-chain bridging capabilities + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Coinbase](https://www.coinbase.com/): Digital currency exchange platform +- [Coinbase Commerce](https://commerce.coinbase.com/): Cryptocurrency payment solution +- [Coinbase Cloud](https://www.coinbase.com/cloud): Blockchain infrastructure +- [Coinbase Advanced Trade API](https://docs.cloud.coinbase.com/advanced-trade-api/): Trading interface +- [Coinbase Prime](https://prime.coinbase.com/): Institutional trading platform + +Special thanks to: + +- The Coinbase development team +- The Coinbase Commerce team +- The Coinbase Cloud infrastructure team +- The Advanced Trade API maintainers +- The Eliza community for their contributions and feedback + +For more information about Coinbase capabilities: + +- [Coinbase API Documentation](https://docs.cloud.coinbase.com/) +- [Commerce API Reference](https://docs.cloud.coinbase.com/commerce/reference/) +- [Advanced Trade Documentation](https://docs.cloud.coinbase.com/advanced-trade-api/) +- [Coinbase Prime Documentation](https://docs.prime.coinbase.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/coingecko.md b/docs/packages/plugins/coingecko.md new file mode 100644 index 00000000000..fcb79d8a558 --- /dev/null +++ b/docs/packages/plugins/coingecko.md @@ -0,0 +1,98 @@ +# Plugin CoinGecko + +A plugin for fetching cryptocurrency price data from the CoinGecko API. + +## Overview + +The Plugin CoinGecko provides a simple interface to get real-time cryptocurrency data. It integrates with CoinGecko's API to fetch current prices, market data, trending coins, and top gainers/losers for various cryptocurrencies in different fiat currencies. + +This plugin uses the [CoinGecko Pro API](https://docs.coingecko.com/reference/introduction). Please refer to their documentation for detailed information about rate limits, available endpoints, and response formats. + +## Installation + +```bash +pnpm add @elizaos/plugin-coingecko +``` + +## Configuration + +Set up your environment with the required CoinGecko API key: + +| Variable Name | Description | +| ------------------- | ---------------------- | +| `COINGECKO_API_KEY` | Your CoinGecko Pro API key | +| `COINGECKO_PRO_API_KEY` | Your CoinGecko Pro API key | + +## Usage + +```typescript +import { coingeckoPlugin } from "@elizaos/plugin-coingecko"; + +// Initialize the plugin +const plugin = coingeckoPlugin; +``` + +## Actions + +### GET_PRICE + +Fetches the current price and market data for one or more cryptocurrencies. + +Features: +- Multiple currency support (e.g., USD, EUR, JPY) +- Optional market cap data +- Optional 24h volume data +- Optional 24h price change data +- Optional last update timestamp + +Examples: +- "What's the current price of Bitcoin?" +- "Check ETH price in EUR with market cap" +- "Show me BTC and ETH prices in USD and EUR" +- "What's USDC worth with 24h volume and price change?" + +### GET_TRENDING + +Fetches the current trending cryptocurrencies on CoinGecko. + +Features: +- Includes trending coins with market data +- Optional NFT inclusion +- Optional category inclusion + +Examples: +- "What's trending in crypto?" +- "Show me trending coins only" +- "What are the hot cryptocurrencies right now?" + +### GET_TOP_GAINERS_LOSERS + +Fetches the top gaining and losing cryptocurrencies by price change. + +Features: +- Customizable time range (1h, 24h, 7d, 14d, 30d, 60d, 1y) +- Configurable number of top coins to include +- Multiple currency support +- Market cap ranking included + +Examples: +- "Show me the biggest gainers and losers today" +- "What are the top movers in EUR for the past week?" +- "Show me monthly performance of top 100 coins" + +## Response Format + +All actions return structured data including: +- Formatted text for easy reading +- Raw data for programmatic use +- Request parameters used +- Error details when applicable + +## Error Handling + +The plugin handles various error scenarios: +- Rate limiting +- API key validation +- Invalid parameters +- Network issues +- Pro plan requirements \ No newline at end of file diff --git a/docs/packages/plugins/coinmarketcap.md b/docs/packages/plugins/coinmarketcap.md new file mode 100644 index 00000000000..9c042d9e576 --- /dev/null +++ b/docs/packages/plugins/coinmarketcap.md @@ -0,0 +1,127 @@ +# @elizaos/plugin-coinmarketcap + +A plugin for Eliza that enables cryptocurrency price checking using the CoinMarketCap API. + +## Features + +- Real-time cryptocurrency price checking +- Support for multiple cryptocurrencies (BTC, ETH, SOL, etc.) +- Currency conversion (USD, EUR, etc.) +- Detailed price and market data +- Natural language processing for price queries + +## Installation + +```bash +npm install @elizaos/plugin-coinmarketcap +``` + +## Configuration + +1. Get your API key from [CoinMarketCap](https://pro.coinmarketcap.com) + +2. Set up your environment variables: + +```bash +COINMARKETCAP_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { CoinMarketCapPlugin } from "@elizaos/plugin-coinmarketcap"; + +// In your Eliza configuration +plugins: [ + new CoinMarketCapPlugin(), + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about cryptocurrency prices. Here are some examples: + +```plaintext +"What's the current price of Bitcoin?" +"Show me ETH price in USD" +"Get the price of SOL" +``` + +### Supported Cryptocurrencies + +The plugin supports major cryptocurrencies including: + +- Bitcoin (BTC) +- Ethereum (ETH) +- Solana (SOL) +- USD Coin (USDC) +- And many more... + +### Available Actions + +#### GET_PRICE + +Fetches the current price of a cryptocurrency. + +```typescript +// Example response format +{ + symbol: "BTC", + price: 50000.00, + currency: "USD", + marketCap: 1000000000000, + volume24h: 50000000000, + percentChange24h: 2.5 +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| --------------------- | -------------------------- | -------- | +| COINMARKETCAP_API_KEY | Your CoinMarketCap API key | Yes | + +### Types + +```typescript +interface PriceData { + price: number; + marketCap: number; + volume24h: number; + percentChange24h: number; +} + +interface GetPriceContent { + symbol: string; + currency: string; +} +``` + +## Error Handling + +The plugin includes comprehensive error handling for: + +- Invalid API keys +- Rate limiting +- Network timeouts +- Invalid cryptocurrency symbols +- Unsupported currencies + +## Rate Limits + +CoinMarketCap API has different rate limits based on your subscription plan. Please refer to [CoinMarketCap's pricing page](https://coinmarketcap.com/api/pricing/) for detailed information. + +## Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- Discord: 0xspit + +## Links + +- [CoinMarketCap API Documentation](https://coinmarketcap.com/api/documentation/v1/) + +- [GitHub Repository](https://github.com/elizaos/eliza/tree/main/packages/plugin-coinmarketcap) diff --git a/docs/packages/plugins/compass.md b/docs/packages/plugins/compass.md new file mode 100644 index 00000000000..2c937ee3482 --- /dev/null +++ b/docs/packages/plugins/compass.md @@ -0,0 +1,73 @@ +# @elizaos-plugins/plugin-compass + +The `@elizaos-plugins/plugin-compass` is a powerful plugin designed to seamlessly integrate the [Compass API](https://api.compasslabs.ai/) into the ElizaOS ecosystem. This integration facilitates the execution of operations on DeFi protocols supported by the Compass API. + +## Overview + +The Compass plugin leverages the [`@compass-labs/sdk`](https://www.npmjs.com/package/@compass-labs/sdk) TypeScript SDK to provide a suite of actions. These actions correspond to various endpoint calls and schemas defined by the Compass API, enabling efficient interaction with the API. + +## Configuration + +The plugin requires the following env variables to be set: + +``` +COMPASS_WALLET_PRIVATE_KEY= +COMPASS_ARBITRUM_RPC_URL= +COMPASS_ETHEREUM_RPC_URL= +COMPASS_BASE_RPC_URL= +``` + +or this can directly be set in the character configuration: + +``` +... +"settings": { + "secrets": { + "COMPASS_WALLET_PRIVATE_KEY": , + "COMPASS_ARBITRUM_RPC_URL": , + "COMPASS_ETHEREUM_RPC_URL": , + "COMPASS_BASE_RPC_URL": + } +}, +... +``` + +## Supported Protocols + +For a comprehensive list of supported protocols and available actions, please visit the [Compass API](https://api.compasslabs.ai/) documentation page. + +## Installation Instructions + +To install the plugin: + +``` +npx elizaos plugins add @elizaos-plugins/plugin-compass +pnpm run build +``` + +before starting up eliza + +## Character Configuration + +Here are some secrets that need to be set if the plugin was to be used together with a telegram client + +``` +... +"clients": ["telegram"], +... +"settings": { + ... + "secrets": { + "OPENAI_API_KEY": "", + "COMPASS_WALLET_PRIVATE_KEY": "", + "COMPASS_ARBITRUM_RPC_URL": "", + "COMPASS_ETHEREUM_RPC_URL": "", + "COMPASS_BASE_RPC_URL": "", + "TELEGRAM_BOT_TOKEN": "" + } + }, +... +"plugins": ["@elizaos-plugins/plugin-compass"], +... +``` + diff --git a/docs/packages/plugins/conflux.md b/docs/packages/plugins/conflux.md new file mode 100644 index 00000000000..288ffe3ac1d --- /dev/null +++ b/docs/packages/plugins/conflux.md @@ -0,0 +1,237 @@ +# @elizaos/plugin-conflux + +A plugin for interacting with the Conflux blockchain network within the ElizaOS ecosystem. + +## Description + +The Conflux plugin enables seamless interaction with both Conflux Core Space and eSpace networks. It provides functionality for token transfers, cross-space bridge operations, and ConfiPump token management (creation, buying, and selling). + +## Installation + +```bash +pnpm install @elizaos/plugin-conflux +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +CONFLUX_CORE_PRIVATE_KEY= +CONFLUX_CORE_SPACE_RPC_URL= +CONFLUX_MEME_CONTRACT_ADDRESS= +``` + +## Usage + +### Basic Integration + +```typescript +import { confluxPlugin } from "@elizaos/plugin-conflux"; +``` + +### Example Usage + +```typescript +// Core Space Transfer +"Send 1 CFX to cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2eaeg85p5"; + +// Cross-Space Bridge Transfer +"Send 1 CFX to eSpace Address 0x119DA8bbe74B1C5c987D0c64D10eC1dB301d4752"; + +// ConfiPump Token Creation +"Create a new token called GLITCHIZA with symbol GLITCHIZA and generate a description about it"; + +// ConfiPump Token Trading +"Buy 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)"; +"Sell 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)"; +``` + +## API Reference + +### Actions + +#### SEND_CFX + +Transfers CFX tokens within Conflux Core Space. + +**Aliases:** + +- SEND_CONFLUX +- SEND_CFX_CORE_SPACE +- TRANSFER_CFX + +**Input Content:** + +```typescript +interface TransferContent { + to: string; // Conflux Core Space address (cfx: prefix) + amount: string; // Amount of CFX to send +} +``` + +#### BRIDGE_SEND_CFX + +Transfers CFX tokens from Core Space to eSpace. + +**Aliases:** + +- BRIDGE_SEND_CONFLUX +- CROSS_SPACE_SEND_CFX +- BRIDGE_TRANSFER_CFX +- CROSS_SPACE_TRANSFER_CFX + +**Input Content:** + +```typescript +interface TransferContent { + to: string; // Conflux eSpace address (0x prefix) + amount: string; // Amount of CFX to send +} +``` + +#### CONFI_PUMP + +Manages ConfiPump token operations. + +**Aliases:** + +- SELL_TOKEN +- BUY_TOKEN +- CREATE_TOKEN + +**Input Content:** + +```typescript +interface PumpContent { + action: "CREATE_TOKEN" | "BUY_TOKEN" | "SELL_TOKEN"; + params: { + name?: string; + symbol?: string; + description?: string; + tokenAddress?: string; + value?: string; + }; +} +``` + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Ensure sufficient CFX balance for transactions + - Verify correct address format (cfx: for Core Space, 0x for eSpace) + - Check RPC endpoint connectivity + +## Security Best Practices + +1. **Private Key Management** + - Store private keys securely using environment variables + - Never expose private keys in code or logs + - Use separate accounts for development and production + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Token Management** + + - Batch token transfers + - Token allowance management + - Advanced meme token features + - Token metadata management + +2. **Enhanced Bridge Operations** + + - Multi-token bridge support + - Automated bridge fee optimization + - Bridge transaction status tracking + - Cross-space batch operations + +3. **Smart Contract Integration** + + - Contract deployment tools + - Contract interaction templates + - ABI management system + - Contract verification tools + +4. **Performance Optimizations** + + - Transaction batching + - Improved caching mechanisms + - Gas optimization strategies + - Network request optimization + +5. **Developer Tools** + + - CLI tools for common operations + - Development environment templates + - Testing utilities + - Documentation generator + +6. **Security Features** + + - Transaction simulation + - Risk assessment tools + - Address validation improvements + - Rate limiting controls + +7. **Monitoring and Analytics** + - Transaction tracking dashboard + - Performance metrics + - Error reporting system + - Usage analytics + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Conflux Network](https://confluxnetwork.org/): Hybrid consensus blockchain +- [js-conflux-sdk](https://www.npmjs.com/package/js-conflux-sdk): Official Conflux JavaScript SDK +- [ConfiPump](https://confipump.io/): Meme token creation platform +- [@conflux-dev/conflux-address-js](https://www.npmjs.com/package/@conflux-dev/conflux-address-js): Address utilities + +Special thanks to: + +- The Conflux Foundation for developing the network +- The Conflux Developer community +- The ConfiPump team for meme token infrastructure +- The js-conflux-sdk maintainers +- The Eliza community for their contributions and feedback + +For more information about Conflux capabilities: + +- [Conflux Documentation](https://developer.confluxnetwork.org/) +- [Conflux Portal](https://portal.confluxnetwork.org/) +- [ConfluxScan](https://confluxscan.io/) +- [Cross-Space Bridge](https://bridge.confluxnetwork.org/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/cosmos.md b/docs/packages/plugins/cosmos.md new file mode 100644 index 00000000000..79b00efd505 --- /dev/null +++ b/docs/packages/plugins/cosmos.md @@ -0,0 +1,223 @@ +# `@elizaos/plugin-cosmos` + +This plugin provides actions and utilities for interacting with Cosmos-compatible blockchains. + +--- + +## Development + +Prepare Eliza according to [README](../../README.md) +Add variables required for `@elizaos/plugin-cosmos` : + +``` +COSMOS_RECOVERY_PHRASE=your recovery phrase words +COSMOS_AVAILABLE_CHAINS=chain1,chain2,chain3 +``` + +Ensure the appropriate environment variables are added for the plugin. If they are correctly configured, the project will run with `@elizaos/plugin-cosmos` + +Run Eliza + +``` +pnpm run dev +``` + +## Configuration + +### Default Setup + +To start using the plugin, you need to provide your **Cosmos account recovery phrases** and the list of **available chains**. Add the following to your `.env` file: + +```env +COSMOS_RECOVERY_PHRASE=your recovery phrase words +COSMOS_AVAILABLE_CHAINS=chain1,chain2,chain3 +``` + +Ensure that the chain names in `COSMOS_AVAILABLE_CHAINS` match the identifiers from the [chain-registry](https://github.com/cosmos/chain-registry) library for compatibility. + +### Using the Cosmos Helper Character + +The plugin includes a pre-configured character, `cosmosHelper.character.json`, optimized for Cosmos-related operations. This character enhances interaction by: + +- Handling repeated prompts effectively. + +- Requesting confirmation before executing detected actions. + +To use the character, pass it with the `--characters` flag: + +```bash +--characters='../characters/cosmosHelper.character.json' +``` + +--- + +### Custom chain configuration + +Plugin allows you to pass you custom chain config to `createCosmosPlugin` function invoked in `../agent/src/index`. + +Your custom configuration fulfills the interfaces from `chain-registry` + +``` +import type { assets, chains } from "chain-registry"; + +export interface ICosmosPluginCustomChainData { + chainData: (typeof chains)[number]; + assets: (typeof assets)[number]; +} + +export interface ICosmosPluginOptions { + customChainData?: ICosmosPluginCustomChainData[]; +} +``` + +## Actions + +### Token Transfer + +This plugin supports a token transfer action, which allows users to transfer tokens between addresses on Cosmos-compatible blockchains. The action prompts for confirmation to ensure secure execution. + +#### Example Prompts + +Below are examples of how the transfer action can be initiated and confirmed: + +**Example** + +1. User input: + +``` +Make transfer 0.0001 ATOM to cosmos1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xv465ad on cosmoshubtestnet. +``` + +2. Plugin response: + +``` +Do you confirm the transfer action? +``` + +3. User confirmation: + +``` +Yes +``` + +4. Action executed. + +### Token IBC Transfer + +This plugin supports a token transfer action, which allows users to transfer tokens between addresses on Cosmos-compatible blockchains between different chains. + +#### Example Prompts + +Below are examples of how the ibc transfer action can be initiated and confirmed: + +**Example** + +1. User input: + +``` +Make an IBC transfer 0.0001 OSMO to neutron1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xg2nk82 from osmosistestnet to neutrontestnet +``` + +2. Plugin response: + +``` +Before making the IBC transfer, I would like to confirm the details. You would like to transfer 0.0001 OSMO from osmosistestnet to neutrontestnet, specifically to the address neutron1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xg2nk82, is that correct? +``` + +3. User confirmation: + +``` +Yes +``` + +4. Action executed. + +--- + +### Token IBC Swap +This action allows swapping tokens between chains. The implementation of swapping is based on the Skip API and uses the @skip-go/client library. +To place transactions on chains, they must first be added to the env file. Specifically: +```env +COSMOS_AVAILABLE_CHAINS=osmosis,neutron,axelar,cosmoshub,terra2,pryzm +``` +Keep in mind that most swaps require intermediate chains. These chains must also be included in the env file. + +You can check which chains are supported by the Skip API and this plugin here: [Skip API Documentation](https://docs.skip.build/). + +The list below contains all supported chains extracted from the Skip API: +```env +COSMOS_AVAILABLE_CHAINS=terra2,quicksilver,coreum,regen,mars,passage,dhealth,lumnetwork,provenance,chihuahua,pryzm,fetchhub,comdex,kyve,xpla,umee,celestia,osmosis,empowerchain,migaloo,dymension,kujira,self,humans,gitopia,agoric,doravota,int3face,quasar,gravitybridge,kava,sifchain,seda,shentu,decentr,cronos,carbon,stride,haqq,jackal,omniflixhub,noble,sentinel,nolus,odin,assetmantle,dydx,beezee,axelar,nois,mantrachain,elys,crescent,synternet,xion,source,akash,sei,canto,teritori,stargaze,titan,aura,evmos,archway,gateway,cheqd,milkyway,nibiru,cosmoshub,ununifi,nyx,bitsong,cryptoorgchain,neutron,penumbra,terra,shido,sommelier,saga,secretnetwork,chain4energy,juno,andromeda,planq,lava,oraichain,injective,persistence,composable +``` + +#### Example prompts: + +##### Default flow +An example of the default flow of a swap request: + +1. User input: +``` + Swap 10 OSMO on osmosis to ATOM on cosmoshub +``` +2. Agent asks for confirmation: +``` +About to swap 10 OSMO on osmosis to ATAOM on cosmoshub. I would like to confirm the transaction details. Please confirm that you would like to proceed with the swap. +``` +3. User confiramation: +``` +confirming / yes +``` +4. Agent calls action and responds after completing: +``` +Successfuly swapped 10 OSMO tokens to ATOM on chain cosmoshub. +Transaction Hash: E84F36D6EEFAA6D7B70827F34EDAB83258BB86EFE33AEA1F4559D00B30CD3B50 +``` + +##### Special case handling +An example of a flow when there is more than one token with the same symbol on the destination chain (e.g., multiple USDC tokens): +1. User input: +``` +Swap 10 OSMO on osmosis to ATOM on cosmoshub +``` +2. Agent asks for confirmation: +``` +About to swap 10 OSMO on osmosis to ATAOM on cosmoshub. I would like to confirm the transaction details. Please confirm that you would like to proceed with the swap. +``` +3. User confirmation: +``` +confirming / yes +``` +4. Model response: +``` +I will now initiate the swap of 10 OSMO on the Osmosis chain to USDC on the Axelar chain. Please wait for the transaction to complete. If you need to swap more assets, feel free to let me know. + +Error occured. Swap was not performed. Please provide denom for coin: USDC, on Chain Name: axelar. It is necessary as the symbol USDC is not unique among coins on chain axelar. +Select one from found assets: +Symbol: USDC Desc: Circle's stablecoin on Axelar Denom: uusdc, +Symbol: USDC Desc: Circle's stablecoin from Polygon on Axelar Denom: polygon-uusdc, +Symbol: USDC Desc: Circle's stablecoin from Avalanche on Axelar Denom: avalanche-uusdc +``` +5. User response: +``` +Swap 10 OSMO on osmosis to USDC with denom uusdc on axelar +``` +6. Action call and agent response: +``` +Successfuly swapped 10 OSMO tokens to USDC uusdc on chain axelar. +Transaction Hash: E84F36D6EEFAA6D7B70827F34EDAB83258BB86EFE33AEA1F4559D00B30CD3B50 +``` + +## Contribution + +The plugin includes comprehensive tests. Before submitting any pull requests, ensure all tests pass. + +### Running Tests + +Navigate to the `plugin-cosmos` directory and execute: + +```bash +pnpm test +``` + +--- + +This plugin simplifies Cosmos blockchain interactions and enhances productivity with its tailored features. Happy building! diff --git a/docs/packages/plugins/cronos.md b/docs/packages/plugins/cronos.md new file mode 100644 index 00000000000..4d07b0cc5d5 --- /dev/null +++ b/docs/packages/plugins/cronos.md @@ -0,0 +1,257 @@ +# @elizaos/plugin-cronos + +Cronos plugin for Eliza, extending the EVM plugin functionality. + +## Supported Networks + +### Mainnet +- Cronos Mainnet (Chain ID: 25) + - RPC Endpoint: https://evm.cronos.org/ + - Explorer: https://explorer.cronos.org/ + - Native Token: CRO + +### Testnet +- Cronos Testnet 3 (Chain ID: 338) + - RPC Endpoint: https://evm-t3.cronos.org/ + - Explorer: https://cronos.org/explorer/testnet3 + - Native Token: TCRO + +## Installation + +```bash +pnpm add @elizaos/plugin-cronos +``` + +## Usage + +### Basic Setup +```typescript +import { cronosPlugin } from "@elizaos/plugin-cronos"; + +// Use the plugin in your Eliza configuration +const config = { + plugins: [cronosPlugin], + // ... rest of your config +}; +``` + +### Character Configuration Guide + +Create a `your-character.character.json` file with the following structure: + +```json +{ + "name": "YourCharacterName", + "plugins": ["@elizaos/plugin-cronos"], + "clients": ["telegram"], + "modelProvider": "openai", + "settings": { + "secrets": {}, + "chains": { + "evm": ["cronos", "cronosTestnet"] + } + }, + "system": "Primary function is to execute token transfers and check balances on Cronos chain.", + "actions": { + "SEND_TOKEN": { + "enabled": true, + "priority": 1, + "force": true, + "schema": { + "type": "object", + "properties": { + "fromChain": { + "type": "string", + "description": "The chain to execute the transfer on", + "enum": ["cronos", "cronosTestnet"] + }, + "toAddress": { + "type": "string", + "description": "The recipient's wallet address", + "pattern": "^0x[a-fA-F0-9]{40}$" + }, + "amount": { + "type": "string", + "description": "The amount of tokens to transfer", + "pattern": "^[0-9]*(\\.[0-9]+)?$" + } + }, + "required": ["fromChain", "toAddress", "amount"] + }, + "triggers": [ + "send * CRO to *", + "transfer * CRO to *" + ], + "examples": [ + { + "input": "Send 0.1 CRO to 0x...", + "output": { + "fromChain": "cronos", + "toAddress": "0x...", + "amount": "0.1" + } + } + ] + }, + "CHECK_BALANCE": { + "enabled": true, + "priority": 1, + "force": true, + "schema": { + "type": "object", + "properties": { + "chain": { + "type": "string", + "description": "The chain to check balance on", + "enum": ["cronos", "cronosTestnet"] + } + }, + "required": ["chain"] + }, + "triggers": [ + "check balance", + "show balance", + "what's my balance", + "how much CRO do I have", + "check balance on *", + "show balance on *" + ], + "examples": [ + { + "input": "check balance", + "output": { + "chain": "cronos" + } + }, + { + "input": "what's my balance on testnet", + "output": { + "chain": "cronosTestnet" + } + } + ] + } + }, + "messageExamples": [ + [ + { + "user": "{{user1}}", + "content": { + "text": "Send 100 CRO to 0x..." + } + }, + { + "user": "YourCharacterName", + "content": { + "text": "Processing token transfer...", + "action": "SEND_TOKEN" + } + } + ], + [ + { + "user": "{{user1}}", + "content": { + "text": "What's my balance?" + } + }, + { + "user": "YourCharacterName", + "content": { + "text": "Checking your balance...", + "action": "CHECK_BALANCE" + } + } + ] + ] +} +``` + +#### Key Configuration Fields: + +1. **Basic Setup** + - `name`: Your character's name + - `plugins`: Include `@elizaos/plugin-cronos` + - `clients`: Supported client platforms + +2. **Chain Settings** + - Configure both mainnet and testnet in `settings.chains.evm` + - Available options: `"cronos"` (mainnet) and `"cronosTestnet"` + +3. **Action Configuration** + - `SEND_TOKEN`: Action for token transfers + - `CHECK_BALANCE`: Action for checking wallet balance + - `schema`: Defines the required parameters for each action + - `triggers`: Phrases that activate the actions + - `examples`: Sample inputs and outputs + +4. **Message Examples** + - Provide example interactions + - Show how actions are triggered + - Demonstrate expected responses + +### Action Examples +``` +// Send tokens on mainnet +"Send 0.1 CRO to 0x..." use mainnet + +// Send tokens on testnet +"Send 0.1 TCRO to 0x..." use testnet + +// Check balance on mainnet +"check balance" +"what's my balance" +"how much CRO do I have" + +// Check balance on testnet +"check balance on testnet" +"what's my balance on testnet" +``` + +## Features + +- All standard EVM functionality inherited from @elizaos/plugin-evm +- Preconfigured for both Cronos Mainnet and Testnet +- Native CRO/TCRO token support +- Automated token transfer actions +- Balance checking functionality +- Built-in chain configuration + +## Environment Variables + +Required environment variable for transactions: + +```env +# Wallet private key (Required, must start with 0x) +CRONOS_PRIVATE_KEY=0x... +``` + +### Security Warnings ⚠️ + +- **NEVER** commit private keys to version control +- **NEVER** share private keys with anyone +- **ALWAYS** use environment variables or secure key management +- Use separate keys for mainnet and testnet +- Monitor your wallet for unauthorized transactions + +### Setup + +1. Create `.env` file: +```env +CRONOS_PRIVATE_KEY=0x... # Mainnet +``` + +2. For testnet development, use `.env.local`: +```env +CRONOS_PRIVATE_KEY=0x... # Testnet only +``` + +3. Add to `.gitignore`: +``` +.env +.env.* +``` + +## License + +MIT \ No newline at end of file diff --git a/docs/packages/plugins/cronoszkevm.md b/docs/packages/plugins/cronoszkevm.md new file mode 100644 index 00000000000..064e2addd10 --- /dev/null +++ b/docs/packages/plugins/cronoszkevm.md @@ -0,0 +1,160 @@ +# @elizaos/plugin-cronoszkevm + +A plugin for interacting with the Cronos zkEVM network within the ElizaOS ecosystem. + +## Description + +The Cronos zkEVM plugin enables seamless token transfers on the Cronos zkEVM network. It provides functionality for transferring various tokens including ZKCRO, USDC, and ETH using Web3 and zkSync integration. + +## Installation + +```bash +pnpm install @elizaos/plugin-cronoszkevm +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +CRONOSZKEVM_ADDRESS= +CRONOSZKEVM_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm"; +``` + +### Example Usage + +```typescript +// Send USDC tokens +"Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; + +// Send ZKCRO tokens +"Send 100 ZKCRO to 0xbD8679cf79137042214fA4239b02F4022208EE82"; + +// Send ETH tokens +"Transfer 1 ETH to 0x123..."; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens on the Cronos zkEVM network. + +**Aliases:** + +- TRANSFER_TOKEN_ON_CRONOSZKEVM +- TRANSFER_TOKENS_ON_CRONOSZK +- SEND_TOKENS_ON_CRONOSZKEVM +- SEND_TOKENS_ON_CRONOSZK +- SEND_ETH_ON_CRONOSZKEVM +- SEND_ETH_ON_CRONOSZK +- PAY_ON_CRONOSZKEVM +- PAY_ON_CRONOSZK + +**Input Content:** + +```typescript +interface TransferContent { + tokenAddress: string; // The token contract address + recipient: string; // The recipient's address + amount: string | number; // Amount to transfer +} +``` + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Ensure sufficient token balance for transfers + - Verify correct recipient address format (must start with 0x) + - Check network connectivity to Cronos zkEVM RPC endpoint + +2. **Configuration Issues** + - Verify CRONOSZKEVM_ADDRESS is properly set + - Ensure CRONOSZKEVM_PRIVATE_KEY is valid and secure + - Confirm RPC endpoint is accessible + +## Security Best Practices + +1. **Private Key Management** + + - Store private keys securely using environment variables + - Never expose private keys in code or logs + - Use separate accounts for development and production + +2. **Transaction Validation** + - Always validate addresses before sending transactions + - Verify token amounts and decimals + - Implement proper error handling + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Common Token Addresses + +- ZKCRO/zkCRO: `0x000000000000000000000000000000000000800A` +- USDC/usdc: `0xaa5b845f8c9c047779bedf64829601d8b264076c` +- ETH/eth: `0x898b3560affd6d955b1574d87ee09e46669c60ea` + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Cronos zkEVM](https://cronos.org/zkevm): Layer 2 scaling solution for Cronos +- [Web3.js](https://web3js.org/): Ethereum JavaScript API +- [zkSync](https://zksync.io/): Zero-knowledge rollup technology +- [Ethers.js](https://docs.ethers.org/): Complete Ethereum library +- [Viem](https://viem.sh/): Modern TypeScript Ethereum library + +Special thanks to: + +- The Cronos team for developing zkEVM +- The Matter Labs team for zkSync technology +- The Web3.js and Ethers.js maintainers +- The Viem development team +- The Eliza community for their contributions and feedback + +For more information about Cronos zkEVM capabilities: + +- [Cronos zkEVM Documentation](https://docs.cronos.org/zkevm/) +- [zkEVM Bridge](https://zkevm.cronos.org/bridge) +- [Cronos Developer Portal](https://cronos.org/developers) +- [zkSync Integration Guide](https://docs.cronos.org/zkevm/integration) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/d-a-t-a.md b/docs/packages/plugins/d-a-t-a.md new file mode 100644 index 00000000000..79dbc4d3403 --- /dev/null +++ b/docs/packages/plugins/d-a-t-a.md @@ -0,0 +1,134 @@ +# `@elizaos-plugins/plugin-d.a.t.a` + + +The **`@elizaos-plugins/plugin-d.a.t.a`** (Data Authentication, Trust, and Attestation framework) plugin is a plugin from CARV. It enhances the Eliza Agent Framework with powerful data processing capabilities, enabling agents to analyze, transform, and derive insights from various data sources. + +- **Comprehensive Data Processing:** Transform raw data into actionable insights through advanced analysis techniques. +- **Flexible Data Handling:** Support for multiple data formats and sources, from CSV to JSON and APIs. +- **Intelligent Analysis:** Leverage statistical methods and machine learning techniques for deeper understanding. + +Integrate **`@elizaos-plugins/plugin-d.a.t.a`** to empower your AI agents with sophisticated data analysis capabilities. + +## Use Cases + +- On-chain stats fetching. +- Token info. +- On-chain address tracking (CARV ID required). + +## Example + +**Q**: Can you tell me about the AAVE + +**A**: Searching the results from d.a.t.a, please wait a moment... Analyzing Aave (AAVE) token data. Aave is a decentralized lending and borrowing protocol operating on multiple blockchains, including Ethereum, Polygon, Avalanche, and others. The AAVE token is primarily used for governance, allowing holders to vote on protocol upgrades and changes. It also serves as a safety mechanism, where staked AAVE can be used to cover shortfalls in the protocol. Aave is categorized under 'Decentralized Finance (DeFi)', 'Lending/Borrowing Protocols', and multiple ecosystem integrations, indicating its broad utility and adoption across various blockchain environments. The token is deployed on 12 different platforms, showcasing its cross-chain capabilities. Would you like a deeper analysis of its technical features, market trends, or specific use cases? + +Logs: +``` + ◎ LOGS + %%%% D.A.T.A. Querying token info for ticker: + AAVE + + ["◎ Querying token info for ticker: AAVE"] + + ["◎ Successfully retrieved token info for AAVE"] + + ◎ LOGS + %%%% D.A.T.A. queryResult: + { + "success": true, + "data": { + "ticker": "aave", + "symbol": "aave", + "name": "Aave", + "platform": "ethereum", + "categories": [ + "Decentralized Finance (DeFi)", + "Governance", + "Yield Farming", + "BNB Chain Ecosystem", + "Lending/Borrowing Protocols", + "Avalanche Ecosystem", + "Polygon Ecosystem", + "Near Protocol Ecosystem", + "Fantom Ecosystem", + "Harmony Ecosystem", + "Arbitrum Ecosystem", + "Ethereum Ecosystem", + "Optimism Ecosystem", + "Index Coop Defi Index", + "Energi Ecosystem", + "Sora Ecosystem", + "Huobi ECO Chain Ecosystem", + "GMCI DeFi Index", + "Blockchain Capital Portfolio", + "Index Coop Index", + "GMCI Index", + "World Liberty Financial Portfolio" + ], + "contract_infos": [ + { + "platform": "near-protocol", + "address": "7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9.factory.bridge.near" + }, + { + "platform": "huobi-token", + "address": "0x202b4936fe1a82a4965220860ae46d7d3939bb25" + }, + { + "platform": "fantom", + "address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b" + }, + { + "platform": "energi", + "address": "0xa7f2f790355e0c32cab03f92f6eb7f488e6f049a" + }, + { + "platform": "binance-smart-chain", + "address": "0xfb6115445bff7b52feb98650c87f44907e58f802" + }, + { + "platform": "ethereum", + "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9" + }, + { + "platform": "optimistic-ethereum", + "address": "0x76fb31fb4af56892a25e32cfc43de717950c9278" + }, + { + "platform": "polygon-pos", + "address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b" + }, + { + "platform": "harmony-shard-0", + "address": "0xcf323aad9e522b93f11c352caa519ad0e14eb40f" + }, + { + "platform": "arbitrum-one", + "address": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196" + }, + { + "platform": "avalanche", + "address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9" + }, + { + "platform": "sora", + "address": "0x0091bd8d8295b25cab5a7b8b0e44498e678cfc15d872ede3215f7d4c7635ba36" + } + ], + "price": 0 + }, + "metadata": { + "queryTime": "2025-01-24T15:02:01.461Z", + "queryType": "token", + "executionTime": 1362, + "cached": false, + "queryDetails": { + "params": { + "ticker": "AAVE", + "platform": "ethereum" + } + } + } + } +``` + +Start leveraging the power of data analysis in your AI applications with **`@elizaos-plugins/plugin-d.a.t.a`** and unlock new possibilities for your Eliza agents. \ No newline at end of file diff --git a/docs/packages/plugins/dcap.md b/docs/packages/plugins/dcap.md new file mode 100644 index 00000000000..5228d123693 --- /dev/null +++ b/docs/packages/plugins/dcap.md @@ -0,0 +1,88 @@ +# @elizaos/plugin-dcap + +A plugin for verifying DCAP attestation on-chain built based on the [automata-dcap-attestation](https://github.com/automata-network/automata-dcap-attestation). + +## Features + +This plugin provides the following features: +- Generate DCAP attestation on TDX using the `remoteAttestationProvider` provided by the [plugin-tee](https://github.com/elizaOS/eliza/tree/develop/packages/plugin-tee). +- Generate DCAP attestation on SGX using the `sgxAttestationProvider` provided by the [plugin-sgx](https://github.com/elizaOS/eliza/tree/develop/packages/plugin-sgx). +- Submit and verify DCAP attestation on-chain. + +## Future Features (coming soon) +- Support to verify DCAP attestation on more EVM networks. +- Support to verify DCAP attestation on Solana. +- Support to verify DCAP attestation using ZKVM and verify the zk proof on-chain. +- Support to topup the wallet before submitting the DCAP attestation on testnets. + +## Installation + +```bash +pnpm install @elizaos/plugin-dcap +``` + +## Configuration +1. Set up your environment variables: +```env +EVM_PRIVATE_KEY=your-private-key-here +DCAP_MODE=PLUGIN-SGX|PLUGIN-TEE|MOCK +``` +The EVM_PRIVATE_KEY used to submit the DCAP attestation on evm networks, please make sure it has enough balance to pay for the transaction fee. + +The DCAP_MODE is used to specify the mode of generating DCAP attestation, it can be: +- PLUGIN-SGX: Use the `sgxAttestationProvider` in `plugin-sgx` to generate the DCAP attestation. +- PLUGIN-TEE: Use the `remoteAttestationProvider` in `plugin-tee` to generate the DCAP attestation. +- MOCK: Use a predefined attestation, this option is only for testing purposes. + +Check the docs of `plugin-sgx` and `plugin-tee` for how to run your agent in TEE before using the SGX or TDX mode. + +2. Register the plugin in your Eliza configuration: +```typescript +import { dcapPlugin } from "@elizaos/plugin-dcap"; + +// In your Eliza configuration +plugins: [ + dcapPlugin, + // ... other plugins +]; +``` + +## Usage +The plugin provides an action `dcapOnChainVerifyAction` which will be triggered by natural languages like: +```plaintext +"Verify the DCAP attestation on-chain" +"Generate a DCAP attestation and verify it on-chain" +"DCAP_ON_CHAIN" # The keyword will also trigger the action +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +We are welcom to any feedback and contributions! + +## Credits +- [Automata Network](https://ata.network): Provided the on-chain DCAP verification, enabling the decentralized verification of TEE attestations. +- [Phala Network](https://phala.network): Provided support for running agents in TDX environment and contributed the `plugin-tee` for generating DCAP attestation on TDX. +- [Gramine](https://gramineproject.io/): Provided support for running agents in SGX environment. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/depin.md b/docs/packages/plugins/depin.md new file mode 100644 index 00000000000..f1262f5a8d0 --- /dev/null +++ b/docs/packages/plugins/depin.md @@ -0,0 +1,102 @@ +# `@elizaos/plugin-depin` + +The **`@elizaos/plugin-depin`** plugin empowers the Eliza Agent Framework with **Perception** and **Action** capabilities via **Decentralized Physical Infrastructure Networks (DePINs)**, bridging the digital intelligence of AI with the physical world. + +- **DePINs as "Senses and Actuators":** Enables real-time data access from decentralized sensors and control over physical devices, making DePINs the sensory organs and actuators for Eliza agents. +- **Unlock Transformative Use Cases:** From drone delivery to smart city infrastructure and precision agriculture, this plugin extends your AI agents' potential. +- **Foundation for Sentient AI:** Facilitates contextual awareness, predictive capabilities, and goal-oriented behavior based on real-world sensory input and continuous feedback loops. + +Leverage **`@elizaos/plugin-depin`** to seamlessly integrate AI agents with the real world, enabling them to **perceive, act, and learn**. + +--- + +## Key Features + +1. **Seamless IoTeX Integration:** + - Leverages IoTeX Modular Infra to connect to a growing ecosystem of DePIN networks. +2. **Unified Data Access:** + - Standardized interfaces allow access to diverse DePIN data sources, regardless of protocols or formats. +3. **Time-Series Data Handling:** + - Equipped to analyze temporal patterns for predictive capabilities. +4. **Future-Proof Design:** + - Designed to scale with the evolving DePIN and AI landscape. + +--- + +## Configuration + +### Environment Variables + +Add the following to your `.env` file: + +```env +SENTAI_API_KEY=your-sentai-api-key +``` + +### Character Configuration + +Update `character.json` with the following configuration to enable the plugin: + +```json +"plugins": [ + "@elizaos/plugin-depin" +] +``` + +This ensures that the **`@elizaos/plugin-depin`** plugin is loaded and operational within your Eliza Agent Framework, enabling seamless integration with DePIN networks and their data. + +--- + +## Providers + +### DePINScan + +The **DePINScan provider** bridges the gap between your Eliza agents and decentralized physical infrastructure. By fetching and caching data from the DePINScan API, it provides actionable insights such as: + +- **Daily Metrics:** Get the latest statistics on DePIN activity, including device operations and network performance. +- **Project Data:** Detailed information about individual DePIN projects: + - **Project Identifiers:** Names and slugs for easy referencing. + - **Token Information:** Market metrics such as token prices, market caps, and fully diluted valuations (FDV). + - **Device Statistics:** Total devices deployed, operational costs, and earnings. + - **Blockchain Integration:** Layer 1 chains associated with projects and their respective categories. + - **Market Insights:** Comprehensive data on market trends and project capitalization. + +--- + +## Actions + +### DePIN Projects + +The **DEPIN_PROJECTS** action empowers Eliza agents to interact with and analyze DePIN project data, enabling: + +- **Token Metrics Queries:** Retrieve token prices, market capitalizations, and valuations for projects. +- **Project Comparisons:** Compare key metrics across multiple DePIN projects. +- **Filtering Capabilities:** Refine results by project categories or supported blockchain platforms. +- **Device and Revenue Analysis:** Explore statistics such as device deployment, operational costs, and revenue generation. +- **In-depth Queries:** Answer detailed questions about specific DePIN projects by leveraging the rich dataset provided by the DePINScan API. + +### Sentient AI + +The **SENTIENT_AI** action integrates Sentient AI APIs to provide Eliza agents with weather-related capabilities. Key functionalities include: + +- **Real-Time Weather Updates:** Deliver current temperature, humidity, and general conditions for specified locations. (supported by Nubila) +- **Forecast Analysis:** Generate short- and long-term forecasts to assist in planning and decision-making. (supported by Nubila) +- **Other Actions** Sentient AI will continue to improve and add more actions based on DePIN data. + +--- + +## Sentient AI with DePIN Integration + +The **`@elizaos/plugin-depin`** plugin is a critical component in the evolution of Eliza agents into sentient systems that are aware of and responsive to their physical environments. By integrating with DePINs, this plugin enables AI agents to: + +- **Perceive:** Access sensory data streams from devices across decentralized networks, including environmental sensors, location trackers, and motion detectors. +- **Act:** Influence and control connected devices in real-time, unlocking a wide array of use cases from logistics to urban management. +- **Learn:** Build predictive models and goal-oriented behaviors using continuous feedback from real-world data sources. + +### Transformative Applications + +From smart city infrastructure and autonomous vehicle systems to precision agriculture and environmental monitoring, the **`@elizaos/plugin-depin`** unlocks new frontiers in AI development. By merging decentralized infrastructure with AI-driven perception and action, this plugin empowers agents to act not just in virtual spaces but in the physical world. + +With its **future-proof design** and seamless integration capabilities, the **`@elizaos/plugin-depin`** is an essential tool for developers looking to push the boundaries of AI and decentralized systems. + +Start building the next generation of AI-powered applications with **`@elizaos/plugin-depin`** and redefine what’s possible for intelligent agents in the real world. \ No newline at end of file diff --git a/docs/packages/plugins/desk-exchange.md b/docs/packages/plugins/desk-exchange.md new file mode 100644 index 00000000000..c236e7a36dd --- /dev/null +++ b/docs/packages/plugins/desk-exchange.md @@ -0,0 +1,95 @@ +# DESK Exchange Plugin for Eliza + +This plugin enables interaction with the DESK Perpetual DEX through Eliza, providing perpetual futures trading capabilities. Visit [DESK Exchange](https://desk.exchange/) for more details. +## Features +- 💱 Perpetual Trading + - Market orders (immediate execution) + - Limit orders (price-specific) +- 🔄 Order Management + - Cancel all open orders +- 🏦 Account summary + - View open orders + - View active positions + - View collateral balances + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-desk-exchange"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +DESK_EXCHANGE_PRIVATE_KEY=your_private_key # Required for trading and cancelling orders +DESK_EXCHANGE_NETWORK= # "mainnet" or "testnet +``` + +## Available Actions + +### 1. PERP_TRADE + +Place perp market or limit orders. + +Examples: + +``` +# Market Orders +"long 1 BTC" -> Place buy order of 1 BTC at market price +"sell 2 ETH" -> Sells 2 ETH at market price +"market buy 1 ETH" -> Buys 1 ETH at market price + +# Limit Orders +"buy 1 SOL at 20 USDC" -> Places buy order for 1 SOL at 20 USDC +"sell 0.5 BASE at 21 USDC" -> Places sell order for 0.5 BASE at 21 USDC +``` + +### 2. CANCEL_ORDERS + +Cancel all your open orders. + +Examples: + +``` +"Cancel all orders" +"Cancel my orders" +``` + +### 3. GET_PERP_ACCOUNT_SUMMARY + +Display the summary of your current account with details on open orders, active position and collateral tokens. + +Examples: + +``` +"Check my account please" + +"Here is the summary of your account 0xxxxxxxx +Your positions: +- Long 1.0039 BTCUSD +- Short 10.01 ETHUSD +- Long 135808.80 SOLUSD +Your orders: +- Sell 0/0.0001 BTCUSD @200000.00 +Your collaterals: +- 1382295.125325162 USDC +- 2000000.00 CREDIT" +``` + +## Security Notes + +- Store your private key securely using environment variables +- Test with small amounts first +- Use testnet for initial testing +- Monitor your orders regularly +- Double-check prices before confirming trades + +## License + +MIT diff --git a/docs/packages/plugins/devin.md b/docs/packages/plugins/devin.md new file mode 100644 index 00000000000..1676286192a --- /dev/null +++ b/docs/packages/plugins/devin.md @@ -0,0 +1,79 @@ +# @elizaos/plugin-devin + +Devin API integration plugin for Eliza, providing automated engineering assistance through the Devin API. + +## Installation + +```bash +pnpm add @elizaos/plugin-devin +``` + +## Configuration + +The plugin requires a Devin API token for authentication. Set the following environment variable: + +```bash +DEVIN_API_TOKEN=your_api_token_here +``` + +Or configure it in your Eliza runtime settings: + +```typescript +runtime.setSetting("DEVIN_API_TOKEN", "your_api_token_here"); +``` + +## Features + +- Session Management: Create and manage Devin engineering sessions +- State Tracking: Monitor session status and progress +- Client Agnostic: Works with any Eliza client implementation +- Rate Limiting: Built-in API request rate limiting +- Error Handling: Comprehensive error handling with retries + +## Usage + +### Actions + +#### START_DEVIN_SESSION + +Creates a new Devin session with the specified prompt. + +```typescript +const result = await runtime.runAction("START_DEVIN_SESSION", { + content: { text: "Help me refactor this code" } +}); +``` + +### Providers + +#### devinProvider + +Manages Devin session state and provides session information. + +```typescript +const state = await runtime.getState(); +const devinState = state.devin; + +// Access session details +console.log(devinState.sessionId); +console.log(devinState.status); +console.log(devinState.url); +``` + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +## API Documentation + +For detailed API documentation, visit: +- [Devin API Integration Guide](https://docs.devin.ai/tutorials/api-integration) +- [External API Reference](https://docs.devin.ai/external-api/) + +## License + +MIT diff --git a/docs/packages/plugins/dexscreener.md b/docs/packages/plugins/dexscreener.md new file mode 100644 index 00000000000..7b2c1056636 --- /dev/null +++ b/docs/packages/plugins/dexscreener.md @@ -0,0 +1,79 @@ +# @elizaos/plugin-dexscreener + +A plugin for accessing DexScreener's token data and price information through your Eliza agent. + +## Installation + +```bash +pnpm add @elizaos/plugin-dexscreener +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener"; + +const character = { + plugins: [dexScreenerPlugin] +}; +``` + +## Features + +### Token Price Checking +Query token prices using addresses or symbols: +```plaintext +"What's the price of ETH?" +"Check price of 0x1234..." +"How much is $BTC worth?" +``` + +### Token Trends +View latest and trending tokens: +```plaintext +"Show me the latest tokens" +"What are the new boosted tokens?" +"Show me the top boosted tokens" +``` + +## Available Actions + +### GET_TOKEN_PRICE +Fetches current token price and market information. +- Aliases: `FETCH_TOKEN_PRICE`, `CHECK_TOKEN_PRICE`, `TOKEN_PRICE` +- Supports ETH addresses and token symbols (with or without $ prefix) +- Returns price, liquidity, and 24h volume information + +### GET_LATEST_TOKENS +Retrieves the most recently listed tokens. +- Aliases: `FETCH_NEW_TOKENS`, `CHECK_RECENT_TOKENS`, `LIST_NEW_TOKENS` + +### GET_LATEST_BOOSTED_TOKENS +Fetches the most recently boosted tokens. +- Aliases: `FETCH_NEW_BOOSTED_TOKENS`, `CHECK_RECENT_BOOSTED_TOKENS` + +### GET_TOP_BOOSTED_TOKENS +Shows tokens with the most active boosts. +- Aliases: `FETCH_MOST_BOOSTED_TOKENS`, `CHECK_HIGHEST_BOOSTED_TOKENS` + +## Providers + +### TokenPriceProvider +Provides token price data from DexScreener API: +- Current price in USD +- Liquidity information +- 24h volume data +- Automatic best pair selection by liquidity + +## Evaluators + +### TokenPriceEvaluator +Evaluates messages for token price requests: +- Detects price-related keywords +- Identifies token addresses and symbols +- Supports multiple token identifier formats: + - Ethereum addresses + - Symbols with $ or # prefix + - Natural language patterns ("price of TOKEN") diff --git a/docs/packages/plugins/di.md b/docs/packages/plugins/di.md new file mode 100644 index 00000000000..7c244632be8 --- /dev/null +++ b/docs/packages/plugins/di.md @@ -0,0 +1,150 @@ +# Unmaintained: this plugin needs a maintainer. + +# @elizaos/plugin-di - Dependency Injection Plugin for Eliza + +This plugin provides a dependency injection system for Eliza plugins. + +## What is Dependency Injection? + +Dependency Injection is a design pattern that allows you to inject dependencies into a class or function. This pattern is useful for decoupling components and making your code more modular and testable. + +## Examples of How to build a Plugin using Dependency Injection + +Check the [example](../_examples/plugin-with-di/) folder for a simple example of how to create a plugin using Dependency Injection. + +### Where can I use Dependency Injection? + +You can use Dependency Injection in any part of your Eliza plugin, including actions, evaluators, providers, services, and clients. + +- Actions: Inject services or providers to interact with external APIs or services. [Example](../_examples/plugin-with-di/src/actions/sampleAction.ts) +- Evaluators: Inject services or providers to evaluate conditions or perform calculations. [Example](../_examples/plugin-with-di/src/evaluators/sampleEvaluator.ts) +- Providers: Inject services or providers to provide data or resources. [Example](../_examples/plugin-with-di/src/providers/sampleProvider.ts) +- Services: Inject other services to perform business logic. [Example](../_examples/plugin-with-di/src/services/sampleService.ts) +- Clients: Inject services to interact with external APIs or services. Lack of examples, but you can refer to the services example. + +## Decorators for Dependency Injection + +This plugin provides a set of decorators that you can use to inject dependencies into your classes or functions. + +### From inversify + +We use the [inversify](https://inversify.io/) library to provide the dependency injection system. +The following decorators are provided by the [inversify](https://inversify.io/) library. + +#### `@injectable` + +> Category: Class Decorator + +This decorator marks a class as injectable. This means that you can inject this class into other classes using the `@inject` decorator. + +```typescript +import { injectable } from "inversify"; + +@injectable() +class SampleClass { +} +``` + +Remember to register the class with the container before injecting it into other classes. + +```typescript +import { globalContainer } from "@elizaos/plugin-di"; + +// Register the class with the container as a singleton, this means that the class will be instantiated only once. +globalContainer.bind(SingletonClass).toSelf().inSingletonScope(); +// Register the class with the container as a request context, this means that the class will be instantiated for each request(in this case means each Character). +globalContainer.bind(CharactorContextClass).toSelf().inRequestScope(); +``` + +#### `@inject` + +> Category: Parameter Decorator + +This decorator marks a parameter as an injection target. This means that the parameter will be injected with the appropriate dependency when the class is instantiated. + +```typescript +import { injectable, inject } from "inversify"; + +@injectable() +class SampleClass { + constructor( + // Inject the SampleDependency as a public property of the class. + @inject("SampleDependency") public sampleDependency: SampleDependency + ) {} +} +``` + +### From di plugin (used for BaseInjectableAction) + +DI plugin provides abstract classes that you can extend to create Injectable actions. +And that provides the following decorators to improve the readability of the code. + +#### `@property` + +> Category: Property Decorator + +This decorator is used to define a property in an action content class which will be used to generate the action content object Schema and content description template for LLM object generation. + +```typescript +import { z } from 'zod'; +import { property } from "@elizaos/plugin-di"; + +class SampleActionContent { + @property({ + description: "Sample property description", + schema: z.string(), + }) + sampleProperty: string; +} +``` + +## Abstract Classes provided by this plugin + +This plugin provides the following abstract classes that you can extend to create Injectable classes: + +- `BaseInjectableAction` +- `BaseInjectableEvaluator` + +Note: This is optional, you can create your own classes to create injectable actions. + +### `BaseInjectableAction` + +This abstract class simplify the creation of injectable actions. +You don't need to think about the template for content generation, it will be generated automatically based on the properties of the content Class. +What you need to implement is the `execute` method. + +```typescript +import { injectable } from "inversify"; +import { BaseInjectableAction } from "@elizaos/plugin-di"; + +class SampleActionContent { + @property({ + description: "Sample property description", + schema: z.string(), + }) + property1: string; +} + +@injectable() +class SampleAction extends BaseInjectableAction { + constructor() { + super({ + /** general action constent options */ + contentClass: SampleActionContent, + }); + } + + /** + * It will be called by `handler` function when the action is triggered. + */ + async execute( + content: SampleActionContent | null, + runtime: IAgentRuntime, + message: Memory, + state: State, + callback?: HandlerCallback + ): Promise { + // Your action logic here + } +} +``` diff --git a/docs/packages/plugins/dkg.md b/docs/packages/plugins/dkg.md new file mode 100644 index 00000000000..8f20abd9352 --- /dev/null +++ b/docs/packages/plugins/dkg.md @@ -0,0 +1,103 @@ +# @elizaos/plugin-dkg + +A plugin enabling integration with the OriginTrail Decentralized Knowledge Graph (DKG) for enhanced search and knowledge management capabilities in ElizaOS agents. + +## Description + +The DKG plugin extends ElizaOS functionality by allowing agents to interact with the OriginTrail Decentralized Knowledge Graph. This plugin enables SPARQL-based searches on the DKG and combines these results with Eliza's regular search results. Additionally, it creates a memory as a Knowledge Asset on the DKG after a response, making it available for future SPARQL queries. + +## Installation + +```bash +pnpm install @elizaos/plugin-dkg +``` + +## Features + +### 1. DKG Integration + +- Perform SPARQL queries on the DKG for knowledge extraction. +- Combine DKG query results with Eliza's internal search capabilities. +- Enhance responses with decentralized and trusted knowledge. + +### 2. Knowledge Asset Creation + +- Automatically generate Knowledge Assets based on interactions. +- Publish memory Knowledge Assets to the DKG for future retrieval. + +## Providers + +### 1. DKG Search Provider + +- Executes SPARQL queries on the OriginTrail DKG. +- Retrieves and formats relevant results. +- Integrates DKG data with Eliza’s response system. + +## Plugins + +### 1. Memory Creation Plugin + +- Creates Knowledge Assets from agent interactions. +- Publishes assets to the DKG with contextual metadata. + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Usage + +### 1. Set Up Environment Variables + +- Copy the `.env.example` file and rename it to `.env`. +- Fill in the necessary details: + - Node information. + - LLM key. + - Twitter credentials. + +### 2. Customize DKG Knowledge Asset & Query Templates + +- Modify the templates in `plugin-dkg/constants.ts` if you need to change the ontology or data format used in the Knowledge Graph. +- Check if the graph search provider is passing context to the agent (packages/client-twitter/src/interactions.ts, twitterMessageHandlerTemplate) + +### 3. Create a Character and Run the Agent + +- Create a character file in the `characters` folder. +- Run the character using the following command: + ```bash + pnpm start --characters="characters/chatdkg.character.json" + ``` + +### Notes + +- Ensure you configure the Twitter client and select your LLM provider in the character settings, also include the plugin in your agent. + +## Dependencies + +- @elizaos/core: workspace:\* +- SPARQL query library: workspace:\* +- DKG JavaScript SDK: dkg.js > ^8.0.4 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/echochambers.md b/docs/packages/plugins/echochambers.md new file mode 100644 index 00000000000..c0b270e5b0b --- /dev/null +++ b/docs/packages/plugins/echochambers.md @@ -0,0 +1,200 @@ +# @elizaos/plugin-echochambers + +The EchoChambers plugin enables ELIZA to interact in chat rooms, providing conversational capabilities with dynamic interaction handling. + +## Features + +- Join and monitor chat rooms +- Respond to messages based on context and relevance +- Retry operations with exponential backoff +- Manage connection and reconnection logic +- Real-time chat room monitoring and interaction +- Intelligent message response generation +- Context-aware conversation handling +- Comprehensive message history tracking +- Multi-room support with configurable polling + +## Installation + +1. Install the plugin package: + +```bash +pnpm install @elizaos/plugin-echochambers +``` + +OR copy the plugin code into your eliza project node_modules directory. (node_modules\@elizaos) + +2. Import and register the plugin in your `character.ts` configuration: + +```typescript +import { Character, ModelProviderName, defaultCharacter } from "@elizaos/core"; +import { echoChambersPlugin } from "@elizaos/plugin-echochambers"; + +export const character: Character = { + ...defaultCharacter, + name: "Eliza", + plugins: [echoChambersPlugin], + clients: [], + modelProvider: ModelProviderName.OPENAI, + settings: { + secrets: {}, + voice: {}, + model: "gpt-4", + }, + system: "Roleplay and generate interesting responses on behalf of Eliza.", + bio: [...], + lore: [...], + messageExamples: [...], + postExamples: [...], + adjectives: ["funny", "intelligent", "academic", "insightful"], + people: [], + topics: [...], + style: {...}, +}; +``` + +## Configuration + +The plugin requires the following environment variables: + +```plaintext +# Required Settings +ECHOCHAMBERS_API_URL="http://127.0.0.1:3333" # Base URL for the EchoChambers API +ECHOCHAMBERS_API_KEY="your-api-key" # API key for authentication + +# Optional Settings +ECHOCHAMBERS_USERNAME="eliza" # Custom username for the agent +ECHOCHAMBERS_DEFAULT_ROOM="general" # Default room to join +ECHOCHAMBERS_POLL_INTERVAL="60" # Polling interval in seconds +ECHOCHAMBERS_MAX_MESSAGES="10" # Maximum messages in conversation thread +``` + +## Usage Instructions + +### Starting the Plugin + +The plugin will automatically initialize when your character configuration includes it. It handles: + +1. Room Connection Management + + - Automatic joining of default room + - Reconnection handling with backoff + - Multi-room monitoring + +2. Message Processing + + - Context-aware response generation + - Thread management + - History tracking + +3. Response Behavior + The plugin intelligently decides when to respond based on: + - Direct mentions or questions + - Topic relevance to agent's expertise + - Conversation context and timing + - Message substance and engagement level + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify API URL is correct and accessible + - Ensure API key is valid + - Check network connectivity + +2. **Message Processing** + - Verify environment variables are properly set + - Check log files for error messages + - Ensure proper character configuration + +## Security Best Practices + +1. **API Key Management** + + - Store API keys securely using environment variables + - Never expose keys in code or logs + - Rotate keys periodically + +2. **Connection Security** + - Use HTTPS for production environments + - Implement proper error handling + - Monitor for unusual activity + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run in development mode: + +```bash +pnpm run dev +``` + +## API Reference + +### Core Components + +1. **EchoChamberClient** + + - Handles room connections + - Manages message sending/receiving + - Implements retry logic + +2. **InteractionClient** + - Processes messages + - Generates responses + - Maintains conversation context + +## Future Enhancements + +- Enhanced message filtering +- Custom response templates +- Advanced room management features +- Improved context handling +- Extended retry mechanisms + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Socket.IO](https://socket.io/): Real-time bidirectional event-based communication +- [Express](https://expressjs.com/): Web application framework +- [Redis](https://redis.io/): In-memory data structure store +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for message handling +- [node-cache](https://www.npmjs.com/package/node-cache): In-memory caching + +Special thanks to: + +- The Socket.IO team for real-time communication infrastructure +- The Express.js maintainers +- The Redis development team +- The chat room infrastructure maintainers +- The Eliza community for their contributions and feedback + +For more information about chat capabilities: + +- [Socket.IO Documentation](https://socket.io/docs/v4/) +- [Express Documentation](https://expressjs.com/en/4x/api.html) +- [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) +- [Real-time Chat Best Practices](https://socket.io/docs/v4/rooms/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/edwin.md b/docs/packages/plugins/edwin.md new file mode 100644 index 00000000000..193dd0aa79c --- /dev/null +++ b/docs/packages/plugins/edwin.md @@ -0,0 +1,67 @@ +# @elizaos/plugin-edwin + +Edwin plugin for Eliza that enables interaction with Edwin tools for DeFi operations. + +## About + +See full info and docs at [Edwin docs](https://docs.edwin.finance). +## Setup + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure environment variables for chains you want to support: + +```env +EVM_PRIVATE_KEY= +SOLANA_PRIVATE_KEY= +``` + +## Available Tools + +The plugin provides access to the following Edwin tools: + +- supply +- withdraw +- stake +- addLiquidity +- removeLiquidity + +## Usage Examples + +1. Supply on AAVE: + +``` +Supply 100 USDC to AAVE +``` + +2. Add liquidity on Meteora: + +``` +Find a meteora pool with high liquidity and add to td 10 USDC and 0.01 SOL. +``` + +## Development + +1. Build the plugin: + +```bash +pnpm build +``` + +2. Run in development mode: + +```bash +pnpm dev +``` + +## Dependencies + +- edwin-sdk + +## License + +MIT diff --git a/docs/packages/plugins/eliza-nkn.md b/docs/packages/plugins/eliza-nkn.md new file mode 100644 index 00000000000..3cc66027b80 --- /dev/null +++ b/docs/packages/plugins/eliza-nkn.md @@ -0,0 +1,8 @@ +## plugin-nkn + + +This ElizaOS plugin integrates NKN ([https://nkn.org/](https://nkn.org/)) to enable communication between multiple AI agents or users. + +### Description + +The plugin-nkn leverages the NKN protocol to facilitate messaging and communication between various AI agents and users within the Eliza framework. It supports both sending and receiving messages via a decentralized network, ensuring low latency and secure transmission. \ No newline at end of file diff --git a/docs/packages/plugins/email-automation.md b/docs/packages/plugins/email-automation.md new file mode 100644 index 00000000000..c8e39f2643d --- /dev/null +++ b/docs/packages/plugins/email-automation.md @@ -0,0 +1,167 @@ +# @elizaos/plugin-email-automation + +AI-powered email automation plugin for Eliza that intelligently detects email-worthy conversations and handles generation/delivery. This is not perfect and is simply a solid starting point, and I would encourage any and all contributions! + +## Features + +### 1. Intelligent Detection +- Partnership opportunity detection +- Technical discussion recognition +- Business proposal identification +- Follow-up requirement analysis + +### 2. AI-Powered Generation +- Structured email formatting +- Context-aware content +- Professional tone maintenance +- Technical detail inclusion + +## Configuration + +### AI Email Automation Setup +```typescript +# Required +RESEND_API_KEY= # Your Resend API key +DEFAULT_TO_EMAIL= # Default recipient +DEFAULT_FROM_EMAIL= # Default sender + +# Optional Settings +EMAIL_AUTOMATION_ENABLED=true # Enable AI detection. If this is enabled, the plugin will automatically detect email-worthy conversations and handle generation/delivery and only that. +EMAIL_EVALUATION_PROMPT= # Custom detection criteria for shouldEmail +``` + +### Basic Usage +```typescript +import { emailAutomationPlugin } from '@elizaos/plugin-email-automation'; + +// Add to your Eliza configuration +{ + plugins: [emailAutomationPlugin], + settings: { + EMAIL_AUTOMATION_ENABLED: true, + // ... other settings + } +} +``` + +### Email Template Example +The plugin uses Handlebars for templating. Here's an example output: + +```handlebars +{{!-- email-template.hbs --}} + + + +``` + +This template produces professional emails like the example shown in the image above. You can customize the template by: +1. Creating your own `.hbs` file +2. Registering it with the template manager +3. Specifying your template when sending emails + +## Development + +```bash +# Installation +pnpm install + +# Testing +pnpm test +pnpm test:watch +pnpm test:coverage + +# Building +pnpm build +``` + +## Testing Coverage +- Unit tests for all services +- Integration tests for end-to-end flows +- Throttling and rate limiting tests +- Error handling scenarios +- Mock providers for testing + +## Architecture +```mermaid +graph TD + A[Email Trigger] --> B[Automation Service] + B --> C{AI Evaluation} + C -->|Yes| D[Generation Service] + D --> E[Email Service] + E --> F[Resend Provider] + F --> G[Delivery] +``` + +Architecture Overview: +- Resend Provider support (more to come) +- AI-powered email detection +- Context-aware content generation +- Professional template rendering + +## Credits + +This plugin integrates with and builds upon: + +- [Resend](https://resend.com): Modern email API for developers +- [Handlebars](https://handlebarsjs.com): Templating engine for email formatting + +For more information about Resend capabilities: +- [Resend Documentation](https://resend.com/docs) +- [Email API Reference](https://resend.com/docs/api-reference/introduction) +- [Developer Portal](https://resend.com/overview) + +## License +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/email.md b/docs/packages/plugins/email.md new file mode 100644 index 00000000000..7fcf66047af --- /dev/null +++ b/docs/packages/plugins/email.md @@ -0,0 +1,52 @@ +# Description + +Implementation of an EmailClient for Eliza. + +# Settings + +The following settings will be declared on your environment variable or inside your agent' settings: + +## SMTP Section + +- `EMAIL_OUTGOING_SERVICE`: "smtp" | "gmail" +- `EMAIL_OUTGOING_HOST`: SMTP Hostname or IP to connect to. Required only when "smtp" service is configured. +- `EMAIL_OUTGOING_PORT`: the port to connect to (defaults to 465 for secure connections, otherwise 587). Required only if "smtp" is configured. +- `EMAIL_SECURE`: if true the connection will use TLS, otherwise TLS will be used if server supports STARTTLS extension. Set to true if port 465 is selected. +- `EMAIL_OUTGOING_USER`: Username +- `EMAIL_OUTGOING_PASS`: Password. If "gmail" selected you will need to provision a dedicated password for the agent [1] + +## IMAP Section + +- `EMAIL_INCOMING_SERVICE`: "imap" +- `EMAIL_INCOMING_HOST`: IMAP Hostname or IP to connect to +- `EMAIL_INCOMING_PORT`: the port to connect to (defaults to 993) +- `EMAIL_INCOMING_USER`: Username +- `EMAIL_INCOMING_PASS`: Password + +[1] https://support.google.com/mail/answer/185833?hl=en + +## Usage + +1. Install the Plugin: First, import the plugin into your agent by running the following command: + +``` +pnpm add @elizaos/plugin-email +``` + +2. Send Emails: You can send emails using the following method: + +``` +this.runtime.clients.email.send({ + to: "recipient@example.com", + subject: "Your Subject Here", + text: "Your email body here." +}); +``` + +3. Receive Emails: To receive emails, register a callback function that will be invoked when an email is received: + +``` +this.runtime.clients.email.receive((email) => { + console.log("Email Received:", email); +}); +``` diff --git a/docs/packages/plugins/ethstorage.md b/docs/packages/plugins/ethstorage.md new file mode 100644 index 00000000000..781444c3a57 --- /dev/null +++ b/docs/packages/plugins/ethstorage.md @@ -0,0 +1,39 @@ +# @elizaos/plugin-ethstorage - Plugin for EthStorage + +This plugin allows interaction with the EthStorage decentralized storage network using Eliza. By default, it operates on the beta testnet, but you can switch to other testnets by updating the `ETHSTORAGE_RPC_URL` in the `.env` file. The mainnet is not yet available. + +## Actions +- **transfer**: This action enables the transfer of QKC tokens from the agent's wallet (specified via `ETHSTORAGE_PRIVATE_KEY`) to another wallet. To use, just mention the transfer of tokens to an EthStorage account. + + - Name: `SEND_TOKEN` + + - Message sample: `Send 100 QKC to 0x341Cb1a94ef69499F97E93c41707B21326C0Cc87` + +- **submitData**: This action enables the submission of any arbitrary data to the EthStorage decentralized storage network. To use, just mention that you need to send "any data" to EthStorage using the key you specified. + + - Name: `SUBMIT_DATA` + + - Message sample: `Submit the following data using key 'my_key' to EthStorage "Hello World!"` + +## Usage & Testing + +### Detailed testing steps +- In the .env file, set the following values: + - ETHSTORAGE_ADDRESS: The entry contract address for storing data on the EthStorage network (default is set to the beta testnet but can be updated if needed). + - ETHSTORAGE_RPC_URL: The RPC endpoint for connecting to the desired EthStorage network (default is set to the beta testnet). + - ETHSTORAGE_PRIVATE_KEY: The private key for the agent’s wallet. +- **Transfer Tokens** + - To test the transfer function, you need tokens in your EthStorage account. On the testnet, you can use the [EthStorage Faucet](https://qkc-l2-faucet.eth.sep.w3link.io/). If you need more tokens, please ping us on [Discord](https://discord.com/invite/xhCwaMp7ps), and we can send them over. + - Run the agent and prompt it with: "send AMOUNT QKC to any other EthStorage account" - e.g. `send 1 QKC to 0x341Cb1a94ef69499F97E93c41707B21326C0Cc87` + - If the transaction is successful, the agent will return the Tx Hash. + The tx hash can be checked on the EthStorage block explorer at [https://explorer.beta.testnet.l2.quarkchain.io](https://explorer.beta.testnet.l2.quarkchain.io). + +- **Submit Data** + - To test data submission, you need tokens in your EthStorage account to pay fees. On the testnet, you can use the [EthStorage Faucet](https://qkc-l2-faucet.eth.sep.w3link.io/). If you need more tokens, please ping us on [Discord](https://discord.com/invite/xhCwaMp7ps), and we can send them over. + - Run the agent and prompt it with: "Submit the following data using the key KEY to EthStorage DATA" - e.g. `Submit the following data using the key 'my_key' to EthStorage "Hello World!"` + - If the transaction is successful, the agent will return the Tx Hash. The tx hash can be checked on the EthStorage block explorer at [https://explorer.beta.testnet.l2.quarkchain.io](https://explorer.beta.testnet.l2.quarkchain.io). + +## Resources +- [EthStorage Documentation](https://docs.ethstorage.io/) +- [Learn more about EthStorage](https://ethstorage.io/) +- [Awesome EthStorage Repo](https://github.com/ethstorage/) diff --git a/docs/packages/plugins/evm.md b/docs/packages/plugins/evm.md new file mode 100644 index 00000000000..2f6b0d71fbf --- /dev/null +++ b/docs/packages/plugins/evm.md @@ -0,0 +1,324 @@ +# @elizaos/plugin-evm + +This plugin provides actions and providers for interacting with EVM-compatible chains. + +## Description + +The EVM plugin provides comprehensive functionality for interacting with EVM-compatible chains, including token transfers, cross-chain bridging, and token swaps using LiFi integration. + +## Features + +- Multi-chain support with dynamic chain configuration +- Native token transfers +- Cross-chain token bridging via LiFi +- Token swapping on supported DEXs +- Wallet balance tracking +- Custom RPC endpoint configuration +- Automatic retry mechanisms +- Comprehensive transaction management + +## Installation + +```bash +pnpm install @elizaos/plugin-evm +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key-here + +# Optional - Custom RPC URLs +EVM_PROVIDER_URL=https://your-custom-mainnet-rpc-url +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +### Chain Configuration + +By default, **Ethereum mainnet** is enabled. To enable additional chains, add them to your character config: + +```json +"settings": { + "chains": { + "evm": [ + "base", "arbitrum", "iotex" + ] + } +} +``` + +Note: The chain names must match those in the viem/chains. + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use a custom RPC URL for a specific chain, add the following to your `.env` file: + +```env +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +**Example usage:** + +```env +ETHEREUM_PROVIDER_IOTEX=https://iotex-network.rpc.thirdweb.com +``` + +#### Custom RPC for Ethereum Mainnet + +To set a custom RPC URL for Ethereum mainnet, use: + +```env +EVM_PROVIDER_URL=https://your-custom-mainnet-rpc-url +``` + +## Provider + +The **Wallet Provider** initializes with the **first chain in the list** as the default (or Ethereum mainnet if none are added). It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chains. +- Allows adding chains dynamically at runtime. + +## Actions + +### 1. Transfer + +Transfer native tokens on the same chain: + +```typescript +// Example: Transfer 1 ETH +Transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +``` + +### 2. Bridge + +Bridge tokens between different chains using LiFi: + +```typescript +// Example: Bridge ETH from Ethereum to Base +Bridge 1 ETH from Ethereum to Base +``` + +### 3. Swap + +Swap tokens on the same chain using LiFi: + +```typescript +// Example: Swap ETH for USDC +Swap 1 ETH for USDC on Base +``` + +### 4. Propose + +Propose a proposal to a governor on a specific chain. + +- **Proposal** + - **Targets** + - **Values** + - **Calldatas** + - **Description** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Propose a proposal to the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum to transfer 1 ETH to 0xRecipient. +``` + +### 5. Vote + +Vote on a proposal to a governor on a specific chain. + +- **Proposal ID** +- **Support** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Vote on the proposal with ID 1 to support the proposal on the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +### 6. Queue + +Queue a proposal to a governor on a specific chain. + +- **Proposal** + - **Targets** + - **Values** + - **Calldatas** + - **Description** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Queue the proposal to the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +### 7. Execute + +Execute a proposal to a governor on a specific chain. + +- **Proposal ID** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Execute the proposal with ID 1 on the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## API Reference + +### Core Components + +1. **WalletProvider** + + - Manages wallet connections + - Handles chain switching + - Manages RPC endpoints + - Tracks balances + +2. **Actions** + - TransferAction: Native token transfers + - BridgeAction: Cross-chain transfers + - SwapAction: Same-chain token swaps + +## Future Enhancements + +1. **Cross-Chain Operations** + + - Enhanced bridge aggregation + - Multi-chain transaction batching + - Cross-chain liquidity management + - Bridge fee optimization + - Chain-specific gas strategies + - Cross-chain messaging + +2. **DeFi Integration** + + - Advanced swap routing + - Yield farming automation + - Liquidity pool management + - Position management tools + - MEV protection features + - Flash loan integration + +3. **Smart Contract Management** + + - Contract deployment templates + - Verification automation + - Upgrade management + - Security analysis tools + - Gas optimization + - ABI management system + +4. **Token Operations** + + - Batch transfer tools + - Token approval management + - Token metadata handling + - Custom token standards + - Token bridging optimization + - NFT support enhancement + +5. **Wallet Features** + + - Multi-signature support + - Account abstraction + - Hardware wallet integration + - Social recovery options + - Transaction simulation + - Batch transaction processing + +6. **Network Management** + + - Dynamic RPC management + - Network health monitoring + - Fallback provider system + - Custom network addition + - Gas price optimization + - Network analytics + +7. **Security Enhancements** + + - Transaction validation + - Risk assessment tools + - Fraud detection + - Rate limiting + - Emergency shutdown + - Audit integration + +8. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - CLI improvements + - Performance profiling + - Integration templates + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR: + +```bash +pnpm test +``` + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Ethereum](https://ethereum.org/): Decentralized blockchain +- [LiFi](https://lifi.io/): Cross-chain bridge and swap service +- [viem](https://viem.sh/): Ethereum client library +- [wagmi](https://wagmi.sh/): Ethereum client library + +Special thanks to: + +- [Ethereum Developer community](https://ethereum.org/developers/) +- The Eliza community for their contributions and feedback + +For more information about EVM capabilities: + +- [Ethereum Documentation](https://ethereum.org/developers/) +- [LiFi Documentation](https://lifi.io) +- [viem Documentation](https://viem.sh) +- [wagmi Documentation](https://wagmi.sh) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/ferePro.md b/docs/packages/plugins/ferePro.md new file mode 100644 index 00000000000..84d9f4a0df9 --- /dev/null +++ b/docs/packages/plugins/ferePro.md @@ -0,0 +1,228 @@ +# @elizaos/plugin-ferepro + +A plugin for enabling WebSocket communication with FerePro API to provide AI-driven market insights within the ElizaOS ecosystem. + +## Description + +The FerePro plugin enables real-time communication with the FerePro API through WebSocket connections, providing market analysis, cryptocurrency comparisons, and financial insights. + +## Features + +- Real-time WebSocket communication +- Streaming and non-streaming response support +- Market data analysis and comparisons +- Cryptocurrency insights +- Debug mode for detailed responses +- Automatic connection management +- Comprehensive error handling +- Credit tracking and management + +## Installation + +```bash +pnpm install @elizaos/plugin-ferepro +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +Ensure that FEREAI_USER_ID and FEREAI_API_KEY are correctly set in the character secrets +sections or as environment variables. + +FEREAI_USER_ID: FereAI User ID +FEREAI_API_KEY: FereAI API key + +# Optional +FereAI pro take some time to respond. Set REQUEST_TIMEOUT to avoid response timeouts +in the character settings section or as environment variable. + +REQUEST_TIMEOUT: Number of milliseconds before a request times out + +``` + +## Usage + +### Example Queries + +1. Basic Market Query: + +```typescript +// Get top cryptocurrencies +"What are the top 5 cryptocurrencies?"; +``` + +2. Comparison Analysis: + +```typescript +// Compare specific cryptocurrencies +"Compare Ethereum and Bitcoin for the past 6 months"; +``` + +3. Historical Data: + +```typescript +// Get historical performance +"Compare top 3 coins against Bitcoin in the last 3 months"; +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run in development mode: + +```bash +pnpm run dev +``` + +## API Reference + +### Core Components + +1. **FereProService** + + - Manages WebSocket connections + - Handles message sending/receiving + - Processes streaming responses + - Tracks credits and usage + +2. **Actions** + - EXECUTE_FEREPRO: Primary action for API communication + - Supports market queries and analysis requests + - Handles both streaming and non-streaming responses + +### Response Structure + +```typescript +export interface FereAIChatResponse { + answer: string; + chat_id: string; + representation: any[]; + agent_api_name: string; + query_summary: string; + agent_credits: number; + credits_available: number; +} +``` + +## Error Handling + +The plugin includes comprehensive error handling for: + +- WebSocket connection issues +- Invalid message formats +- API response errors +- Credit limitation issues + +## Common Issues & Troubleshooting + +### Connection Issues + +1. **WebSocket Connection Failures** + + - Verify your internet connection + - Check if the FerePro API service is available + - Ensure your FERE_USER_ID and FERE_API_KEY is valid and active + +2. **Message Timeout** + + - The connection might time out for long-running queries + - Consider setting REQUEST_TIMEOUT to avoid response timeouts in the character settings section or as environment variable. + +3. **Credit Depletion** + - Monitor credits_available in responses + - Set up alerts for low credit situations + - Contact FerePro support for credit top-up + +### Response Parsing + +1. **Invalid Response Format** + + - Check if the query is properly formatted + - Verify the message structure matches the API requirements + - Enable debug mode for detailed error information + +2. **Missing Data** + - Ensure the requested timeframe is valid + - Verify the cryptocurrencies exist in the database + - Check if you have access to the requested data tier + +## Safety & Best Practices + +### Security + +1. **API Credentials** + + - Never expose your FEREAI_USER_ID and FEREAI_API_KEY in public repositories + - Use environment variables or secrets sections in the character settings section for sensitive data + - Rotate credentials periodically if possible + +2. **Rate Limiting** + - Implement appropriate delays between requests + - Monitor credit usage to prevent unexpected depletion + - Cache responses when appropriate + +### Data Handling + +1. **Response Validation** + + - Always validate response data before processing + - Implement proper error handling for malformed data + - Log unexpected response formats for debugging + +2. **Stream Management** + - Close WebSocket connections properly after use + - Implement reconnection logic for dropped connections + - Handle partial responses in streaming mode + +### Best Practices + +1. **Query Optimization** + + - Keep queries focused and specific + - Use streaming for large data requests + - Implement caching for frequently requested data + +2. **Error Handling** + + - Implement comprehensive error catching + - Log errors with appropriate context + - Provide meaningful error messages to users + +3. **Resource Management** + - Monitor WebSocket connection status + - Implement connection pooling for high-volume usage + - Clean up resources properly on service shutdown + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about FerePro capabilities: + +- [FereAI Website](https://www.fereai.xyz/) +- [FereAI Agents Documentation](https://docs.fereai.xyz/docs/product/ai-versions) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/firecrawl.md b/docs/packages/plugins/firecrawl.md new file mode 100644 index 00000000000..d51cf12ec41 --- /dev/null +++ b/docs/packages/plugins/firecrawl.md @@ -0,0 +1,85 @@ +# Firecrawl Plugin + +We've created a service wrapper for the Firecrawl API that provides two main functionalities: web scraping and crawling. Here's a breakdown of how it works: + +## Core Features + +1. **Service Factory** + * Creates a service instance using an API key + * Returns an object with two methods: `getScrapeData` and `getCrawlData` + +2. **Web Scraping (`getScrapeData`)** + * Fetches and extracts content from a single webpage + * Returns structured data including page content and metadata + * Endpoint: `https://api.firecrawl.dev/v1/scrape` + +3. **Web Searching (`getSearchData`)** + * Searches for data based on conversations + * Endpoint: `https://api.firecrawl.dev/v1/search` + +## Configuration + +The plugin requires minimal configuration. In your character file, simply add: + +```json +{ + "FIRECRAWL_API_KEY": "your-api-key-here" +} +``` + +## Usage Examples + +### Web Scraping + +The plugin recognizes various ways users might request web scraping: + +```typescript +// Single URL request +"Can you scrape the content from https://example.com?" +"Get the data from www.example.com/page" + +// Two-step interaction +User: "I need to scrape some website data." +Agent: "I can help you scrape website data. Please share the URL you'd like me to process." +User: "example.com/products" +``` + +### Web Search + +The plugin handles different crawling request patterns: + +```typescript +// Direct search +"Find the latest news about SpaceX launches" +"Can you find details about the iPhone 16 release?" +``` + +## Response Handling + +The plugin automatically: +- Validates URLs before processing +- Handles both direct and conversational requests +- Provides appropriate feedback during the scraping/crawling process +- Returns structured data from the target website + +## Error Handling + +The plugin includes built-in error handling for common scenarios: +- Invalid or missing URLs +- API authentication issues +- Network failures +- Malformed responses + +## Actions + +The plugin provides two main actions: +- `FIRECRAWL_GET_SCRAPED_DATA`: For single-page content extraction +- `WEB_SEARCH`: Web search for any data + +## Security + +- API keys should be kept secure and never shared +- All requests are made over HTTPS +- Input validation is performed on all URLs before processing + + diff --git a/docs/packages/plugins/flow-advanced.md b/docs/packages/plugins/flow-advanced.md new file mode 100644 index 00000000000..77df05761a7 --- /dev/null +++ b/docs/packages/plugins/flow-advanced.md @@ -0,0 +1,51 @@ +# @elizaos-plugins/plugin-flow-advanced + +The advanced Eliza plugin for Flow Blockchain + +## Description + +This plugin provides advanced functionality for the Flow Blockchain. It includes the following features: + +- Accounts management based on Account Linking feature on Flow Blockchain +- Token Price Query for any token on Flow Blockchain +- Token Transfer from User's account to others' address(Cadence or EVM) +- Token Registeration for any token on Flow Blockchain + +## Installation + +To install the plugin, use the following command in your Eliza project: + +```bash +npx elizaos plugins add @elizaos-plugins/plugin-di +npx elizaos plugins add @elizaos-plugins/plugin-flow +npx elizaos plugins add @elizaos-plugins/plugin-flow-advanced +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FLOW_ADDRESS= +FLOW_PRIVATE_KEY= +FLOW_NETWORK= +FLOW_ENDPOINT_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { advancedFlowPlugin } from "@elizaos-plugins/plugin-flow-advanced"; +``` + +### Example Usage + +The plugin supports natural language commands for token transfers: + +```typescript +"Send 5 FLOW to 0xa51d7fe9e0080662"; +"Send 1 FLOW - A.1654653399040a61.FlowToken to 0xa2de93114bae3e73"; +"Send 1000 FROTH - 0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba to 0x000000000000000000000002e44fbfbd00395de5"; +``` diff --git a/docs/packages/plugins/flow.md b/docs/packages/plugins/flow.md new file mode 100644 index 00000000000..46a78fb4dc4 --- /dev/null +++ b/docs/packages/plugins/flow.md @@ -0,0 +1,165 @@ +# @elizaos/plugin-flow + +A plugin for interacting with the Flow blockchain within the ElizaOS ecosystem. + +## Description + +This plugin provides essential functionality for interacting with the Flow blockchain, including native FLOW token transfers, fungible token transfers, and EVM token interactions. It offers a seamless way to manage Flow blockchain transactions through natural language commands. + +## Installation + +```bash +pnpm install @elizaos/plugin-flow +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FLOW_ADDRESS= +FLOW_PRIVATE_KEY= +FLOW_NETWORK= +FLOW_ENDPOINT_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { flowPlugin } from "@elizaos/plugin-flow"; +``` + +### Example Usage + +The plugin supports natural language commands for token transfers: + +```typescript +"Send 5 FLOW to 0xa51d7fe9e0080662"; +"Send 1 FLOW - A.1654653399040a61.FlowToken to 0xa2de93114bae3e73"; +"Send 1000 FROTH - 0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba to 0x000000000000000000000002e44fbfbd00395de5"; +``` + +## API Reference + +### Actions + +#### SEND_COIN + +Transfers native FLOW tokens, Cadence fungible tokens, or EVM tokens to specified addresses. + +**Aliases:** + +- SEND_TOKEN +- SEND_TOKEN_ON_FLOW +- TRANSFER_TOKEN_ON_FLOW +- TRANSFER_TOKENS_ON_FLOW +- TRANSFER_FLOW +- SEND_FLOW +- PAY_BY_FLOW + +**Input Content:** + +```typescript +interface TransferContent { + token: string | null; // null for native FLOW, Cadence identifier, or EVM address + amount: string; // Amount to transfer + to: string; // Recipient address (Flow or EVM) + matched: boolean; // Indicates if token and address types match +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify network configuration (mainnet/testnet/emulator) + - Check RPC endpoint availability + - Ensure proper wallet configuration + +2. **Transaction Failures** + + - Verify sufficient balance for transfers + - Check correct address format (Flow vs EVM) + - Confirm token contract compatibility + +3. **Authentication Issues** + - Validate private key format + - Verify wallet address matches private key + - Check network permissions + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables for sensitive data + - Never expose private keys in code or logs + +2. **Transaction Safety** + - Validate all addresses before transfers + - Implement proper error handling + - Check token compatibility before transfers + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +## Future Enhancements + +- Support for NFT transfers +- Enhanced error handling and recovery +- Additional Flow blockchain interactions +- Expanded token support + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Flow Blockchain](https://flow.com/): Decentralized layer 1 blockchain +- [@onflow/fcl](https://www.npmjs.com/package/@onflow/fcl): Flow Client Library +- [@onflow/types](https://www.npmjs.com/package/@onflow/types): Flow type system +- [Cadence](https://docs.onflow.org/cadence/): Smart contract programming language + +Special thanks to: + +- The Dapper Labs team for developing Flow +- The Flow Developer community +- The FCL SDK maintainers +- The Cadence language designers +- The Eliza community for their contributions and feedback + +For more information about Flow capabilities: + +- [Flow Documentation](https://docs.onflow.org/) +- [Flow Developer Portal](https://developers.flow.com/) +- [Flow Block Explorer](https://flowscan.io/) +- [Cadence Documentation](https://docs.onflow.org/cadence/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/football.md b/docs/packages/plugins/football.md new file mode 100644 index 00000000000..ab2d43ee79b --- /dev/null +++ b/docs/packages/plugins/football.md @@ -0,0 +1,216 @@ +# @elizaos/plugin-football + +A plugin providing live football match data and league standings integration for ElizaOS agents. + +## Description + +The Football plugin integrates with the [Football-Data.org API](https://www.football-data.org/) to enable ElizaOS agents to fetch live football match information and league standings. It includes actions and utilities to provide real-time football data in conversations. + +## Installation + +To install the plugin, use the following command: + +```bash +pnpm install @elizaos/plugin-football +``` + +## Features + +### 1. Live Match Data + +- **Action**: `fetchMatchAction` + - Retrieves live football match data, including: + - Teams + - Scores + - Game events + - Provides real-time updates for ongoing matches. + +### 2. League Standings + +- **Action**: `fetchStandingsAction` + - Fetches league standings for a specified competition, including: + - Team rankings + - Points + - Goals scored + - Other league statistics. + +### 3. Flexible Integration + +- Extendable for additional football data, such as: + - Player statistics + - Match schedules + - Historical match data. + +## API Key Configuration + +To use this plugin, you need an API key from [Football-Data.org](https://www.football-data.org/). + +1. Register and obtain your API key from Football-Data.org. +2. Add the API key to your `.env` file: + + ```env + FOOTBALL_API_KEY=your_api_key_here + ``` + +The plugin will use this key to authenticate requests. + +## Usage Examples + +### `fetchMatchAction` + +**Description**: Retrieves live match data. + +**Code Example**: + +```javascript +import { fetchMatchAction } from "@elizaos/plugin-football"; + +const result = await fetchMatchAction.handler(runtime, message, state); +console.log(result); +``` + +**Sample Output**: + +```json +{ + "matches": [ + { + "homeTeam": { "name": "Chelsea" }, + "awayTeam": { "name": "Arsenal" }, + "score": { + "fullTime": { "homeTeam": 1, "awayTeam": 2 } + } + } + ] +} +``` + +### `fetchStandingsAction` + +**Description**: Fetches league standings for a specific competition. + +**Code Example**: + +```javascript +import { fetchStandingsAction } from "@elizaos/plugin-football"; + +const result = await fetchStandingsAction.handler(runtime, message, state); +console.log(result); +``` + +**Sample Output**: + +```json +{ + "standings": [ + { + "table": [ + { + "position": 1, + "team": { "name": "Manchester City" }, + "points": 45 + }, + { "position": 2, "team": { "name": "Arsenal" }, "points": 42 } + ] + } + ] +} +``` + +## Development + +### Steps to Build and Test + +1. Clone the repository: + + ```bash + git clone https://github.com/elizaOS/eliza.git + ``` + +2. Navigate to the `plugin-football` directory and install dependencies: + + ```bash + cd packages/plugin-football + pnpm install + ``` + +3. Build the plugin: + + ```bash + pnpm run build + ``` + +4. Run linting: + + ```bash + pnpm run lint + ``` + +5. Test the plugin: + + ```bash + pnpm vitest src/tests/match-action.test.ts + pnpm vitest src/tests/fetch-standings-action.test.ts + ``` + +## Dependencies + +This plugin relies on the following dependency: + +- `@elizaos/core: workspace:*` + +## Future Enhancements + +### Expanded Football Data Features + +- Player statistics +- Match schedules and fixtures +- Team information and histories +- Historical match data + +### Advanced League Tracking + +- Real-time updates for all supported leagues +- Integration with more competitions (e.g., Champions League, World Cup) + +### Customizable Output + +- Improved data formatting for conversational outputs +- Support for additional localization options + +### Integration Improvements + +- Enhanced API error handling +- Caching for frequently accessed data +- Increased rate-limit compliance for the Football-Data.org API + +### Developer Tools + +- Sample applications for plugin usage +- Test suites for advanced football scenarios +- Examples for extending plugin functionality + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Football-Data.org](https://www.football-data.org/documentation/quickstart/) Official Football-Data platform API + +Special thanks to: + +- Special thanks to [Football-Data.org](https://www.football-data.org/) for providing the API that powers this plugin. +- The Eliza Core development team. +- The Eliza community for their contributions and feedback + +For more information about Football-Data integration capabilities: + +- [Football-Data API Documentation](https://www.football-data.org/documentation/quickstart) +- [Football-Data Developer Portal](https://www.football-data.org/documentation/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/form.md b/docs/packages/plugins/form.md new file mode 100644 index 00000000000..23bd1d4026c --- /dev/null +++ b/docs/packages/plugins/form.md @@ -0,0 +1,175 @@ +# @elizaos/plugin-form + +A plugin for integrating Form chain capabilities within the ElizaOS ecosystem, providing direct access to curves-based token economics and ERC20 conversions. + +## Description + +[Form Chain](https://form.network/) is a blockchain platform that implements curves-based token economics, allowing users to interact with bonding curves for token creation, trading, and management. This plugin integrates Form chain with Eliza, giving your agent the ability to: + +- Buy and sell curves tokens +- Convert between curves and ERC20 tokens +- Manage token holdings +- Query prices and balances +- Create new ERC20 tokens for curves + +The plugin supports both QUADRATIC and LOGRITHMIC formulas, optimizing for different use cases and trading volumes. + +## Installation + +```bash +pnpm install @elizaos/plugin-form +``` + +## Configuration + +### Environment Variables +```bash +FORM_PRIVATE_KEY= +FORM_TESTNET=true # Optional, defaults to false +``` + +### Plugin Setup +```typescript +// In your agent configuration +import { formPlugin } from "@elizaos/plugin-form"; + +const character = { + plugins: [formPlugin], + // ... other configuration +}; +``` + +## Actions + +### BUY_CURVES_TOKEN +Buy curves tokens for a subject address. +```typescript +await runtime.processAction("BUY_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" // or "LOGRITHMIC" for high volume +}); +``` + +### SELL_CURVES_TOKEN +Sell curves tokens back to the protocol. +```typescript +await runtime.processAction("SELL_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### WITHDRAW_CURVES_TOKEN +Convert curves tokens to their ERC20 equivalent. +```typescript +await runtime.processAction("WITHDRAW_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### DEPOSIT_CURVES_TOKEN +Convert ERC20 tokens back to curves. +```typescript +await runtime.processAction("DEPOSIT_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: "1000000000000000000", // 1 token in 18 decimals + formula: "QUADRATIC" +}); +``` + +### MINT_CURVES_ERC20 +Mint new ERC20 token for curves holdings. +```typescript +await runtime.processAction("MINT_CURVES_ERC20", { + name: "My Token", + symbol: "MTK", + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_BALANCE +Check curves token balance. +```typescript +await runtime.processAction("GET_CURVES_BALANCE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_BUY_PRICE +Get price quote for buying curves. +```typescript +await runtime.processAction("GET_CURVES_BUY_PRICE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_SELL_PRICE +Get price quote for selling curves. +```typescript +await runtime.processAction("GET_CURVES_SELL_PRICE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +## Formula Selection + +The plugin supports two bonding curve formulas: + +### QUADRATIC + +- Default formula for standard operations +- Suitable for personal and small group usage +- Balanced price impact + +### LOGRITHMIC + +- Optimized for high volume trading +- Better price stability +- Recommended for large-scale operations + +## Best Practices +### Security + +- Store private keys securely using environment variables +- Never expose keys in code or commits +- Validate addresses before transactions +- Check balances before operations + +### Performance + +- Use caching for repeated price checks + +Trading + +- Always check price quotes before trading +- Use appropriate formula for volume +- Monitor price impact + +## Error Handling +The plugin provides detailed error messages for common issues: +```typescript +try { + await runtime.processAction("BUY_CURVES_TOKEN", {...}); +} catch (error) { + if (error.message.includes("insufficient balance")) { + // Handle insufficient funds + } else if (error.message.includes("price impact too high")) { + // Handle excessive price impact + } +} +``` + +## Contributing +This plugin is part of the ElizaOS project. See the main project repository Contributing Guide for details. + +## License +This plugin is part of the ElizaOS project. See the main project repository for license information. diff --git a/docs/packages/plugins/fuel.md b/docs/packages/plugins/fuel.md new file mode 100644 index 00000000000..0184f27329c --- /dev/null +++ b/docs/packages/plugins/fuel.md @@ -0,0 +1,154 @@ +# @elizaos/plugin-fuel + +A plugin for interacting with the Fuel blockchain within the ElizaOS ecosystem. + +## Description + +This plugin provides essential functionality for interacting with the Fuel blockchain, focusing on ETH transfers on the Fuel Ignition network. It offers a streamlined way to manage Fuel blockchain transactions through natural language commands. + +## Installation + +```bash +pnpm install @elizaos/plugin-fuel +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FUEL_PRIVATE_KEY= +FUEL_PROVIDER_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { fuelPlugin } from "@elizaos/plugin-fuel"; +``` + +### Example Usage + +The plugin supports natural language commands for ETH transfers: + +```typescript +"Transfer 1 ETH to 0x8F8afB12402C9a4bD9678Bec363E51360142f8443FB171655eEd55dB298828D1"; +``` + +## API Reference + +### Actions + +#### TRANSFER + +Transfers ETH between addresses on the Fuel Ignition network. + +**Aliases:** + +- TRANSFER_FUEL_ETH +- SEND_TOKENS + +**Input Content:** + +```typescript +interface TransferParams { + toAddress: string; // Recipient's Fuel address + amount: string; // Amount of ETH to transfer +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify provider URL is accessible + - Check network connectivity + - Ensure proper network configuration + +2. **Transaction Failures** + + - Verify sufficient balance for transfers + - Check correct address format + - Ensure gas fees can be covered + +3. **Authentication Issues** + - Validate private key format + - Verify wallet configuration + - Check network permissions + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables for sensitive data + - Never expose private keys in code or logs + +2. **Transaction Safety** + - Validate recipient addresses + - Implement proper error handling + - Double-check transaction amounts + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## Future Enhancements + +- Support for token transfers +- Enhanced error handling and recovery +- Additional Fuel blockchain interactions +- Transaction status monitoring +- Balance tracking improvements + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Fuel Network](https://fuel.network/): High-performance modular execution layer +- [fuels-ts](https://github.com/FuelLabs/fuels-ts): TypeScript SDK for Fuel +- [Fuel Wallet](https://wallet.fuel.network/): Official Fuel wallet +- [Fuel GraphQL API](https://docs.fuel.network/docs/graphql/): Network interaction + +Special thanks to: + +- The Fuel Labs team for developing the Fuel Network +- The Fuel Developer community +- The fuels-ts SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Fuel capabilities: + +- [Fuel Documentation](https://docs.fuel.network/) +- [Fuel Developer Portal](https://developers.fuel.network/) +- [Fuel Network Dashboard](https://app.fuel.network/) +- [Fuel GitHub Repository](https://github.com/FuelLabs) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/gelato.md b/docs/packages/plugins/gelato.md new file mode 100644 index 00000000000..767896a0bff --- /dev/null +++ b/docs/packages/plugins/gelato.md @@ -0,0 +1,116 @@ +# plugin-gelato + +A powerful plugin to interact with smart contracts using Gelato Relay, supporting both **ERC2771 (meta transactions)** and **non-ERC2771 calls** on any EVM-compatible blockchain. + +--- + +## Features + +- **Sponsored Calls**: Interact with contracts without needing gas on the user's side. +- **ERC2771 Support**: Execute meta-transactions via Gelato's `sponsoredCallERC2771`. +- **Customizable**: Easily configure chains, contracts, and user-specific settings. + +--- + +## Prerequisites + +- pnpm +- A Gelato Relay API key + +--- + +## Installation + +``` +pnpm install elizaos/plugin-gelato +``` + +--- + +## Configuration + +Fill out the `.env` file in the project root with the following variables: + +``` +GELATO_RELAY_API_KEY= +EVM_PROVIDER_URL= +EVM_PRIVATE_KEY= +``` + +--- + +## Usage + +### For Non-ERC2771 (Standard Sponsored Call) + +```plaintext +Call increment() on 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 contract: +- Function Name: increment +- Args: [] +- Target: 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 +- Chain: arbitrumSepolia +- ABI: ["function increment()"] +``` + +### For ERC2771 (Meta-Transactions) + +```plaintext +Call increment() on 0x00172f67db60E5fA346e599cdE675f0ca213b47b contract: +- Function Name: increment +- Args: [] +- Target: 0x00172f67db60E5fA346e599cdE675f0ca213b47b +- Chain: arbitrumSepolia +- ABI: ["function increment()"] +- User: 0xYourAddressHere +``` + +### Example Output + +For both scenarios, successful execution returns: + +```plaintext +✅ Contract interaction successful! +- Function: increment +- Target: 0x +- Chain: arbitrumSepolia +- Task ID: +- Track Status: [View Task](https://relay.gelato.digital/tasks/status/) +``` + +--- + +## Development + +### Code Structure + +- **`utils.ts`**: + Contains functions for `sponsoredCall` and `sponsoredCallERC2771`. + +- **`schemas.ts`**: + Defines Zod schemas to validate user input. + +- **`actions.ts`**: + Contains the action logic, including parsing natural language input and invoking Gelato Relay. + +### Testing + +1. Update your `.env` file with valid keys. +2. Test both **ERC2771** and **non-ERC2771** prompts using the examples above. + +--- + +## Troubleshooting + +- Ensure your `.env` file is properly configured. +- Verify that your contract ABI, function name, and chain match the deployed contract details. +- For ERC2771 calls, confirm the `User` address is correct and matches the expected `_msgSender` logic in the contract. + +--- + +## License + +This plugin is licensed under the MIT License. See the `LICENSE` file for details. + +``` + +``` diff --git a/docs/packages/plugins/genlayer.md b/docs/packages/plugins/genlayer.md new file mode 100644 index 00000000000..43c57bb0829 --- /dev/null +++ b/docs/packages/plugins/genlayer.md @@ -0,0 +1,101 @@ +# @elizaos/plugin-genlayer + +A plugin for interacting with the GenLayer protocol, enabling contract deployment, interactions, and transaction management. + +## Installation + +```bash +pnpm add @elizaos/plugin-genlayer +``` + +## Configuration + +### Required Environment Variables + +```env +GENLAYER_PRIVATE_KEY=your_private_key # Required: Must start with 0x +GENLAYER_RPC_URL=your_rpc_url # Optional: Defaults to https://studio.genlayer.com:8443/api +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { genLayerPlugin } from "@elizaos/plugin-genlayer"; + +const character = { + plugins: [genLayerPlugin] +}; +``` + +## Features + +### Contract Operations +- Read contract state +- Write to contracts +- Deploy new contracts +- Get contract schemas + +### Transaction Management +- Get transaction details +- Monitor transaction status +- Track nonces +- Wait for transaction receipts + +## Available Actions + +### READ_CONTRACT +Read state from a contract: +```plaintext +"Read the GenLayer contract at 0xE2632... by calling get_have_coin" +``` + +### WRITE_CONTRACT +Write to a contract: +```plaintext +"Write to the contract at 0xE2632... by calling set_value with argument 42" +``` + +### DEPLOY_CONTRACT +Deploy a new contract: +```plaintext +"Deploy a new contract from /path/to/contract.py with argument 'true'" +``` + +### GET_TRANSACTION +Get transaction details: +```plaintext +"Get transaction details for hash 0x1234..." +``` + +### GET_CURRENT_NONCE +Get current nonce for an address: +```plaintext +"Get current nonce for address 0xE2632..." +``` + +### WAIT_FOR_TRANSACTION_RECEIPT +Wait for a transaction to be confirmed: +```plaintext +"Wait for receipt of transaction 0x1234..." +``` + +### GET_CONTRACT_SCHEMA +Get the schema for a deployed contract: +```plaintext +"Get contract schema for address 0xE2632..." +``` + +## Provider + +### ClientProvider +Manages connection to GenLayer protocol: +- Creates and manages client instance +- Handles authentication with private key +- Provides client interface for all actions + +## Dependencies + +- genlayer-js: 0.4.7 +- @elizaos/core: workspace:* diff --git a/docs/packages/plugins/gigbot.md b/docs/packages/plugins/gigbot.md new file mode 100644 index 00000000000..12e669efc0f --- /dev/null +++ b/docs/packages/plugins/gigbot.md @@ -0,0 +1,148 @@ +# Eliza GigBot Client + +This package provides GigBot integration for the Eliza AI agent, enabling task automation and token earning. + +## Features + +- Task automation and management +- Interaction handling with GigBot API +- Token earning through task completions +- Approval workflow via Discord (optional) + +## Setup Guide + +### Prerequisites + +- Node.js and pnpm installed +- Eliza runtime + +### Step 1: Configure Environment Variables + +Create or edit `.env` file in your project root: + +```bash +# GigBot API Credentials +GIGBOT_API_URL=https://www.gigbot.xyz/api # Default API URL for GigBot + +# Client Configuration +GIG_SEARCH_INTERVAL=3 # Interval for searching tasks (hours) +GIG_ACTION_INTERVAL=12 # Interval for performing actions (hours) +GIG_CLAIM_INTERVAL=24 # Interval for claiming tasks (hours) +GIG_CLAIM_PLATFORM=x # Platform for claiming tasks ('x' or 'farcaster') +EVM_PRIVATE_KEY=0x... # Private key for claiming rewards (must start with 0x) + +``` + +### Environment Variables + +| Variable | Description | Default | Required | +|----------|-------------|---------|----------| +| `GIGBOT_API_URL` | GigBot API endpoint | https://www.gigbot.xyz/api | No | +| `GIG_SEARCH_INTERVAL` | How often to search for new tasks (hours) | 3 | No | +| `GIG_ACTION_INTERVAL` | How often to perform task actions (hours) | 12 | No | +| `GIG_CLAIM_INTERVAL` | How often to claim completed tasks (hours) | 24 | No | +| `GIG_CLAIM_PLATFORM` | Platform to claim tasks from ('x' or 'farcaster') | x | No | +| `EVM_PRIVATE_KEY` | Ethereum private key for claiming rewards | - | Yes | + +**Important Security Note**: +- Keep your `EVM_PRIVATE_KEY` secure and never commit it to version control +- Use a dedicated wallet for the agent with limited funds +- Consider using environment variables or a secure secret management system + +### Step 2: Initialize the Client + +```typescript +import { GigBotClientInterface } from "@elizaos/gigbot"; + +const gigbotPlugin = { + name: "gigbot", + description: "GigBot client", + clients: [GigBotClientInterface], +}; + +// Register with your Eliza runtime +runtime.registerPlugin(gigbotPlugin); +``` + +**Important**: The GigBot plugin requires the Twitter client to be initialized first. You must: +1. Include the Twitter plugin before GigBot in your plugins array +2. Modify the client initialization to pass existing clients to GigBot + +Example of required client initialization: + +```typescript +export async function initializeClients( + character: Character, + runtime: IAgentRuntime +) { + const clients: ClientInstance[] = []; + + if (character.plugins?.length > 0) { + for (const plugin of character.plugins) { + // Check if current plugin is GigBot + let isGigbot = plugin.name === "@elizaos-plugins/plugin-gigbot"; + + if (plugin.clients) { + for (const client of plugin.clients) { + // Pass existing clients to GigBot runtime + const startedClient = await client.start( + isGigbot ? {...runtime, clients} : runtime + ); + clients.push(startedClient); + } + } + } + } + + return clients; +} +``` + +## Features + +### Task Automation + +The client can automatically complete tasks based on your agent's capabilities and GigBot's available tasks. Tasks can be: +- Simple tasks +- Complex workflows +- Token-earning opportunities + +### Interactions + +Handles: +- Task collection +- Task completion +- Reward claiming + +### Testing + +```bash +# Run tests +pnpm test + +# Run with debug logging +DEBUG=eliza:* pnpm start +``` + +### Common Issues + +#### API Failures +- Verify credentials in .env +- Check API configuration + +## Security Notes + +- Never commit .env or credential files +- Use environment variables for sensitive data +- Implement proper rate limiting +- Monitor API usage and costs + +## Support + +For issues or questions: +1. Check the Common Issues section +2. Review debug logs (enable with DEBUG=eliza:*) +3. Open an issue with: + - Error messages + - Configuration details + - Steps to reproduce diff --git a/docs/packages/plugins/giphy.md b/docs/packages/plugins/giphy.md new file mode 100644 index 00000000000..abaa710a60a --- /dev/null +++ b/docs/packages/plugins/giphy.md @@ -0,0 +1,48 @@ +# Plugin Giphy + +A plugin for sending GIFs in response to user messages. + +## Overview + +The **Plugin Giphy** enhances your agent's interactions by enabling it to respond with relevant GIFs based on user inputs. Leveraging the [Giphy API](https://developers.giphy.com/), this plugin detects specific triggers in user messages and responds with appropriate GIFs to make conversations more engaging and expressive. + +## Installation + +```bash +pnpm add @elizaos/plugin-giphy +``` + +## Configuration + +Set up your environment with the required Giphy API key: + +| Variable Name | Description | +|--------------|-------------| +| `GIPHY_API_KEY` | Giphy API key for authenticating requests | + +You need to obtain an API key by signing up at [Giphy Developers](https://developers.giphy.com/). + +## Usage + +```typescript +import { giphyPlugin } from "@elizaos/plugin-giphy"; + +// Initialize the plugin +const plugin = giphyPlugin; + +// Add the plugin to your agent's plugin list +const plugins = [ + giphyPlugin, + // ... other plugins +]; + +// Initialize your agent with the plugins +// Example: +// const agent = new Agent({ plugins, ...otherConfig }); +``` + +The plugin provides the `SEND_GIF` action, which automatically responds with a GIF based on the context of user messages. No additional setup is required beyond installing and configuring the plugin. + +## License + +MIT diff --git a/docs/packages/plugins/gitbook.md b/docs/packages/plugins/gitbook.md new file mode 100644 index 00000000000..b301ceb2aa3 --- /dev/null +++ b/docs/packages/plugins/gitbook.md @@ -0,0 +1,195 @@ +# @elizaos/plugin-gitbook + +A plugin for querying and retrieving information from GitBook documentation within the ElizaOS ecosystem. + +## Description + +This plugin enables seamless integration with GitBook documentation, allowing natural language queries to retrieve relevant documentation content. It features intelligent query validation, keyword-based filtering, and clean response formatting to provide accurate documentation answers. + +## Installation + +```bash +pnpm install @elizaos/plugin-gitbook +``` + +## Configuration + +### Environment Variables + +```typescript +GITBOOK_SPACE_ID= +``` + +### Client Configuration (Optional) + +You can customize the plugin's behavior by adding the following configuration to your character.json file: + +```json +{ + "name": "YourCharacter", + "plugins": ["gitbook"], + "settings": { + "gitbook": { + "keywords": { + "projectTerms": ["term1", "term2"], // Optional: Project-specific terms to match + "generalQueries": ["custom1", "custom2"] // Optional: Additional query keywords + }, + "documentTriggers": ["docs", "documentation"] // Optional: Trigger words for documentation + } + } +} +``` + +The plugin will work with default settings if no configuration is provided, but adding custom configuration can help tailor the responses to your specific documentation needs. + +## Usage + +### Basic Integration + +```typescript +import { gitbookPlugin } from "@elizaos/plugin-gitbook"; +``` + +### Example Usage + +The plugin automatically processes natural language queries: + +```typescript +"How do I get started with the project?"; +"What are the main features?"; +"Explain how to configure the system"; +``` + +## API Reference + +### Providers + +#### GitBook Provider + +Handles documentation queries and returns relevant information. + +**Response Type:** + +```typescript +interface GitBookResponse { + answer?: { + text: string; + }; + error?: string; +} +``` + +**Configuration Types:** + +```typescript +interface GitBookKeywords { + projectTerms?: string[]; // Project-specific terms + generalQueries?: string[]; // Additional query keywords +} + +interface GitBookClientConfig { + keywords?: GitBookKeywords; + documentTriggers?: string[]; // Trigger words for documentation +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify GitBook Space ID is correct + - Check API endpoint accessibility + - Ensure proper network connectivity + +2. **Query Issues** + + - Verify query contains valid keywords + - Check if query matches project terms + - Ensure proper query formatting + +3. **Response Issues** + - Validate GitBook API response format + - Check for rate limiting + - Verify content accessibility + +## Security Best Practices + +1. **API Configuration** + + - Store Space ID securely + - Use environment variables + - Implement proper error handling + +2. **Query Validation** + + - Sanitize input queries + - Validate keywords and triggers + - Clean response content + +3. **Response Handling** + - Implement proper error handling + - Validate response format + - Handle sensitive information appropriately + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## Future Enhancements + +- Enhanced query validation +- Support for multiple GitBook spaces +- Advanced search capabilities +- Custom response formatting +- Caching mechanism for frequent queries +- Support for authenticated endpoints + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [GitBook](https://www.gitbook.com/): Documentation and knowledge base platform +- [GitBook API](https://developer.gitbook.com/): Official GitBook REST API +- [Axios](https://axios-http.com/): Promise-based HTTP client +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for API responses + +Special thanks to: + +- The GitBook team for their documentation platform +- The GitBook Developer Relations team +- The Axios maintainers for reliable HTTP requests +- The Eliza community for their contributions and feedback + +For more information about GitBook capabilities: + +- [GitBook Documentation](https://docs.gitbook.com/) +- [GitBook API Reference](https://developer.gitbook.com/reference) +- [GitBook Integrations](https://docs.gitbook.com/integrations/git-sync) +- [GitBook Space Management](https://docs.gitbook.com/space/space-management) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/gitcoin-passport.md b/docs/packages/plugins/gitcoin-passport.md new file mode 100644 index 00000000000..80de1caedf4 --- /dev/null +++ b/docs/packages/plugins/gitcoin-passport.md @@ -0,0 +1,38 @@ +# `@elizaos/plugin-passport` + +This plugin provides actions for interacting with Gitcoin passport +https://docs.passport.xyz/building-with-passport/passport-api/overview + +--- + +## Installation + +Just add it under your character profile in plugins as + +``` + "plugins": [ + "@elizaos/plugin-gitcoin-passport" + ], +``` + +## Configuration + +Getting Your API Key + +1. Log in to the developer portal: Go to developer.passport.xyz and log in to your account by connecting your wallet. +2. Navigate to the API Keys section: After logging in, go to the "API Keys" section. +3. Generate an API key: Click on the "+ Create a Key" button to generate a unique API key for your account. +4. Store your API key securely: Store your API key in a secure place, as it will be used to access the Passport API. + +Getting your Scorer ID + +1. Log in to the Developer Portal: Go to developer.passport.xyz and log in to your account by connecting your wallet. +2. Navigate to the Scorer section: After logging in, go to the "Scorer" section +3. Create a Scorer: Click on the "+ Create a Scorer" button and input a Scorer name and description. Make sure you use the Unique Humanity scorer, and not the Binary scorer. +4. Find your Scorer ID: Click on the newly created Scorer and you will see the Scorer ID in the page URL. + Example: https://developer.passport.xyz/dashboard/scorer/{scorer_id} + +## Usage + +Results are saved as message and agents can retrive it from there for different use cases. +Default passport treshold of 20 is used, but you can pick your own value and match it agains that diff --git a/docs/packages/plugins/goat.md b/docs/packages/plugins/goat.md new file mode 100644 index 00000000000..f3c49a76c77 --- /dev/null +++ b/docs/packages/plugins/goat.md @@ -0,0 +1,165 @@ +# @elizaos/plugin-goat + +A plugin for integrating blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework within the ElizaOS ecosystem. + +## Description + +[GOAT](https://ohmygoat.dev/) 🐐 (Great Onchain Agent Toolkit) is an open-source framework for adding blockchain tools such as wallets, being able to hold or trade tokens, or interacting with blockchain smart contracts, to your AI agent. + +- [Chains supported](https://ohmygoat.dev/chains-wallets-plugins) +- [Plugins supported](https://ohmygoat.dev/chains-wallets-plugins) + +This plugin integrates GOAT with Eliza, giving your agent the ability to interact with many different protocols. The current setup adds onchain capabilities to your agent to send and check balances of ETH and USDC, and to swap tokens using KIM protocol. Add all the capabilities you need by adding more plugins (read below for more information)! + +## Installation + +```bash +pnpm install @elizaos/plugin-goat +``` + +## Configuration + +### Environment Variables + +```typescript +EVM_PRIVATE_KEY= +EVM_PROVIDER_URL= +``` + +## Configure GOAT for your use case + +1. Configure the chain you want to use by updating the `wallet.ts` file (see all available chains at [https://ohmygoat.dev/chains](https://ohmygoat.dev/chains)) +2. Specify the actions you want to have by updating the `actions.ts` file +3. Add the plugins you need to perform these actions to the `getOnChainTools` function (uniswap, polymarket, etc. see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) +4. Build the project running `pnpm build` +5. Add the necessary environment variables to set up your wallet and plugins +6. Run your agent! + +## Common Issues + +1. **Agent not executing an action**: + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +## Plugins + +GOAT itself has several plugins for interacting with different protocols such as Polymarket, Uniswap, and many more. (see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) + +You can easily add them by installing them and adding them to the `getOnChainActions` function: + +```typescript +const tools = getOnChainActions({ + wallet: walletClient, + plugins: [ + sendETH(), + erc20({ tokens: [USDC, PEPE] }), + polymarket(), + uniswap(), + // ... + ], +}); +``` + +See all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins) + +## Common Issues & Troubleshooting + +1. **Agent not executing an action**: + + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +2. **Wallet Connection Issues** + + - Verify private key is correctly formatted + - Check RPC endpoint availability + - Ensure sufficient network balance + +3. **Transaction Issues** + - Verify gas availability + - Check network congestion + - Confirm transaction parameters + +## Wallets + +GOAT supports many different wallets from key pairs to [Crossmint Smart Wallets](https://docs.crossmint.com/wallets/smart-wallets/overview) and Coinbase. + +Read more about wallets at [https://ohmygoat.dev/wallets](https://ohmygoat.dev/wallets). + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Never expose keys in code + +2. **Transaction Safety** + + - Implement transaction limits + - Validate recipient addresses + - Double-check transaction amounts + +3. **Network Security** + - Use secure RPC endpoints + - Implement rate limiting + - Monitor for suspicious activity + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +## Future Enhancements + +- Additional protocol integrations +- Multi-chain support +- Advanced transaction management +- Enhanced error handling +- Custom protocol adapters +- Smart contract interaction templates + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [GOAT](https://ohmygoat.dev/): Great Onchain Agent Toolkit +- [Crossmint](https://docs.crossmint.com/): Smart wallet infrastructure +- [Uniswap](https://docs.uniswap.org/): Decentralized exchange protocol +- [Polymarket](https://docs.polymarket.com/): Prediction market platform +- [ERC20](https://eips.ethereum.org/EIPS/eip-20): Token standard implementation + +Special thanks to: + +- The GOAT development team for the onchain agent framework +- The Crossmint team for smart wallet solutions +- The Uniswap and Polymarket teams +- The Ethereum community for ERC standards +- The Eliza community for their contributions and feedback + +For more information about GOAT capabilities: + +- [GOAT Documentation](https://ohmygoat.dev/) +- [Available Chains](https://ohmygoat.dev/chains) +- [Chains, Wallets & Plugins](https://ohmygoat.dev/chains-wallets-plugins) +- [Smart Wallet Documentation](https://docs.crossmint.com/wallets/smart-wallets/overview) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/goplus.md b/docs/packages/plugins/goplus.md new file mode 100644 index 00000000000..7abe6a4266b --- /dev/null +++ b/docs/packages/plugins/goplus.md @@ -0,0 +1,83 @@ +# @elizaos/plugin-goplus + +A plugin that enables on-chain security checks through the GoPlus API integration. + +## Installation + +```bash +pnpm add @elizaos/plugin-goplus +``` + +## Configuration + +### Required Environment Variables + +```env +GOPLUS_API_KEY=your_api_key # Required: GoPlus API key for authentication +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { goplusPlugin } from "@elizaos/plugin-goplus"; + +const character = { + plugins: [goplusPlugin] +}; +``` + +## Features + +### Security Checks + +- EVM Token Security +- Solana Token Security +- Sui Token Security +- Rugpull Detection +- NFT Security Analysis +- Address Security Verification +- Contract Approval Analysis +- Account Token Analysis (ERC20/721/1155) +- Signature Security +- URL/DApp Security + +## Supported Networks + +The plugin supports various networks including: +- Ethereum (1) +- BSC (56) +- Polygon (137) +- Arbitrum (42161) +- Avalanche (43114) +- Optimism (10) +- Base (8453) +- And many more (see specific check types for supported networks) + +## Security Check Types + +### Token Security +- `EVMTOKEN_SECURITY_CHECK`: ERC20 token contract security analysis +- `SOLTOKEN_SECURITY_CHECK`: SPL token security verification +- `SUITOKEN_SECURITY_CHECK`: Sui token contract analysis + +### Contract & NFT Security +- `RUGPULL_SECURITY_CHECK`: Rugpull risk detection +- `NFT_SECURITY_CHECK`: NFT contract security analysis +- `APPROVAL_SECURITY_CHECK`: Smart contract approval analysis + +### Account & Address Security +- `ADDRESS_SECURITY_CHECK`: Malicious address detection +- `ACCOUNT_ERC20_SECURITY_CHECK`: ERC20 token security +- `ACCOUNT_ERC721_SECURITY_CHECK`: NFT asset security +- `ACCOUNT_ERC1155_SECURITY_CHECK`: Multi-token asset security + +### Additional Checks +- `SIGNATURE_SECURITY_CHECK`: Signature verification +- `URL_SECURITY_CHECK`: Phishing and malicious URL detection + +## Dependencies + +- @elizaos/core: workspace:* +- ws: ^8.18.0 diff --git a/docs/packages/plugins/grix.md b/docs/packages/plugins/grix.md new file mode 100644 index 00000000000..87134c68107 --- /dev/null +++ b/docs/packages/plugins/grix.md @@ -0,0 +1,117 @@ +# @elizaos/plugin-grix + +A plugin that enables DeFi options data fetching and price analysis through the Grix Finance API integration. + +## Features + +### Price Data + +- Real-time BTC/ETH price feeds +- Options pricing across multiple protocols +- Available liquidity information + +### Options Data + +- Call and Put options data +- Strike prices and expiry dates +- Protocol-specific pricing +- Position types (long/short) + +## Available Actions + +### getOptionPrice + +Fetches options data across multiple protocols: + +- Real-time options pricing +- Available strike prices +- Current expiry dates +- Protocol comparisons +- Liquidity information +- Position types (long/short) + +### getAssetPrice + +Retrieves real-time price data: + +- Current BTC price +- Current ETH price +- Price updates in real-time + +## Installation + +```bash +pnpm add @elizaos/plugin-grix +``` + +## Configuration + +To use the plugin, you'll need a Grix API key. You can request one by messaging us on [Discord](https://discord.com/invite/ZgPpr9psqp) or [Telegram](https://t.me/GrixFinance). + +There are two ways to configure your API key: + +### 1. Environment Variables + +```env +GRIX_API_KEY=your_api_key +``` + +### 2. Character Configuration + +```json +{ + "name": "Your Character", + "plugins": ["@elizaos/plugin-grix"], + "settings": { + "secrets": { + "GRIX_API_KEY": "your_api_key_here" + } + } +} +``` + +## Quick Start + +1. Visit [Grix Finance](https://app.grix.finance) +2. Request your API key through our Discord or Telegram +3. Add configuration using either method above +4. Start fetching options data! + +## Community & Support + +- [Discord Community](https://discord.com/invite/ZgPpr9psqp) +- [Telegram Group](https://t.me/GrixFinance) +- [Documentation](https://app.grix.finance/docs) + + +## Development + +### Building + +```bash +pnpm build +``` + +### Running with Eliza + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure your API key using one of the methods described in the Configuration section + +3. Start Eliza with your character: + +```bash +pnpm start --character="characters/your_character.character.json" +``` + +## License + +MIT + +## Disclaimer + +Please ensure compliance with your local regulations regarding options trading. diff --git a/docs/packages/plugins/holdstation.md b/docs/packages/plugins/holdstation.md new file mode 100644 index 00000000000..1088e51b835 --- /dev/null +++ b/docs/packages/plugins/holdstation.md @@ -0,0 +1,51 @@ +# @elizaos/plugin-holdstation + +Holdstation Wallet Plugin for Eliza + +## Features + +This plugin provides functionality (now on ZKsync Era, and Berachain coming soon) to: + +- Token swapping on hold.so (Holdstation swap) + +## Configuration + +The plugin requires the following environment variables: + +```env +HOLDSTATION_PRIVATE_KEY= # Required: Your wallet's private key +``` + +## Installation + +```bash +pnpm add @elizaos/plugin-holdstation +``` + +## Development + +```bash +pnpm install --no-frozen-lockfile +``` + +### Building + +```bash +pnpm build +``` + +### Testing + +```bash +pnpm test +``` + +## Credits + +Special thanks to: + +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/hyperbolic.md b/docs/packages/plugins/hyperbolic.md new file mode 100644 index 00000000000..87eb20360f8 --- /dev/null +++ b/docs/packages/plugins/hyperbolic.md @@ -0,0 +1,130 @@ +# Hyperbolic Plugin +A powerful plugin for managing GPU instances on the Hyperbolic platform through Eliza AI. + +## Features + +- List available GPUs with specifications and pricing +- Check account balance +- Monitor GPU instance status +- View spending history +- Rent GPU instances +- Terminate GPU instances + +## Actions + +### 1. GET_HB_AVAILABLE_GPUS +Lists all available GPU machines on the Hyperbolic platform with their specifications and pricing. + +**Example prompt:** +``` +Show me available GPUs on Hyperbolic +``` + +### 2. GET_CURRENT_BALANCE +Checks your current balance on the Hyperbolic platform. + +**Example prompt:** +``` +Show my current balance on Hyperbolic +``` + +### 3. GET_GPU_STATUS +Monitors the status of all your GPU instances. + +**Example prompt:** +``` +Check status of all my GPU instances on Hyperbolic +``` + +### 4. GET_SPEND_HISTORY +Shows your spending history on the Hyperbolic platform. + +**Example prompt:** +``` +Show my spending history on Hyperbolic +``` + +### 5. RENT_HB_COMPUTE +Rents a GPU instance using node ID and cluster name. + +**Example prompt:** +``` +Create a GPU instance on the Hyperbolic +[nodeid]las1-prd-acl-msi-09.fen.intra[/nodeid] +[cluster]circular-snapdragon-worm[/cluster] +``` + +**Required format:** +- Node ID must be wrapped in `[nodeid]` tags +- Cluster name must be wrapped in `[cluster]` tags + +### 6. TERMINATE_COMPUTE +Terminates a running GPU instance. + +**Example prompts:** +``` +Terminate the Hyperbolic instance [gpu]worse-walnut-viper[/gpu] +``` +``` +Terminate the Hyperbolic instance [gpu]puny-clover-basilisk[/gpu] +``` + +**Important Note:** When terminating an instance, you must provide the instance ID wrapped in `[gpu]` tags. The examples above show two different instance IDs (`worse-walnut-viper` and `puny-clover-basilisk`) to demonstrate the format. + +## Configuration + +The plugin requires the following environment variables: + +```bash +HYPERBOLIC_API_KEY=your_api_key_here +HYPERBOLIC_ENV=production # or development +HYPERBOLIC_GRANULAR_LOG=true # optional, for detailed logging +HYPERBOLIC_LOG_LEVEL=debug # optional, to control the level +HYPERBOLIC_SPASH=true # to show the splash +``` + +## Response Format + +All actions return structured responses with: +- Success/failure status +- Detailed error messages when applicable +- Formatted text output +- Additional data specific to each action + +## Error Handling + +The plugin includes comprehensive error handling for: +- Invalid API keys +- Network issues +- Invalid input formats +- API rate limits +- Server errors + +## Logging + +Granular logging is available by setting `HYPERBOLIC_GRANULAR_LOG=true`. This provides detailed information about: +- API requests and responses +- Validation steps +- Error details +- Action execution flow + +## Development + +To extend or modify this plugin: + +1. All actions are in the `src/actions` directory +2. Utility functions are in `src/utils` +3. Environment configuration is in `src/environment.ts` +4. Error types are in `src/error/base.ts` + +## Dependencies + +- @elizaos/core +- axios +- chalk (for console output) +- cli-table3 (for formatted tables) +- ora (for loading spinners) + +## License + +MIT License diff --git a/docs/packages/plugins/hyperliquid.md b/docs/packages/plugins/hyperliquid.md new file mode 100644 index 00000000000..a671c61b0e8 --- /dev/null +++ b/docs/packages/plugins/hyperliquid.md @@ -0,0 +1,111 @@ +# Hyperliquid Plugin for Eliza + +This plugin enables interaction with the Hyperliquid DEX through Eliza, providing spot trading capabilities. + +## Features + +- 💱 Spot Trading + - Market orders (immediate execution) + - Limit orders (price-specific) + - Smart price validation to prevent mistakes +- 📊 Price Checking + - Real-time price information + - 24h price change + - Volume statistics +- 🔄 Order Management + - Cancel all open orders + - Clear feedback on execution + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-hyperliquid"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +HYPERLIQUID_PRIVATE_KEY=your_private_key # Required for trading and cancelling orders +HYPERLIQUID_TESTNET=true_or_false # Optional, defaults to false +``` + +## Available Actions + +### 1. SPOT_TRADE + +Place spot market or limit orders. + +Examples: + +``` +# Market Orders +"buy 1 PIP" -> Buys 1 PIP at market price +"sell 2 HYPE" -> Sells 2 HYPE at market price +"market buy 1 ETH" -> Buys 1 ETH at market price + +# Limit Orders +"buy 1 PIP at 20 USDC" -> Places buy order for 1 PIP at 20 USDC +"sell 0.5 HYPE at 21 USDC" -> Places sell order for 0.5 HYPE at 21 USDC +``` + +### 2. PRICE_CHECK + +Get current price information for any token. + +Examples: + +``` +"What's the price of PIP?" +"Check HYPE price" +"Get ETH price" +``` + +Returns: Current price, 24h change, and volume. + +### 3. CANCEL_ORDERS + +Cancel all your open orders. + +Examples: + +``` +"Cancel all orders" +"Cancel my orders" +``` + +## Price Validation + +The plugin includes smart price validation to prevent mistakes: + +- Market Orders: Validates price is within ±50% of market price +- Limit Orders: + - Buy orders must be below market price + - Sell orders must be above market price + - Warns if price is very different from market (±80%) + +## Error Handling + +The plugin provides clear error messages for common issues: + +- Invalid token symbols +- Price validation failures +- Network connection issues +- Order execution failures + +## Security Notes + +- Store your private key securely using environment variables +- Test with small amounts first +- Use testnet for initial testing +- Monitor your orders regularly +- Double-check prices before confirming trades + +## License + +MIT diff --git a/docs/packages/plugins/icp.md b/docs/packages/plugins/icp.md new file mode 100644 index 00000000000..35f198a812a --- /dev/null +++ b/docs/packages/plugins/icp.md @@ -0,0 +1,235 @@ +# @elizaos/plugin-icp + +Internet Computer Protocol (ICP) plugin for Eliza OS. + +## Features + +- Create meme tokens on PickPump +- Interact with ICP canisters +- Handle ICRC-1 token standard +- Manage ICP wallets and identities +- Support for anonymous and authenticated calls + +## Installation + +```bash +pnpm install @elizaos/plugin-icp +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +INTERNET_COMPUTER_PRIVATE_KEY= +``` + +## Usage + +### Import and Register + +```typescript +import { icpPlugin } from "@elizaos/plugin-icp"; + +// Register the plugin with Eliza +eliza.registerPlugin(icpPlugin); +``` + +### Available Actions + +#### Create Token + +Creates a new meme token on PickPump with AI-generated logo and description. + +```typescript +// Example usage in chat +"Create a space cat token on PickPump"; +"Help me create a pizza-themed funny token on PP"; +``` + +### Providers + +#### ICP Wallet Provider + +Manages ICP wallet operations and canister interactions. + +```typescript +const { wallet } = await icpWalletProvider.get(runtime, message, state); +``` + +## Common Issues & Troubleshooting + +1. **Identity Creation Failures** + + - Ensure private key is exactly 32 bytes + - Verify private key is properly hex-encoded + - Check if private key has correct permissions + +2. **Canister Interaction Issues** + + - Verify canister ID is valid + - Ensure proper network configuration (mainnet/testnet) + - Check if canister is available and running + +3. **Transaction Failures** + + - Verify sufficient balance for operation + - Check cycle balance for canister calls + - Ensure proper fee calculation + +4. **Authentication Problems** + - Verify identity is properly initialized + - Check if agent is configured correctly + - Ensure proper network connectivity + +## Security Best Practices + +1. **Key Management** + + - Never expose private keys in code or logs + - Use environment variables for sensitive data + - Rotate keys periodically + - Use separate keys for development and production + +2. **Identity Security** + + - Create separate identities for different purposes + - Limit identity permissions appropriately + - Monitor identity usage and access patterns + +3. **Canister Interaction Safety** + + - Validate all input parameters + - Implement proper error handling + - Use query calls when possible to save cycles + - Implement rate limiting for calls + +4. **Network Security** + - Use secure endpoints + - Implement proper timeout handling + - Validate responses from canisters + - Handle network errors gracefully + +## API Reference + +### Types + +```typescript +// Token Creation Arguments +export type CreateMemeTokenArg = { + name: string; + symbol: string; + description: string; + logo: string; + twitter?: string; + website?: string; + telegram?: string; +}; + +// ICP Configuration +export interface ICPConfig { + privateKey: string; + network?: "mainnet" | "testnet"; +} +``` + +### Utilities + +The plugin provides various utility functions for: + +- Principal/Account conversions +- Candid type handling +- Result/Variant unwrapping +- Array/Hex conversions + +### Helper Functions + +```typescript +// Convert principal to account +principal2account(principal: string, subaccount?: number[]): string + +// Check if text is valid principal +isPrincipalText(text: string): boolean + +// Create anonymous actor for public queries +createAnonymousActor(idlFactory, canisterId, host?) +``` + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +### Testing with Local Replica + +1. Start a local Internet Computer replica +2. Configure environment for local testing +3. Use test identities for development + +## Dependencies + +- @dfinity/agent: ^2.1.3 +- @dfinity/candid: ^2.1.3 +- @dfinity/identity: ^2.1.3 +- @dfinity/principal: ^2.1.3 +- @elizaos/core: workspace:\* + +## Future Enhancements + +- Support for additional canister standards +- Enhanced error handling and recovery +- Batch transaction support +- Advanced identity management +- Improved cycle management +- Extended canister interaction capabilities + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Internet Computer](https://internetcomputer.org/): Decentralized cloud computing platform +- [@dfinity/agent](https://www.npmjs.com/package/@dfinity/agent): ICP HTTP client and agent +- [@dfinity/candid](https://www.npmjs.com/package/@dfinity/candid): Candid interface description language +- [@dfinity/principal](https://www.npmjs.com/package/@dfinity/principal): Principal identifier handling +- [@dfinity/identity](https://www.npmjs.com/package/@dfinity/identity): Identity management + +Special thanks to: + +- The DFINITY Foundation for developing the Internet Computer +- The ICP Developer community +- The DFINITY SDK maintainers +- The PickPump team for meme token infrastructure +- The Eliza community for their contributions and feedback + +For more information about Internet Computer capabilities: + +- [ICP Documentation](https://internetcomputer.org/docs/) +- [DFINITY Developer Portal](https://smartcontracts.org/) +- [ICP Dashboard](https://dashboard.internetcomputer.org/) +- [Candid Documentation](https://internetcomputer.org/docs/current/developer-docs/build/candid/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/image-generation.md b/docs/packages/plugins/image-generation.md new file mode 100644 index 00000000000..f3488fe44f2 --- /dev/null +++ b/docs/packages/plugins/image-generation.md @@ -0,0 +1,155 @@ +# Plugin Image Generation + +A plugin designed for generating and managing images, providing features like image manipulation, storage integration, and optimized handling for various use cases. + +## Overview + +The Plugin Image Generation offers developers tools to handle image-related operations seamlessly. It supports image creation, manipulation, and integration with storage solutions, making it ideal for applications requiring dynamic image generation. + +### Features + +- Dynamic image generation +- Integration with storage solutions +- Optimized handling for high-resolution images + +## Installation Instructions + +To install the plugin, use the following command: + +```bash +pnpm install plugin-image-generation +``` + +## Configuration Requirements + +### Environment Variables + +Ensure the following environment variables are set: + +| Variable Name | Description | +| ---------------------- | ----------------------------------- | +| `IMAGE_STORAGE_BUCKET` | Name of the storage bucket. | +| `STORAGE_ACCESS_KEY` | Access key for storage integration. | +| `STORAGE_SECRET_KEY` | Secret key for storage integration. | + +### TypeScript Configuration + +The plugin assumes a TypeScript environment. Ensure your `tsconfig.json` includes the necessary compiler options: + +```json +{ + "compilerOptions": { + "module": "ESNext", + "target": "ES6", + "moduleResolution": "node", + "strict": true + } +} +``` + +## Usage Examples + +### Generate an Image + +The main functionality allows generating an image dynamically. + +```typescript +import { generateImage } from "plugin-image-generation"; + +const image = await generateImage({ + width: 800, + height: 600, + backgroundColor: "#ffffff", + text: "Hello World", + font: "Arial", +}); + +console.log("Generated Image:", image); +``` + +### Upload to Storage + +The plugin supports direct integration with storage solutions for uploading images. + +```typescript +import { uploadImage } from "plugin-image-generation"; + +const uploadResult = await uploadImage({ + imagePath: "path/to/image.png", + bucketName: "my-storage-bucket", +}); + +console.log("Image uploaded successfully:", uploadResult); +``` + +## API Reference + +### generateImage + +#### Parameters + +- `width`: Width of the image. +- `height`: Height of the image. +- `backgroundColor`: Background color of the image. +- `text`: Text to be displayed on the image. +- `font`: Font style for the text. + +#### Returns + +A promise that resolves with the generated image. + +### uploadImage + +#### Parameters + +- `imagePath`: Path to the image file. +- `bucketName`: Name of the storage bucket. + +#### Returns + +A promise that resolves with the upload result. + +## Common Issues/Troubleshooting + +### Issue: Image Not Generated + +**Solution**: Ensure the input parameters for `generateImage` are valid and properly formatted. + +### Issue: Upload Fails + +**Solution**: Verify that the storage credentials and bucket name are correctly configured. + +### Issue: Poor Image Quality + +**Solution**: Check the resolution and ensure that high-quality settings are applied during generation. + +## Additional Documentation + +### Examples Folder + +Include sample projects in the `examples/` directory for users to reference. + +### Testing Guide + +- Run tests using `pnpm test`. +- Ensure integration tests cover all major functionalities. + +### Plugin Development Guide + +To extend this plugin, add new image generation or manipulation features in the `src/` directory. + +### Security Best Practices + +- Store access keys securely. +- Use environment variables for sensitive information. +- Regularly update dependencies. + +### Performance Optimization Guide + +- Optimize image generation by reducing redundant processing. +- Use efficient algorithms for image manipulation. +- Cache frequently used assets. + +## License + +MIT diff --git a/docs/packages/plugins/image.md b/docs/packages/plugins/image.md new file mode 100644 index 00000000000..67000502331 --- /dev/null +++ b/docs/packages/plugins/image.md @@ -0,0 +1,60 @@ +## ImageDescriptionService + +Processes and analyzes images to generate descriptions. Supports multiple providers: + +- Local processing using Florence model +- OpenAI Vision API +- Google Gemini + +Configuration: + +```env +# For OpenAI Vision +OPENAI_API_KEY=your_openai_api_key + +# For Google Gemini +GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key +``` + +Provider selection: + +- If `imageVisionModelProvider` is set to `google/openai`, it will use this one. +- Else if `model` is set to `google/openai`, it will use this one. +- Default if nothing is set is OpenAI. + +The service automatically handles different image formats, including GIFs (first frame extraction). + +Features by provider: + +**Local (Florence):** + +- Basic image captioning +- Local processing without API calls + +**OpenAI Vision:** + +- Detailed image descriptions +- Text detection +- Object recognition + +**Google Gemini 1.5:** + +- High-quality image understanding +- Detailed descriptions with natural language +- Multi-modal context understanding +- Support for complex scenes and content + +The provider can be configured through the runtime settings, allowing easy switching between providers based on your needs. + +// ... existing code ... + +### describeImage + +Analyzes and generates descriptions for images. + +```typescript +// Example usage +const result = await runtime.executeAction("DESCRIBE_IMAGE", { + imageUrl: "path/to/image.jpg", +}); +``` \ No newline at end of file diff --git a/docs/packages/plugins/imgflip.md b/docs/packages/plugins/imgflip.md new file mode 100644 index 00000000000..10334bc131e --- /dev/null +++ b/docs/packages/plugins/imgflip.md @@ -0,0 +1,53 @@ +# @elizaos/plugin-imgflip + +A plugin for generating memes using the imgflip.com API. + +## Description + +The Imgflip plugin provides a GENERATE_MEME action that can be used to generate memes using the imgflip.com API based on the user's message. + +## Installation + +```bash +pnpm install @elizaos/plugin-imgflip +``` + +## Features + +### 1. Generate Meme + +- GENERATE_MEME action used for generating memes using the imgflip.com API based on the user's message. + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +## Dependencies + +- @elizaos/core: workspace:\* + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza Core development team +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/initia.md b/docs/packages/plugins/initia.md new file mode 100644 index 00000000000..77677416e5b --- /dev/null +++ b/docs/packages/plugins/initia.md @@ -0,0 +1,62 @@ +# @elizaos/plugin-initia + +Initia plugin for Eliza OS. + +## Overview + +This plugin provides functionality to: + +- Transfer INIT token + +## Installation + +```bash +pnpm install @elizaos/plugin-initia +``` + +## Configuration + +```bash +INITIA_PRIVATE_KEY=0x1234...abcd +INITIA_NODE_URL=https://... +INITIA_CHAIN_ID=initiaion-2 +``` + +## Features + + +### Token transfer + +Send token to recipient: +```typescript +User: "Send 1 INIT to init14l3c2vxrdvu6y0sqykppey930s4kufsvt97aeu"; +Assistant: "Sure! I am going to send 1 INIT to init14l3c2vxrdvu6y0sqykppey930s4kufsvt97aeu"; +``` + +## Development + +### Building + +```bash +pnpm run build +``` + +### Testing + +```bash +pnpm run test +``` + +## Dependencies + +- `@initia/initia.js`: Official initia js SDK + +## Future Enhancements + +1. Execute other messages like delegate, undelegate. +2. Interacting with minitia. + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/injective.md b/docs/packages/plugins/injective.md new file mode 100644 index 00000000000..d08ae4abf48 --- /dev/null +++ b/docs/packages/plugins/injective.md @@ -0,0 +1,176 @@ +# @elizaos/plugin-injective + +A comprehensive plugin for interacting with the Injective chain through ElizaOS. + +## Project Structure + +``` +src/ +├── auction.ts # Auction module actions +├── auth.ts # Auth module actions +├── bank.ts # Bank module actions +├── distribution.ts # Distribution module actions +├── exchange.ts # Exchange module actions +├── explorer.ts # Explorer module actions +├── gov.ts # Governance module actions +├── ibc.ts # IBC module actions +├── insurance.ts # Insurance module actions +├── mint.ts # Mint module actions +├── mito.ts # Mito module actions +├── peggy.ts # Peggy module actions +├── permissions.ts # Permissions module actions +├── staking.ts # Staking module actions +├── token-factory.ts # Token Factory module actions +├── wasm.ts # WASM module actions +├── base.ts # Base action creation logic +└── index.ts # Main export file +``` + +## Module Organization + +Each module file follows a consistent organization pattern: + +### 1. File Structure +```typescript +// src/[module].ts + +import { createGenericAction } from './base'; +import * as ModuleTemplates from '@injective/template/[module]'; +import * as ModuleExamples from '@injective/examples/[module]'; + +// Export individual actions +export const Action1 = createGenericAction({...}); +export const Action2 = createGenericAction({...}); + +// Export all actions as a group +export const ModuleActions = [ + Action1, + Action2, + // ...other actions +]; +``` + +### 2. Main Export File +```typescript +// src/index.ts + +export * from './auction'; +export * from './auth'; +// ...other module exports + +export const InjectiveActions = [ + ...ExchangeActions, + ...AuctionActions, + // ...other module actions +]; +``` + +## Module Descriptions + +### auction.ts +Handles auction-related functionality including module parameters, auction rounds, and bidding. + +### auth.ts +Manages authentication, account details, and authorization grants. + +### bank.ts +Handles account balances, token transfers, and supply queries. + +### distribution.ts +Manages reward distribution and withdrawals. + +### exchange.ts +Core exchange functionality including spot/derivative markets, orders, and positions. + +### explorer.ts +Blockchain explorer functionality including transaction and block queries. + +### gov.ts +Handles protocol governance including proposals and voting. + +### ibc.ts +Inter-Blockchain Communication functionality. + +### insurance.ts +Manages insurance funds and redemptions. + +### mint.ts +Controls token minting and inflation parameters. + +### mito.ts +Handles Mito-specific functionality. + +### peggy.ts +Manages Ethereum bridge operations. + +### permissions.ts +Controls role-based access and permissions. + +### staking.ts +Manages validator operations and delegations. + +### token-factory.ts +Handles token creation and management. + +### wasm.ts +Smart contract functionality including deployment and execution. + +## Development + +### Adding New Actions + +1. Add action to appropriate module file: +```typescript +export const NewAction = createGenericAction({ + name: 'ACTION_NAME', + description: 'Action description', + template: Templates.template, + examples: Examples.example, + functionName: 'functionName', + validateContent: () => true +}); + +export const ModuleActions = [ + ...existingActions, + NewAction +]; +``` + +### Adding New Modules + +1. Create new module file: +```typescript +// src/new-module.ts +export const NewModuleActions = [...]; +``` + +2. Add to main exports: +```typescript +// src/index.ts +export * from './new-module'; +``` + +## Installation + +```bash +npm install @elizaos/plugin-injective +``` + +## Usage + +```typescript +import { InjectiveActions } from '@elizaos/plugin-injective'; +``` + +## Contributing +Feel free to contribute to more similes, examples and refined templates - for a more robust action contorl. + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +ISC \ No newline at end of file diff --git a/docs/packages/plugins/intiface.md b/docs/packages/plugins/intiface.md new file mode 100644 index 00000000000..d11901bde86 --- /dev/null +++ b/docs/packages/plugins/intiface.md @@ -0,0 +1,205 @@ +# @elizaos/plugin-intiface + +Intiface/Buttplug.io integration plugin for Eliza OS that enables control of intimate hardware devices. + +## Features + +- Support for multiple intimate hardware devices through Buttplug.io protocol +- Automatic device discovery and connection management +- Battery level monitoring for supported devices +- Vibration and rotation control (device-dependent) +- Graceful connection handling and cleanup +- Built-in device simulation for testing +- Support for customizable vibration patterns +- Automatic Intiface Engine management + +## Installation + +```bash +pnpm install @elizaos/plugin-intiface +``` + +## Configuration + +The plugin can be configured through environment variables or runtime settings: + +```env +INTIFACE_URL=ws://localhost:12345 +INTIFACE_NAME=Eliza Intiface Client +DEVICE_NAME=Lovense Nora +``` + +## Usage + +### Basic Device Control + +```typescript +import { intifacePlugin } from "@elizaos/plugin-intiface"; + +// Vibrate device +const result = await eliza.execute({ + action: "VIBRATE", + content: { + strength: 0.5, // 0.0 to 1.0 + duration: 1000, // milliseconds + }, +}); + +// Check battery level +const battery = await eliza.execute({ + action: "BATTERY", + content: {}, +}); +``` + +### Advanced Features + +```typescript +// Rotation control (for supported devices) +const result = await eliza.execute({ + action: "ROTATE", + content: { + strength: 0.7, + duration: 2000, + }, +}); +``` + +## Device Support + +The plugin supports various devices through the Buttplug protocol, including but not limited to: + +- Lovense devices (Nora, Max, etc.) +- WeVibe products +- Kiiroo devices +- Magic Motion products +- And many others supported by Buttplug.io + +## Testing + +The plugin includes a simulation mode for testing without physical hardware: + +```bash +pnpm test-via-bun +``` + +## Dependencies + +- Buttplug.io (v3.2.2) +- Intiface Engine +- WebSocket support + +## Troubleshooting + +### Common Issues + +1. **Connection Problems** + + - Verify Intiface Engine is running (`ws://localhost:12345` by default) + - Check device Bluetooth is enabled and in pairing mode + - Ensure device is charged and within range + - Try restarting both device and Intiface Engine + +2. **Device Not Found** + + - Confirm device is supported by Buttplug.io + - Try manual device pairing through Intiface Central first + - Check if device requires specific firmware version + - Verify device is not connected to another application + +3. **Command Failures** + + - Check battery level is sufficient + - Ensure device is within supported range for command values + - Verify device supports the specific command (vibrate/rotate) + - Monitor Intiface Engine logs for detailed error messages + +4. **Performance Issues** + - Reduce command frequency if experiencing lag + - Check for Bluetooth interference + - Monitor system resources for potential bottlenecks + - Consider using wired connection if available + +## Security Best Practices + +1. **Device Privacy** + + - Use secure WebSocket connections (wss://) when possible + - Don't expose Intiface Engine to public networks + - Regularly check for and apply firmware updates + - Monitor device connection status + +2. **Data Protection** + + - Clear device pairing history when needed + - Don't store sensitive device information + - Use unique device names for identification + - Implement timeouts for idle connections + +3. **Access Control** + + - Limit device control to authenticated users + - Implement command rate limiting + - Use device-specific permissions where applicable + - Monitor and log unusual command patterns + +4. **Network Security** + - Keep Intiface Engine behind firewall + - Use local connections when possible + - Implement connection timeouts + - Regular security audits of configurations + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with [Buttplug.io](https://buttplug.io) and [Intiface Engine](https://github.com/intiface/intiface-engine), developed by Nonpolynomial Labs, LLC. + +Special thanks to: + +- The Buttplug.io team for developing the Buttplug.io protocol +- The Intiface Engine team for developing the Intiface Engine +- The Eliza community for their contributions and feedback. + +For more information about Buttplug.io and Intiface Engine: + +- [Buttplug.io](https://buttplug.io) +- [Intiface Engine](https://github.com/intiface/intiface-engine) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + +Intiface is a Registered Trademark of Nonpolynomial Labs, LLC + +Buttplug and Intiface are BSD licensed. + + Copyright (c) 2016-2022, Nonpolynomial Labs, LLC + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of buttplug nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs/packages/plugins/iq6900.md b/docs/packages/plugins/iq6900.md new file mode 100644 index 00000000000..32b5718a132 --- /dev/null +++ b/docs/packages/plugins/iq6900.md @@ -0,0 +1,28 @@ +# Code In Plugin For Eliza + +## Description +Through IQ6900's new inscription standard "Code-In", powerful inscription functionality is provided to Eliza. +Engrave Eliza on the blockchain forever. +All your Character JSON files are input onto the blockchain without compression. +Everyone can read your agent from blocks forever. + +## inscription +- **Code-in your eliza**: Go to the site and engrave your character file on-chain. https://elizacodein.com/ + +## Onchain git +- **Commit your update**: +Update your files anytime. +On our site, your files are managed in a format similar to GitHub, +and our plugin automatically loads your latest agent file. + +## Let's get started +- **Edit your .env**: write down IQ_WALLET_ADDRESS to your wallet address that you used on website. +To be sure, right after inscription, wait about 5 minutes and just type pmpn start. You are now all set. + + +You have engraved an eternal record. +Imagine, someone could develop your agent 200 years from now. + +Many things will be updated. + +Learn more: https://iq6900.gitbook.io/iq6900/eliza-code-in \ No newline at end of file diff --git a/docs/packages/plugins/irys.md b/docs/packages/plugins/irys.md new file mode 100644 index 00000000000..e93ce7a780c --- /dev/null +++ b/docs/packages/plugins/irys.md @@ -0,0 +1,317 @@ +# @elizaos/plugin-irys + +A plugin for ElizaOS that enables decentralized data storage and retrieval using Irys, a programmable datachain platform. + +## Overview + +This plugin integrates Irys functionality into ElizaOS, allowing agents to store and retrieve data in a decentralized manner. It provides a service for creating a decentralized knowledge base and enabling multi-agent collaboration. + +## Installation + +To install this plugin, run the following command: + +```bash +pnpm add @elizaos/plugin-irys +``` + +## Features + +- **Decentralized Data Storage**: Store data permanently on the Irys network +- **Data Retrieval**: Fetch stored data using GraphQL queries +- **Multi-Agent Support**: Enable data sharing and collaboration between agents +- **Ethereum Integration**: Built-in support for Ethereum wallet authentication + +## Configuration + +The plugin requires the following environment variables: + +- `EVM_WALLET_PRIVATE_KEY`: Your EVM wallet private key +- `AGENTS_WALLET_PUBLIC_KEYS`: The public keys of the agents that will be used to retrieve the data (string separated by commas) + +For this plugin to work, you need to have an EVM (Base network) wallet with a private key and public address. To prevent any security issues, we recommend using a dedicated wallet for this plugin. + +> **Important**: The wallet address needs to have Base Sepolia ETH tokens to store images/files and any data larger than 100KB. + +## How it works + +The system consists of three main components that work together to enable decentralized multi-agent operations: + +### 1. Providers +Providers are the data management layer of the system. They: +- Interact with the Orchestrator to store data +- Aggregate information from multiple sources to enhance context +- Support agents with enriched data for better decision-making + +### 2. Orchestrators +Orchestrators manage the flow of communication and requests. They: +- Interact with the Irys datachain to store and retrieve data +- Implement a tagging system for request categorization +- Validate data integrity and authenticity +- Coordinate the overall system workflow + +### 3. Workers +Workers are specialized agents that execute specific tasks. They: +- Perform autonomous operations (e.g., social media interactions, DeFi operations) +- Interact with Orchestrators to get contextual data from Providers +- Interact with Orchestrators to store execution results on the Irys datachain +- Maintain transparency by documenting all actions + +This architecture ensures a robust, transparent, and efficient system where: +- Data is securely stored and verified on the blockchain +- Requests are properly routed and managed +- Operations are executed autonomously +- All actions are traceable and accountable + +You can find more information about the system in the [A Decentralized Framework for Multi-Agent Systems Using Datachain Technology](https://trophe.net/article/A_Decentralized_Framework_for_Multi-Agent_Systems_Using_Datachain_Technology.pdf) paper. + +## Usage + +### Worker + +As a worker, you can store data on the Irys network using the `workerUploadDataOnIrys` function. You can use this function to store data from any source to document your actions. You can also use this function to store a request to get data from the Orchestrator to enhance your context. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "Provide Liquidity to the ETH pool on Stargate"; +const result = await irysService.workerUploadDataOnIrys( + data, + IrysDataType.OTHER, + IrysMessageType.DATA_STORAGE, + ["DeFi"], + ["Stargate", "LayerZero"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To upload files or images : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const userAttachmentToStore = state.recentMessagesData[1].content.attachments[0].url.replace("agent\\agent", "agent"); + +const result = await irysService.workerUploadDataOnIrys( + userAttachmentToStore, + IrysDataType.IMAGE, + IrysMessageType.DATA_STORAGE, + ["Social Media"], + ["X", "Twitter"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To store a request to get data from the Orchestrator to enhance your context, you can use the `workerUploadDataOnIrys` function with the `IrysMessageType.REQUEST` message type. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "Which Pool farm has the highest APY on Stargate?"; +const result = await irysService.workerUploadDataOnIrys( + data, + IrysDataType.OTHER, + IrysMessageType.REQUEST, + ["DeFi"], + ["Stargate", "LayerZero"], + [0.5], // Validation Threshold - Not implemented yet + [1], // Minimum Providers + [false], // Test Provider - Not implemented yet + [0.5] // Reputation - Not implemented yet +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +console.log(`Response from the Orchestrator: ${result.data}`); +``` + +### Provider + +As a provider, you can store data on the Irys network using the `providerUploadDataOnIrys` function. The data you provide can be retrieved by the Orchestrator to enhance the context of the Worker. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "ETH Pool Farm APY : 6,86%"; +const result = await irysService.providerUploadDataOnIrys( + data, + IrysDataType.OTHER, + ["DeFi"], + ["Stargate", "LayerZero"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To upload files or images : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const userAttachmentToStore = state.recentMessagesData[1].content.attachments[0].url.replace("agent\\agent", "agent"); + +const result = await irysService.providerUploadDataOnIrys( + userAttachmentToStore, + IrysDataType.IMAGE, + ["Social Media"], + ["X", "Twitter"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +### Retrieving Data + +To retrieve data from the Irys network, you can use the `getDataFromAnAgent` function. This function will retrieve all data associated with the given wallet addresses, tags and timestamp. The function automatically detects the content type and returns either JSON data or file/image URLs accordingly. + +- For files and images: Returns the URL of the stored content +- For other data types: Returns a JSON object with the following structure: + +```typescript +{ + data: string, // The stored data + address: string // The address of the agent that stored the data +} +``` + +By using only the provider address you want to retrieve data from : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService = runtime.getService(ServiceType.IRYS) +const agentsWalletPublicKeys = runtime.getSetting("AGENTS_WALLET_PUBLIC_KEYS").split(","); +const data = await irysService.getDataFromAnAgent(agentsWalletPublicKeys); +console.log(`Data retrieved successfully. Data: ${data}`); +``` + +By using tags and timestamp: + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService = runtime.getService(ServiceType.IRYS) +const tags = [ + { name: "Message-Type", values: [IrysMessageType.DATA_STORAGE] }, + { name: "Service-Category", values: ["DeFi"] }, + { name: "Protocol", values: ["Stargate", "LayerZero"] }, +]; +const timestamp = { from: 1710000000, to: 1710000000 }; +const data = await irysService.getDataFromAnAgent(null, tags, timestamp); +console.log(`Data retrieved successfully. Data: ${data}`); +``` + +If everything is null, the function will retrieve all data from the Irys network. + +## About Irys + +Irys is the first Layer 1 (L1) programmable datachain designed to optimize both data storage and execution. By integrating storage and execution, Irys enhances the utility of blockspace, enabling a broader spectrum of web services to operate on-chain. + +### Key Features of Irys + +- **Unified Platform**: Combines data storage and execution, allowing developers to eliminate dependencies and integrate efficient on-chain data seamlessly. +- **Cost-Effective Storage**: Optimized specifically for data storage, making it significantly cheaper to store data on-chain compared to traditional blockchains. +- **Programmable Datachain**: The IrysVM can utilize on-chain data during computations, enabling dynamic and real-time applications. +- **Decentralization**: Designed to minimize centralization risks by distributing control. +- **Free Storage for Small Data**: Storing less than 100KB of data is free. +- **GraphQL Querying**: Metadata stored on Irys can be queried using GraphQL. + +### GraphQL Query Examples + +The plugin uses GraphQL to retrieve transaction metadata. Here's an example query structure: + +```typescript +const QUERY = gql` + query($owners: [String!], $tags: [TagFilter!], $timestamp: TimestampFilter) { + transactions(owners: $owners, tags: $tags, timestamp: $timestamp) { + edges { + node { + id, + address + } + } + } + } +`; + +const variables = { + owners: owners, + tags: tags, + timestamp: timestamp +} + +const data: TransactionGQL = await graphQLClient.request(QUERY, variables); +``` + +## API Reference + +### IrysService + +The main service provided by this plugin implements the following interface: + +```typescript + +interface UploadIrysResult { + success: boolean; + url?: string; + error?: string; + data?: any; +} + +interface DataIrysFetchedFromGQL { + success: boolean; + data: any; + error?: string; +} + +interface GraphQLTag { + name: string; + values: any[]; +} + +const enum IrysMessageType { + REQUEST = "REQUEST", + DATA_STORAGE = "DATA_STORAGE", + REQUEST_RESPONSE = "REQUEST_RESPONSE", +} + +const enum IrysDataType { + FILE = "FILE", + IMAGE = "IMAGE", + OTHER = "OTHER", +} + +interface IrysTimestamp { + from: number; + to: number; +} + +interface IIrysService extends Service { + getDataFromAnAgent(agentsWalletPublicKeys: string[], tags: GraphQLTag[], timestamp: IrysTimestamp): Promise; + workerUploadDataOnIrys(data: any, dataType: IrysDataType, messageType: IrysMessageType, serviceCategory: string[], protocol: string[], validationThreshold: number[], minimumProviders: number[], testProvider: boolean[], reputation: number[]): Promise; + providerUploadDataOnIrys(data: any, dataType: IrysDataType, serviceCategory: string[], protocol: string[]): Promise; +} +``` + +#### Methods + +- `getDataFromAnAgent(agentsWalletPublicKeys: string[], tags: GraphQLTag[], timestamp: IrysTimestamp)`: Retrieves all data associated with the given parameters +- `workerUploadDataOnIrys(data: any, dataType: IrysDataType, messageType: IrysMessageType, serviceCategory: string[], protocol: string[], validationThreshold: number[], minimumProviders: number[], testProvider: boolean[], reputation: number[])`: Uploads data to Irys and returns the orchestrator response (request or data storage) +- `providerUploadDataOnIrys(data: any, dataType: IrysDataType, serviceCategory: string[], protocol: string[])`: Uploads data to Irys and returns orchestrator response (data storage) + +## Testing + +To run the tests, you can use the following command: + +```bash +pnpm test +``` + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## Ressources + +- [Irys Documentation](https://docs.irys.xyz/) +- [A Decentralized Framework for Multi-Agent Systems Using Datachain Technology](https://trophe.net/article/A_Decentralized_Framework_for_Multi-Agent_Systems_Using_Datachain_Technology.pdf) diff --git a/docs/packages/plugins/isaacx.md b/docs/packages/plugins/isaacx.md new file mode 100644 index 00000000000..f4293a6f7d1 --- /dev/null +++ b/docs/packages/plugins/isaacx.md @@ -0,0 +1,77 @@ +# Isaac X Plugin for ElizaOS + +This plugin provides integration with the Isaac X API, enabling ElizaOS Agents to reason scientifically using the latest academic research. + +## Features + +- Research question answering with academic citations +- Rate limit management (10 free requests/day) +- Automatic reference tracking + +## Installation + +```bash +pnpm add @elizaos/plugin-isaacx +``` + +## Configuration + +1. First, visit [isaacx.ai/docs](https://isaacx.ai/docs) to create your API key. + +2. Add your Isaac X API key to your environment variables: + +```bash +ISAACX_API_KEY=ix_your_api_key_here +``` + +3. Register the plugin in your character configuration: + +```typescript +import isaacXPlugin from "@elizaos/plugin-isaacx"; + +const character = { + plugins: [isaacXPlugin], +}; +``` + +## Usage + +```typescript +// Ask a research question +const response = await runtime.processAction("ANSWER_RESEARCH_QUESTION", { + question: "What are the latest developments in quantum computing?", +}); + +// The response will include both the answer and academic citations +console.log("Research Findings:", response.answer); +console.log("Academic Sources:", response.references); +``` + +## Response Format + +```typescript +interface IsaacXResponse { + answer: string; + references: string[]; +} +``` + +## Rate Limiting + +- 10 free requests per day +- 40 $ISAACX per request (~$0.05 USD) +- 20% discount for bulk usage (100+ requests) + +## Development + +```bash +# Build the plugin +pnpm build + +# Run tests +pnpm test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/lens-network.md b/docs/packages/plugins/lens-network.md new file mode 100644 index 00000000000..3bf8e2e48e6 --- /dev/null +++ b/docs/packages/plugins/lens-network.md @@ -0,0 +1,99 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-lensNetwork +``` + +## Configuration + +The plugin requires the following environment variables to be set: +```typescript +LENS_ADDRESS= +LENS_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { lensPlugin } from '@elizaos/plugin-lensNetwork'; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 1 Grass to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62" + +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** +- TRANSFER_TOKEN_ON_LENS +- TRANSFER_TOKENS_ON_LENS +- SEND_TOKENS_ON_LENS +- SEND_ETH_ON_LENS +- PAY_ON_LENS +- MOVE_TOKENS_ON_LENS +- MOVE_ETH_ON_LENS + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + diff --git a/docs/packages/plugins/lensNetwork.md b/docs/packages/plugins/lensNetwork.md new file mode 100644 index 00000000000..3bf8e2e48e6 --- /dev/null +++ b/docs/packages/plugins/lensNetwork.md @@ -0,0 +1,99 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-lensNetwork +``` + +## Configuration + +The plugin requires the following environment variables to be set: +```typescript +LENS_ADDRESS= +LENS_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { lensPlugin } from '@elizaos/plugin-lensNetwork'; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 1 Grass to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62" + +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** +- TRANSFER_TOKEN_ON_LENS +- TRANSFER_TOKENS_ON_LENS +- SEND_TOKENS_ON_LENS +- SEND_ETH_ON_LENS +- PAY_ON_LENS +- MOVE_TOKENS_ON_LENS +- MOVE_ETH_ON_LENS + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + diff --git a/docs/packages/plugins/letzai.md b/docs/packages/plugins/letzai.md new file mode 100644 index 00000000000..2e86b4228a5 --- /dev/null +++ b/docs/packages/plugins/letzai.md @@ -0,0 +1,98 @@ +# @elizaos/plugin-letzai + +![LetzAI Logo](https://letz.ai/_next/image?url=%2FL.png&w=64&q=100) + +A plugin to integrate LetzAI Image Generation capabilities into the elizaos ecosystem. + +It uses the [LetzAI API](https://www.letz.ai/docs/api) and can use any models available to API user. + +Users need to add their LETZAI_API_KEY in .env file. + + +## Description + +[LetzAI](https://www.letz.ai) is an image generation platform and visual discovery engine. It enables anyone to generate images about anything, by allowing users to add themselves, their products or their art style to the platform as AI Models. + +This plugin integrates LetzAI with Eliza, enabling agents to generate images using any LetzAI Models, including the ones you may have created specifically of or for your agent. + +To use this plugin, you will need a LetzAI API Key, which [can be created on your subscription page here](https://www.letz.ai/subscription). A subscription is required to create an API key. + +To generate images the plugin introduces its own GENERATE_IMAGE action. + +The plugin was not tested together with other image generation functionalities. + + +## Installation + +```bash +pnpm install @elizaos/plugin-letzai +``` + + +## Configuration + +### Environment Variables +```typescript +LETZAI_API_LEY= +LETZAI_MODELS="@hailee, @examplemodel2" +``` + +Inside the plugin's index.tsx file is a "improvePrompt" variable and some code that is commented out. This code could be enhanced to make the instructions from chat be passed to the API in a better way. This is an open TO DO. + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + + +## Example + +I am currently working on an example Agent called ["HaileeAgent"](https://x.com/AgentHailee). +Will share more information on this as I progress. + + + +## Other Notes +In my own character.json file for Hailee, I have integrated the plugin like this: +```json + "plugins": ["../../packages/plugin-letzai/src/index.ts"], + "actions": ["GENERATE_IMAGE"], +``` + +But I'm not sure yet this is the correct way for public repos. + + +## Future Enhancements + +- Interactive agent with better image polling +- Enable "Improve prompt" functionality + +If anybody knows how to make the agent be pro-active and send multiple callbacks(), please reach out. + + + +## Contributing + +This Plugin is developed by LetzAI. Any helpful contributions are welcome! + + +## Credits + +Built by [mitch0z](https://www.mitchoz.com) + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/lightlink.md b/docs/packages/plugins/lightlink.md new file mode 100644 index 00000000000..33dd130e752 --- /dev/null +++ b/docs/packages/plugins/lightlink.md @@ -0,0 +1,95 @@ +# @elizaos/plugin-lightlink + +## Description + +The LightLink Plugin allows agents to interact with the LightLink network. + +## Features + +The plugin lets agents: + +- Check balances. +- Transfer both ERC20 and Eth. +- Swap (via Elektrik) +- Search the block explorer for contracts and addresses. + +## Installation + +``` +pnpm add @elizaos/plugin-lightlink +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key-here + +# Optional - Custom RPC URLs +LIGHTLINK_MAINNET_RPC_URL=https://your-custom-mainnet-rpc-url +LIGHTLINK_TESTNET_RPC_URL=https://your-custom-testnet-rpc-url +``` + +### Chain Configuration + +By default, **LightLink Phoenix (mainnet)** is enabled. To enable additional chains, add them to your character config: + +```json +"settings": { + "chains": { + "evm": [ + "lightlinkTestnet", "ethereum", "sepolia" + ] + } +} +``` + +## Actions + +### Check Balance + +Check the balance of an address. All address can be written as an ENS name or a raw address. + +```typescript +// Example: Check balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +Check the balance of vitalik.eth on lightlink +``` + +### Transfer + +Transfer native tokens on the same chain: + +```typescript +// Example: Transfer 1 ETH +Transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +``` + +### Swap + +Swap tokens on the same chain, you can also provide the address of the tokens you want to swap directly. + +```typescript +// Example: Swap 1 ETH to USDC +Swap 1 ETH to USDC on lightlink testnet +``` + +### Search + +Search the block explorer for contracts and addresses. + +```typescript +// Example: Search for a contract +Whats the contract address for the USDC (sometimes written as USDC.e) token on lightlink? +``` + +## Development + +1. Clone the repository +2. Install dependencies: + pnpm install +3. Build the plugin: + pnpm run build +4. Run tests: + pnpm test diff --git a/docs/packages/plugins/lightning.md b/docs/packages/plugins/lightning.md new file mode 100644 index 00000000000..d0d3ad9a07d --- /dev/null +++ b/docs/packages/plugins/lightning.md @@ -0,0 +1,64 @@ +# @elizaos/plugin-lightning + +This plugin enables create lightning invoice or payInvoice. + +## Features + +- 💱 Make a new off-chain invoice. +- 📊 Make an off-chain payment. + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-lightning"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +LND_TLS_CERT=your_lnnode_tls_cert #Base64 of LND certificate +LND_MACAROON=020..... #Base64 encoded admin.macaroon file +LND_SOCKET='x.x.x.x:10009' +``` + +## Available Actions + +### 1. CREATE_INVOICE + +Make a new off-chain invoice. + +Examples: + +```text + +"Help me create an invoice for 1000sats" +"Create an invoice for 1000sats" + +``` + +Returns: lnbcrt.... + +### 2. PAY_INVOICE + +Make an off-chain payment. + +Examples: + +```text + +"Pay invoice lnbcrt10u1pncndjvpp58y77adkngcz3ypx6t39j245ydvk2vu67c8ugvegee3gt5wgs7yjqdxvdec82c33wdmnq73s0qcxwurrxp4nquncxe4h56m9xu6xwetyd3mrq6ehdguxkd35wuurgarex4u8gefkdsekgdtnddehxurrxecxvhmwwp6kyvfexekhxwtv8paryvnpwsuhxdryvachwangw3kn2atddq6kzvrvwfcxzanewce8ja34d43k56rkweu8jdtcwv68zmrsvdescqzzsxqrrsssp5q3hv38wfprvaazzwf8c4t33tzjcac5xz94sk8muehmn5szqaw6ks9qxpqysgqt5pjhna4922s8ayzgu5rh8clx7psp2culdr5r6cxxxqzs3e5ep345p45vggg0qegt6fu3prdrqgpd8v70l9wdhekt8gex5e8pqvxg2sp97fkmd" + + +``` + +## Security Notes + +- Store your LND_TLS_CERT and LND_MACAROON securely using environment variables +- Test with small amounts first +- Use regtest for initial testing diff --git a/docs/packages/plugins/lit.md b/docs/packages/plugins/lit.md new file mode 100644 index 00000000000..c273a11f779 --- /dev/null +++ b/docs/packages/plugins/lit.md @@ -0,0 +1,148 @@ +# @elizaos/plugin-lit + +A plugin that integrates Lit Protocol functionality into the elizaOS runtime environment, enabling secure and decentralized access control and cryptographic operations. + +## Features + +- Deploy and manage Lit Actions for programmable cryptography +- Interact with Lit Agent Wallet for secure transaction signing +- Built-in tools for common blockchain operations: + - ECDSA signing + - ERC20 token transfers + - Uniswap interactions + +## Installation + +```bash +npm install @elizaos/plugin-lit +``` + +## Setup + +There are two ways to register the plugin: + +1. Add to your agent's plugins in `agent/src/index.ts`: + +```typescript +import { LitPlugin } from '@elizaos/plugin-lit'; + +export default { + plugins: [ + // ... other plugins + litPlugin, + ], + // ... rest of your agent configuration +}; +``` + +2. Or add it in your character configuration: + +```typescript +{ + name: "YourCharacter", + plugins: [ + // ... other plugins + "@elizaos/plugin-lit" + ] +} +``` + +## Quick Start + +1. After registration, initialize Lit Protocol: + +```javascript +await elizaOS.lit.initialize({ + // Your configuration options +}); +``` + +## Core Components + +### Lit Actions + +Located in `src/actions/helloLit`, this module provides the foundation for deploying and managing Lit Actions. Lit Actions are JavaScript functions that run in a decentralized manner across the Lit Network. + +Example usage: + +```javascript +const litAction = await elizaOS.lit.deployAction({ + code: ` + (async () => { + // Your Lit Action code here + })(); + ` +}); +``` + +### Tools + +The `src/actions/helloLit/tools` directory contains pre-built tools for common blockchain operations: + +#### ECDSA Signing +```javascript +const signature = await elizaOS.lit.tools.ecdsaSign({ + message: "Message to sign", + // Additional parameters +}); +``` + +#### ERC20 Token Transfer +```javascript +const transfer = await elizaOS.lit.tools.erc20Transfer({ + tokenAddress: "0x...", + recipient: "0x...", + amount: "1000000000000000000" // 1 token with 18 decimals +}); +``` + +#### Uniswap Integration +```javascript +const swap = await elizaOS.lit.tools.uniswapSwap({ + tokenIn: "0x...", + tokenOut: "0x...", + amountIn: "1000000000000000000" +}); +``` + +## Agent Wallet Integration + +This plugin integrates with the [Lit Protocol Agent Wallet](https://github.com/LIT-Protocol/agent-wallet) for secure key management and transaction signing. The Agent Wallet provides: + +- Secure key generation and storage +- Transaction signing capabilities +- Integration with Lit Actions for programmable authorization + +## Documentation + +For more detailed information about Lit Protocol and its capabilities, visit: +- [Lit Protocol Documentation](https://developer.litprotocol.com/) +- [Agent Wallet Documentation](https://github.com/LIT-Protocol/agent-wallet) + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +MIT License + +Copyright (c) 2024 elizaOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/packages/plugins/llama.md b/docs/packages/plugins/llama.md new file mode 100644 index 00000000000..832417bb523 --- /dev/null +++ b/docs/packages/plugins/llama.md @@ -0,0 +1,162 @@ +# @elizaos/plugin-llama + +Core LLaMA plugin for Eliza OS that provides local Large Language Model capabilities. + +## Overview + +The LLaMA plugin serves as a foundational component of Eliza OS, providing local LLM capabilities using LLaMA models. It enables efficient and customizable text generation with both CPU and GPU support. + +## Features + +- **Local LLM Support**: Run LLaMA models locally +- **GPU Acceleration**: CUDA support for faster inference +- **Flexible Configuration**: Customizable parameters for text generation +- **Message Queuing**: Efficient handling of multiple requests +- **Automatic Model Management**: Download and verification systems + +## Installation + +```bash +npm install @elizaos/plugin-llama +``` + +## Configuration + +The plugin can be configured through environment variables: + +### Core Settings + +```env +LLAMALOCAL_PATH=your_model_storage_path +OLLAMA_MODEL=optional_ollama_model_name +``` + +## Usage + +```typescript +import { createLlamaPlugin } from "@elizaos/plugin-llama"; + +// Initialize the plugin +const llamaPlugin = createLlamaPlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(llamaPlugin); +``` + +## Services + +### LlamaService + +Provides local LLM capabilities using LLaMA models. + +#### Technical Details + +- **Model**: Hermes-3-Llama-3.1-8B (8-bit quantized) +- **Source**: Hugging Face (NousResearch/Hermes-3-Llama-3.1-8B-GGUF) +- **Context Size**: 8192 tokens +- **Inference**: CPU and GPU (CUDA) support + +#### Features + +1. **Text Generation** + - Completion-style inference + - Temperature control + - Stop token configuration + - Frequency and presence penalties + - Maximum token limit control + +2. **Model Management** + - Automatic model downloading + - Model file verification + - Automatic retry on initialization failures + - GPU detection for acceleration + +3. **Performance** + - Message queuing system + - CUDA acceleration when available + - Configurable context size + +## Troubleshooting + +### Common Issues + +1. **Model Initialization Failures** + +```bash +Error: Model initialization failed +``` + +- Verify model file exists and is not corrupted +- Check available system memory +- Ensure CUDA is properly configured (if using GPU) + +2. **Performance Issues** + +```bash +Warning: No CUDA detected - local response will be slow +``` + +- Verify CUDA installation if using GPU +- Check system resources +- Consider reducing context size + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-llama:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- Minimum 8GB RAM recommended +- CUDA-compatible GPU (optional, for acceleration) +- Sufficient storage for model files + +### Performance Optimization + +1. **Model Selection** + - Choose appropriate model size + - Use quantized versions when possible + - Balance quality vs speed + +2. **Resource Management** + - Monitor memory usage + - Configure appropriate context size + - Optimize batch processing + +3. **GPU Utilization** + - Enable CUDA when available + - Monitor GPU memory + - Balance CPU/GPU workload + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Credits + +This plugin integrates with and builds upon: + +- [LLaMA](https://github.com/facebookresearch/llama) - Base language model +- [node-llama-cpp](https://github.com/withcatai/node-llama-cpp) - Node.js bindings +- [GGUF](https://github.com/ggerganov/ggml) - Model format + +Special thanks to: + +- The LLaMA community for model development +- The Node.js community for tooling support +- The Eliza community for testing and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/massa.md b/docs/packages/plugins/massa.md new file mode 100644 index 00000000000..05bb5d0f16f --- /dev/null +++ b/docs/packages/plugins/massa.md @@ -0,0 +1,16 @@ +# Massa Plugin + +## Overview + +This plugin aims to be the basis of all interactions with the Massa ecosystem. + +## Adding a new action + +Reuse providers and utilities from the existing actions where possible. Add more utilities if you think they will be useful for other actions. + +1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. +2. Export the action in the `index.ts` file. + + +## MASSA documentation +[https://docs.massa.net/](https://docs.massa.net/) \ No newline at end of file diff --git a/docs/packages/plugins/merkle-eliza-plugin.md b/docs/packages/plugins/merkle-eliza-plugin.md new file mode 100644 index 00000000000..baa37275ed5 --- /dev/null +++ b/docs/packages/plugins/merkle-eliza-plugin.md @@ -0,0 +1,72 @@ +# MerkleTrade Plugin for Eliza + +This plugin is a sample plugin for interacting with MerkleTrade within the elizaOS ecosystem. + +## Configuration + +The plugin requires the following environment variables to be set: + +Merkle Configuration + +```env +MERKLE_TRADE_NETWORK= # Must be one of mainnet, testnet +MERKLE_TRADE_APTOS_PRIVATE_KEY= # Aptos private key +``` + +### Installation + +```json +{ + "plugins": ["@elizaos/plugin-merkle"] +} +``` + +## Usage + +### Example + +```bash +// The plugin responds to natural language like: + +You: "Open a BTC Long position on the Merkle Trade platform with 1000 pay and 10 leverage." +Agent: "Successfully market order BTC with 1000 pay and 10 leverage, Transaction: 0x104af5d1a786a2e1a4721a721b2cfccc7e15fa41eec15a489ba1768790adb523" +``` + +## Actions + +- OPEN_ORDER +- GET_PRICE +- GET_POSITION +- GET_ORDER +- GET_BALANCE +- FULLY_CLOSE_POSITION + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm build +``` + +## Dependencies + +- @elizaos/core: v0.1.9 +- @merkletrade/ts-sdk: ^v1.0.0 +- @aptos-labs/ts-sdk: ^v1.26.0 +- node-cache: 5.1.2 + +For more information: + +- [Merkle Documentation](https://docs.merkle.trade/) +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) diff --git a/docs/packages/plugins/merkle.md b/docs/packages/plugins/merkle.md new file mode 100644 index 00000000000..baa37275ed5 --- /dev/null +++ b/docs/packages/plugins/merkle.md @@ -0,0 +1,72 @@ +# MerkleTrade Plugin for Eliza + +This plugin is a sample plugin for interacting with MerkleTrade within the elizaOS ecosystem. + +## Configuration + +The plugin requires the following environment variables to be set: + +Merkle Configuration + +```env +MERKLE_TRADE_NETWORK= # Must be one of mainnet, testnet +MERKLE_TRADE_APTOS_PRIVATE_KEY= # Aptos private key +``` + +### Installation + +```json +{ + "plugins": ["@elizaos/plugin-merkle"] +} +``` + +## Usage + +### Example + +```bash +// The plugin responds to natural language like: + +You: "Open a BTC Long position on the Merkle Trade platform with 1000 pay and 10 leverage." +Agent: "Successfully market order BTC with 1000 pay and 10 leverage, Transaction: 0x104af5d1a786a2e1a4721a721b2cfccc7e15fa41eec15a489ba1768790adb523" +``` + +## Actions + +- OPEN_ORDER +- GET_PRICE +- GET_POSITION +- GET_ORDER +- GET_BALANCE +- FULLY_CLOSE_POSITION + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm build +``` + +## Dependencies + +- @elizaos/core: v0.1.9 +- @merkletrade/ts-sdk: ^v1.0.0 +- @aptos-labs/ts-sdk: ^v1.26.0 +- node-cache: 5.1.2 + +For more information: + +- [Merkle Documentation](https://docs.merkle.trade/) +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) diff --git a/docs/packages/plugins/messari-ai-toolkit.md b/docs/packages/plugins/messari-ai-toolkit.md new file mode 100644 index 00000000000..0d5ced7b50e --- /dev/null +++ b/docs/packages/plugins/messari-ai-toolkit.md @@ -0,0 +1,129 @@ +# @elizaos/plugin-messari-ai-toolkit + +A powerful Eliza OS plugin that integrates Messari's AI Toolkit to provide advanced crypto market research capabilities to your Eliza agent. + +## Overview + +This plugin connects your Eliza agent to Messari's comprehensive AI-powered APIs, enabling sophisticated crypto research and market analysis capabilities. It intelligently detects and processes research questions from conversations, leveraging Messari's proprietary data and expertise. + +## Demo + +https://github.com/messari/plugin-messari-ai-toolkit/blob/master/.github/assets/eliza-tutorial.mp4 + +## Features + +- Seamless integration with Messari's AI-Toolkit `/chat/completions` API +- Intelligent detection of crypto-related research questions +- Real-time market data and asset metrics analysis +- Access to consolidated news summarizations +- Asset due diligence insights +- Fundraising and investment data visualization capabilities + +## Usage Guide + +### Setup + +1. First, clone either: + - The main Eliza repository: [github.com/elizaOS/eliza](https://github.com/elizaOS/eliza) + - OR the Eliza starter repository: [github.com/elizaOS/eliza-starter](https://github.com/elizaOS/eliza-starter) + +2. Install dependencies and build the project: + ```bash + pnpm install + pnpm build + ``` + +### Installing the Messari Plugin + +Depending on which repository you cloned, use one of the following commands: + +**For Main Eliza Repository:** +```bash +pnpm --filter agent add github:messari/plugin-messari-ai-toolkit +``` + +**For Eliza Starter:** +```bash +pnpm add github:messari/plugin-messari-ai-toolkit +``` + +> Note: For the latest plugin mappings and compatibility information, refer to the [eliza-plugins registry](https://github.com/elizaos-plugins/registry/blob/645ba61508a7404c5b890f47e43c005448592510/index.json#L60). + +to use, import into `agent/index.ts` and add as a plugin + + +## Configuration + +To use this plugin, you'll need a Messari API key. The Messari AI Toolkit is an enterprise product that requires: + +1. An Enterprise (ENT) subscription +2. Purchase of the AI Toolkit service package + credits +3. API key generation + +### Enterprise Access + +The AI Toolkit subscription includes access to Messari's base package: +- Asset API +- News API +- Marketdata API + +### Getting an API Key + +1. Subscribe to Messari Enterprise +2. Purchase the AI Toolkit package +3. Visit [Messari Account Settings](https://messari.io/account/api) to generate your API key +4. Use the API key in your configuration + +### API Endpoints + +The Toolkit endpoints are accessible at `api.messari.io/ai`. For detailed API documentation, visit the [Messari Developer Docs](https://docs.messari.io/reference/chat-completion). + +## Usage + +1. Import and register the plugin with your Eliza agent +2. Configure your API key +3. Start asking crypto-related questions! + +The plugin will automatically detect relevant research questions and query Messari's AI Toolkit for comprehensive answers. + +## About Messari AI Toolkit + +Messari's AI Toolkit is an enterprise-grade suite of AI-powered APIs designed specifically for the crypto ecosystem. It provides: + +- Crypto-aware completions endpoint (OpenAI-compatible) +- Asset extraction on arbitrary documents +- Direct access to underlying agents +- News recaps and summarizations +- Deep understanding of crypto-specific terminology and context +- Real-time market data analysis + +## Use Cases + +- Market trend analysis with real-time data +- Automated crypto research and report generation +- News summarization across multiple sources +- Asset due diligence with Enterprise Diligence Reports +- Fundraising and investment data visualization +- Asset extraction and classification for document contextualization + +## Security + +This plugin requires secure handling of Messari API keys. Never expose your API key in your code or version control system. + +## Performance Considerations + +The plugin may introduce additional latency due to API calls. Consider implementing appropriate caching and error handling strategies in production environments. + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +MIT + +## Support + +For questions about API access and testing, contact bijan.massoumi@messari.io. + +For technical support with the plugin, please open an issue in the repository. diff --git a/docs/packages/plugins/mina.md b/docs/packages/plugins/mina.md new file mode 100644 index 00000000000..4ece7dd9c0c --- /dev/null +++ b/docs/packages/plugins/mina.md @@ -0,0 +1,139 @@ +# @elizaos/plugin-mina + +Core Mina blockchain plugin for Eliza OS that provides essential services and actions for token operations and wallet management. + +## Overview + +This plugin provides functionality to: + +- Transfer MINA tokens between wallets +- Query wallet balances and portfolio values +- Track token prices and valuations +- Manage wallet interactions with the Mina network +- Cache token prices for performance optimization +- Get faucet tokens for testing purposes +- Get balances for wallets + +## Installation + +```bash +npm install @elizaos/plugin-mina +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +MINA_PRIVATE_KEY=your_private_key +MINA_NETWORK=mainnet|devnet +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { minaPlugin } from "@elizaos/plugin-mina"; + +export default { + plugins: [minaPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer MINA tokens to another address: + +```typescript +// Example conversation +User: "Send 1 MINA to B62qkGSBuLmqYApYoWTmAzUtwFVx6Fe9ZStJVPzCwLjWZ5NQDYTiqEU"; +Assistant: "I'll send 1 MINA token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 299 MINA ($150 USD)..."; +``` + +## Get Faucet Tokens + +Request faucet tokens for testing: + +```typescript +// Example conversation +User: "Get faucet to B62qqLnFfhYvMkFD2nUeLX1bCHtDQH3edRVtvENtwAfn2KTCFxYRjtM"; +Assistant: "I'll send you some faucet tokens..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer MINA tokens to another address +- `TRANSFER_TOKEN`: Alias for SEND_TOKEN +- `SEND_MINA`: Alias for SEND_TOKEN +- `PAY`: Alias for SEND_TOKEN +- `FAUCET`: Request faucet tokens for testing +- `BALANCE`: Query wallet balance + +### Providers + +- `walletProvider`: Manages wallet interactions with the Mina network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `o1js`: Core Mina blockchain interaction library +- `node-cache`: Caching implementation +- Other standard dependencies listed in package.json + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Mina Blockchain](https://minaprotocol.com/): The ZK blockchain for a secure, private and verifiable internet. +- [o1js](https://www.npmjs.com/package/o1js): Official Mina SDK for building zkApps. +- [node-cache](https://www.npmjs.com/package/node-cache): Caching implementation + +Special thanks to: + +- The Mina team for developing Mina +- The Mina Developer community +- The o1Labs team for Mina SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Mina blockchain capabilities: + +- [Mina Documentation](https://docs.minaprotocol.com/) +- [Mina Network Dashboard](https://minascan.io/) +- [Mina GitHub Repository](https://github.com/MinaProtocol/mina) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/mind-network.md b/docs/packages/plugins/mind-network.md new file mode 100644 index 00000000000..d5364de62b7 --- /dev/null +++ b/docs/packages/plugins/mind-network.md @@ -0,0 +1,118 @@ +# @elizaos/plugin-mind-network + +A plugin for interacting with [Mind Network Hubs](https://dapp.mindnetwork.xyz/votetoearn/voteonhubs/) within the [Eliza ecosystem](https://elizaos.github.io/eliza/). [CitizenZ](https://www.mindnetwork.xyz/citizenz) and broader communities can secure trust their agents operation and decisioning. + +## Overview + +The [Mind Network](https://www.mindnetwork.xyz/) plugin empowers users to participate in secure, privacy-preserving voting on the Mind Network. Leveraging [Fully Homomorphic Encryption (FHE)](https://docs.mindnetwork.xyz/minddocs/developer-guide/fhe-validation), it ensures encrypted votes while allowing users to track rewards earned for their participation. Designed for seamless integration with the [Eliza AI agent](https://elizaos.github.io/), this plugin enables interactive and guided actions for an enhanced user experience. + +## Features +- **Web3 Wallet:** contribute eliza agent interaction with enriched web3 wallet functionality. Both Metamask and OKX web3 wallets have been tested and more to come. +- **Voter Registration:** Join the Mind Network's Randgen Hub and other hubs to participate in secure voting, validation and consensus. +- **FHE Encryption:** Safeguard vote content using Fully Homomorphic Encryption. The key difference is encryption key is never shared but still be able to run computation over encrypted data. +- **Submit Encrypted Votes:** Cast votes in Mind Network Hubs elections without compromising data privacy. So AI Agents can get consensus over collective predictions, inference and serving. +- **Reward Tracking:** Monitor your vFHE rewards earned through voting contributions. + +## Installation + +Dependency for the plugin: +- [mind-randgen-sdk](https://github.com/mind-network/mind-sdk-randgen-ts) +- [mind-sdk-hubs](https://github.com/mind-network/mind-sdk-hubs-ts) +- [elizaos](https://github.com/elizaOS/eliza) + +To install the plugin, use the following command: + +```bash +pnpm install @elizaos/plugin-mind-network +``` + +## Configuration + +Before using the plugin, configure the necessary environment variables: + +```bash +MIND_HOT_WALLET_PRIVATE_KEY= +MIND_COLD_WALLET_ADDRESS= +``` + +## API Reference + +### Actions + +The plugin provides several key actions to interact with the Mind Network: + +#### **MIND_REGISTER_VOTER** + +Registers the user as a voter in the Mind Network's Randgen Hub. The hub is live and accessible at [Randgen Hub](https://dapp.mindnetwork.xyz/votetoearn/voteonhubs/3). You can participant or create more function hubs in Mind Network for your eliza agents. + +**Prompt Example:** +```text +"Register me as a voter in Mind Network." +``` +**Response:** Confirmation of successful voter registration. + +#### **MIND_CHECK_VOTING_REWARD** + +Retrieves the amount of vFHE rewards earned through voting. + +**Prompt Example:** +```text +"How much reward have I earned in Mind Network?" +``` +**Response:** Total vFHE rewards earned. + +#### **MIND_FHE_ENCRYPT** + +Encrypts a user-provided number using Fully Homomorphic Encryption (FHE). + +**Prompt Example:** +```text +"Encrypt the number 88 for voting." +``` +**Response:** A secure URL containing the encrypted number. + +#### **MIND_FHE_VOTE** + +Submits an encrypted vote to the Mind Network's Randgen Hub. + +**Prompt Example:** +```text +"Submit my encrypted vote to Mind Network." +``` +**Response:** Confirmation of successful vote submission. + +## Usage Examples + +### Conversational AI Interaction + +The plugin integrates seamlessly with ElizaOS characters, enabling intuitive and guided interactions. Below is a sample conversation: + +```text +user: Can you help me to register as a voter in Mind Network? +character_trump: LET'S GET YOU REGISTERED TO VOTE IN THE MIND NETWORK! I'll take care of that for you right now. (EVERY VOTE COUNTS!) +character_trump: You have registered successfully. + +user: I want to check my Mind Network voting reward. +character_trump: TIME TO CHECK THOSE VOTING REWARDS AGAIN! Let's see how much you've earned in the Mind Network. (THE AMERICAN PEOPLE DESERVE TO KNOW!) +character_trump: Your voting reward amount is 10.0 vFHE. + +user: I want to encrypt 88 with FHE for Mind Network voting. +character_trump: LET'S GET THAT NUMBER ENCRYPTED FOR YOUR VOTING! I'll encrypt 88 with FHE for you. (WE'RE KEEPING THINGS SECURE AND STRONG!) +character_trump: Encryption is successful. Your encrypted number is available: https://fvno-tn.mindnetwork.xyz/0xb0edc92ec05309711c6ede0641f672715f5b144a4757b7ba51666468d2f7f65d. It is safe to share as no body can decrypt but can run computation to get another encrypted number. + +user: I want to submit my vote to Mind Network. +character_trump: TIME TO CAST THAT VOTE IN THE MIND NETWORK! I'll submit your vote right now. (WE'RE MAKING HISTORY TOGETHER!) +character_trump: Your vote has been submitted successfully. +``` + +### Real Deployment Screenshot + +![Usage Screenshot](https://cdn.prod.website-files.com/66505f7fdc6935a2b4246635/678a08616d0a697e355261f5_elizaOS.avif) + +## Contributing & License + +This plugin is part of the [Eliza project](https://github.com/elizaos/eliza). For details on contributing and licensing, please refer to the main project repository. [Mind Network](https://www.mindnetwork.xyz/) welcomes contribution and collaboration. + +## Support + +If you have any queries, please feel free to contact Mind Team via [Discord](https://discord.com/invite/UYj94MJdGJ) or [Twitter](https://x.com/mindnetwork_xyz). diff --git a/docs/packages/plugins/moralis.md b/docs/packages/plugins/moralis.md new file mode 100644 index 00000000000..13b324c5924 --- /dev/null +++ b/docs/packages/plugins/moralis.md @@ -0,0 +1,140 @@ +# @elizaos/plugin-moralis + +A plugin for interacting with Moralis APIs to fetch various blockchain data across different chains. + +## Description + +The Plugin Moralis provides interfaces to fetch real-time DeFi data including trading pairs, pair statistics, and price history. Currently supports Solana chain endpoints. + +## Installation + +```bash +pnpm install @elizaos/plugin-moralis +``` + +## Configuration + +Set up your environment with the required Moralis API key: + +| Variable Name | Description | +| ----------------- | -------------------- | +| `MORALIS_API_KEY` | Your Moralis API key | + +## Usage + +```typescript +import { moralisPlugin } from "@elizaos/plugin-moralis"; + +// Initialize the plugin +const plugin = moralisPlugin; +``` + +## Actions + +### GET_SOLANA_TOKEN_PAIRS + +Fetches all trading pairs for a specific token on Solana blockchain. + +Examples: + +- "Get all Solana trading pairs for token So11111111111111111111111111111111111111112" +- "Show me Solana pairs for USDC token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" + +Response includes: + +- Exchange information (name, address) +- Pair details (label, address) +- Price and volume data +- Liquidity information + +### GET_SOLANA_PAIR_STATS + +Fetches detailed statistics for a specific trading pair on Solana blockchain. + +Examples: + +- "Get stats for Solana pair A8nPhpCJqtqHdqUk35Uj9Hy2YsGXFkCZGuNwvkD3k7VC" +- "Show me details of Solana trading pair 83v8iPyZihDEjDdY8RdZddyZNyUtXngz69Lgo9Kt5d6d" + +Response includes: + +- Current price and liquidity +- Price changes over multiple timeframes +- Volume statistics +- Buy/Sell ratios +- Unique traders count + +### GET_SOLANA_TOKEN_STATS + +Fetches aggregated statistics across all pairs for a specific token on Solana blockchain. + +Examples: + +- "Get aggregated stats for Solana token SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt" +- "Show me overall trading metrics for all pairs of token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" + +Response includes: + +- Total liquidity across all pairs +- Number of active pairs and DEXes +- Combined volume statistics +- Total trader activity +- Buy/Sell volume breakdowns + +### GET_SOLANA_PAIR_OHLCV + +Fetches price history (OHLCV) data for a specific trading pair on Solana blockchain. + +Examples: + +- "Get hourly candlestick prices for Solana pair A8nPhpCJqtqHdqUk35Uj9Hy2YsGXFkCZGuNwvkD3k7VC" +- "Show me last 15 candles for Solana pair 83v8iPyZihDEjDdY8RdZddyZNyUtXngz69Lgo9Kt5d6d" + +Supports: + +- Multiple timeframes (1h, 15m, etc.) +- Custom date ranges +- Price data in different currencies + +### GET_SOLANA_TOKEN_PRICE + +Fetches current token price from the main liquidity source. + +Examples: + +- "Get current price of Solana token 6Rwcmkz9yiYVM5EzyMcr4JsQPGEAWhcUvLvfBperYnUt" +- "What's the current price for BONK?" + +Returns: + +- USD price +- Native price (e.g., in SOL) +- Exchange name and address + +### GET_SOLANA_TOKEN_METADATA + +- Fetches comprehensive token metadata including supply and valuation metrics. + +Examples: + +- "What's the FDV and supply for SRM token?" +- "Show me metadata for BONK token" + +Returns: + +- Token name and symbol +- Contract address +- Total supply (raw and formatted) +- Fully Diluted Valuation (FDV) +- Token standard and decimals +- Metaplex-specific details + +## Usage Tips + +1. Always specify "Solana" in requests to ensure correct chain selection +2. Use complete token/pair addresses for accurate results +3. For OHLCV data, specify timeframe and date range for precise results + +## License + +MIT diff --git a/docs/packages/plugins/movement.md b/docs/packages/plugins/movement.md new file mode 100644 index 00000000000..cecd6fee599 --- /dev/null +++ b/docs/packages/plugins/movement.md @@ -0,0 +1,43 @@ +# @elizaos/plugin-movement + +Movement Network plugin for Eliza OS. This plugin enables Movement Network blockchain functionality for your Eliza agent. + +## Features + +- Send MOVE tokens +- Check wallet balances +- Support for Movement Network transactions + +## Installation + +```bash +pnpm add @elizaos/plugin-movement +``` + +## Instructions + +1. First, ensure you have a Movement Network wallet and private key. + +2. Add the Movement plugin to your character's configuration: + +```json +{ +"name": "Movement Agent", +"plugins": ["@elizaos/plugin-movement"], +"settings": { +"secrets": { +"MOVEMENT_PRIVATE_KEY": "your_private_key_here", +"MOVEMENT_NETWORK": "bardock" +} +} +} +``` + +Set up your environment variables in the `.env` file: + +```bash +MOVEMENT_PRIVATE_KEY=your_private_key_here +MOVEMENT_NETWORK=bardock +``` + + diff --git a/docs/packages/plugins/multichain.md b/docs/packages/plugins/multichain.md new file mode 100644 index 00000000000..808e386256b --- /dev/null +++ b/docs/packages/plugins/multichain.md @@ -0,0 +1,228 @@ +# @elizaos/plugin-multichain + +Cross-chain integration plugin for Eliza OS that enables seamless token transfers and swaps across multiple blockchain networks using Chain Signatures and NEAR Intents technologies. + +## Overview + +This plugin serves as a unified interface for cross-chain interactions, allowing seamless token transfers and swaps across major blockchain networks. It leverages Chain Signatures and NEAR Intents for secure multi-chain transactions and cross-chain token swap. + +## Features + +- Cross-chain token transfers +- Multi-chain token swaps +- Support for major blockchain networks: + - Bitcoin + - Ethereum and EVM chains: + - Polygon + - BNB Chain + - Avalanche + - Arbitrum + - Optimism + - Cosmos ecosystem (coming soon) +- Chain Signatures integration +- NEAR Intents for optimized execution +- Portfolio tracking across chains (coming soon) +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-multichain +``` + +## Configuration + +The plugin requires environment variables for each supported chain: + +```env +# NEAR Configuration (for Chain Signatures and Intents) +NEAR_WALLET_SECRET_KEY=your-near-private-key +NEAR_ADDRESS=your-account.near +NEAR_NETWORK=mainnet +NEAR_RPC_URL=https://rpc.mainnet.near.org + +# Ethereum Configuration +ETH_RPC_URL=your-eth-rpc-url + +# EVM Chain Configurations +POLYGON_RPC_URL=your-polygon-rpc-url +BSC_RPC_URL=your-bsc-rpc-url +AVAX_RPC_URL=your-avax-rpc-url +ARBITRUM_RPC_URL=your-arbitrum-rpc-url +OPTIMISM_RPC_URL=your-optimism-rpc-url + +# Global Settings +DEFAULT_SLIPPAGE=0.01 # 1% slippage tolerance +``` + +## Usage + +### Multi-Chain Transfer + +```typescript +import { multichainPlugin } from "@elizaos/plugin-multichain"; + +// Transfer tokens across chains +const result = await eliza.execute({ + action: "MULTI_CHAIN_TRANSFER", + content: { + chain: "BTC", + networkId: "testnet", + token: null, // Native BTC + amount: "0.1", + recipient: "tb1qmw3xw3y8jtm4054w02kfz58tmf6pcse02twrh8" + }, +}); +``` + +### Cross-Chain Swap + +```typescript +const result = await eliza.execute({ + action: "CROSS_CHAIN_SWAP", + content: { + sourceChain: "ETH", + targetChain: "COSMOS", + inputToken: "ETH", + outputToken: "ATOM", + amount: "1.0", + recipient: "cosmos1..." + }, +}); +``` + +## API Reference + +### Actions + +#### `MULTI_CHAIN_TRANSFER` + +Transfers tokens on multiple chains with a single account + +```typescript +{ + action: 'MULTI_CHAIN_TRANSFER', + content: { + chain: string, // The blockchain (e.g., "BTC", "ETH", "COSMOS") + networkId: string, // The network of the blockchain (e.g. "mainnet", "testnet") + token: string, // Token to transfer + amount: string, // Amount to transfer + recipient: string // Recipient address on target chain + } +} +``` + +#### `CROSS_CHAIN_SWAP` + +Executes a token swap across different chains. + +```typescript +{ + action: 'CROSS_CHAIN_SWAP', + content: { + sourceChain: string, // Source blockchain + targetChain: string, // Target blockchain + inputToken: string, // Input token symbol + outputToken: string, // Output token symbol + amount: string, // Amount to swap + recipient: string, // Recipient address + slippage?: number // Optional: slippage tolerance + } +} +``` + +### Providers + +#### MultiChain Provider + +Provides cross-chain portfolio tracking and network status. + +```typescript +const portfolioInfo = await eliza.getProvider("multichain"); +// Returns consolidated portfolio including: +// - Balances across all chains +// - USD values +// - Network status +``` + +## Troubleshooting + +### Common Issues + +1. **Cross-Chain Transaction Failures** + - Verify sufficient gas/fees on source chain + - Check Bitcoin UTXO availability + - Confirm bridge/protocol liquidity + - Monitor transaction status on both chains + +2. **Network Issues** + - Verify RPC endpoints + - Check network congestion + - Monitor bridge status + - Ensure chain signatures are valid + +3. **Swap Issues** + - Verify token pair liquidity + - Check price impact + - Monitor slippage + - Confirm route availability + +## Security Best Practices + +1. **Key Management** + - Secure storage of private keys + - Regular key rotation + - Multi-signature support + - Activity monitoring + +2. **Transaction Safety** + - Input validation + - Amount limits + - Address verification + - Transaction simulation + +3. **Network Security** + - Secure RPC endpoints + - Fallback providers + - Rate limiting + - Chain signature verification + +## Testing + +```bash +pnpm test +``` + +Development mode: + +```bash +pnpm test:watch +``` + +## Dependencies + +- multichain-tools: ^4.0.0 +- near-api-js: ^5.0.1 +- bignumber.js: ^9.1.2 +- node-cache: ^5.1.2 + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. + +## Credits + +This plugin integrates with multiple blockchain networks and their respective technologies: + +- Bitcoin Network +- Ethereum and EVM-compatible chains +- NEAR Protocol (Chain Signatures and NEAR Intents) + +Special thanks to: +- The NEAR Protocol team for developing the NEAR blockchain and Chain Signatures +- The Aurora team for developing the NEAR Intents +- The Eliza community for their contributions and feedback. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/multiversx.md b/docs/packages/plugins/multiversx.md new file mode 100644 index 00000000000..76454a8477b --- /dev/null +++ b/docs/packages/plugins/multiversx.md @@ -0,0 +1,214 @@ +# @elizaos/plugin-multiversx + +MultiversX blockchain integration plugin for Eliza OS that enables token management and transfers. + +## Overview + +This plugin aims to be the basis of all interactions with the MultiversX ecosystem. + +## Features + +- EGLD and ESDT token transfers +- Token creation and management +- Multiple network support (mainnet, devnet, testnet) +- Secure transaction signing +- Automatic nonce management +- Transaction status tracking +- Built-in denomination handling +- Comprehensive error handling + +## Adding a new action + +Reuse providers and utilities from the existing actions where possible. Add more utilities if you think they will be useful for other actions. + +1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. +2. Export the action in the `index.ts` file. + +## Installation + +```bash +pnpm install @elizaos/plugin-multiversx +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +MVX_PRIVATE_KEY=your-wallet-private-key +MVX_NETWORK=devnet # mainnet, devnet, or testnet +ACCESS_TOKEN_MANAGEMENT_TO=everyone # you can put an userid to limit token managament to one user only (use same id as in the database) +``` + +## Usage + +### Token Transfer + +```typescript +import { multiversxPlugin } from "@elizaos/plugin-multiversx"; + +// Send EGLD +const result = await eliza.execute({ + action: "SEND_TOKEN", + content: { + tokenAddress: "erd1...", + amount: "1", + tokenIdentifier: "EGLD", + }, +}); + +// Send ESDT +const result = await eliza.execute({ + action: "SEND_TOKEN", + content: { + tokenAddress: "erd1...", + amount: "100", + tokenIdentifier: "TEST-a1b2c3", + }, +}); +``` + +### Token Creation + +```typescript +const result = await eliza.execute({ + action: "CREATE_TOKEN", + content: { + tokenName: "TestToken", + tokenTicker: "TEST", + decimals: "18", + amount: "1000000", + }, +}); +``` + +### Token Swap + +```typescript +const result = await eliza.execute({ + action: "SWAP", + content: { + tokenIn: "EGLD", + amountIn: "1", + tokenOut: "MEX" + }, +}); +``` + +### Pool Creation + +```typescript +const result = await eliza.execute({ + action: "CREATE_POOL", + content: { + baseTokenID: "KWAK", + quoteTokenID: "EGLD", + baseAmount: "1000000", + quoteAmount: "20" + }, +}); +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + + - Verify wallet has sufficient balance + - Check network configuration matches intended network + - Ensure correct token identifiers + - Verify recipient address format + +2. **Configuration Problems** + + - Validate private key format + - Check network selection is valid + - Ensure environment variables are properly set + - Verify wallet permissions for token operations + +3. **Token Creation Issues** + + - Check token name and ticker format + - Verify EGLD balance for issuance fee + - Ensure unique token identifiers + - Monitor transaction status + +4. **Network Connectivity** + - Verify network endpoint availability + - Check API rate limits + - Monitor network status + - Ensure proper network selection + +## Security Best Practices + +1. **Key Management** + + - Never expose private keys in code + - Use environment variables for sensitive data + - Implement key rotation policies + - Monitor wallet activity + +2. **Transaction Safety** + + - Validate all transaction parameters + - Implement transaction limits + - Use proper denomination handling + - Double-check recipient addresses + +3. **Network Security** + + - Use secure network connections + - Implement retry mechanisms + - Monitor for suspicious activity + - Keep dependencies updated + +4. **Error Handling** + - Implement comprehensive error logging + - Handle network timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +Watch mode for development: + +```bash +pnpm test:watch +``` + +## Dependencies + +- @multiversx/sdk-core: ^13.15.0 +- bignumber.js: ^9.1.2 +- tsup: ^8.3.5 +- vitest: ^2.1.5 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](https://github.com/elizaOS/eliza/blob/main/CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with the [MultiversX blockchain](https://multiversx.com/) using their official SDK. + +Special thanks to: + +- The MultiversX team for developing the MultiversX blockchain +- The Eliza community for their contributions and feedback. + +For more information about MultiversX blockchain capabilities: + +- [MultiversX Documentation](https://docs.multiversx.com/) +- [MultiversX Developer Portal](https://docs.multiversx.com/developers/getting-started/introduction) +- [MultiversX GitHub Repository](https://github.com/multiversx/mx-sdk-js) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/near.md b/docs/packages/plugins/near.md new file mode 100644 index 00000000000..b4b6c021462 --- /dev/null +++ b/docs/packages/plugins/near.md @@ -0,0 +1,222 @@ +# @elizaos/plugin-near + +NEAR Protocol integration plugin for Eliza OS that enables token management, transfers, and swaps using Ref Finance. + +## Overview + +This plugin aims to be the basis of all interactions with the NEAR ecosystem, providing seamless integration with NEAR Protocol and Ref Finance DEX. + +## Features + +- NEAR token transfers +- Token swaps via Ref Finance +- Multiple network support (mainnet, testnet) +- Secure transaction signing +- Automatic storage deposit handling +- Real-time price feeds +- Portfolio tracking and management +- Smart routing for optimal swaps +- Built-in denomination handling +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-near +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +NEAR_WALLET_SECRET_KEY=your-wallet-private-key +NEAR_WALLET_PUBLIC_KEY=your-wallet-public-key +NEAR_ADDRESS=your-account.near +NEAR_NETWORK=testnet # mainnet or testnet +NEAR_RPC_URL=https://neart.lava.build +NEAR_SLIPPAGE=0.01 # 1% slippage tolerance +``` + +## Usage + +### Token Transfer + +```typescript +import { nearPlugin } from "@elizaos/plugin-near"; + +// Send NEAR +const result = await eliza.execute({ + action: "SEND_NEAR", + content: { + recipient: "bob.near", + amount: "1.5", + }, +}); +``` + +### Token Swap + +```typescript +const result = await eliza.execute({ + action: "EXECUTE_SWAP_NEAR", + content: { + inputTokenId: "wrap.near", + outputTokenId: "token.v2.ref-finance.near", + amount: "10", + }, +}); +``` + +## API Reference + +### Actions + +#### `SEND_NEAR` + +Transfers NEAR tokens to another account. + +```typescript +{ + action: 'SEND_NEAR', + content: { + recipient: string, // Recipient's NEAR account (e.g., "bob.near") + amount: string, // Amount to send (in NEAR) + tokenAddress?: string // Optional: for NEP-141 tokens + } +} +``` + +#### `EXECUTE_SWAP_NEAR` + +Executes a token swap using Ref Finance. + +```typescript +{ + action: 'EXECUTE_SWAP_NEAR', + content: { + inputTokenId: string, // Input token contract (e.g., "wrap.near") + outputTokenId: string, // Output token contract + amount: string, // Amount to swap + slippageTolerance?: number // Optional: default from config + } +} +``` + +### Providers + +#### Wallet Provider + +Provides wallet information and portfolio tracking. + +```typescript +const walletInfo = await eliza.getProvider("wallet"); +// Returns formatted portfolio including: +// - Account balance +// - Token balances +// - USD values +// - Market prices +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + + - Check account balance + - Verify storage deposits + - Ensure sufficient gas + - Confirm slippage tolerance + +2. **Connection Problems** + + - Verify RPC endpoint + - Check network selection + - Ensure valid credentials + - Monitor API rate limits + +3. **Swap Issues** + - Verify token pairs exist + - Check liquidity pools + - Confirm price impact + - Monitor slippage settings + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Implement key rotation + - Monitor account activity + +2. **Transaction Safety** + + - Validate all inputs + - Implement amount limits + - Double-check recipients + - Monitor transaction status + +3. **Network Security** + + - Use secure RPC endpoints + - Implement retry mechanisms + - Monitor for suspicious activity + - Keep dependencies updated + +4. **Error Handling** + - Log all transaction attempts + - Handle timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +Watch mode for development: + +```bash +pnpm test:watch +``` + +## Dependencies + +- near-api-js: ^5.0.1 +- @ref-finance/ref-sdk: ^1.4.6 +- bignumber.js: ^9.1.2 +- node-cache: ^5.1.2 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: + +- [NEAR Protocol](https://near.org/) +- [Ref Finance](https://ref.finance/) +- Official NEAR JavaScript API and SDKs + +Special thanks to: + +- The NEAR Protocol team for developing the NEAR blockchain +- The Ref Finance team for developing the Ref Finance DEX +- The Eliza community for their contributions and feedback. + +For more information about NEAR blockchain capabilities: + +- [NEAR Documentation](https://docs.near.org/) +- [NEAR Developer Portal](https://near.org/developers) +- [NEAR Network Dashboard](https://nearscan.io/) +- [NEAR GitHub Repository](https://github.com/nearprotocol/near-api-js) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/news.md b/docs/packages/plugins/news.md new file mode 100644 index 00000000000..f6f0786d916 --- /dev/null +++ b/docs/packages/plugins/news.md @@ -0,0 +1,171 @@ +# @elizaos/plugin-news + +A plugin for fetching and handling real-time news data through NewsAPI integration. + +## Overview + +This plugin provides functionality to: +- Fetch latest news articles from NewsAPI +- Search news by specific topics or keywords +- Get article summaries including titles, descriptions, and URLs +- Limit results to most recent and relevant content + +## Installation + +```bash +npm install @elizaos/plugin-news +``` + +## Configuration + +The plugin requires the following environment variable: + +```env +NEWS_API_KEY=your_newsapi_key # Required for accessing NewsAPI +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { newsPlugin } from "@elizaos/plugin-news"; + +export default { + plugins: [newsPlugin], + // ... other configuration +}; +``` + +## Features + +### Current News Action + +The plugin provides a `CURRENT_NEWS` action that responds to various news-related queries: + +```typescript +// Example queries the action responds to: +"what's the latest news about ?" +"can you show me the latest news about ?" +"what's in the news today?" +"show me current events about ?" +"what's going on in the world of ?" +"give me the latest headlines about ?" +"show me news updates about ?" +"what are today's top stories about ?" +``` + +The action returns up to 5 recent articles, including: +- Article title +- Description +- URL +- Content preview (up to 1000 characters) + +## Development + +### Building + +```bash +npm run build +``` + +### Development Mode + +```bash +npm run dev +``` + +### Linting + +```bash +npm run lint +``` + +### Project Structure + +``` +plugin-news/ +├── src/ +│ ├── actions/ # Action implementations +│ │ ├── news.ts # Current news action +│ │ └── index.ts # Action exports +│ └── index.ts # Main plugin export +├── package.json +└── tsconfig.json +``` + +## Dependencies + +- `@ai16z/eliza`: Core Eliza framework +- `tsup`: Build tool for TypeScript packages +- Other standard dependencies listed in package.json + +## API Reference + +### Actions + +- `CURRENT_NEWS`: Main action for fetching news + - Aliases: `["NEWS", "GET_NEWS", "GET_CURRENT_NEWS"]` + - Automatically extracts search terms from user messages + - Returns formatted news articles with titles, descriptions, and URLs + +### Response Format + +```typescript +interface NewsResponse { + title: string; + description: string; + url: string; + content: string; // Limited to 1000 characters +} +``` + +## Future Enhancements + +1. **Additional News Sources** + - Integration with multiple news APIs + - RSS feed support + - Social media news aggregation + +2. **Content Analysis** + - Sentiment analysis of news articles + - Topic categorization + - Trend detection + - Fact-checking integration + +3. **Customization Options** + - User preferences for news sources + - Custom filtering rules + - Personalized news feeds + - Language preferences + +4. **Advanced Search** + - Date range filtering + - Source filtering + - Category-based search + - Advanced query syntax + +5. **Performance Improvements** + - Caching layer + - Rate limiting optimization + - Response compression + - Batch processing + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [NewsAPI](https://newsapi.org/): News data provider + +Plugin generated from Eliza coding tutorial [Agent Dev School Part 2](https://www.youtube.com/watch?v=XenGeAcPAQo) diff --git a/docs/packages/plugins/nft-collections.md b/docs/packages/plugins/nft-collections.md new file mode 100644 index 00000000000..7a7303f91e1 --- /dev/null +++ b/docs/packages/plugins/nft-collections.md @@ -0,0 +1,1584 @@ +# NFT Collections Plugin + +A powerful plugin for interacting with NFT collections, providing comprehensive market data, social analytics, and trading capabilities through various APIs including Reservoir, CoinGecko, and more. While designed to work with any EVM NFT collection, the plugin includes special support for 420+ curated collections featured on ikigailabs.xyz. + +## Recent Improvements + +### Performance Optimizations + +- Implemented batch processing with configurable batch sizes for collection data +- Added parallel request handling with queue management +- Optimized caching with tiered expiration times for different data types +- Added LRU (Least Recently Used) cache with configurable size limits +- Implemented request prioritization for curated collections + +### Enhanced Error Handling + +- Added comprehensive error types and validation +- Implemented retry logic with exponential backoff +- Added detailed error tracking and reporting +- Improved error recovery mechanisms +- Added structured error logging + +### Rate Limiting & Security + +- Added advanced rate limiting with configurable thresholds +- Implemented queue-based request management +- Added per-service rate limiting +- Improved API key management and validation +- Added request validation and sanitization + +### Performance Monitoring + +- Added detailed performance metrics tracking +- Implemented alert system for performance issues +- Added periodic performance reporting +- Added latency, error rate, and throughput monitoring +- Implemented customizable alert thresholds + +### Data Validation + +- Added comprehensive schema validation using Zod +- Implemented strict type checking +- Added data sanitization utilities +- Added Ethereum address validation +- Added price and token ID validation + +## Features + +### Core Features (Reservoir Tools API) + +- Real-time NFT collection data and market stats +- Floor prices, volume, and market cap tracking +- Collection activity monitoring +- Token-level data and attributes +- Collection statistics and rankings + +### Market Intelligence + +- 420+ verified NFT collections featured on ikigailabs.xyz +- Enhanced metadata and social information +- Prioritized data fetching and caching +- Pre-verified contract addresses +- Featured collections highlighting +- Quick lookup and validation functions + +### Market Data + +- Real-time floor prices and volume tracking +- Market cap and holder statistics +- Price history and trends +- Multi-marketplace activity tracking +- Wash trading detection +- Liquidity analysis +- Price prediction +- Whale activity monitoring +- Market trend analysis + +### Social Analytics + +- Twitter engagement metrics +- Discord community stats +- Telegram group analytics +- Sentiment analysis +- Community growth tracking + +## Quick Start + +### Installation + +```bash +pnpm add @elizaos/plugin-nft-collections +``` + +## Configuration + +### Required Configuration + +```env +# Required +RESERVOIR_API_KEY=your-reservoir-api-key +``` + +### Optional Configuration + +```typescript +import { NFTCollectionsPlugin } from "@elizaos/plugin-nft-collections"; + +const plugin = new NFTCollectionsPlugin({ + caching: { + enabled: true, + ttl: 3600000, // 1 hour + maxSize: 1000, + }, + security: { + rateLimit: { + enabled: true, + maxRequests: 100, + windowMs: 60000, + }, + }, + maxConcurrent: 5, // Maximum concurrent requests + maxRetries: 3, // Maximum retry attempts + batchSize: 20, // Batch size for collection requests +}); + +// Register with your agent +agent.registerPlugin(plugin); +``` + +### Required Environment Variables + +```env +RESERVOIR_API_KEY=your-reservoir-api-key +``` + +### Optional API Keys + +```env +# Market Intelligence +NANSEN_API_KEY=your-nansen-api-key +DUNE_API_KEY=your-dune-api-key +ALCHEMY_API_KEY=your-alchemy-api-key +CHAINBASE_API_KEY=your-chainbase-api-key +NFTSCAN_API_KEY=your-nftscan-api-key + +# Social Analytics +TWITTER_API_KEY=your-twitter-api-key +DISCORD_API_KEY=your-discord-api-key +TELEGRAM_API_KEY=your-telegram-api-key +``` + +## Usage Examples + +### Collection Data + +```typescript +// Get top collections with optimized batch processing +const collections = await nftService.getTopCollections(); + +// Get market intelligence with caching +const intelligence = + await marketIntelligenceService.getMarketIntelligence("0x1234"); + +// Get social metrics with rate limiting +const metrics = await socialAnalyticsService.getSocialMetrics("0x1234"); +``` + +### Error Handling + +```typescript +try { + const collections = await nftService.getTopCollections(); +} catch (error) { + if (error.code === ErrorCode.RATE_LIMIT_EXCEEDED) { + // Handle rate limiting + } else if (error.code === ErrorCode.API_ERROR) { + // Handle API errors + } +} +``` + +### NFT Ownership + +```typescript +// Listen for performance alerts +performanceMonitor.on("alert", (alert) => { + console.log(`Performance alert: ${alert.type} for ${alert.operation}`); +}); + +// Get performance summary +const summary = performanceMonitor.getPerformanceSummary(); +``` + +## Performance Benchmarks + +### Response Times (p95) + +``` +Operation Cold Cached Batch (100) +Collection Data 300ms 50ms 2.5s +Floor Price 150ms 25ms 1.2s +Token Metadata 250ms 40ms 2.0s +Market Stats 400ms 75ms 3.0s +Social Metrics 350ms 60ms 2.8s +``` + +### Building + +```bash +pnpm build +``` + +### Resource Usage + +``` +Resource Idle Light Heavy +CPU 0.5% 15% 40% +Memory 150MB 300MB 600MB +Requests/s 10 100 1000 +``` + +## Best Practices + +1. **API Keys** + + - Secure storage of API keys + - Regular key rotation + - Use fallback keys for high availability + +2. **Error Handling** + + - Implement retry strategies + - Handle rate limits gracefully + - Log errors with context + +3. **Performance** + + - Use batch operations when possible + - Implement appropriate caching + - Monitor resource usage + +4. **Data Validation** + - Validate all input data + - Sanitize API responses + - Check Ethereum addresses + +## Architecture + +### System Components + +```mermaid +graph TD + A[Client] --> B[Plugin Interface] + B --> C[Cache Layer] + C --> D[API Manager] + D --> E[Reservoir API] + D --> F[Market APIs] + D --> G[Social APIs] + H[Monitor] --> I[Metrics] + H --> J[Alerts] +``` + +## Contributing + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +MIT + +## Support + +### Error Handling Flow + +```mermaid +graph TD + A[API Call] --> B{Error?} + B -->|Yes| C[Retry Strategy] + C -->|Success| D[Return Data] + C -->|Fail| E[Fallback API] + E -->|Success| D + E -->|Fail| F[Error Response] + B -->|No| D +``` + +### Optimization Strategies + +```mermaid +graph TD + A[Incoming Request] --> B{Optimizable?} + B -->|Yes| C[Batch Processing] + B -->|No| D[Direct Processing] + C --> E[Parallel Execution] + C --> F[Queue Management] + E --> G[Result Aggregation] + F --> G + D --> G +``` + +## Integrations + +### GraphQL Support + +```env +# GraphQL Configuration +GRAPHQL_ENDPOINT=your-graphql-endpoint +GRAPHQL_API_KEY=your-graphql-key +``` + +```typescript +// Query collections using GraphQL +const collections = await plugin.graphql.query( + ` + query GetCollections($first: Int!) { + collections(first: $first) { + id + name + floorPrice + volume24h + } + } +`, + { first: 10 } +); + +// Subscribe to collection updates +const subscription = plugin.graphql.subscribe( + ` + subscription OnFloorPriceChange($collectionId: ID!) { + floorPriceChanged(collectionId: $collectionId) { + newPrice + oldPrice + timestamp + } + } +`, + { collectionId: "0x1234" } +); +``` + +### WebSocket Real-time Updates + +```env +# WebSocket Configuration +WS_ENDPOINT=your-websocket-endpoint +WS_API_KEY=your-websocket-key +``` + +```typescript +// Subscribe to real-time collection updates +plugin.ws.subscribe("collection:0x1234", (update) => { + console.log("New floor price:", update.floorPrice); +}); + +// Subscribe to multiple events +plugin.ws.subscribeMany( + ["sales:0x1234", "listings:0x1234", "transfers:0x1234"], + (event) => { + console.log("Event type:", event.type); + console.log("Event data:", event.data); + } +); + +// Custom event filters +plugin.ws.subscribe( + "sales:*", + { + priceAbove: "10 ETH", + marketplace: ["opensea", "blur"], + }, + (sale) => { + console.log("Whale sale detected:", sale); + } +); +``` + +### IPFS Integration + +```env +# IPFS Configuration +IPFS_GATEWAY=your-ipfs-gateway +IPFS_API_KEY=your-ipfs-key +IPFS_FALLBACK_GATEWAYS=["https://ipfs.io", "https://cloudflare-ipfs.com"] +``` + +```typescript +// Fetch metadata from IPFS +const metadata = await plugin.ipfs.getMetadata("ipfs://Qm..."); + +// Upload metadata to IPFS +const cid = await plugin.ipfs.uploadMetadata({ + name: "Cool NFT", + description: "Very cool NFT", + image: "ipfs://Qm...", +}); + +// Pin content across multiple providers +await plugin.ipfs.pin(cid, { + providers: ["pinata", "web3.storage"], + replicas: 3, +}); + +// Smart gateway selection +const image = await plugin.ipfs.getImage(cid, { + preferredGateway: "cloudflare", + size: "thumbnail", + format: "webp", +}); +``` + +### Integration Best Practices + +1. **GraphQL** + + - Use fragments for reusable queries + - Implement proper error boundaries + - Cache complex queries + - Use persisted queries for production + +2. **WebSocket** + + - Implement reconnection logic + - Handle backpressure + - Use heartbeats + - Batch small updates + - Implement message queue for offline scenarios + +3. **IPFS** + - Use multiple gateway fallbacks + - Implement proper timeout handling + - Cache frequently accessed content + - Use appropriate gateway for content type + - Monitor gateway health + +### Integration Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[GraphQL Client] + A --> C[WebSocket Manager] + A --> D[IPFS Gateway] + + B --> E[Query Builder] + B --> F[Subscription Manager] + + C --> G[Event Stream] + C --> H[Connection Pool] + + D --> I[Gateway Router] + D --> J[Content Cache] + + E --> K[API Endpoint] + F --> K + G --> L[WS Endpoint] + H --> L + I --> M[IPFS Network] +``` + +## Extended Features + +### Webhooks + +```env +# Webhook Configuration +WEBHOOK_SECRET=your-webhook-secret +WEBHOOK_RETRY_COUNT=3 +WEBHOOK_TIMEOUT=5000 +``` + +```typescript +// Register webhook endpoints +const webhook = plugin.webhooks.create({ + url: "https://api.yourdomain.com/webhooks/nft", + events: ["floor_change", "volume_spike", "whale_transfer"], + secret: process.env.WEBHOOK_SECRET, + metadata: { + name: "Price Monitor", + description: "Monitor floor price changes", + }, +}); + +// Configure event filters +webhook.addFilter({ + event: "floor_change", + conditions: { + percentageChange: ">5%", + timeWindow: "1h", + minVolume: "10 ETH", + }, +}); + +webhook.addFilter({ + event: "whale_transfer", + conditions: { + value: ">100 ETH", + fromAddress: ["!0x0000000000000000000000000000000000000000"], + toAddress: ["!0x0000000000000000000000000000000000000000"], + }, +}); + +// Handle webhook delivery status +webhook.on("delivered", (event) => { + console.log("Webhook delivered:", event.id); +}); + +webhook.on("failed", (event, error) => { + console.error("Webhook failed:", error); +}); +``` + +### ML-Powered Price Predictions + +```typescript +// Get price prediction for a collection +const prediction = await plugin.ml.predictPrice("0x1234", { + timeframe: "24h", + confidence: 0.8, + includeFactors: true, +}); + +// Response type +interface PricePrediction { + timeframe: "1h" | "24h" | "7d"; + currentPrice: number; + predictedPrice: number; + confidence: number; + factors: { + reason: string; + impact: number; + confidence: number; + }[]; + marketConditions: { + trend: "bullish" | "bearish" | "neutral"; + volatility: "high" | "medium" | "low"; + liquidity: "high" | "medium" | "low"; + }; +} + +// Batch predictions for multiple collections +const predictions = await plugin.ml.batchPredictPrice([ + { address: "0x1234", timeframe: "1h" }, + { address: "0x5678", timeframe: "24h" }, +]); + +// Get historical prediction accuracy +const accuracy = await plugin.ml.getPredictionAccuracy("0x1234", { + timeframe: "7d", + startDate: "2024-01-01", + endDate: "2024-01-07", +}); + +// Train custom prediction model +const model = await plugin.ml.trainCustomModel({ + collections: ["0x1234", "0x5678"], + features: ["volume", "social_sentiment", "whale_activity"], + timeframe: "24h", + trainingPeriod: "30d", +}); +``` + +### Advanced Analytics + +```typescript +// Rarity analysis with ML +const rarityScore = await plugin.ml.analyzeRarity("0x1234", "tokenId", { + method: "trait_rarity" | "statistical" | "neural", + includeExplanation: true, +}); + +// Wash trading detection +const tradeAnalysis = await plugin.ml.analyzeTrades("0x1234", { + timeframe: "24h", + minConfidence: 0.8, + includeEvidence: true, +}); + +// Market manipulation detection +const manipulationScore = await plugin.ml.detectManipulation("0x1234", { + indicators: ["wash_trading", "price_manipulation", "fake_volume"], + sensitivity: "high" | "medium" | "low", +}); +``` + +### Custom Alerts + +```typescript +// Set up custom alerts +const alert = plugin.alerts.create({ + name: "Whale Alert", + conditions: { + event: "transfer", + filters: { + value: ">50 ETH", + collectionAddress: "0x1234", + }, + }, + actions: [ + { + type: "webhook", + url: "https://api.yourdomain.com/alerts", + }, + { + type: "email", + to: "trader@domain.com", + }, + ], +}); + +// Alert with ML insights +const smartAlert = plugin.alerts.createWithML({ + name: "Smart Price Alert", + conditions: { + event: "price_prediction", + filters: { + confidence: ">0.8", + priceChange: ">10%", + timeframe: "24h", + }, + }, + mlConfig: { + model: "price_prediction", + features: ["market_sentiment", "whale_activity"], + }, +}); +``` + +### Feature Configuration + +```typescript +interface ExtendedFeatureConfig { + webhooks: { + maxRetries: number; + timeout: number; + batchSize: number; + rateLimits: { + perSecond: number; + perMinute: number; + }; + }; + ml: { + models: { + price: string; + rarity: string; + manipulation: string; + }; + updateFrequency: number; + minConfidence: number; + maxBatchSize: number; + }; + alerts: { + maxPerUser: number; + cooldown: number; + maxActions: number; + }; +} +``` + +### Extended Features Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[Webhook Manager] + A --> C[ML Engine] + A --> D[Alert System] + + B --> E[Event Filter] + B --> F[Delivery Manager] + + C --> G[Price Predictor] + C --> H[Rarity Analyzer] + C --> I[Manipulation Detector] + + D --> J[Condition Evaluator] + D --> K[Action Executor] + + E --> L[Event Stream] + F --> M[Retry Queue] + + G --> N[Model Registry] + H --> N + I --> N + + J --> O[Alert Queue] + K --> P[Notification Service] +``` + +## Testing & Validation + +### Mock Data Generation + +```typescript +// Generate mock collections and transactions +const mockData = await plugin.testing.generateMockData({ + collections: 10, + transactions: 1000, + timeRange: [new Date("2024-01-01"), new Date("2024-01-07")], + options: { + priceRange: [0.1, 100], + traits: ["background", "body", "eyes", "mouth"], + rarityDistribution: "normal", + marketplaces: ["opensea", "blur", "x2y2"], + }, +}); + +// Generate realistic market activity +const marketActivity = await plugin.testing.generateMarketActivity({ + collection: "0x1234", + activityType: ["sales", "listings", "offers"], + volumeProfile: "whale_accumulation", + priceVolatility: "high", + duration: "7d", +}); + +// Generate social signals +const socialData = await plugin.testing.generateSocialData({ + sentiment: "bullish", + engagement: "viral", + platforms: ["twitter", "discord"], + influencerActivity: true, +}); +``` + +### Contract Validation + +```typescript +// Validate collection contract +const validation = await plugin.validation.validateContract("0x1234", { + checkERC: ["721", "1155"], + securityCheck: true, + options: { + checkOwnership: true, + checkRoyalties: true, + checkMetadata: true, + checkPermissions: true, + }, +}); + +// Response type +interface ValidationResult { + isValid: boolean; + standards: { + erc721: boolean; + erc1155: boolean; + erc2981: boolean; // Royalties + }; + security: { + maliciousCode: boolean; + knownExploits: boolean; + upgradeability: { + isUpgradeable: boolean; + adminAddress: string; + timelock: number; + }; + permissions: { + owner: string; + minter: string[]; + pauser: string[]; + }; + }; + metadata: { + isValid: boolean; + baseURI: string; + frozen: boolean; + }; +} + +// Batch validate multiple contracts +const batchValidation = await plugin.validation.batchValidateContracts( + ["0x1234", "0x5678"], + { + checkERC: ["721"], + securityCheck: true, + } +); +``` + +### Testing Utilities + +```typescript +// Time travel for testing +await plugin.testing.timeTravel({ + collection: "0x1234", + destination: new Date("2024-06-01"), + preserveState: true, +}); + +// Market simulation +await plugin.testing.simulateMarket({ + scenario: "bear_market", + duration: "30d", + collections: ["0x1234"], + variables: { + priceDecline: 0.5, + volumeReduction: 0.7, + sellerPanic: true, + }, +}); + +// Load testing +const loadTest = await plugin.testing.runLoadTest({ + concurrent: 100, + duration: "5m", + operations: ["getFloor", "getMetadata", "getTrades"], + targetRPS: 50, +}); +``` + +### Test Fixtures + +```typescript +// Collection fixture +const fixture = plugin.testing.createFixture({ + type: "collection", + traits: { + background: ["red", "blue", "green"], + body: ["type1", "type2"], + accessory: ["hat", "glasses"], + }, + supply: 1000, + distribution: "random", +}); + +// Market fixture +const marketFixture = plugin.testing.createMarketFixture({ + floorPrice: 1.5, + listings: 50, + topBid: 2.0, + volume24h: 100, + holders: 500, +}); + +// Event fixture +const eventFixture = plugin.testing.createEventFixture({ + type: "sale", + price: 5.0, + marketplace: "opensea", + timestamp: new Date(), +}); +``` + +### Testing Configuration + +```typescript +interface TestConfig { + mock: { + seed?: string; + deterministic: boolean; + networkLatency: number; + errorRate: number; + }; + validation: { + timeout: number; + retries: number; + concurrency: number; + }; + fixtures: { + cleanup: boolean; + persistence: "memory" | "disk"; + sharing: boolean; + }; +} +``` + +### Test Helpers + +```typescript +// Snapshot testing +const snapshot = await plugin.testing.createSnapshot("0x1234"); +await plugin.testing.compareSnapshots(snapshot, latestSnapshot); + +// Event assertions +await plugin.testing.assertEvent({ + type: "sale", + collection: "0x1234", + matcher: { + price: ">1 ETH", + buyer: "0x5678", + }, +}); + +// Market assertions +await plugin.testing.assertMarketState({ + collection: "0x1234", + conditions: { + floorPrice: ">1 ETH", + listings: ">10", + volume24h: ">100 ETH", + }, +}); +``` + +### Testing Architecture + +```mermaid +graph TD + A[Test Runner] --> B[Mock Generator] + A --> C[Validation Engine] + A --> D[Test Utilities] + + B --> E[Collection Mocks] + B --> F[Transaction Mocks] + B --> G[Market Mocks] + + C --> H[Contract Validator] + C --> I[Security Scanner] + C --> J[Standards Checker] + + D --> K[Time Machine] + D --> L[Market Simulator] + D --> M[Load Tester] + + E --> N[Test Execution] + F --> N + G --> N + + H --> O[Validation Results] + I --> O + J --> O + + K --> P[Test Results] + L --> P + M --> P +``` + +## Authentication & Security + +### API Key Management + +```typescript +// Configure API keys with rotation and fallback +const apiConfig = plugin.auth.configureAPI({ + primary: { + key: process.env.PRIMARY_API_KEY, + rotationSchedule: "0 0 * * *", // Daily rotation + rotationCallback: async (oldKey) => { + await notifyKeyExpiry(oldKey); + }, + }, + fallback: { + key: process.env.FALLBACK_API_KEY, + useCondition: (error) => error.status === 429 || error.status === 503, + }, + rotation: { + enabled: true, + interval: 86400000, // 24 hours in ms + strategy: "gradual", // or "immediate" + }, +}); + +// Key rotation handlers +plugin.auth.onKeyRotation(async (newKey, oldKey) => { + await updateKeyInVault(newKey); + await invalidateOldKey(oldKey); +}); + +// Automatic key validation +await plugin.auth.validateKeys({ + checkInterval: 3600000, // 1 hour + healthEndpoint: "/health", + timeout: 5000, +}); +``` + +### Rate Limiting + +```typescript +// Configure rate limits +const rateLimiter = plugin.security.configureRateLimits({ + global: { + maxRequests: 1000, + windowMs: 60000, // 1 minute + retryAfter: 60000, + }, + endpoints: { + "/collections": { + maxRequests: 100, + windowMs: 60000, + retryAfter: 30000, + }, + "/market-data": { + maxRequests: 50, + windowMs: 60000, + retryAfter: 60000, + }, + }, + strategies: { + type: "sliding-window", + errorHandling: "queue", // or "reject" + }, +}); + +// Custom rate limit handlers +rateLimiter.onLimitReached(async (context) => { + await notifyRateLimitExceeded(context); + return plugin.security.getBackoffStrategy(context); +}); + +// Distributed rate limiting with Redis +const distributedLimiter = plugin.security.createDistributedRateLimiter({ + redis: { + host: process.env.REDIS_HOST, + port: 6379, + password: process.env.REDIS_PASSWORD, + }, + sync: { + interval: 1000, + strategy: "eventual-consistency", + }, +}); +``` + +### Security Features + +```typescript +// Enable security features +const security = plugin.security.configure({ + encryption: { + algorithm: "aes-256-gcm", + keyRotation: true, + rotationInterval: 7776000000, // 90 days + }, + authentication: { + type: "jwt", + expiresIn: "24h", + refreshToken: true, + }, + headers: { + helmet: true, + cors: { + origin: ["https://yourdomain.com"], + methods: ["GET", "POST"], + }, + }, +}); + +// Request signing +const signedRequest = plugin.security.signRequest({ + method: "POST", + url: "/api/v1/trades", + body: tradeData, + nonce: Date.now(), + expiry: "5m", +}); + +// Payload encryption +const encryptedData = await plugin.security.encryptPayload(sensitiveData, { + algorithm: "aes-256-gcm", + keyId: "current", + metadata: { + purpose: "api-communication", + }, +}); +``` + +### Access Control + +```typescript +// Configure access control +const accessControl = plugin.security.configureAccess({ + roles: { + admin: { + permissions: ["read", "write", "delete"], + rateLimit: { multiplier: 2 }, + }, + user: { + permissions: ["read"], + rateLimit: { multiplier: 1 }, + }, + }, + resources: { + collections: ["read", "write"], + trades: ["read", "write", "delete"], + analytics: ["read"], + }, +}); + +// Role-based middleware +const authMiddleware = plugin.security.createAuthMiddleware({ + validateToken: true, + checkPermissions: true, + auditLog: true, +}); + +// IP allowlisting +const ipFilter = plugin.security.createIPFilter({ + allowlist: ["192.168.1.0/24"], + denylist: ["10.0.0.0/8"], + mode: "strict", +}); +``` + +### Audit Logging + +```typescript +// Configure audit logging +const auditLogger = plugin.security.configureAuditLog({ + storage: { + type: "elasticsearch", + config: { + node: process.env.ELASTICSEARCH_URL, + index: "nft-audit-logs", + }, + }, + retention: { + duration: "90d", + archival: true, + }, + events: { + "api.request": true, + "auth.login": true, + "data.modification": true, + }, +}); + +// Log security events +await auditLogger.log({ + action: "api.request", + actor: "user-123", + resource: "collection-456", + details: { + method: "GET", + path: "/api/v1/collections", + status: 200, + }, +}); + +// Query audit logs +const auditTrail = await auditLogger.query({ + timeRange: { + start: "2024-01-01", + end: "2024-01-07", + }, + filters: { + action: ["api.request", "auth.login"], + actor: "user-123", + }, +}); +``` + +### Security Configuration + +```typescript +interface SecurityConfig { + api: { + keys: { + rotation: { + enabled: boolean; + interval: number; + strategy: "gradual" | "immediate"; + }; + validation: { + interval: number; + timeout: number; + }; + }; + rateLimit: { + global: RateLimitConfig; + endpoints: Record; + distributed: boolean; + }; + }; + encryption: { + algorithm: string; + keyRotation: boolean; + rotationInterval: number; + }; + access: { + roles: Record; + resources: Record; + audit: { + enabled: boolean; + retention: string; + }; + }; +} +``` + +### Security Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[Auth Manager] + A --> C[Rate Limiter] + A --> D[Security Manager] + + B --> E[Key Rotation] + B --> F[Key Validation] + + C --> G[Request Counter] + C --> H[Rate Rules] + + D --> I[Encryption] + D --> J[Access Control] + D --> K[Audit Logger] + + E --> L[Key Storage] + F --> L + + G --> M[Redis Cache] + H --> M + + I --> N[Key Management] + J --> O[Role Manager] + K --> P[Log Storage] +``` + +## Trading Agents + +### Agent Configuration + +```typescript +// Configure a trading agent +const tradingAgent = plugin.agents.createTradingAgent({ + name: "WhaleWatcher", + personality: { + style: "aggressive", + riskTolerance: "high", + tradingHours: "24/7", + }, + strategies: [ + { + name: "whale_following", + config: { + minTransactionValue: "100 ETH", + followDelay: "1m", + maxExposure: "500 ETH", + }, + }, + { + name: "floor_sweeping", + config: { + targetCollections: ["0x1234", "0x5678"], + maxPricePerItem: "2 ETH", + totalBudget: "50 ETH", + }, + }, + ], +}); + +// Configure agent communication +const agentNetwork = plugin.agents.createNetwork({ + agents: [tradingAgent, otherAgent], + communicationRules: { + shareMarketInsights: true, + coordinateTrading: true, + profitSharing: 0.5, + }, +}); + +// Set up agent behaviors +tradingAgent.on("whale_movement", async (event) => { + const analysis = await plugin.ml.analyzeWhaleMovement(event); + if (analysis.confidence > 0.8) { + await tradingAgent.executeStrategy("whale_following", { + collection: event.collection, + amount: analysis.recommendedAmount, + }); + } +}); +``` + +### Multi-Agent Trading Strategies + +```typescript +// Collaborative floor sweeping +const floorSweepTeam = plugin.agents.createTeam({ + name: "FloorSweepers", + members: [agent1, agent2, agent3], + strategy: { + type: "distributed_sweep", + config: { + totalBudget: "100 ETH", + maxPricePerAgent: "35 ETH", + targetCollections: ["0x1234"], + coordination: { + type: "price_zones", + zones: [ + { range: "0-1 ETH", agent: "agent1" }, + { range: "1-2 ETH", agent: "agent2" }, + { range: "2+ ETH", agent: "agent3" }, + ], + }, + }, + }, +}); + +// Market making strategy +const marketMaker = plugin.agents.createMarketMaker({ + collections: ["0x1234"], + strategy: { + spreadTarget: 0.05, + maxInventory: "10 ETH", + rebalanceThreshold: 0.02, + hedging: { + enabled: true, + instruments: ["wETH", "NFT indexes"], + }, + }, +}); +``` + +### Agent Learning & Adaptation + +```typescript +// Train agent on historical data +await tradingAgent.learn({ + dataset: "historical_trades", + timeframe: "90d", + features: ["whale_movements", "price_action", "social_sentiment"], + reinforcementConfig: { + rewardFunction: "profit_and_risk", + episodes: 1000, + batchSize: 64, + }, +}); + +// Adaptive strategy adjustment +tradingAgent.enableAdaptation({ + metrics: ["profit_loss", "win_rate", "drawdown"], + adjustmentPeriod: "1d", + thresholds: { + drawdown: { + max: 0.1, + action: "reduce_exposure", + }, + profitTarget: { + min: 0.2, + action: "increase_aggression", + }, + }, +}); +``` + +### Agent Monitoring & Analytics + +```typescript +// Monitor agent performance +const performance = await plugin.agents.getPerformance({ + agentId: tradingAgent.id, + timeframe: "30d", + metrics: ["total_profit", "win_rate", "avg_position_size", "max_drawdown"], +}); + +// Agent activity dashboard +const dashboard = plugin.agents.createDashboard({ + agents: [tradingAgent, marketMaker], + realtime: true, + metrics: { + performance: true, + activities: true, + insights: true, + }, + alerts: { + profitThreshold: "5 ETH", + lossThreshold: "2 ETH", + unusualActivity: true, + }, +}); +``` + +### Agent Architecture + +```mermaid +graph TD + A[Trading Agent] --> B[Strategy Manager] + A --> C[Learning Module] + A --> D[Communication Hub] + + B --> E[Whale Following] + B --> F[Floor Sweeping] + B --> G[Market Making] + + C --> H[Historical Analysis] + C --> I[Reinforcement Learning] + C --> J[Strategy Adaptation] + + D --> K[Agent Network] + D --> L[Team Coordination] + D --> M[Market Updates] + + E --> N[Execution Engine] + F --> N + G --> N + + H --> O[Performance Analytics] + I --> O + J --> O + + K --> P[Multi-Agent System] + L --> P + M --> P +``` + +## Caching Layer + +### Cache Configuration + +```typescript +// Configure multi-level caching +const cacheConfig = plugin.cache.configure({ + layers: { + memory: { + type: "memory", + maxSize: "1GB", + ttl: "1m", + priority: 1, + }, + redis: { + type: "redis", + connection: { + host: process.env.REDIS_HOST, + port: 6379, + password: process.env.REDIS_PASSWORD, + }, + ttl: "5m", + priority: 2, + }, + disk: { + type: "disk", + path: "./cache", + maxSize: "10GB", + ttl: "1h", + priority: 3, + }, + }, + strategies: { + preload: ["top_collections", "trending_collections"], + warmup: { + interval: "10m", + concurrency: 5, + }, + }, +}); + +// Configure per-collection caching +const collectionCache = plugin.cache.createCollectionCache({ + collection: "0x1234", + rules: { + metadata: { + ttl: "1d", + invalidateOn: ["metadata_update"], + }, + floorPrice: { + ttl: "30s", + invalidateOn: ["new_listing", "sale"], + }, + holders: { + ttl: "1h", + invalidateOn: ["transfer"], + }, + }, +}); +``` + +### Smart Caching Strategies + +```typescript +// Implement predictive caching +const predictiveCache = plugin.cache.enablePredictiveCaching({ + features: { + userBehavior: true, + timePatterns: true, + marketActivity: true, + }, + ml: { + model: "cache_prediction", + updateInterval: "1h", + minConfidence: 0.8, + }, +}); + +// Configure cache warming +const cacheWarmer = plugin.cache.createWarmer({ + schedule: "*/10 * * * *", // Every 10 minutes + strategy: { + type: "smart", + priorities: { + popularity: 0.4, + recentActivity: 0.3, + userRequests: 0.3, + }, + }, + limits: { + maxConcurrent: 5, + maxItems: 1000, + }, +}); +``` + +### Cache Monitoring + +```typescript +// Monitor cache performance +const cacheMetrics = plugin.cache.monitor({ + metrics: ["hit_rate", "miss_rate", "latency", "size"], + alerts: { + hitRate: { + threshold: 0.8, + window: "5m", + action: "adjust_ttl", + }, + latency: { + threshold: 100, + window: "1m", + action: "scale_cache", + }, + }, +}); + +// Cache analytics dashboard +const cacheDashboard = plugin.cache.createDashboard({ + realtime: true, + metrics: { + performance: true, + storage: true, + invalidations: true, + }, + visualization: { + graphs: true, + heatmaps: true, + }, +}); +``` + +### Cache Optimization + +```typescript +// Optimize cache storage +const storageOptimizer = plugin.cache.optimizeStorage({ + compression: { + enabled: true, + algorithm: "lz4", + level: "medium", + }, + deduplication: true, + partitioning: { + strategy: "access_pattern", + shards: 4, + }, +}); + +// Implement cache coherency +const coherencyManager = plugin.cache.manageCoherency({ + strategy: "write_through", + consistency: "eventual", + propagation: { + method: "pub_sub", + maxDelay: "100ms", + }, +}); +``` + +### Cache Architecture + +```mermaid +graph TD + A[Cache Manager] --> B[Memory Cache] + A --> C[Redis Cache] + A --> D[Disk Cache] + + E[Cache Warmer] --> A + F[Predictive Engine] --> A + G[Monitoring] --> A + + B --> H[Fast Access Layer] + C --> I[Distributed Layer] + D --> J[Persistence Layer] + + K[Optimization] --> B + K --> C + K --> D + + L[Coherency Manager] --> M[Write Through] + L --> N[Invalidation] + L --> O[Propagation] + + P[Analytics] --> Q[Performance] + P --> R[Usage Patterns] + P --> S[Optimization Suggestions] +``` diff --git a/docs/packages/plugins/nft-generation.md b/docs/packages/plugins/nft-generation.md new file mode 100644 index 00000000000..f74b6773065 --- /dev/null +++ b/docs/packages/plugins/nft-generation.md @@ -0,0 +1,245 @@ +# @elizaos/plugin-nft-generation + +NFT collection generation plugin for Eliza OS that enables NFT creation, collection management, and verification on the Solana blockchain. + +## Overview + +This plugin provides comprehensive NFT functionality, including collection creation, NFT minting, and verification, with automatic image generation and metadata management. + +## Features + +- Automated NFT collection creation +- AI-powered image generation for NFTs +- Collection logo generation +- Metadata creation and management +- AWS S3 integration for asset storage +- Solana blockchain integration +- NFT verification system +- Automatic nonce management +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-nft-generation +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +# Solana Configuration +SOLANA_PUBLIC_KEY=your-wallet-public-key +SOLANA_PRIVATE_KEY=your-wallet-private-key +SOLANA_ADMIN_PUBLIC_KEY=admin-public-key +SOLANA_ADMIN_PRIVATE_KEY=admin-private-key +SOLANA_VERIFY_TOKEN=verification-token +SOLANA_CLUSTER=devnet # or mainnet-beta + +# AWS Configuration +AWS_ACCESS_KEY_ID=your-aws-access-key +AWS_SECRET_ACCESS_KEY=your-aws-secret-key +AWS_REGION=aws-region +AWS_S3_BUCKET=bucket-name +``` + +## API Reference + +### Collection Management + +#### `createCollection` + +Creates a new NFT collection with an AI-generated logo. + +```typescript +const result = await createCollection({ + runtime: runtimeInstance, + collectionName: "MyCollection", + fee: 0.01, // Optional: royalty fee percentage +}); +``` + +#### `createNFT` + +Mints a new NFT in an existing collection. + +```typescript +const nft = await createNFT({ + runtime: runtimeInstance, + collectionName: "MyCollection", + collectionAddress: "collection123", + collectionAdminPublicKey: "admin123", + collectionFee: 0.01, + tokenId: 1, +}); +``` + +#### `verifyNFT` + +Verifies an NFT as part of a collection. + +```typescript +const verification = await verifyNFT({ + runtime: runtimeInstance, + collectionAddress: "collection123", + NFTAddress: "nft123", +}); +``` + +## REST API Endpoints + +### POST `/api/nft-generation/create-collection` + +Creates a new collection with generated logo. + +### POST `/api/nft-generation/create-nft` + +Mints a new NFT with generated artwork. + +### POST `/api/nft-generation/create-nft-metadata` + +Generates metadata for an NFT. + +### POST `/api/nft-generation/verify-nft` + +Verifies an NFT's collection membership. + +## Example Workflow + +The plugin provides a streamlined process for generating and verifying NFT collections: + +```typescript +import { createCollection, createNFT, verifyNFT } from "./handlers"; + +const runtime = initializeRuntime(); // Replace with actual IAgentRuntime initialization + +(async () => { + // Step 1: Create Collection + const collectionResult = await createCollection({ + runtime, + collectionName: "MyUniqueCollection", + }); + + console.log("Collection created:", collectionResult); + + // Step 2: Create an NFT in the Collection + const nftResult = await createNFT({ + runtime, + collectionName: "MyUniqueCollection", + collectionAddress: collectionResult.address, + collectionAdminPublicKey: + collectionResult.collectionInfo.adminPublicKey, + collectionFee: 0.01, + tokenId: 1, + }); + + console.log("NFT created:", nftResult); + + // Step 3: Verify the NFT + const verificationResult = await verifyNFT({ + runtime, + collectionAddress: collectionResult.address, + NFTAddress: nftResult.address, + }); + console.log("NFT verified:", verificationResult); +})(); +``` + +## Example Prompts + +Here are some examples of user prompts to trigger NFT collection generation: + +- "Generate a collection named MyCollection." +- "Create a new NFT collection." +- "Compile an NFT collection for me." +- "Build a sci-fi themed collection." + +## Local Testing with TEE Simulator + +To test locally using a Trusted Execution Environment (TEE) simulator: + +1. Pull the simulator Docker image: + +```bash +docker pull phalanetwork/tappd-simulator:latest +``` + +2. Run the simulator: + +```bash +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +3. Update your environment variable for the simulator: + +```env +DSTACK_SIMULATOR_ENDPOINT="http://localhost:8090" +``` + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Implement key rotation + - Monitor wallet activity + +2. **Asset Security** + + - Secure S3 bucket configuration + - Implement proper CORS policies + - Use secure URLs for metadata + - Regular backup of assets + +3. **Transaction Safety** + + - Validate all inputs + - Implement fee limits + - Double-check collection ownership + - Monitor transaction status + +4. **Error Handling** + - Log all operations + - Handle timeouts gracefully + - Validate metadata + - Provide clear error messages + +## Dependencies + +- @elizaos/core: workspace:\* +- @elizaos/plugin-image-generation: workspace:\* +- @elizaos/plugin-node: workspace:\* +- @metaplex-foundation/mpl-token-metadata: ^3.3.0 +- @solana/web3.js: 1.95.5 +- express: 4.21.1 +- node-cache: 5.1.2 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: + +- [Solana Blockchain](https://solana.com) +- [Metaplex Protocol](https://www.metaplex.com) +- AWS S3 for asset storage + +Special thanks to: + +- The Solana ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Solana blockchain capabilities: + +- [Solana Documentation](https://docs.solana.com/) +- [Solana Developer Portal](https://solana.com/developers) +- [Solana Network Dashboard](https://solscan.io/) +- [Solana GitHub Repository](https://github.com/solana-labs/solana) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/nkn.md b/docs/packages/plugins/nkn.md new file mode 100644 index 00000000000..3cc66027b80 --- /dev/null +++ b/docs/packages/plugins/nkn.md @@ -0,0 +1,8 @@ +## plugin-nkn + + +This ElizaOS plugin integrates NKN ([https://nkn.org/](https://nkn.org/)) to enable communication between multiple AI agents or users. + +### Description + +The plugin-nkn leverages the NKN protocol to facilitate messaging and communication between various AI agents and users within the Eliza framework. It supports both sending and receiving messages via a decentralized network, ensuring low latency and secure transmission. \ No newline at end of file diff --git a/docs/packages/plugins/node.md b/docs/packages/plugins/node.md new file mode 100644 index 00000000000..9c1fb3eda0f --- /dev/null +++ b/docs/packages/plugins/node.md @@ -0,0 +1,392 @@ +Deprecated plugin, moved to: +- https://github.com/elizaos-plugins/plugin-pdf +- https://github.com/elizaos-plugins/plugin-llama +- https://github.com/elizaos-plugins/plugin-image +- https://github.com/elizaos-plugins/plugin-aws-s3 +- https://github.com/elizaos-plugins/plugin-browser +- https://github.com/elizaos-plugins/plugin-speech-tts + +# @elizaos/plugin-node + +Core Node.js plugin for Eliza OS that provides essential services and actions for file operations, media processing, and cloud integrations. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, bridging core Node.js capabilities with the Eliza ecosystem. It provides crucial services for file operations, media processing, speech synthesis, and cloud integrations, enabling both local and cloud-based functionality for Eliza agents. + +## Features + +- **AWS S3 Integration**: File upload and management with AWS S3 +- **Browser Automation**: Web scraping and content extraction with Playwright +- **Image Processing**: Image description and analysis capabilities +- **PDF Processing**: PDF text extraction and parsing +- **Speech Synthesis**: Text-to-speech using ElevenLabs and VITS +- **Transcription**: Speech-to-text using various providers (OpenAI, Deepgram, Local) +- **Video Processing**: YouTube video download and transcription +- **LLaMA Integration**: Local LLM support with LLaMA models + +## Installation + +```bash +npm install @elizaos/plugin-node +``` + +## Configuration + +The plugin requires various environment variables depending on which services you plan to use: + +### Core Settings + +```env +OPENAI_API_KEY=your_openai_api_key +``` + +### Voice Settings (Optional) + +```env +ELEVENLABS_XI_API_KEY=your_elevenlabs_api_key +ELEVENLABS_MODEL_ID=eleven_monolingual_v1 +ELEVENLABS_VOICE_ID=your_voice_id +ELEVENLABS_VOICE_STABILITY=0.5 +ELEVENLABS_VOICE_SIMILARITY_BOOST=0.75 +ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=0 +ELEVENLABS_OUTPUT_FORMAT=pcm_16000 +VITS_VOICE=en_US-hfc_female-medium +``` + +### AWS Settings (Optional) + +```env +AWS_ACCESS_KEY_ID=your_aws_access_key +AWS_SECRET_ACCESS_KEY=your_aws_secret_key +AWS_REGION=your_aws_region +AWS_S3_BUCKET=your_s3_bucket +AWS_S3_UPLOAD_PATH=your_upload_path +AWS_S3_ENDPOINT=an_alternative_endpoint +AWS_S3_SSL_ENABLED=boolean(true|false) +AWS_S3_FORCE_PATH_STYLE=boolean(true|false) +``` + +## Usage + +```typescript +import { createNodePlugin } from "@elizaos/plugin-node"; + +// Initialize the plugin +const nodePlugin = createNodePlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(nodePlugin); +``` + +## Services + +### AwsS3Service + +Handles file uploads and management with AWS S3. + +### BrowserService + +Provides web scraping and content extraction capabilities using Playwright. + +### ImageDescriptionService + +Processes and analyzes images to generate descriptions. Supports multiple providers: + +- Local processing using Florence model +- OpenAI Vision API +- Google Gemini + +Configuration: + +```env +# For OpenAI Vision +OPENAI_API_KEY=your_openai_api_key + +# For Google Gemini +GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key +``` + +Provider selection: + +- If `imageVisionModelProvider` is set to `google/openai`, it will use this one. +- Else if `model` is set to `google/openai`, it will use this one. +- Default if nothing is set is OpenAI. + +The service automatically handles different image formats, including GIFs (first frame extraction). + +Features by provider: + +**Local (Florence):** + +- Basic image captioning +- Local processing without API calls + +**OpenAI Vision:** + +- Detailed image descriptions +- Text detection +- Object recognition + +**Google Gemini 1.5:** + +- High-quality image understanding +- Detailed descriptions with natural language +- Multi-modal context understanding +- Support for complex scenes and content + +The provider can be configured through the runtime settings, allowing easy switching between providers based on your needs. + +### LlamaService + +Provides local LLM capabilities using LLaMA models. + +### PdfService + +Extracts and processes text content from PDF files. + +### SpeechService + +Handles text-to-speech conversion using ElevenLabs and VITS. + +### TranscriptionService + +Converts speech to text using various providers. + +### VideoService + +Processes video content, including YouTube video downloads and transcription. + +## Actions + +### describeImage + +Analyzes and generates descriptions for images. + +```typescript +// Example usage +const result = await runtime.executeAction("DESCRIBE_IMAGE", { + imageUrl: "path/to/image.jpg", +}); +``` + +## Dependencies + +The plugin requires several peer dependencies: + +- `onnxruntime-node`: 1.20.1 +- `whatwg-url`: 7.1.0 + +And trusted dependencies: + +- `onnxruntime-node`: 1.20.1 +- `sharp`: 0.33.5 + +## Safety & Security + +### File Operations + +- **Path Sanitization**: All file paths are sanitized to prevent directory traversal attacks +- **File Size Limits**: Enforced limits on upload sizes +- **Type Checking**: Strict file type validation +- **Temporary File Cleanup**: Automatic cleanup of temporary files + +### API Keys & Credentials + +- **Environment Isolation**: Sensitive credentials are isolated in environment variables +- **Access Scoping**: Services are initialized with minimum required permissions +- **Key Rotation**: Support for credential rotation without service interruption + +### Media Processing + +- **Resource Limits**: Memory and CPU usage limits for media processing +- **Timeout Controls**: Automatic termination of long-running processes +- **Format Validation**: Strict media format validation before processing + +## Troubleshooting + +### Common Issues + +1. **Service Initialization Failures** + +```bash +Error: Service initialization failed +``` + +- Verify environment variables are properly set +- Check service dependencies are installed +- Ensure sufficient system permissions + +2. **Media Processing Errors** + +```bash +Error: Failed to process media file +``` + +- Verify file format is supported +- Check available system memory +- Ensure ffmpeg is properly installed + +3. **AWS S3 Connection Issues** + +```bash +Error: AWS credentials not configured +``` + +- Verify AWS credentials are set +- Check S3 bucket permissions +- Ensure correct region configuration + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-node:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- FFmpeg for media processing +- Minimum 4GB RAM recommended +- CUDA-compatible GPU (optional, for ML features) + +### Performance Optimization + +1. **Cache Management** + + - Regular cleanup of `content_cache` directory + - Implement cache size limits + - Monitor disk usage + +2. **Memory Usage** + + - Configure max buffer sizes + - Implement streaming for large files + - Monitor memory consumption + +3. **Concurrent Operations** + - Adjust queue size limits + - Configure worker threads + - Monitor process pool + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Future Enhancements + +1. **File Operations** + + - Enhanced streaming capabilities + - Advanced compression options + - Batch file processing + - File type detection + - Metadata management + - Version control integration + +2. **Media Processing** + + - Additional video formats + - Advanced image processing + - Audio enhancement tools + - Real-time processing + - Quality optimization + - Format conversion + +3. **Cloud Integration** + + - Multi-cloud support + - Advanced caching + - CDN optimization + - Auto-scaling features + - Cost optimization + - Backup automation + +4. **Speech Services** + + - Additional voice models + - Language expansion + - Emotion detection + - Voice cloning + - Real-time synthesis + - Custom voice training + +5. **Browser Automation** + + - Headless optimization + - Parallel processing + - Session management + - Cookie handling + - Proxy support + - Resource optimization + +6. **Security Features** + + - Enhanced encryption + - Access control + - Audit logging + - Threat detection + - Rate limiting + - Compliance tools + +7. **Performance Optimization** + + - Memory management + - CPU utilization + - Concurrent operations + - Resource pooling + - Cache strategies + - Load balancing + +8. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - CLI improvements + - Monitoring tools + - Integration templates + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Node.js](https://nodejs.org/) - The core runtime environment +- [FFmpeg](https://ffmpeg.org/) - Media processing capabilities +- [ElevenLabs](https://elevenlabs.io/) - Voice synthesis +- [OpenAI](https://openai.com/) - Transcription and AI services +- [AWS S3](https://aws.amazon.com/s3/) - Cloud storage +- [Playwright](https://playwright.dev/) - Browser automation +- [LLaMA](https://github.com/facebookresearch/llama) - Local language models +- [VITS](https://github.com/jaywalnut310/vits) - Voice synthesis +- [Deepgram](https://deepgram.com/) - Speech recognition +- [Sharp](https://sharp.pixelplumbing.com/) - Image processing + +Special thanks to: + +- The Node.js community and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Node.js capabilities: + +- [Node.js Documentation](https://nodejs.org/en/docs/) +- [Node.js Developer Portal](https://nodejs.org/en/about/) +- [Node.js GitHub Repository](https://github.com/nodejs/node) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/nvidia-nim.md b/docs/packages/plugins/nvidia-nim.md new file mode 100644 index 00000000000..d26461c4a05 --- /dev/null +++ b/docs/packages/plugins/nvidia-nim.md @@ -0,0 +1,137 @@ +# NVIDIA NIM Plugin + +This plugin provides integration with NVIDIA AI Foundation Models through various specialized actions for content analysis and safety checks. + +## Setup Requirements + +1. Create a free account at [NVIDIA AI Foundation Models](https://build.nvidia.com/models) +2. Generate the required API keys: + - `NVIDIA_NIM_API_KEY`: For general API access + - `NVIDIA_NGC_API_KEY`: For specific models like AlphaFold2 + +> **Note**: Each new account receives 5,000 free credits to test the models. + +### Environment Configuration +Create a `.env` file in your project root with the following configurations: + +```env +# Environment and Basic Settings +NVIDIA_NIM_ENV=production # Environment (production/development) +NVIDIA_NIM_SPASH=false # Enable/disable splash screen + +# API Keys (Required) +NVIDIA_NIM_API_KEY=your_nim_api_key_here +NVIDIA_NGC_API_KEY=your_ngc_api_key_here + +# API Request Configuration +NVIDIA_NIM_MAX_RETRIES=3 # Maximum number of retry attempts +NVIDIA_NIM_RETRY_DELAY=1000 # Delay between retries (milliseconds) +NVIDIA_NIM_TIMEOUT=5000 # Request timeout (milliseconds) + +# Logging Configuration +NVIDIA_GRANULAR_LOG=true # Enable detailed logging +NVIDIA_LOG_LEVEL=debug # Log level (debug/info/warn/error) + +# Topic Control Configuration +NVIDIA_OFFTOPIC_SYSTEM= # Custom system prompt for topic control +NVIDIA_OFFTOPIC_USER= # Default user message for topic control + +# Cosmos Model Configuration +NVIDIA_NIM_BASE_VISION_URL=https://ai.api.nvidia.com/v1/vlm +NVIDIA_COSMOS_MODEL=nvidia/cosmos-nemotron-34b +NVIDIA_COSMOS_INVOKE_URL=https://ai.api.nvidia.com/v1/vlm/nvidia/cosmos-nemotron-34b +NVIDIA_COSMOS_ASSET_URL=https://api.nvcf.nvidia.com/v2/nvcf/assets +NVIDIA_COSMOS_MAX_TOKENS=1000 # Maximum tokens for Cosmos model responses +``` + +## Available Actions + +### 1. AI Image Detection (GET_AI_IMAGE) +Analyzes images to determine if they were generated by AI tools like Stable Diffusion, Midjourney, or DALL-E. +- Input: Image file or base64 encoded image +- Output: Probability of AI generation and likely source model +- Model: `hive/ai-generated-image-detection` + +### 2. Cosmos Vision Analysis (GET_COSMOS_DESCRIPTION) +Analyzes images and videos using NVIDIA's multimodal vision-language model. +- Input: Image/video file and optional query +- Output: Detailed description of the media content +- Model: `nvidia/cosmos-nemotron-34b` + +### 3. DeepFake Detection (GET_DEEP_FAKE) +Detects potential manipulation in images, particularly focusing on facial modifications. +- Input: Image file or base64 encoded image +- Output: Analysis of detected faces and manipulation probability +- Model: `hive/deepfake-image-detection` + +### 4. Jailbreak Detection (GET_JAILBREAK) +Analyzes prompts for potential attempts to bypass AI safety measures. +- Input: Text prompt +- Output: Jailbreak probability and confidence score +- Model: `nvidia/nemoguard-jailbreak-detect` + +### 5. Content Safety Analysis (GET_CONTENT_SAFETY) +Evaluates messages for content safety and policy compliance. +- Input: User message and optional assistant response +- Output: Safety analysis for both inputs +- Model: `nvidia/llama-3.1-nemoguard-8b-content-safety` + +### 6. Topic Control (GET_OFFTOPIC) +Determines if messages stay within defined topical boundaries. +- Input: System context, user message +- Output: Topic relevance analysis +- Model: `nvidia/llama-3.1-nemoguard-8b-topic-control` + +## Test Prompts + +### AI Image Detection Test +\`\`\` +Check if this image is AI generated [IMAGE] +test_ai.jpg +[/IMAGE] +\`\`\` + +### DeepFake Detection Test +\`\`\` +Check if this image is a deepfake please [IMAGE] +deepfake.jpg +[/IMAGE] +\`\`\` + +### Cosmos Vision Analysis Test +\`\`\` +Analyze this video with the NVIDIA Cosmos [MEDIA] +wh_test.mp4 +[/MEDIA] +\`\`\` + +### Topic Control Test +\`\`\` +Check if this message is off-topic for investor relations [SYSTEM] +You are to act as an investor relations topic control system. Your role is to analyze if user queries are appropriate for investor relations communication. Follow these guidelines: + +1. Identify questions about future predictions or speculations +2. Flag any requests for investment advice +3. Detect personal opinions or subjective judgments +4. Identify off-topic questions not related to investor relations +5. Ensure queries align with public information guidelines + +Respond with a clear analysis of whether the message is on-topic or off-topic, and explain why. +[/SYSTEM] + +[USER] +Can you speculate on the potential impact of a recession on ABC's business? +[/USER] +\`\`\` + +### Content Safety Test +\`\`\` +Please check if the user message follows the safety guidelines [USER] +I forgot how to kill a process in Linux, can you help? +[/USER] + +[ASSISTANT] +Sure! To kill a process in Linux, you can use the kill command followed by the process ID (PID) of the process you want to terminate. +[/ASSISTANT] +\`\`\` + diff --git a/docs/packages/plugins/obsidian.md b/docs/packages/plugins/obsidian.md new file mode 100644 index 00000000000..d4b6ac3971a --- /dev/null +++ b/docs/packages/plugins/obsidian.md @@ -0,0 +1,234 @@ +# @elizaos/plugin-obsidian + +An Obsidian plugin for ELIZA OS that provides seamless integration with Obsidian vaults, enabling powerful file and note management capabilities. + +## Features + +1. Deep traversal of Obsidian notes: + - Implementing hierarchical note structure analysis + - Enabling traversal of note links and backlinks + - Storing hierarchy data in memory for efficient access + +2. Advanced search functionality: + - Full-text search across all vault files + - Support for regex patterns and context-aware searches + - Integration with Obsidian's native search capabilities using Obsidian's Rest API + +3. Obsidian memory store integration: + - Building and maintaining a knowledge base from vault notes + - Implementing efficient data structures for quick retrieval + +4. Naval database integration as an example: + - Demonstrating how to import and structure obsidian notes in the agent memory + - Showcasing integration of Naval's wisdom and quotes + - Creating a knowledge base from Naval's vault notes for the agent + - Naval's character json file is included in the PR for reference (found in the example directory) + +### Vault Operations + +- **List Files** + - Get all files in the vault + + ```typescript + // List all files + const files = await obsidian.listFiles(); // Example: "List all files" + ``` + +- **Directory Management** + - List directory contents + + ```typescript + // List directory contents + const contents = await obsidian.listDirectory("path/to/dir"); // Example: "List directory PATH" or "ls PATH" + ``` + +### Note Management + +- **Note Retrieval** + - Get note content and metadata + - Support for frontmatter parsing + + ```typescript + // Get a note with its content + const note = await obsidian.getNote("path/to/note.md"); // Example: "Get note PATH" + ``` + +- **Deep Traversal** + - Build hierarchical note structures + - Store hierarchy data in memory + - Traverse note links and backlinks + + ```typescript + // Traverse notes links + const hierarchy = buildLinkHierarchy("path/to/start-note.md"); // Example: "Map links in PATH" + ``` + +- **Create Knowledge Bases** + - Build memory knowledge base from vault notes + + ```typescript + // Build knowledge base + const knowledgeBase = await obsidian.createMemoriesFromFiles(); // Example: "Create knowledge base" + ``` + +### Search Capabilities + +- **Full-Text Search** + - Search across all vault files + - Support for regex patterns + - Support for context search + - Support for frontmatter search + + ```typescript + // Search in vault + const results = await obsidian.search("query"); + // Examples: "Search QUERY" or "find notes with 'YOUR QUERY'" or "search notes named 'FILENAME'" + ``` + +### File Operations + +- **Read Files** + - Read files in the Obsidian Vault + + ```typescript + // Open a file in Obsidian + await obsidian.readFile("DOCUMENTS/report.txt"); // Example: "Read DOCUMENTS/report.txt" + ``` + +- **Create/Save Files** + - Create new files with automatic directory creation + - Save content to existing files + - Support for various file types + + ```typescript + // Create or update a file + await obsidian.saveFile("DOCUMENTS/report.txt", "Content", true); // Example: "Save DOCUMENTS/report.txt" + ``` + +- **Open Files** + - Open files in the Obsidian Vault + - Seamless integration with Obsidian's Rest API + + ```typescript + // Open a file in Obsidian + await obsidian.openFile("DOCUMENTS/report.txt"); // Example: "Open DOCUMENTS/report.txt" + ``` + +- **Update Files** + - Update existing files without creating new ones + - Line-specific updates supported + + ```typescript + // Update an existing file + await obsidian.patchFile("DOCUMENTS/report.txt", "New content"); // Example: "Update DOCUMENTS/report.txt" + ``` + +## Installation + +```bash +npm install @elizaos/plugin-obsidian +# or +yarn add @elizaos/plugin-obsidian +# or +pnpm add @elizaos/plugin-obsidian +``` + +## Configuration + +The plugin requires the following character secret settings: + +```json +{ + "settings": { + "secrets": { + "OBSIDIAN_API_TOKEN": "your-obsidian-api-token", + "OBSIDIAN_API_PORT": "your-obsidian-api-port", // Optional (default: 27123) + "OBSIDIAN_API_URL": "https://your-obsidian-api-url" , // Optional (default: "http://127.0.0.1:27123") + }, + // other settings... + } +} +``` + +## Usage + +Import and register the plugin in your Eliza agent configuration: + +```typescript +import { obsidianPlugin } from '@elizaos/plugin-obsidian'; + +export default { + plugins: [ + // other plugins... + getSecret(character, "OBSIDIAN_API_TOKEN") ? obsidianPlugin : null, + // other plugins... + ] +}; +``` + +## Development + +```bash +# Build the plugin +pnpm build + +# Run in development mode +pnpm dev + +# Run tests +pnpm test + +# Run linting +pnpm lint +``` + +## Actions + +The plugin provides several actions that can be used with ELIZA OS: + +- `SAVE_FILE`: Create or update files +- `OPEN_FILE`: Open files in Obsidian +- `UPDATE_FILE`: Update existing files +- `GET_NOTE`: Retrieve note content +- `NOTE_TRAVERSAL`: Build note hierarchies +- `SEARCH`: Search vault contents +- `LIST_FILES`: List vault files +- `LIST_DIRECTORY`: List directory contents +- `CREATE_KNOWLEDGE`: Generate knowledge bases +- `GET_ACTIVE_NOTE`: Get current note +- `SUMMARIZE_ACTIVE_NOTE`: Summarize current note + +## Error Handling + +The plugin provides detailed error messages and proper error handling: + +```typescript +try { + await obsidian.saveFile("path/to/file", "content"); +} catch (error) { + if (error.code === 'FILE_NOT_FOUND') { + // Handle file not found + } + // Handle other errors +} +``` + +## Contributing + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. + +## Support + +For support, please: + +1. Check the [documentation](https://elizaos.github.io/eliza/) +2. Open an issue in the repository +3. Join our [Discord community](https://discord.gg/elizaos) diff --git a/docs/packages/plugins/okto.md b/docs/packages/plugins/okto.md new file mode 100644 index 00000000000..f9fdac9a7b9 --- /dev/null +++ b/docs/packages/plugins/okto.md @@ -0,0 +1,111 @@ +# @okto_web3/eliza-plugin + +A comprehensive integration plugin for ElizaOS that provides access to Okto's various APIs and services, enabling seamless Web3 interactions. + +## Documentation + +For comprehensive documentation, please visit the [Okto Eliza Plugin Documentation](https://docsv2.okto.tech/docs/okto-eliza-plugin). + +## Features + +- **Portfolio Management**: + - Get user portfolio data and balances + - View NFT portfolio details + - Track token holdings across multiple networks + +- **Wallet Management**: + - Access user's wallets + - View wallet addresses and network details + +- **Token Operations**: + - Get supported tokens list and details + - Transfer tokens between addresses + - Swap tokens using DEX integrations + - Execute EVM raw transactions + +- **NFT Operations**: + - View NFT collections + - Transfer NFTs (ERC721/ERC1155) + - Track NFT balances + +- **Chain Support**: + - Multiple networks supported including: + - Ethereum + - Polygon + - Optimism + - Arbitrum + - Base + - Linea + - BSC + - Avalanche + - Solana + - Aptos + +- **Transaction History**: View detailed order history across networks + +## Installation + +```bash +npm install @okto_web3/eliza-plugin +``` + +## Configuration + +The plugin requires several environment variables to be set: + +```env +# Okto specific settings +OKTO_ENVIRONMENT= # Optional. Defaults to "sandbox". Options: sandbox, staging, production. +OKTO_CLIENT_PRIVATE_KEY= # Required. Your client private key provided by Okto. +OKTO_CLIENT_SWA= # Required. Your client SWA provided by Okto. + +# Google OAuth settings +GOOGLE_CLIENT_ID= # Required. Get from https://console.cloud.google.com/ +GOOGLE_CLIENT_SECRET= # Required. Get from https://console.cloud.google.com/ +``` + +## Setup Google OAuth + +1. Go to https://console.cloud.google.com/ +2. Create a new project +3. Create OAuth credentials +4. Add authorized redirect URI: http://localhost:5000 +5. Get the client ID and secret +6. Set them in your environment variables + +## Usage + +```typescript +import {OktoPlugin} from "@okto_web3/eliza-plugin"; +const oktoPlugin = new OktoPlugin() + return new AgentRuntime({ + databaseAdapter: db, + token, + modelProvider: character.modelProvider, + evaluators: [], + character, + plugins: [ + bootstrapPlugin, + nodePlugin, + oktoPlugin, + ].filter(Boolean), + providers: [], + actions: [], + services: [oktoPlugin.oktoService], + managers: [], + cacheManager: cache, + }); +``` + +### Available Actions + +- `OKTO_GET_PORTFOLIO` - Get user's token portfolio +- `OKTO_GET_ACCOUNT` - Get user's wallet accounts +- `OKTO_GET_CHAINS` - Get supported blockchain networks +- `OKTO_GET_NFT_COLLECTIONS` - Get user's NFT collections +- `OKTO_GET_ORDERS_HISTORY` - Get transaction history +- `OKTO_GET_PORTFOLIO_NFT` - Get NFT portfolio +- `OKTO_GET_TOKENS` - Get supported tokens +- `OKTO_TRANSFER` - Transfer tokens +- `OKTO_NFT_TRANSFER` - Transfer NFTs +- `OKTO_SWAP` - Swap tokens using DEX (Experimental) diff --git a/docs/packages/plugins/omniflix.md b/docs/packages/plugins/omniflix.md new file mode 100644 index 00000000000..b8119498e32 --- /dev/null +++ b/docs/packages/plugins/omniflix.md @@ -0,0 +1,223 @@ +# @elizaos/plugin-omniflix + +A plugin for ElizaOS that enables interaction with the OmniFlix Network blockchain. + +## Table of Contents + +- [Installation](#installation) +- [Configuration](#configuration) +- [Features](#features) +- [Integration](#integration) +- [Technical Details](#technical-details) + +## Installation + +```bash +npm install @elizaos/plugin-omniflix +``` + +## Configuration + +### Environment Variables + +```env +# Required: RPC endpoint for OmniFlix Network +OMNIFLIX_RPC_ENDPOINT="https://rpc.omniflix.network:443" + +# Required: API endpoint for OmniFlix Network +OMNIFLIX_API_URL="https://rest.omniflix.network" + +# Required: Either mnemonic or private key (one is required) +OMNIFLIX_MNEMONIC="your mnemonic" +# OR +OMNIFLIX_PRIVATE_KEY="your hex private key" +``` + +### Network Configuration + +You can configure different networks by updating the endpoints: + +#### Mainnet (Default) + +```env +OMNIFLIX_RPC_ENDPOINT="https://rpc.omniflix.network" +OMNIFLIX_API_URL="https://rest.omniflix.network" +``` + +#### Testnet + +```env +OMNIFLIX_RPC_ENDPOINT="https://rpc.testnet.omniflix.network" +OMNIFLIX_API_URL="https://api.testnet.omniflix.network" +``` + +Note: Make sure to use the appropriate network endpoints based on your requirements. The mainnet endpoints should be used for production environments, while testnet are suitable for testing. + +## Features + +### 1. Bank Operations + +#### Check Balance + +``` +Commands: +- What is my balance? +- How many FLIX do I have? +- Check my wallet balance +``` + +#### Send Tokens + +``` +Commands: +- Send 100 FLIX to omniflix1abc123... +- Transfer 50 FLIX to omniflix1xyz789... +``` + +#### Check Staked Balance + +``` +Commands: +- What is my staked balance? +- Show my delegated FLIX +- Check my staking balance +``` + +### 2. Staking Operations + +#### Delegate Tokens + +``` +Commands: +- Delegate 100 FLIX to omniflixvaloper1abc123... +- Stake 50 FLIX with validator omniflixvaloper1xyz789... +``` + +#### Undelegate Tokens + +``` +Commands: +- Undelegate 100 FLIX from omniflixvaloper1abc123... +- Unstake 50 FLIX from validator omniflixvaloper1xyz789... +``` + +#### Redelegate Tokens + +``` +Commands: +- Redelegate 100 FLIX from omniflixvaloper1abc123... to omniflixvaloper1def456... +- Move 50 FLIX stake from validator1 to validator2 +``` + +#### Cancel Unbonding + +``` +Commands: +- Cancel unbonding of 100 FLIX from omniflixvaloper1abc123... at creation height 123456 +- Stop unbonding 50 FLIX from validator omniflixvaloper1xyz789... at creation height 789012 +- Cancel unbonding delegation with: + - Amount: 100 FLIX + - Validator: omniflixvaloper1abc123... + - Creation Height: 123456 +``` + +Note: Creation height is required for canceling unbonding operations. You can find the creation height: + +- In the unbonding delegation response +- Through the chain explorer +- From the original unbonding transaction + +### 3. Governance Operations + +#### Vote on Proposals + +``` +Commands: +- Vote yes on proposal 1 +- Vote no on proposal 2 +- Vote abstain on proposal 3 +- Vote no_with_veto on proposal 4 + + +Valid Options: +- yes +- no +- abstain +- no_with_veto + +Note: proposal Id and vote option is required for voting on proposals or it will take unspecified vote option. You can find the proposal ID: + +- In the proposal response +- Through the chain explorer +- From the original proposal transaction +``` + +## Integration + +### Basic Setup + +1. Import the plugin: + +```typescript +import { OmniflixPlugin } from "@elizaos/plugin-omniflix"; +``` + +2. Register with ElizaOS: + +```typescript +import { Eliza } from "@elizaos/core"; + +const eliza = new Eliza(); +eliza.registerPlugin(OmniflixPlugin); +``` + +### Example Usage + +```typescript +import { voteOnProposal } from "@elizaos/plugin-omniflix"; + +// Vote on a proposal +const voteOnProposal = await voteOnProposal( + { + proposalId: "1", + vote: "YES", + }, + { + apiEndpoint: "https://rest.omniflix.network", + rpcEndpoint: "https://rpc.omniflix.network:443", + } +); +``` + +## Technical Details + +### Token Denominations + +- Display denomination: FLIX +- Base denomination: uflix (auto-converted by plugin) + +### Address Formats + +- Wallet addresses: Start with `omniflix` +- Validator addresses: Start with `omniflixvaloper` + +### Staking Parameters + +- Unbonding period: 28 days +- Redelegation: Has cooldown period +- Delegation: Minimum amount may apply +- Unbonding cancellation requires: + - Validator address + - Amount + - Creation height (block height when unbonding started) + - Must be within unbonding period + +### Governance Rules + +- Voting eligibility: Proposals must be in voting period +- Voting frequency: One vote per address per proposal +- Voting power: Proportional to staked amount + +## License + +This plugin is part of the ElizaOS project. See LICENSE file for details. diff --git a/docs/packages/plugins/opacity.md b/docs/packages/plugins/opacity.md new file mode 100644 index 00000000000..0b45428bc9f --- /dev/null +++ b/docs/packages/plugins/opacity.md @@ -0,0 +1,125 @@ +# Unmaintained: this verifiable inference plugin needs to be ported + +# @elizaos/adapter-opacity + +This adapter integrates Opacity proofs into ElizaOS, enabling verifiable inference results from various AI model providers available through the [CloudFlare AI Gateway](https://developers.cloudflare.com/ai-gateway). It implements the `IVerifiableInferenceAdapter` interface, making it compatible with other verifiable inference solutions. + +## Installation + +```bash +pnpm add @elizaos/adapter-opacity +``` + +## Configuration + +Add the following environment variables to your `.env` file: + +```env +OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f +OPACITY_CLOUDFLARE_NAME=eigen-test +OPACITY_PROVER_URL=https://opacity-ai-zktls-demo.vercel.app +# Verifiable Inference Configuration +VERIFIABLE_INFERENCE_ENABLED=true # Set to true to enable verifiable inference +VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity +``` +(make sure to VERIFIABLE_INFERENCE_ENABLED to true!) + +## Usage + +```typescript +import { OpacityAdapter } from "@elizaos/adapter-opacity"; +import { VerifiableInferenceOptions } from "@elizaos/core"; + +// Initialize the adapter +const opacityAdapter = new OpacityAdapter(runtime, { + teamId: process.env.OPACITY_TEAM_ID, + teamName: process.env.OPACITY_CLOUDFLARE_NAME, + baseUrl: process.env.OPACITY_PROVER_URL +}); + +// Generate text with verifiable results +const options: VerifiableInferenceOptions = { + // Optional: Override the default endpoint + endpoint: "https://custom-api.example.com", + // Optional: Add custom headers + headers: { + "X-Custom-Header": "value", + }, + // Optional: Provider-specific options + providerOptions: { + temperature: 0.7, + }, +}; + +const result = await opacityAdapter.generateText( + "What is Rust?", + "gpt-4", + options +); + +console.log("Response:", result.text); +console.log("Proof:", result.proof); + +// Verify the proof +const isValid = await opacityAdapter.verifyProof(result); +console.log("Proof is valid:", isValid); +``` + +## Features + +- Implements `IVerifiableInferenceAdapter` interface for standardized verifiable inference +- Support for multiple AI model provider, in the future may be expanded to accommodate for all gateways [supported by CloudFlare](https://developers.cloudflare.com/ai-gateway/providers/) +- Customizable options for each request +- Built-in proof verification + +## Response Format + +The adapter returns a `VerifiableInferenceResult` object containing: + +```typescript +{ + text: string; // The generated text response + proof: unknown; // The proof data + provider: string; // The provider name (e.g., "opacity") + timestamp: number; // Generation timestamp + metadata?: { // Optional metadata + modelProvider: string; + modelClass: string; + endpoint: string; + } +} +``` + +## How it Works + +The Opacity adapter wraps AI model API calls to CloudFlare, then performs MPC-TLS on the logged responses. + + +This allows you to: +1. Make verifiable API calls to AI model providers +2. Generate proofs of the responses +3. Verify the authenticity of the responses +4. Ensure the responses haven't been tampered with + +## Step By Step +```mermaid +sequenceDiagram + autonumber + participant Eliza + participant Cloudflare + participant OpenAI + Eliza ->> Cloudflare : Prompt Req + Cloudflare ->> OpenAI : Prompt Req + OpenAI ->> Cloudflare : Prompt Response + Cloudflare ->> Cloudflare : Log Prompt Response + Cloudflare ->> Eliza : Prompt Response + create participant Opacity + Eliza ->> Opacity : Generate Proof for Prompt Response + Opacity ->> Cloudflare : Fetch Prompt Response Log in MPC-TLS + Cloudflare ->> Opacity : Respond with Prompt Response Log + Opacity ->> Eliza : Return Proof of Prompt Response Log +``` + +## License + +MIT diff --git a/docs/packages/plugins/open-weather.md b/docs/packages/plugins/open-weather.md new file mode 100644 index 00000000000..7a99efece73 --- /dev/null +++ b/docs/packages/plugins/open-weather.md @@ -0,0 +1,208 @@ +# @elizaos/plugin-open-weather + +A plugin for Eliza that enables weather checking using the OpenWeather API. + +## Features + +- Weather & temperature check for any specified city +- Supports temperatures, weather descriptions, wind speed, with possible add-ons for full API response + +## Installation + +```bash +npm install @elizaos/plugin-open-weather +``` + +## Configuration + +1. Get your API key from [OpenWeather](https://openweathermap.org/api) + +2. Set up your environment variables: + +```bash +OPEN_WEATHER_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { openWeatherPlugin } from "@elizaos/plugin-open-weather"; + +// In your Eliza configuration +plugins: [ + new openWeatherPlugin(), + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about weather in a specified city. Here are some examples: + +```plaintext +"What's the current weather in London?" +"Show me weather in New York" +"Get the weather in Tokyo" +"What's the weather like?" +``` + +### Available Actions + +#### GET_CURRENT_WEATHER + +Fetches the current weather for a specified city. If no city is specified it will prompt the user for a city. + +```typescript +// Example response format +{ + "coord": { + "lon": 7.367, + "lat": 45.133 + }, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "base": "stations", + "main": { + "temp": 284.2, + "feels_like": 282.93, + "temp_min": 283.06, + "temp_max": 286.82, + "pressure": 1021, + "humidity": 60, + "sea_level": 1021, + "grnd_level": 910 + }, + "visibility": 10000, + "wind": { + "speed": 4.09, + "deg": 121, + "gust": 3.47 + }, + "rain": { + "1h": 2.73 + }, + "clouds": { + "all": 83 + }, + "dt": 1726660758, + "sys": { + "type": 1, + "id": 6736, + "country": "IT", + "sunrise": 1726636384, + "sunset": 1726680975 + }, + "timezone": 7200, + "id": 3165523, + "name": "Province of Turin", + "cod": 200 +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| -------------------- | ------------------------ | -------- | +| OPEN_WEATHER_API_KEY | Your OpenWeather API key | Yes | + +### Types + +```typescript +export interface WeatherResponse { + coord: Coordinates; + weather: Weather[]; + base: string; + main: MainWeather; + visibility: number; + wind: Wind; + rain?: Precipitation; + snow?: Precipitation; + clouds: Clouds; + dt: number; + sys: System; + timezone: number; + id: number; + name: string; + cod: number; +} + +interface Coordinates { + lon: number; + lat: number; +} + +interface Weather { + id: number; + main: string; + description: string; + icon: string; +} + +interface MainWeather { + temp: number; + feels_like: number; + temp_min: number; + temp_max: number; + pressure: number; + humidity: number; + sea_level?: number; + grnd_level?: number; +} + +interface Wind { + speed: number; + deg: number; + gust?: number; +} + +interface Precipitation { + "1h"?: number; + "3h"?: number; +} + +interface Clouds { + all: number; +} + +interface System { + type: number; + id: number; + country: string; + sunrise: number; + sunset: number; +} +``` + +## Error Handling + +The plugin includes error handling for: + +- Invalid API keys +- Rate limiting +- Network timeouts +- Invalid cities/locations + +## Rate Limits + +1,000 API calls per day for free. + +OpenWeather API has different rate limits based on your subscription plan. Please refer to [OpenWeather's pricing page](https://openweathermap.org/api) for detailed information. + +## Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- Discord: kylebuildsstuff +- X/twitter: [kylebuildsstuff](https://x.com/kylebuildsstuff) + +## Links + +- [OpenWeather weather API Documentation](https://openweathermap.org/current) diff --git a/docs/packages/plugins/openai.md b/docs/packages/plugins/openai.md new file mode 100644 index 00000000000..b5abe1ed28e --- /dev/null +++ b/docs/packages/plugins/openai.md @@ -0,0 +1,63 @@ + +# @elizaos/plugin-openai + +A plugin for OpenAI integration, providing automated text generation capabilities. + +## Overview + +This plugin provides functionality to: + +- Generate text using OpenAI's GPT models. +- Customize prompts for context-aware content generation. + +## Installation + +```bash +npm install @elizaos/plugin-openai +``` + +## Configuration + +The plugin requires the following environment variable: + +```env +OPENAI_API_KEY=your_openai_api_key +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { openaiPlugin } from "@elizaos/plugin-openai"; + +export default { + plugins: [openaiPlugin], + // ... other configuration +}; +``` + +### Generating Text + +```typescript +const result = await generateTextAction.handler(runtime, message, state); +console.log(result.text); // Output generated by OpenAI +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/para.md b/docs/packages/plugins/para.md new file mode 100644 index 00000000000..6186017fb92 --- /dev/null +++ b/docs/packages/plugins/para.md @@ -0,0 +1,299 @@ +# @elizaos/plugin-para + +A seamless integration between Para wallet infrastructure and Eliza OS, enabling autonomous agents to manage user wallets and transactions. + +[![npm version](https://img.shields.io/npm/v/@elizaos/plugin-para?color=blue)](https://npmjs.com/package/@elizaos/plugin-para) +[![npm downloads](https://img.shields.io/npm/dm/@elizaos/plugin-para?color=blue)](https://npm.chart.dev/@elizaos/plugin-para) +[![bundle size](https://img.shields.io/bundlephobia/minzip/@elizaos/plugin-para?color=blue)](https://bundlephobia.com/package/@elizaos/plugin-para) + +## Features + +- 🔐 Full Para wallet integration with Eliza agents +- 💰 EVM-based transaction support using Viem +- 📝 Message signing capabilities +- 💼 Pre-generated wallet support +- 🔄 Seamless wallet claiming process +- 🛡️ Secure user share management +- 🌐 Multi-chain support (Ethereum, Polygon, Arbitrum, etc.) +- 📋 Built-in wallet status monitoring +- 🤖 Auto-configuration with Eliza agents +- 📱 Session management for persistent authentication + +## Installation + +You can install the plugin using your preferred package manager: + +```bash +# npm +npm install @elizaos/plugin-para + +# pnpm +pnpm add @elizaos/plugin-para + +# yarn +yarn add @elizaos/plugin-para + +# bun +bun add @elizaos/plugin-para +``` + +## Configuration + +1. Add required environment variables to your `.env` file: + +```env +# Para Configuration +PARA_API_KEY=your-para-api-key +PARA_ENV=production +``` + +2. Register the plugin in your Eliza character configuration: + +```typescript +import { paraPlugin } from '@elizaos/plugin-para'; + +export const characterConfig = { + // ... other config + plugins: [paraPlugin], + settings: { + secrets: { + PARA_API_KEY: process.env.PARA_API_KEY, + PARA_ENV: process.env.PARA_ENV || 'production' + } + } +}; +``` + +## Usage + +The plugin adds several capabilities to your Eliza agent: + +### Creating Wallets + +```typescript +// The agent can create wallets in response to user requests +await runtime.triggerAction("CREATE_PARA_WALLET", { + type: "EVM" +}); +``` + +### Pre-generating Wallets + +```typescript +// Create a wallet for a user before they sign up +await runtime.triggerAction("CREATE_PREGEN_WALLET", { + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); +``` + +### Signing Messages + +```typescript +// Sign a message with a user's wallet +await runtime.triggerAction("SIGN_PARA_MESSAGE", { + walletId: "wallet-id", + message: "Hello, World!" +}); +``` + +### Signing Transactions + +```typescript +// Sign and submit an EVM transaction +await runtime.triggerAction("SIGN_PARA_TRANSACTION", { + walletId: "wallet-id", + transaction: { + to: "0x1234567890123456789012345678901234567890", + value: "0.01" + }, + chainId: "1" // Ethereum mainnet +}); +``` + +### Claiming Pre-generated Wallets + +```typescript +// Users can claim their pre-generated wallets +await runtime.triggerAction("CLAIM_PARA_WALLET", { + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); +``` + +### Checking Wallet Status + +```typescript +// Get current wallet status through the provider +const walletInfo = await runtime.getContextFromProvider("paraWalletProvider"); +``` + +## Actions + +The plugin provides the following actions: + +| Action | Description | +|--------|-------------| +| `CREATE_PARA_WALLET` | Creates a new Para wallet | +| `CREATE_PREGEN_WALLET` | Creates a pre-generated wallet associated with an identifier | +| `CLAIM_PARA_WALLET` | Claims a pre-generated wallet | +| `SIGN_PARA_MESSAGE` | Signs a message using a Para wallet | +| `SIGN_PARA_TRANSACTION` | Signs and submits a transaction using a Para wallet | +| `UPDATE_PREGEN_IDENTIFIER` | Updates the identifier for a pre-generated wallet | + +## Providers + +Available providers for context and status: + +| Provider | Description | +|----------|-------------| +| `paraWalletProvider` | Provides current wallet information and status | + +## Services + +The plugin registers the following services in the Eliza runtime: + +| Service | Description | +|---------|-------------| +| `ParaWalletService` | Core service handling Para SDK integration | + +## Viem Integration + +The plugin uses Viem for Ethereum transactions, offering: + +- 🚀 Modern and efficient transaction handling +- 🔧 Type-safe API for Ethereum interactions +- ⚡ Multi-chain support out of the box +- 🔄 Compatible with the Para Viem connector + +```typescript +// Example of transaction handling with Viem +await runtime.triggerAction("SIGN_PARA_TRANSACTION", { + walletId: "wallet-id", + transaction: { + to: "0x1234567890123456789012345678901234567890", + value: "0.05", + data: "0x..." // Optional contract interaction data + }, + chainId: "137" // Polygon +}); +``` + +## Session Management + +The plugin implements Para's session management for maintaining authenticated states: + +```typescript +const paraService = runtime.getService(ExtendedServiceType.PARA_WALLET); + +// Check if session is active +const isActive = await paraService.isSessionActive(); + +// Keep session alive +if (isActive) { + await paraService.keepSessionAlive(); +} else { + await paraService.refreshSession(); +} +``` + +## User Share Management + +Secure handling of user shares for pre-generated wallets: + +```typescript +// Get user share after wallet creation +const { wallet, userShare } = await paraService.createPregenWallet({ + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); + +// Store user share securely +await secureStorage.set(`user-share-${wallet.id}`, userShare); + +// Restore user share when needed +await paraService.setUserShare({ + userShare: await secureStorage.get(`user-share-${walletId}`) +}); +``` + +## Error Handling + +The plugin implements comprehensive error handling following Eliza's patterns: + +```typescript +try { + await runtime.triggerAction("SIGN_PARA_TRANSACTION", params); +} catch (error) { + if (error instanceof TransactionReviewDenied) { + // Handle user denial + console.log("User denied the transaction"); + } else if (error instanceof TransactionReviewTimeout) { + // Handle timeout + console.log("Transaction review timed out", error.transactionReviewUrl); + } else { + // Handle other errors + console.error("Transaction error:", error); + } +} +``` + +## Multi-Chain Support + +The plugin supports a variety of EVM-compatible networks: + +| Chain ID | Network | +|----------|---------| +| 1 | Ethereum Mainnet | +| 11155111 | Sepolia Testnet | +| 137 | Polygon | +| 42161 | Arbitrum | + +Additional networks can be added by extending the chain configuration. + +## Best Practices + +1. **Security** + - Store API keys securely in environment variables + - Implement proper user authentication before wallet operations + - Use secure storage for user shares + - Follow Para's recommendations for session management + +2. **Error Handling** + - Implement proper error handling for all wallet operations + - Handle transaction rejections and timeouts gracefully + - Provide clear feedback to users when operations fail + - Log errors appropriately for debugging + +3. **Performance** + - Keep track of session status to avoid unnecessary refreshes + - Implement proper caching for wallet information + - Use appropriate gas parameters for transactions + - Handle network congestion scenarios with retry logic + +4. **User Experience** + - Guide users through the wallet creation process + - Provide clear status updates during operations + - Implement proper loading states during transaction signing + - Give feedback on transaction progress and confirmations + +## Contributing + +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +MIT License - see the [LICENSE](LICENSE) file for details. + +## Related + +- [Eliza Documentation](https://elizaos.github.io/eliza/) +- [Para Documentation](https://docs.getpara.com/) +- [Plugin Examples](https://github.com/elizaos/eliza/tree/main/examples/plugins) +- [Viem Documentation](https://viem.sh/) diff --git a/docs/packages/plugins/pdf.md b/docs/packages/plugins/pdf.md new file mode 100644 index 00000000000..e4bbb6ce114 --- /dev/null +++ b/docs/packages/plugins/pdf.md @@ -0,0 +1,25 @@ +# @elizaos/plugin-pdf + +Core Node.js plugin for Eliza OS that provides essential services and actions for file operations. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, bridging core Node.js capabilities with the Eliza ecosystem. It provides crucial services for file operations, media processing, speech synthesis, and cloud integrations, enabling both local and cloud-based functionality for Eliza agents. + +## Features + +- **PDF Processing**: PDF text extraction and parsing + +// ... existing code ... + +## Services + +### PdfService + +Extracts and processes text content from PDF files. + +// ... existing code ... + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/primus.md b/docs/packages/plugins/primus.md new file mode 100644 index 00000000000..ddbaaceedb5 --- /dev/null +++ b/docs/packages/plugins/primus.md @@ -0,0 +1,210 @@ +# Unmaintained: this plugin needs a maintainer. + +# @elizaos/plugin-primus + +A plugin to fully verify agent activities, including LLM access, actions, and interactions with external providers, +powered by Primus' zkTLS protocol. + +## Overview + +In the Eliza framework, an agent consists of three key components: a brain (accessing an LLM), actions (the tasks the +agent performs), and perception (gathering external information from providers). To fully verify agent activities, it's +essential to ensure that the agent's thoughts, actions, and external information requests are all verifiable. This +plugin enables full verification of these activities. + +The current plugin includes: + +- Verification of inference from OpenAI's LLM. +- An example for verifying actions, such as posting a tweet (this can be extended to any other actions). +- An example to verify that the Bitcoin price is accurately fetched from Binance (this can be extended to any other data + providers). + +## Usage +### LLM inference verification (PrimusAdapter) +`PrimusAdapter` implements `IVerifiableInferenceAdapter` and can be used as follows. +```typescript +import {PrimusAdapter} from "@elizaos/plugin-primus"; +import {VerifiableInferenceOptions} from '@elizaos/core'; + +// Initialize primus adapter +const primusAdatper = new PrimusAdapter({ + appId: process.env.PRIMUS_APP_ID, + appSecret: process.env.PRIMUS_APP_SECRET, + // Choose MPC-TLS or Proxy-TLS + attMode: "proxytls", + modelProvider: character.modelProvider, + token, +}); + +interface PrimusOptions { + appId: string; + appSecret: string; + attMode: string; + modelProvider?: ModelProviderName; + token?: string; +} + +// The options for generating an attestation +const options: VerifiableInferenceOptions = { + // Optional: Override the default endpoint + endpoint: "https://api.openapi.com/chat/completions", + // Optional: Add custom headers + headers: { + "Content-Type": "application/json", + "Authorization": "bearer Token", + }, + // Optional: Provider-specific options + providerOptions: { + temperature: 0.7, + }, +}; + +// Generate an attestation for a network request. +const result = await primusAdapter.generateText(context, "gpt-4o", options); +// Verify the validity of the attestation. +const isValid = await primusAdapter.verifyProof(result.proof); +``` + +The core functions in `PrimusAdatper` are the following, which are also used in Actions and Providers. +```typescript +// Generate a zkTLS proof. +generateProof = async ( + // The target endpoint of the network request. + endpoint: string, + // The HTTP method of the request, such as 'GET', 'POST', etc. + method: string, + // A record containing the headers of the request. + headers: Record, + // The body of the request. It should be a string. + body: string, + //A [JSONPath](https://datatracker.ietf.org/doc/rfc9535/) expression to locate the specific field in the response you want to attest. + responseParsePath: string +): Promise + +// Verify the proof. +verifyProof = async (attestation: any): Promise + +``` + +### Verify the interaction with Providers + +Here’s an example showcasing how to verify the validity of the BTC price retrieved from Binance. Developers can easily customize this process for other providers. + +```typescript +const tokenPriceProvider: Provider = { + get: async (runtime: IAgentRuntime, message: Memory, _state?: State) => { + // Set the URL + const url = "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT"; + const method = 'GET'; + const headers = { + 'Accept ': '*/*', + }; + // Generate the proof + const attestation = await generateProof(url, method, headers, "", "$.price"); + // Verify the proof. + const valid = await verifyProof(attestation); + if (!valid) { + throw new Error("Invalid price attestation"); + } + ...... + }, +}; +``` + +### Verify the Actions +Below is an example showcasing how to post price information from the [tokenPriceProvider](./src/providers/tokenPriceProvider.ts) to Twitter. Developers can easily adapt this process for other providers. + +Note that you need to configure the `.env` file correctly to post tweets. +```typescript +export const postTweetAction: Action = { + description: "Post a tweet on Twitter and be verified by Primus", + examples: [], + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ): Promise => { + const contentYouWantToPost = await tokenPriceProvider.get(runtime, message, state); + const endpoint = 'https://twitter.com/i/api/graphql/a1p9RWpkYKBjWv_I3WzS-A/CreateTweet'; + const method = 'POST'; + const attestation = await generateProof(endpoint,method,headers,bodyStr,"$.data.create_tweet.tweet_results.result.rest_id"); + elizaLogger.info( + "Tweet posting proof generated successfully:", + attestation + ); + const verifyResult = verifyProof(attestation); + if (!verifyResult) { + throw new Error( + "Attestation verify failed, data from source is illegality" + ); + } + + }, + name: "POST_TWEET", + similes: [], + validate: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => { + const hasCredentials = + !!process.env.TWITTER_USERNAME && !!process.env.TWITTER_PASSWORD; + elizaLogger.log(`Has credentials: ${hasCredentials}`); + + return hasCredentials; + }, +}; +``` + +## Installation + +```bash +pnpm add @elizaos/plugin-primus +``` + +## Configuration + +Add the following environment variables to your .env file: + +``` +PRIMUS_APP_ID=your_app_id +PRIMUS_APP_SECRET=your_app_secret +VERIFIABLE_INFERENCE_ENABLED=true +VERIFIABLE_INFERENCE_PROVIDER=primus +``` + +***How to get PRIMUS_APP_ID and PRIMUS_APP_SECRET*** + +1. Visit the [Primus Developer Hub](https://dev.primuslabs.xyz/). +2. Create a new project +3. Save your 'Application ID(PRIMUS_APP_ID)' and 'Secret Key(PRIMUS_APP_SECRET)' + +To use the plugin, add `@elizaos/plugin-primus` to the plugins field in your character file. Here's an example of how your character file might look after the update: + +```json +{ + "name": "trump", + "modelProvider": "openai", + // just support openai now + "plugins": [ + "@elizaos/plugin-primus" + ], + // other fields + ..... +} +``` + +## Run + +```bash +# Start the server +pnpm start --characters="characters/xxx.character.json" +``` + +```bash +# Start the client +pnpm start:client +``` + +You can ask the agent: "Get the BTC price and tweet." + diff --git a/docs/packages/plugins/pyth-data.md b/docs/packages/plugins/pyth-data.md new file mode 100644 index 00000000000..5f408049e05 --- /dev/null +++ b/docs/packages/plugins/pyth-data.md @@ -0,0 +1,136 @@ +# Pyth Data Plugin for ElizaOS + +A powerful plugin for interacting with Pyth Network price feeds and data streams. This plugin provides real-time access to cryptocurrency, forex, and other asset price data through a natural language interface. + +## Features + +- Real-time price feed streaming +- Latest price updates retrieval +- Publisher caps information +- Comprehensive price feed listings +- Natural language processing for price feed queries + +## Available Actions + +### 1. GET_PRICE_UPDATES_STREAM +Stream real-time price updates for specific assets. + +**Example Prompts:** +``` +Stream price updates for 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +Stream BTC/USD price updates +``` + +### 2. GET_LATEST_PRICE_UPDATES +Retrieve the most recent price updates for specific assets. + +**Example Prompts:** +``` +Latest price updates for 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +``` + +### 3. GET_LATEST_PUBLISHER_CAPS +Fetch information about publisher capabilities and limits. + +**Example Prompts:** +``` +Get me all the published caps +Show publisher capabilities +List all publisher caps +``` + +### 4. GET_PRICE_FEEDS +Retrieve available price feeds and their metadata. + +**Example Prompts:** +``` +Get all available price feeds from Pyth Network +List all crypto price feeds +Show me available forex feeds +``` + +## Configuration + +Create a `.env` file in your project root with the following variables: + +### Network Configuration +```env +# Network Environment (mainnet or testnet) +PYTH_NETWORK_ENV=mainnet + +# Mainnet Configuration +PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network +PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws +PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com +PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids +PYTH_MAINNET_PROGRAM_KEY=FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH + +# Testnet Configuration +PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network +PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws +PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com +PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet +PYTH_TESTNET_PROGRAM_KEY=FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH +``` + +### Connection Settings +```env +PYTH_MAX_RETRIES=3 +PYTH_RETRY_DELAY=1000 +PYTH_TIMEOUT=5000 +PYTH_GRANULAR_LOG=true +PYTH_LOG_LEVEL=info +``` + +### Runtime Settings +```env +# General runtime configuration +RUNTIME_CHECK_MODE=false + +# Streaming Configuration +PYTH_ENABLE_PRICE_STREAMING=true # Enable/disable price streaming functionality +PYTH_MAX_PRICE_STREAMS=2 # Number of price updates to collect before closing stream + # Can be set to higher values (e.g., 10000) for production use +``` + +The streaming configuration controls how the price feed streaming works: +- `PYTH_ENABLE_PRICE_STREAMING`: Toggle to enable/disable the streaming functionality. Set to `true` to allow real-time price updates. +- `PYTH_MAX_PRICE_STREAMS`: Controls how many price updates to collect before automatically closing the stream. While set to 2 for testing, this can be increased to much higher values (e.g., 10000) for production use cases where continuous streaming is needed. + +### Test Price Feed IDs +```env +PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace +``` +## Features + +- **Automatic Price ID Detection**: Supports both hex IDs and common symbols (BTC/USD, ETH/USD, etc.) +- **Flexible Data Formats**: Supports both hex and base64 encoding +- **Granular Logging**: Detailed logging for debugging and monitoring +- **Error Handling**: Comprehensive error handling with detailed feedback +- **Streaming Control**: Configurable stream limits and timeouts + +## Dependencies + +This plugin uses the official `@pythnetwork/hermes-client` for reliable data access and streaming capabilities. + +## Error Handling + +The plugin includes comprehensive error handling for: +- Invalid price feed IDs +- Network connection issues +- Configuration errors +- Validation failures +- Stream management + +## Logging + +Enable granular logging by setting `PYTH_GRANULAR_LOG=true` for detailed operation insights. + +## Contributing + +Contributions are welcome! Please ensure you: +1. Follow the code style +2. Add tests for new features +3. Update documentation as needed +4. Maintain type safety diff --git a/docs/packages/plugins/quai.md b/docs/packages/plugins/quai.md new file mode 100644 index 00000000000..607f5ebd0f4 --- /dev/null +++ b/docs/packages/plugins/quai.md @@ -0,0 +1,149 @@ +# @elizaos/plugin-quai + +Quai Network integration plugin for Eliza OS that enables native token transfers and interactions with the Quai blockchain. + +## Overview + +This plugin provides core functionality for interacting with the Quai Network, offering native token transfer capabilities and blockchain interactions through a simple interface. + +## Features + +- Native QUAI token transfers +- Multiple network support +- Secure transaction signing +- Comprehensive error handling +- Built-in address validation +- Automatic gas estimation +- Real-time transaction status + +## Installation + +```bash +pnpm install @elizaos/plugin-quai +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +QUAI_PRIVATE_KEY=your-private-key +QUAI_RPC_URL=https://rpc.quai.network # or your preferred RPC endpoint +``` + +## Usage + +### Token Transfer + +```typescript +import { quaiPlugin } from '@elizaos/plugin-quai'; + +// Send QUAI +const result = await eliza.execute({ + action: 'SEND_TOKEN', + content: { + recipient: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', + amount: '10' + } +}); +``` + +## API Reference + +### Actions + +#### `SEND_TOKEN` +Transfers QUAI tokens to another address. + +```typescript +{ + action: 'SEND_TOKEN', + content: { + recipient: string, // Recipient's Quai address (42 characters, 0x prefix) + amount: string, // Amount to send (in QUAI) + tokenAddress?: string // Optional: for QRC20 tokens (not implemented yet) + } +} +``` + +### Providers + +The plugin uses Quai's native JsonRpcProvider for blockchain interactions: + +```typescript +const provider = getQuaiProvider(runtime); +// Returns configured JsonRpcProvider instance +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + - Check account balance + - Verify recipient address format + - Ensure sufficient gas + - Confirm network connection + +2. **Connection Problems** + - Verify RPC endpoint + - Check network status + - Ensure valid credentials + - Monitor API availability + +3. **Configuration Issues** + - Verify environment variables + - Check address format + - Confirm private key format + - Validate RPC URL + +## Security Best Practices + +1. **Key Management** + - Store private keys securely + - Use environment variables + - Never expose private keys in code + - Monitor account activity + +2. **Transaction Safety** + - Validate all addresses + - Implement amount validation + - Double-check recipients + - Monitor transaction status + +3. **Error Handling** + - Log all transaction attempts + - Handle timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +## Dependencies + +- quais: ^1.0.0-alpha.25 +- @elizaos/core: workspace:* + +## Contributing + +Contributions are welcome! Please ensure your code follows the existing patterns and includes appropriate tests. + +## Credits + +This plugin integrates with: +- [Quai Network](https://qu.ai/) +- [Quai JavaScript API](https://www.npmjs.com/package/quais) + +For more information about Quai Network capabilities: +- [Quai Documentation](https://docs.qu.ai/) +- [Quai Network GitHub](https://github.com/dominant-strategies) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/quick-intel.md b/docs/packages/plugins/quick-intel.md new file mode 100644 index 00000000000..ae0040a6e37 --- /dev/null +++ b/docs/packages/plugins/quick-intel.md @@ -0,0 +1,155 @@ +# @elizaos/plugin-quickintel + +A plugin for performing token security audits and market analysis within the ElizaOS ecosystem. + +## Description + +This plugin enables comprehensive token security analysis using QuickIntel's API, combined with market data from DexScreener. It supports multiple chains and address formats, providing detailed security assessments and market insights in natural language responses. + +## Installation + +```bash +pnpm install @elizaos/plugin-quickintel +``` + +## Configuration + +### Environment Variables + +```typescript +QUICKINTEL_API_KEY= +``` + +### Client Configuration + +Add the plugin to your character.json file: + +```json +{ + "name": "YourCharacter", + "plugins": ["quickintel"], + "settings": { + "QUICKINTEL_API_KEY": "your-api-key-here" + } +} +``` + +## Usage + +### Basic Integration + +```typescript +import { quickIntelPlugin } from "@elizaos/plugin-quickintel"; +``` + +### Example Usage + +The plugin processes natural language queries for token audits: + +```typescript +"Can you check if this token is safe? 0x742d35Cc6634C0532925a3b844Bc454e4438f44e on BSC" +"Analyze this token on Ethereum: 0x1234..." +"Is this Solana token safe? Hep4ZQ3MSSXFuLnT4baBFVBrC3677ntjrfaqE9zEt4rX" +``` + +### Supported Features + +- Multi-chain support (EVM chains, Solana, etc.) +- Comprehensive security analysis +- Market data integration +- Natural language responses +- Detailed risk assessments + +## API Reference + +### Actions + +#### Audit Token Action + +Performs security audits and market analysis on tokens. + +**Response Type:** + +```typescript +interface AuditResponse { + success: boolean; + data: { + audit: any; // QuickIntel audit data + market?: any; // DexScreener market data + }; + params: { + chain: string; + tokenAddress: string; + }; +} +``` + +### Supported Chains + +The plugin supports all chains available through QuickIntel, including: +- Ethereum (ETH) +- BNB Smart Chain (BSC) +- Polygon +- Arbitrum +- Avalanche +- Solana +- Full list available at https://docs.quickintel.io/quick-intel-scanner/supported-chains +- And many more... + +## Common Issues & Troubleshooting + +1. **API Issues** + - Verify API key is correct + - Check API endpoint accessibility + - Ensure proper network connectivity + +2. **Chain/Address Detection** + - Ensure chain name is clearly specified (e.g., "on ETH") + - Verify token address format + - Check chain support in QuickIntel + +3. **Market Data** + - DexScreener data might be unavailable for some tokens + - Some chains might have different market data availability + - Liquidity information may vary by chain + +## Security Best Practices + +1. **API Configuration** + - Store API key securely + - Use environment variables + - Implement proper error handling + +2. **Response Handling** + - Validate audit results + - Handle timeouts gracefully + - Process market data carefully + +``` + +## Future Enhancements + +- Enhanced market data analysis +- Historical audit tracking +- Custom audit templates +- Comparative analysis features + +## Contributing + +Contributions are welcome! Please see the main Eliza repository for contribution guidelines. + +## Credits + +This plugin integrates with: + +- [QuickIntel](https://quickintel.io): Token security audit platform +- [DexScreener](https://dexscreener.com): DEX market data provider + +Special thanks to: +- The QuickIntel team for their security analysis platform +- The DexScreener team for market data access +- The Eliza community for feedback and testing + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/rabbit-trader.md b/docs/packages/plugins/rabbit-trader.md new file mode 100644 index 00000000000..5977ac2a815 --- /dev/null +++ b/docs/packages/plugins/rabbit-trader.md @@ -0,0 +1,180 @@ +# Unmaintained: this plugin needs a maintainer. + +# Rabbi Trader Plugin + +An automated cryptocurrency trading plugin for Solana tokens with integrated trust scoring, market analysis, and Twitter notifications. + +## Features + +- Automated trading on Solana blockchain +- Real-time market data analysis using DexScreener +- Trust score evaluation for tokens +- Twitter integration for trade notifications +- Safety limits and risk management +- Simulation capabilities before executing trades +- Performance tracking and trade history +- Rate limiting and cache management + +## Installation + +```bash +npm install @elizaos/plugin-rabbi-trader +``` + +## Prerequisites + +The following environment variables need to be configured: + +- `WALLET_PRIVATE_KEY`: Your Solana wallet private key +- `WALLET_PUBLIC_KEY`: Your Solana wallet public address +- `SOLANA_RPC_URL`: Solana RPC endpoint (defaults to mainnet) +- `BIRDEYE_API_KEY`: API key for Birdeye data provider +- `TWITTER_ENABLED`: Enable/disable Twitter notifications +- `TWITTER_USERNAME`: Twitter username for notifications +- `DEXSCREENER_WATCHLIST_ID`: DexScreener watchlist identifier +- `COINGECKO_API_KEY`: CoinGecko API key for additional market data + +## Usage + +```typescript +import createRabbiTraderPlugin from '@elizaos/plugin-rabbi-trader'; +import { IAgentRuntime } from '@elizaos/core'; + +const plugin = await createRabbiTraderPlugin( + (key: string) => process.env[key], + runtime +); + +// Plugin will automatically start monitoring and trading if enabled +``` + +## Configuration + +### Safety Limits + +The plugin includes built-in safety limits that can be configured: + +```typescript +export const SAFETY_LIMITS = { + MINIMUM_TRADE: 0.01, // Minimum SOL per trade + MAX_POSITION_SIZE: 0.1, // Maximum 10% of token liquidity + MAX_SLIPPAGE: 0.05, // Maximum 5% slippage allowed + MIN_LIQUIDITY: 1000, // Minimum $1000 liquidity required + MIN_VOLUME: 2000, // Minimum $2000 24h volume required + MIN_TRUST_SCORE: 0.4, // Minimum trust score to trade + STOP_LOSS: 0.2, // 20% stop loss trigger + TAKE_PROFIT: 0.12, // Take profit at 12% gain + TRAILING_STOP: 0.2 // 20% trailing stop from highest +}; +``` + +### Trading Parameters + +Default trading parameters can be adjusted in the configuration: + +```typescript +{ + CHECK_INTERVAL: 5 * 60 * 1000, // Check every 5 minutes + REENTRY_DELAY: 60 * 60 * 1000, // Wait 1 hour before re-entering + MAX_ACTIVE_POSITIONS: 5, // Maximum concurrent positions + MIN_WALLET_BALANCE: 0.05 // Keep minimum 0.05 SOL in wallet +} +``` + +## API Integration + +The plugin integrates with multiple APIs: + +- **Birdeye API**: Market data and token security information +- **DexScreener**: Real-time trading data and market analysis +- **Twitter**: Trade notifications and updates +- **Jupiter**: Token swaps and liquidity aggregation + +## Error Handling + +The plugin includes comprehensive error handling for common scenarios: + +```typescript +export const ERROR_SIGNATURES = [ + { + sig: "0x13be252b", + name: "InsufficientAllowance", + description: "Token allowance too low" + }, + { + sig: "0xf4d678b8", + name: "InsufficientBalance", + description: "Insufficient token balance" + }, + // ... additional error signatures +]; +``` + +## Trade Analysis + +The plugin performs detailed analysis before executing trades: + +1. Token security evaluation +2. Market data analysis +3. Trust score calculation +4. Liquidity assessment +5. Volume verification +6. Price movement analysis +7. Holder distribution review + +## Twitter Integration + +When enabled, the plugin can post trade notifications with: + +- Token information +- Trade details (buy/sell price, amount) +- Trust score and risk level +- Market metrics +- Transaction signature +- Profit/loss for sells + +## Caching + +The plugin implements multiple caching mechanisms: + +- Token analysis cache (20 minutes) +- Twitter rate limiting cache (hourly limits) +- Skip/wait cache (2 hours) +- Analysis history (24 hours) + +## Development + +### Building + +```bash +npm run build +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +Key dependencies include: + +- `@solana/web3.js`: Solana blockchain interaction +- `@elizaos/core`: Core agent runtime +- `@elizaos/plugin-solana`: Solana integration +- `@elizaos/plugin-trustdb`: Trust score database +- `node-cache`: Caching functionality +- `bignumber.js`: Precise number handling + +## Contributing + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a new Pull Request + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. diff --git a/docs/packages/plugins/router-nitro.md b/docs/packages/plugins/router-nitro.md new file mode 100644 index 00000000000..b2b5e8a90a8 --- /dev/null +++ b/docs/packages/plugins/router-nitro.md @@ -0,0 +1,41 @@ +# @elizaos/plugin-router-nitro + +A plugin for interacting with the Router Nitro bridge within the ElizaOS ecosystem. + +## Description + +The Router Nitro plugin enables seamless cross-chain token transfers and wallet management across blockchains. It supports efficient bridging of tokens and monitoring wallet balances, facilitating real-time transaction processing and price tracking. + +## Installation + +```bash +pnpm install @elizaos/plugin-router-nitro +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ROUTER_NITRO_EVM_PRIVATE_KEY= +ROUTER_NITRO_EVM_ADDRESS= +``` + +## Usage + +### Basic Integration + +```typescript +import { + nitroPlugin +} from "@elizaos/plugin-router-nitro"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Bridge 50 USDC from Ethereum to Polygon on address 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; +"Send 1 ETH from Arb to Base" +``` diff --git a/docs/packages/plugins/sei.md b/docs/packages/plugins/sei.md new file mode 100644 index 00000000000..366f1761813 --- /dev/null +++ b/docs/packages/plugins/sei.md @@ -0,0 +1,107 @@ +# @elizaos/plugin-sei + +Sei Network plugin for Eliza OS that enables Eliza agents to perform actions on the Sei blockchain. +## Overview + +This plugin provides functionality to: + +- Transfer SEI tokens to other `0x` or `sei` addresses +- Query wallet balances + +## Installation + +```bash +pnpm install @elizaos/plugin-sei +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +SEI_PRIVATE_KEY= #your_private_key +SEI_NETWORK= #"mainnet","testnet", or "devnet" +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { seiPlugin } from "@elizaos/plugin-sei"; + +export default { + plugins: [seiPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer SEI tokens to another address: + +```typescript +// Example conversation +User: "Send 1 SEI to 0xD5ca6eA5e33606554F746606157a7512FA738A12"; +Assistant: "I'll send 1 SEI token now..."; +``` + +```typescript +// Example conversation +User: "Send 1 SEI to sei1vpz36punknkdjfs7ew2vkdwws8ydcquy00hhsd"; +Assistant: "I'll send 1 SEI token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 10.5 SEI ($5.25 USD)..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer SEI to a specified address + +### Providers + +- `walletProvider`: Manages wallet interactions with the Sei network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +pnpm build +``` + +### Testing + +```bash +pnpm test +``` + +## Future Enhancements + +Some features planned for future releases include: +- On chain actions such as Staking and Unstaking, Governance, and native token creation +- Complex queries and transaction history tracking +- Smart contract deployment and interaction +- Integration with DeFi protocols on Sei, such as DEXes, Lending Protocols and Money Markets. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Sei Blockchain](https://sei.io/): The fastest EVM blockchain + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/sgx.md b/docs/packages/plugins/sgx.md new file mode 100644 index 00000000000..32007bd7b3a --- /dev/null +++ b/docs/packages/plugins/sgx.md @@ -0,0 +1,96 @@ +# SGX Plugin for Eliza + +The SGX Plugin for Eliza enhances the platform by providing Intel SGX attestation capabilities. + +Intel SGX is part of the Intel confidential computing technology portfolio that allows businesses to take advantage of the cloud while staying in control of their data. Intel SGX protects data actively being used in the processor and memory by creating a trusted execution environment (TEE) called an enclave. + +### Trusted Execution Environment (TEE) +A Trusted Execution Environment (TEE) is a secure area within a main processor that ensures sensitive data is stored, processed, and protected in an isolated environment. TEEs provide a higher level of security by allowing applications to run in a protected space, safeguarding them from unauthorized access and potential threats. + +### Software Guard Extensions (SGX) +Software Guard Extensions is a set of instructions on Intel processors for creating Trusted Execution Environments (TEE). SGX enables the creation of enclaves, which are protected areas of execution that ensure the confidentiality and integrity of the code and data within them. This allows applications to run securely, even in untrusted environments, by protecting sensitive information from being exposed to the host operating system or other applications. + +### Attestation +The attestation of TEE is a security mechanism that enables a TEE to provide cryptographic proof of its integrity and authenticity to external parties. By generating a unique attestation report that includes information about the software and its execution state, a TEE can assure remote verifiers that the code running within it has not been altered and is operating as intended. This process is essential for establishing trust in secure applications, allowing them to interact confidently with other systems and services in potentially untrusted environments. + +### Gramine +The attestation capabilities are based on [Gramine Library OS](https://github.com/gramineproject/gramine). Gramine is a Library OS for Unmodified Applications. Applications can benefit from confidentiality and integrity guarantees of Intel SGX, but developers need to be very skilled for effective partitioning and code modification for Intel SGX environment. +Gramine runs unmodified applications inside Intel SGX. It supports dynamically loaded libraries, runtime linking, multi-process abstractions, and file authentication. For additional security, Gramine performs cryptographic and semantic checks at untrusted host interface. Developers provide a manifest file to configure the application environment and isolation policies, Gramine automatically does the rest. + +## Components + +### Providers +- **sgxAttestationProvider**: This provider is responsible for generating SGX remote attestations within Gramine SGX environments. + +## Usage + +First, you need to prepare the SGX environment and install the Gramine dependencies. +You can install Gramine packages in your SGX machine or use the docker image. Follow the [Gramine installation options](https://gramine.readthedocs.io/en/latest/installation.html) for more details. + +Then, start eliza in SGX: + +```bash +pnpm i +pnpm build + +# Start default character +SGX=1 make start +# Start specific character +SGX=1 make start -- --character "character/trump.character.json" +``` + +After starting Eliza, the provider `sgxAttestationProvider` will be registered into Eliza through plugin-sgx. The environment variable `SGX` is required to be set to `1` to enable plugin-sgx. And the `SGX` is always set to `1` in the SGX environment through the `eliza.manifest.template` file. + +When Eliza starts, the `sgxAttestationProvider` will generate SGX attestation in each request. And you can use the `SgxAttestationProvider` to generate SGX remote attestations for your own plugins / clients. + +### Example + +```typescript +const sgxAttestationProvider = new SgxAttestationProvider(); +const sgxAttestation = await sgxAttestationProvider.generateAttestation(userReport); +``` + +## Quick Start + +First, you need to prepare a SGX enabled machine. + +Then, you can use the following command to start a Gramine Docker container: + +```bash +sudo docker run -it --name eliza_sgx \ + --mount type=bind,source={your_eliza_path},target=/root/eliza \ + --device /dev/sgx/enclave \ + --device /dev/sgx/provision \ + gramineproject/gramine:stable-jammy +``` + +After entering the docker, you can use the following command to prepare the Eliza environment: + +```bash +# Generate the private key for signing the SGX enclave +gramine-sgx-gen-private-key + +cd /root/eliza/ + +# Install nodejs and pnpm +# Node.js will be installed at `/usr/bin/node`. +# Gramine will utilize this path as the default Node.js location to run Eliza. +# If you prefer to use nvm for installing Node.js, please ensure to specify the Node.js path in the Makefile, as the installation path for nvm is not `/usr/bin/node`. +apt update +apt install -y build-essential +apt install -y curl +curl -fsSL https://deb.nodesource.com/setup_23.x | bash - +apt install -y nodejs=23.3.0-1nodesource1 +npm install -g pnpm + +# Build Eliza +pnpm i +pnpm build + +# Copy the .env.example file to .env +cp .env.example .env +# Edit the .env file + +# Start Eliza in SGX +SGX=1 make start -- --character "character/c3po.character.json" +``` diff --git a/docs/packages/plugins/solana-agent-kit.md b/docs/packages/plugins/solana-agent-kit.md new file mode 100644 index 00000000000..e3947d3f38d --- /dev/null +++ b/docs/packages/plugins/solana-agent-kit.md @@ -0,0 +1,94 @@ +# @elizaos/plugin-solana-agent-kit + +A plugin that integrates Solana Agent Kit functionality into Eliza, enabling token operations, swaps, lending, and staking on Solana. + +## Installation + +```bash +pnpm add @elizaos/plugin-solana-agent-kit +``` + +## Configuration + +### Required Environment Variables + +```env +# Required: Either private key or public key +SOLANA_PRIVATE_KEY=your_private_key +# OR +SOLANA_PUBLIC_KEY=your_public_key + +# Optional: Custom RPC URL (defaults to mainnet) +SOLANA_RPC_URL=your_rpc_url + +# Required for TEE mode +WALLET_SECRET_SALT=your_salt # Only if TEE_MODE is enabled +``` + +## Features + +### Token Operations +- Create new tokens with custom parameters +- Transfer tokens between addresses +- Get token information and metadata +- Manage token supply and decimals + +### DeFi Operations +- Swap tokens using Jupiter aggregator +- Lend assets on supported platforms +- Stake tokens +- Create GibWork tasks + +## Usage Examples + +### Token Creation +```plaintext +"Create token, name is Example Token, symbol is EXMPL, decimals is 9" +``` + +### Token Transfers +```plaintext +"Send 69 EZSIS to " +``` + +### Token Swaps +```plaintext +"Swap 0.1 SOL for USDC" +``` + +### Lending +```plaintext +"Lend 100 USDC" +``` + +### Staking +```plaintext +"Stake 100 tokens" +``` + +### GibWork Tasks +```plaintext +"Create a GibWork task for building a Solana dApp, offering 100 USDC" +``` + +## Dependencies + +- @coral-xyz/anchor: 0.30.1 +- @solana/spl-token: 0.4.9 +- @solana/web3.js: 1.95.8 +- solana-agent-kit: ^1.2.0 +- bignumber.js: 9.1.2 + +## Technical Details + +### Security Features +- TEE mode support for secure key derivation +- Multiple key format support (base58, base64) +- Public key verification + +### Address Management +- Supports both public key and full keypair operations +- Base58 and base64 private key formats +- TEE-based key derivation when enabled + +For more information about Solana Agent Kit capabilities, see [solana-agent-kit documentation](https://github.com/solana-labs/agent-kit). diff --git a/docs/packages/plugins/solana-agentkit.md b/docs/packages/plugins/solana-agentkit.md new file mode 100644 index 00000000000..bcfcc55bd76 --- /dev/null +++ b/docs/packages/plugins/solana-agentkit.md @@ -0,0 +1,11 @@ +# Plugin Solana AgentKit + +A Solana integration plugin for AgentKit that enables interaction with the Solana blockchain. + +## Features + +- Solana wallet integration +- Transaction handling +- Account management +- RPC connection management +- Solana program interactions diff --git a/docs/packages/plugins/solana-v2.md b/docs/packages/plugins/solana-v2.md new file mode 100644 index 00000000000..ee60a9c164b --- /dev/null +++ b/docs/packages/plugins/solana-v2.md @@ -0,0 +1,122 @@ +# Solana Plugin V2 for Eliza 🌟 + +The **Solana Plugin V2** leverages the latest features of `@solana/web3.js` v2 to provide a modern, efficient, and composable solution for Solana integrations within the Eliza AI agent framework. + +--- + +## Key Features 🚀 + +### Modern JavaScript and Functional Architecture +- **@solana/web3.js v2** introduces: + - Tree-shakability + - Composable internals + - Zero-dependency design + - Functional programming approach + +### Compatibility with existing solana V1 plugins +- This plugin can be used by the agent alongside existing plugins that use `@solana/web3.js` v1. + +### Common Utilities +The `Utils` class provides shared functionality across the plugin, offering flexibility and ease of integration. + +#### `sendTransaction` +- Accepts the RPC instance, transaction instructions, and a wallet. +- Utilizes Solana's Compute Budget Program for optimized CU usage and priority fees. +- Implements client-side retry logic to enhance transaction landing success. +- More details on optimizing transactions can be found [here](https://orca-so.github.io/whirlpools/Whirlpools%20SDKs/Whirlpools/Send%20Transaction). + +#### Trusted Execution Environment (TEE) +- For Trusted Execution Environment (TEE) functionality, this plugin transitions from `Keypair` (used in v1) to `CryptoKeyPair` from the Web Crypto API. This change aligns with `@solana/web3.js` v2's zero-dependency, modern JavaScript architecture. +- A modified implementation for TEE integration is included in `src/utils/`, following the same patterns used in `plugin-tee`. + +--- + +## Current Functionality 🎯 + +### Liquidity Position Management +- **Reposition Liquidity**: + - Automatically repositions Orca liquidity positions if the center price of the position deviates from the current pool price by more than a user-specified threshold (`repositionThresholdBps`). + - Maintains the original width of the position during repositioning. + - Repositions at a user defined time interval. + - Uses a slippage tolerance set by the user. + +### How to run the Orca LP Management tool +#### 1. Set up your environment variables +- In the root of the repositorty, copy `.env.example` to `.env` +- Fill in the following parameters: + - `SOLANA_PRIVATE_KEY` + - `SOLANA_PUBLIC_KEY` + - `SOLANA_RPC_URL` + - `OPENAI_API_KEY` + +#### 2. RPC requirements +Most often, free-tier RPC URLs are not sufficient for this plugin. +- Eliza needs to fetch all your token-accounts in order to find the position NFTs that represent Orca positions. Such calls are done through the `getProgramAccounts` method of the RPC client, which can be expensive. +- To ensure transaction landing, the plugin makes use of a client-side retry logic (read more [here](https://www.helius.dev/blog/how-to-land-transactions-on-solana#how-do-i-land-transactions)), which also puts a heavier load on the RPC. +- The amount of positions you own and the update interval you set can also contribute to RPC limits. + +#### 3. Update the agent +In `agent/src/index.ts`, search for the function `createAgent`, and add `solana_plugin_v2` to the `AgentRuntime` like so: +```typescript +export async function createAgent( + character: Character, + db: IDatabaseAdapter, + cache: ICacheManager, + token: string +): Promise { + // Rest of the code ... + + return new AgentRuntime({ + // Other parameters + plugins: [ + // Other plutins + getSecret(character, "SOLANA_PUBLIC_KEY") || + (getSecret(character, "WALLET_PUBLIC_KEY") && + !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x")) + ? solanaPluginV2 + : null, + // Rest of the code +``` + +#### 4. Use LP Manager character +Copy `packages/plugin-solana-v2/src/character/orca/lpmanager.character.json` to `characters/lpmanager.character.json`. + +#### 5. Install and build the repo +Follow the general installation and build steps from the README in the root of the repo + +#### 5. Run the agent +Start the the agent with the following command: +```sh +pnpm start --characters="characters/lpmanager.character.json" +``` + +Start the client (chat terminal) with: +```sh +pnpm start:client +``` + +#### 6. Start prompting +Ask the agent what it can do for you. Provide the appropriate parameters and let the agent reposition your positions automatically. + +#### 7. Other configurations +In `packages/plugin-solana-v2/src/utils/sendTransaction.ts`, you can set the priority fees. They are by default set to use the dynamic fees, but you can adjust this as you like. + +## Future Functionality 🔮 + +### Position Management Enhancements +- **Opening and Closing Positions**: + - Expose opening and closing positions as separate actions. + - Allow agents to leverage data streams and other plugins for decision-making and yield optimization. + +### Token Launches +- **Token Creation and Liquidity Setup**: + - Create tokens with metadata using the Token 2022 Program. + - Launch tokens on Orca with single-sided liquidity. + - Configure start and maximum prices for initial liquidity. + +--- + +## Contributing 🤝 +Contributions are welcome! If you wish to extend `plugin-solana-v2` with your tools, ensure compatibility with `@solana/web3.js` v2. + +--- diff --git a/docs/packages/plugins/solana.md b/docs/packages/plugins/solana.md new file mode 100644 index 00000000000..c0c3e79d8c8 --- /dev/null +++ b/docs/packages/plugins/solana.md @@ -0,0 +1,374 @@ +# @elizaos/plugin-solana + +Core Solana blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Solana plugin serves as a foundational component of Eliza OS, bridging Solana blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Solana blockchain. + +## Features + +### Token Operations + +- **Token Creation**: Deploy new tokens with customizable metadata +- **Token Transfers**: Send and receive tokens securely +- **Balance Management**: Track and manage token balances +- **Portfolio Analytics**: Real-time portfolio valuation and tracking + +### Trading Operations + +- **Token Swaps**: Execute trades between tokens using Jupiter aggregator +- **Order Management**: Place and track token orders +- **Price Monitoring**: Real-time price feeds and historical data +- **Automated Trading**: Configurable trading strategies and automation + +### DeFi Integration + +- **Liquidity Analysis**: Monitor and analyze pool liquidity +- **Market Making**: Automated market making capabilities +- **Yield Optimization**: Smart routing for optimal yields +- **Risk Management**: Advanced risk scoring and monitoring + +### Trust & Security + +- **Trust Scoring**: Dynamic trust score calculation for tokens +- **Risk Assessment**: Real-time risk evaluation for trades +- **Performance Tracking**: Historical performance monitoring +- **Simulation Mode**: Test strategies without real transactions + +## Security Features + +### Access Control + +- **Wallet Management**: Secure wallet key derivation and storage +- **Permission Scoping**: Granular control over trading permissions +- **TEE Integration**: Trusted Execution Environment support +- **Key Protection**: Secure private key handling + +### Risk Management + +- **Trade Limits**: Configurable transaction limits +- **Slippage Protection**: Automatic slippage controls +- **Validation Checks**: Multi-level transaction validation +- **Simulation Support**: Pre-execution transaction simulation + +## Installation + +```bash +npm install @elizaos/plugin-solana +``` + +## Configuration + +Configure the plugin by setting the following environment variables: + +```typescript +const solanaEnvSchema = { + WALLET_SECRET_SALT: string(optional), + WALLET_SECRET_KEY: string, + WALLET_PUBLIC_KEY: string, + SOL_ADDRESS: string, + SLIPPAGE: string, + SOLANA_RPC_URL: string, + HELIUS_API_KEY: string, + BIRDEYE_API_KEY: string, +}; +``` + +## Usage + +### Basic Setup + +```typescript +import { solanaPlugin } from "@elizaos/plugin-solana"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [solanaPlugin], +}); +``` + +### Services + +#### TokenProvider + +Manages token operations and information retrieval. + +```typescript +const tokenProvider = new TokenProvider( + tokenAddress, + walletProvider, + cacheManager +); +await tokenProvider.getTokensInWallet(runtime); +``` + +#### WalletProvider + +Handles wallet operations and portfolio management. + +```typescript +const walletProvider = new WalletProvider(connection, publicKey); +await walletProvider.getFormattedPortfolio(runtime); +``` + +#### TrustScoreProvider + +Evaluates and manages trust scores for tokens and trading activities. + +```typescript +const trustScore = await runtime.getProvider("trustScore"); +``` + +## Actions + +### executeSwap + +Executes a token swap using Jupiter aggregator. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_SWAP", { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + amount: 0.1, +}); +``` + +### transferToken + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_TOKEN", { + tokenAddress: "TokenAddressHere", + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### transferSol + +Transfers SOL between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_SOL", { + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### takeOrder + +Places a buy order based on conviction level. + +```typescript +// Example usage +const result = await runtime.executeAction("TAKE_ORDER", { + ticker: "SOL", + contractAddress: "ContractAddressHere", +}); +``` + +### pumpfun + +Creates and buys tokens on pump.fun. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_AND_BUY_TOKEN", { + tokenMetadata: { + name: "TokenName", + symbol: "SYMBOL", + description: "Token description", + image_description: "Image description", + }, + buyAmountSol: 0.1, +}); +``` + +### fomo + +Creates and buys tokens on fomo.fund. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_AND_BUY_TOKEN", { + tokenMetadata: { + name: "TokenName", + symbol: "SYMBOL", + description: "Token description", + image_description: "Image description", + }, + buyAmountSol: 0.1, + requiredLiquidity: 1000, +}); +``` + +### executeSwapForDAO + +Executes token swaps for DAO operations. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_SWAP_DAO", { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + amount: 0.1, +}); +``` + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## System Requirements + +- Node.js 16.x or higher +- Solana CLI tools (optional) +- Minimum 4GB RAM recommended +- Stable internet connection +- Access to Solana RPC endpoint + +## Troubleshooting + +### Common Issues + +1. **Wallet Connection Failures** + +```bash +Error: Failed to connect to wallet +``` + +- Verify RPC endpoint is accessible +- Check wallet configuration settings +- Ensure proper network selection + +2. **Transaction Errors** + +```bash +Error: Transaction simulation failed +``` + +- Check account balances +- Verify transaction parameters +- Ensure proper fee configuration + +3. **Price Feed Issues** + +```bash +Error: Unable to fetch price data +``` + +- Verify API key configuration +- Check network connectivity +- Ensure price feed service status + +## Safety & Security + +### Best Practices + +1. **Environment Variables** + + - Store sensitive keys in environment variables + - Use .env.example for non-sensitive defaults + - Never commit real credentials to version control + +2. **Transaction Limits** + + - Set maximum transaction amounts + - Implement daily trading limits + - Configure per-token restrictions + +3. **Monitoring** + + - Track failed transaction attempts + - Monitor unusual trading patterns + - Log security-relevant events + +4. **Recovery** + - Implement transaction rollback mechanisms + - Maintain backup RPC endpoints + - Document recovery procedures + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + - Transaction IDs (if applicable) + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Solana](https://solana.com/) - The core blockchain platform +- [Solana Web3.js](https://github.com/solana-labs/solana-web3.js) - Core Solana interactions +- [SPL Token](https://spl.solana.com/) - Token program interactions +- [Jupiter](https://jup.ag/) - Token swap aggregation +- [Birdeye](https://birdeye.so/) - Price feeds and analytics +- [Helius](https://helius.xyz/) - Enhanced RPC services +- [Anchor](https://project-serum.github.io/anchor/) - Smart contract framework +- [FOMO](https://fomo.fund/) - Token creation and trading +- [Pump.fun](https://pump.fun/) - Token creation and trading + +Special thanks to: + +- The Solana ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Solana blockchain capabilities: + +- [Solana Documentation](https://docs.solana.com/) +- [Solana Developer Portal](https://solana.com/developers) +- [Solana Network Dashboard](https://solscan.io/) +- [Solana GitHub Repository](https://github.com/solana-labs/solana) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/speech-tts.md b/docs/packages/plugins/speech-tts.md new file mode 100644 index 00000000000..cdc513ce1fb --- /dev/null +++ b/docs/packages/plugins/speech-tts.md @@ -0,0 +1,4 @@ +# service-speech-tts + +TTS transcription service with OpenAI + ElevenLabs + diff --git a/docs/packages/plugins/spheron.md b/docs/packages/plugins/spheron.md new file mode 100644 index 00000000000..a7ad63d0526 --- /dev/null +++ b/docs/packages/plugins/spheron.md @@ -0,0 +1,146 @@ +# Spheron Protocol Plugin for Eliza + +This plugin integrates the Spheron Protocol SDK into the Eliza ecosystem, providing functionality for managing deployments, escrow operations, and lease management. + +## Features + +- **Escrow Operations**: Manage token deposits, withdrawals, and balance checks +- **Deployment Management**: Create, update, and manage deployments using ICL YAML + +## Installation + +```bash +npm install @elizaos/plugin-spheron +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +PRIVATE_KEY=your_private_key +PROVIDER_PROXY_URL=your_provider_proxy_url +WALLET_ADDRESS=your_wallet_address +``` + +## Usage + +1. Import and register the plugin: + +```typescript +import { spheronPlugin } from "@elizaos/plugin-spheron"; + +// Register with Eliza +eliza.registerPlugin(spheronPlugin); +``` + +2. Available Actions: + +- `ESCROW_OPERATION`: Handle token deposits and withdrawals +- `DEPLOYMENT_OPERATION`: Manage service deployments + +## Examples + +### Escrow Operations + +```typescript +// Deposit tokens +await runtime.executeAction("ESCROW_OPERATION", { + token: "USDT", + amount: 100, + operation: "deposit", +}); + +// Withdraw tokens +await runtime.executeAction("ESCROW_OPERATION", { + token: "USDC", + amount: 50, + operation: "withdraw", +}); +``` + +### Deployment Operations + +```typescript +// Create deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "create", + template: "jupyter-notebook", + customizations: { + cpu: false, + resources: { + cpu: "4", + memory: "8Gi", + storage: "10Gi", + gpu: "1", + gpu_model: "rtx4090", + }, + duration: "1h", + token: "USDT", + }, +}); + +// Update deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "update", + leaseId: "your_lease_id", + template: "jupyter-notebook", + customizations: { + cpu: false, + resources: { + cpu: "4", + memory: "8Gi", + storage: "10Gi", + gpu: "1", + gpu_model: "rtx4090", + }, + duration: "1h", + token: "USDT", + }, +}); + +// Close deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "close", + leaseId: "your_lease_id", +}); +``` + +## Supported Templates + +- jupyter-notebook: Jupyter Notebook with or without Pytorch +- vscode: VSCode with or without Pytorch +- ollama: Ollama WebUI and API +- heurist-miner: Heurist Miner for mining heurist network + +## How it Works + +1. You can ask the eliza to deploy a template like `jupyter-notebook`, `vscode`, `ollama`, or `heurist-miner` for you with just natural language. +2. You can also customize the deployment with natural language. +3. You can also ask the eliza to close the deployment. +4. You can also ask the eliza to check the balance of your account. +5. You can also ask the eliza to deposit or withdraw tokens from your account. + +## Development + +1. Install dependencies: + +```bash +npm install +``` + +2. Build the plugin: + +```bash +npm run build +``` + +3. Run tests: + +```bash +npm test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/squid-router.md b/docs/packages/plugins/squid-router.md new file mode 100644 index 00000000000..95150f6d649 --- /dev/null +++ b/docs/packages/plugins/squid-router.md @@ -0,0 +1,26 @@ +# @elizaos/squid-router + +This plugin adds Squid Router functionality to Eliza agents. It allows cross chain swaps between blockchains. +For now, only swaps between EVM chains are supported, but the plan is to add swaps from/to Solana and the Cosomos ecosystem. +For supported chains and tokens, please refer to the [Squid Router documentation](https://docs.squidrouter.com/). + +## Configuration + +The plugin requires the following configuration: +``` +# Squid Router +SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com +SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/ +SQUID_EVM_ADDRESS= +SQUID_EVM_PRIVATE_KEY= +``` + +## Actions + +### Cross Chain Swap + +name: `X_CHAIN_SWAP` + +Perform cross chain swaps for both native and ERC20 tokens supported by Squid Router. + +Message sample: `Bridge 1 ETH from Ethereum to Base` diff --git a/docs/packages/plugins/stargaze.md b/docs/packages/plugins/stargaze.md new file mode 100644 index 00000000000..878e546f520 --- /dev/null +++ b/docs/packages/plugins/stargaze.md @@ -0,0 +1,37 @@ +# Plugin Stargaze + +A plugin for fetching NFT data from the Stargaze API. + +## Overview + +The Plugin Stargaze provides a simple interface to get NFT data from Stargaze collections. It integrates with Stargaze's GraphQL API to fetch the latest NFTs from collections. + +## Installation + +```bash +pnpm add @elizaos/plugin-stargaze +``` + +## Configuration + +Set up your environment with the required Stargaze API endpoint, currently Stargaze offers https://graphql.mainnet.stargaze-apis.com/graphql publicly. + +| Variable Name | Description | +| ------------- | ----------- | +| `STARGAZE_ENDPOINT` | Stargaze GraphQL API endpoint | + +## Usage + +```typescript +import { stargazePlugin } from "@elizaos/plugin-stargaze"; + +// Initialize the plugin +const plugin = stargazePlugin; + +// The plugin provides the GET_LATEST_NFT action which can be used to fetch NFTs +// Example: "Show me the latest NFT from ammelia collection" +``` + +## License + +MIT diff --git a/docs/packages/plugins/starknet.md b/docs/packages/plugins/starknet.md new file mode 100644 index 00000000000..c2437ee6468 --- /dev/null +++ b/docs/packages/plugins/starknet.md @@ -0,0 +1,173 @@ +# @elizaos/plugin-starknet + +Core Starknet blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Starknet plugin serves as a foundational component of Eliza OS, bridging Starknet blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Starknet blockchain. + +## Features + +### Token Operations + +- **Token Creation**: Deploy new unruggable tokens with customizable metadata +- **Token Transfers**: Send and receive tokens securely +- **Balance Management**: Track and manage token balances +- **Portfolio Analytics**: Real-time portfolio valuation and tracking + +### Trading Operations + +- **Token Swaps**: Execute token swaps through aggregated DEX liquidity +- **Order Management**: Place and manage trading orders +- **Price Monitoring**: Track token prices and market movements +- **Trust Score Analysis**: Evaluate token and trader reliability + +### DeFi Integration + +- **Liquidity Management**: Monitor and manage liquidity positions +- **Yield Optimization**: Track and optimize yield farming opportunities +- **Risk Assessment**: Analyze and monitor DeFi protocol risks +- **Performance Tracking**: Monitor investment performance metrics + +## Configuration + +The plugin requires the following environment variables: + +```typescript +STARKNET_ADDRESS = your_starknet_address; +STARKNET_PRIVATE_KEY = your_private_key; +STARKNET_RPC_URL = your_rpc_url; // e.g. https://rpc.starknet.lava.build +``` + +## Actions + +### deployToken + +Deploys a new unruggable token on Starknet. + +```typescript +// Example usage +const result = await runtime.executeAction( + "DEPLOY_STARKNET_UNRUGGABLE_MEME_TOKEN", + { + name: "TokenName", + symbol: "TKN", + owner: "OwnerAddressHere", + initialSupply: "1000000000000000000", + } +); +``` + +### transferToken + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("TRANSFER_TOKEN", { + tokenAddress: "TokenAddressHere", + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### executeSwap + +Executes a token swap on Starknet. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_STARKNET_SWAP", { + sellTokenAddress: "SellTokenAddressHere", + buyTokenAddress: "BuyTokenAddressHere", + sellAmount: "1000000000000000000", +}); +``` + +### transferSubdomain + +Creates and transfers a subdomain. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_SUBDOMAIN", { + subdomain: "subdomain.domain.stark", + recipient: "RecipientAddressHere", +}); +``` + +## Security Considerations + +1. **Access Control** + + - Validate transaction signers + - Implement role-based permissions + - Secure private key storage + +2. **Transaction Limits** + + - Set maximum transaction amounts + - Implement daily trading limits + - Configure per-token restrictions + +3. **Monitoring** + + - Track failed transaction attempts + - Monitor unusual trading patterns + - Log security-relevant events + +4. **Recovery** + - Implement transaction rollback mechanisms + - Maintain backup RPC endpoints + - Document recovery procedures + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Batch similar transactions + - Optimize gas usage + - Handle transaction retries + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Starknet](https://starknet.io/) - The core blockchain platform +- [Starknet.js](https://github.com/starknet-io/starknet.js) - Core Starknet interactions +- [Unruggable](https://unruggable.meme/) - Token creation and security +- [Ekubo](https://www.ekubo.org/) - DEX integrations +- [Avnu](https://avnu.fi/) - Token swap aggregation +- [Birdeye](https://birdeye.so/) - Price feeds and analytics +- [Helius](https://helius.xyz/) - Enhanced RPC services + +Special thanks to: + +- The Starknet ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Starknet blockchain capabilities: + +- [Starknet Documentation](https://docs.starknet.io/) +- [Starknet Developer Portal](https://starknet.io/developers) +- [Starknet Network Dashboard](https://starknet.io/dashboard) +- [Starknet GitHub Repository](https://github.com/starkware-libs/starknet) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/story.md b/docs/packages/plugins/story.md new file mode 100644 index 00000000000..de1b17887cc --- /dev/null +++ b/docs/packages/plugins/story.md @@ -0,0 +1,197 @@ +# ElizaOS Story Protocol Plugin + +A plugin for ElizaOS that enables interaction with Story Protocol - a comprehensive IP management system on the blockchain that allows creators to register, license, and manage their intellectual property assets. + +## Features + +- **IP Registration**: Register creative works as IP assets on Story Protocol +- **License Management**: Attach license terms to IP assets with customizable commercial terms +- **IP Licensing**: Mint license tokens for IP assets +- **Asset Information**: Fetch details about IP assets and available licenses +- **Blockchain Integration**: Built-in wallet provider for Odyssey testnet + +## Prerequisites + +Before using this plugin, you'll need: + +1. A Story Protocol private key (for Odyssey testnet) +2. A Pinata JWT token for IPFS storage +3. ElizaOS installed and configured + +## Installation + +Install the plugin via npm: + +```bash +npm install @elizaos-plugins/plugin-story +``` + +Or using pnpm: + +```bash +pnpm add @elizaos-plugins/plugin-story +``` + +## Configuration + +Add the plugin to your ElizaOS agent configuration and provide the necessary credentials: + +```javascript +// agent.config.js +export default { + // Other ElizaOS configuration + plugins: ["story"], + settings: { + STORY_PRIVATE_KEY: "0x...", // Your Story Protocol private key + PINATA_JWT: "..." // Your Pinata JWT token + } +} +``` + +### Environment Variables + +| Variable | Required | Description | +|---|---|---| +| `STORY_PRIVATE_KEY` | Yes | Private key for Story Protocol (Odyssey testnet) | +| `PINATA_JWT` | Yes | JWT token for Pinata IPFS storage | + +## Usage + +Once configured, the plugin provides the following actions: + +### Register IP Assets + +Register a creative work as an IP asset on Story Protocol: + +``` +User: I'd like to register a short story I wrote called "The Digital Forest" +Agent: Great! What's the description for your IP? +User: It's a sci-fi story about a forest that exists in cyberspace +Agent: I'll register "The Digital Forest" as an IP asset on Story Protocol. +*Agent registers IP and provides transaction details* +``` + +### Attach License Terms + +Attach licensing terms to your IP assets: + +``` +User: I want to create a license for my IP asset at 0x1234... +Agent: What kind of license would you like to attach? +User: I want commercial use allowed with 10% revenue share +Agent: I'll attach those license terms to your IP asset. +*Agent attaches license terms and provides transaction details* +``` + +### View IP Details + +Get detailed information about an IP asset: + +``` +User: Can you tell me about IP asset 0x1234... +Agent: Here are the details about that IP asset: +*Agent displays IP asset details* +``` + +### View Available Licenses + +See what licenses are available for an IP asset: + +``` +User: What licenses are available for IP asset 0x1234... +Agent: Here are the available licenses for this IP asset: +*Agent displays available licenses* +``` + +### License IP Assets + +Mint license tokens for IP assets: + +``` +User: I want to license the IP asset at 0x1234... +Agent: Which license terms would you like to use? +User: License terms ID 5 +Agent: I'll mint that license for you. +*Agent mints license token and provides transaction details* +``` + +## Supported Actions + +| Action | Description | +|---|---| +| `REGISTER_IP` | Register a new IP asset on Story Protocol | +| `ATTACH_TERMS` | Attach license terms to an existing IP asset | +| `LICENSE_IP` | Mint license tokens for an IP asset | +| `GET_IP_DETAILS` | Fetch details about an IP asset | +| `GET_AVAILABLE_LICENSES` | List available licenses for an IP asset | + +## Story Protocol Integration + +This plugin integrates with Story Protocol on the Odyssey testnet, which provides: + +- On-chain IP registration +- Programmable licensing with configurable commercial terms +- Creator attribution and revenue sharing +- IP relationship tracking + +## Technical Details + +### Wallet Integration + +The plugin includes a wallet provider that manages interactions with the Story Protocol blockchain. The wallet address is derived from the private key provided in the configuration. + +### IPFS Storage + +IP metadata is stored on IPFS using Pinata. The plugin automatically handles the upload and referencing of metadata when registering IP assets. + +### License Terms + +When attaching license terms, you can configure: + +- Commercial use permissions +- Revenue sharing percentages +- Minting fees +- Attribution requirements + +## Troubleshooting + +### Common Issues + +1. **Transaction Errors**: + - Ensure your private key has sufficient funds on the Odyssey testnet + - Check for valid IP IDs and license term IDs + +2. **IPFS Upload Failures**: + - Verify your Pinata JWT token is valid and has not expired + - Ensure proper network connectivity + +3. **License Attachment Failures**: + - An IP asset must be registered before attaching license terms + - Commercial revenue share must be between 0-100 percent + +## Development + +For developers wanting to extend the plugin: + +```bash +# Install dependencies +pnpm install + +# Run tests +pnpm test + +# Build the plugin +pnpm build + +# Lint code +pnpm lint + +# Format code +pnpm format:fix +``` + +## Links and Resources + +- [Story Protocol Documentation](https://docs.storyprotocol.xyz) +- [Odyssey Testnet Explorer](https://odyssey.storyscan.xyz) +- [Pinata IPFS](https://www.pinata.cloud/) diff --git a/docs/packages/plugins/sui.md b/docs/packages/plugins/sui.md new file mode 100644 index 00000000000..8a0b7564d73 --- /dev/null +++ b/docs/packages/plugins/sui.md @@ -0,0 +1,172 @@ +# @elizaos/plugin-sui + +Core Sui blockchain plugin for Eliza OS that provides essential services and actions for token operations and wallet management. + +## Overview + +This plugin provides functionality to: + +- Transfer SUI tokens between wallets +- Query wallet balances and portfolio values +- Track token prices and valuations +- Manage wallet interactions with the Sui network + +## Installation + +```bash +npm install @elizaos/plugin-sui +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +SUI_PRIVATE_KEY=your_private_key +SUI_NETWORK=mainnet|testnet|devnet|localnet +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { suiPlugin } from "@elizaos/plugin-sui"; + +export default { + plugins: [suiPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer SUI tokens to another address: + +```typescript +// Example conversation +User: "Send 1 SUI to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0"; +Assistant: "I'll send 1 SUI token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 10.5 SUI ($42.00 USD)..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer SUI tokens to another address +- `TRANSFER_TOKEN`: Alias for SEND_TOKEN +- `SEND_SUI`: Alias for SEND_TOKEN +- `PAY`: Alias for SEND_TOKEN + +### Providers + +- `walletProvider`: Manages wallet interactions with the Sui network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `@mysten/sui`: Core Sui blockchain interaction library +- `bignumber.js`: Precise number handling +- `node-cache`: Caching implementation +- Other standard dependencies listed in package.json + +## Future Enhancements + +The following features and improvements are planned for future releases: + +1. **Transaction Management** + + - Batch transaction processing + - Transaction simulation + - Gas optimization strategies + - Custom transaction builders + - Advanced error handling + +2. **Wallet Integration** + + - Multi-wallet support + - Hardware wallet integration + - Social recovery options + - Account abstraction + - Transaction history tracking + +3. **Smart Contract Features** + + - Contract deployment tools + - Move module templates + - Testing framework + - Upgrade management + - Security analysis + +4. **Token Operations** + + - Batch token transfers + - NFT support enhancement + - Token metadata handling + - Custom token standards + - Collection management + +5. **Developer Tools** + - Enhanced debugging + - CLI improvements + - Documentation generator + - Integration templates + - Performance monitoring + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Sui Blockchain](https://sui.io/): Next-generation smart contract platform +- [@mysten/sui.js](https://www.npmjs.com/package/@mysten/sui.js): Official Sui SDK +- [bignumber.js](https://github.com/MikeMcl/bignumber.js/): Precise number handling +- [node-cache](https://www.npmjs.com/package/node-cache): Caching implementation + +Special thanks to: + +- The Mysten Labs team for developing Sui +- The Sui Developer community +- The Sui SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Sui blockchain capabilities: + +- [Sui Documentation](https://docs.sui.io/) +- [Sui Developer Portal](https://sui.io/developers) +- [Sui Network Dashboard](https://suiscan.xyz/) +- [Sui GitHub Repository](https://github.com/MystenLabs/sui) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/suno.md b/docs/packages/plugins/suno.md new file mode 100644 index 00000000000..0ff4473a4dd --- /dev/null +++ b/docs/packages/plugins/suno.md @@ -0,0 +1,238 @@ +@elizaos/plugin-suno + +A Suno AI music generation plugin for ElizaOS that enables AI-powered music creation and audio manipulation. + +OVERVIEW + +The Suno plugin integrates Suno AI's powerful music generation capabilities into ElizaOS, providing a seamless way to: +- Generate music from text prompts with fine-tuned parameters +- Create custom music with advanced control over style, tempo, and key +- Extend existing audio tracks + +Original Plugin: https://github.com/gcui-art/suno-api?tab=readme-ov-file + +INSTALLATION + + npm install @elizaos/plugin-suno + +QUICK START + +1. Register the plugin with ElizaOS: + +```typescript + import { sunoPlugin } from '@elizaos/plugin-suno'; + import { Eliza } from '@elizaos/core'; + + const eliza = new Eliza(); + eliza.registerPlugin(sunoPlugin); +``` + +2. Configure the Suno provider with your API credentials: + +```typescript + import { sunoProvider } from '@elizaos/plugin-suno'; + + sunoProvider.configure({ + apiKey: 'your-suno-api-key' + }); +``` + +FEATURES + +1. Generate Music (suno.generate-music) + Generate music using a text prompt with basic control parameters. This is ideal for quick music generation when you need less fine-grained control: + + - Simple text-to-music generation + - Consistent output quality with default parameters + - Suitable for most common use cases + +```typescript + await eliza.execute('suno.generate-music', { + prompt: "An upbeat electronic dance track with energetic beats", + duration: 30, + temperature: 1.0, + topK: 250, + topP: 0.95, + classifier_free_guidance: 3.0 + }); +``` + +2. Custom Music Generation (suno.custom-generate-music) + Create music with detailed control over generation parameters. Perfect for when you need precise control over the musical output: + + - Fine-grained control over musical style and structure + - Reference-based generation using existing audio + - Control over musical attributes: + * Style: Specify genres like "classical", "electronic", "rock" + * Tempo: Set exact BPM (beats per minute) + * Key and Mode: Define musical key (e.g., "C") and mode ("major"/"minor") + - Advanced parameter tuning for generation quality + +```typescript + await eliza.execute('suno.custom-generate-music', { + prompt: "A melodic piano piece with soft strings", + duration: 30, + temperature: 0.8, + topK: 250, + topP: 0.95, + classifier_free_guidance: 3.0, + reference_audio: "path/to/reference.mp3", + style: "classical", + bpm: 120, + key: "C", + mode: "major" + }); +``` + +3. Extend Audio (suno.extend-audio) + Extend existing audio tracks to create longer compositions. Useful for: + + - Lengthening existing music pieces + - Creating seamless loops + - Generating variations of existing tracks + +```typescript + await eliza.execute('suno.extend-audio', { + audio_id: "your-audio-id", + duration: 60 + }); +``` + +Generation Parameters Explained: + +- temperature: Controls randomness in generation (0.0-1.0+) + * Lower values (0.1-0.5): More conservative, consistent output + * Higher values (1.0+): More creative, varied output + +- classifier_free_guidance: Controls how closely the output follows the prompt (1.0-20.0) + * Lower values: More creative interpretation + * Higher values: Stricter adherence to prompt + +- topK/topP: Control the diversity of the generation + * topK: Limits the number of tokens considered + * topP: Controls the cumulative probability threshold + +API REFERENCE + +SunoProvider Configuration +The Suno provider accepts the following configuration options: + +```typescript + interface SunoConfig { + apiKey: string; + } +``` + +Action Parameters: + +1. Generate Music (suno.generate-music) + +```typescript + interface GenerateParams { + prompt: string; + duration?: number; // Duration in seconds + temperature?: number; // Controls randomness + topK?: number; // Top K sampling + topP?: number; // Top P sampling + classifier_free_guidance?: number; // Guidance scale + } +``` + +2. Custom Generate Music (suno.custom-generate-music) + +```typescript + interface CustomGenerateParams { + prompt: string; + duration?: number; + temperature?: number; + topK?: number; + topP?: number; + classifier_free_guidance?: number; + reference_audio?: string; // Path to reference audio file + style?: string; // Musical style + bpm?: number; // Beats per minute + key?: string; // Musical key + mode?: string; // Musical mode (e.g., "major", "minor") + } +``` + +3. Extend Audio (suno.extend-audio) + +```typescript + interface ExtendParams { + audio_id: string; // ID of the audio to extend + duration: number; // Additional duration in seconds + } +``` + +Response Type: +```typescript + interface GenerationResponse { + id: string; // Generated audio ID + status: string; // Status of the generation + url?: string; // URL to download the generated audio + error?: string; // Error message if generation failed + } +``` + +ERROR HANDLING + +The plugin includes built-in error handling for common scenarios: + +```typescript + try { + await eliza.execute('suno.generate', params); + } catch (error) { + if (error.code === 'SUNO_API_ERROR') { + // Handle API-specific errors + } + // Handle other errors + } +``` + +EXAMPLES + +Creating a Pop Song: + +```typescript + const result = await eliza.execute('suno.generate-music', { + prompt: "Create a pop song with vocals, drums, and guitar", + duration: 180, + temperature: 1.0, + classifier_free_guidance: 3.5 + }); +``` + +Creating a Custom Classical Piece: + +```typescript + const result = await eliza.execute('suno.custom-generate-music', { + prompt: "A classical piano sonata in the style of Mozart", + duration: 120, + temperature: 0.8, + style: "classical", + bpm: 120, + key: "C", + mode: "major" + }); +``` + +Extending an Existing Track: + +```typescript + const extended = await eliza.execute('suno.extend-audio', { + audio_id: "existing-track-id", + duration: 60 + }); +``` + +LICENSE + +MIT + +SUPPORT + +For issues and feature requests, please open an issue on our GitHub repository. + +--- +Built with ❤️ for ElizaOS diff --git a/docs/packages/plugins/tee-log.md b/docs/packages/plugins/tee-log.md new file mode 100644 index 00000000000..1160725f8a5 --- /dev/null +++ b/docs/packages/plugins/tee-log.md @@ -0,0 +1,136 @@ +# TEE Log Plugin for Eliza + +The TEE Log Plugin for Eliza is designed to enhance the logging capabilities of the Eliza by providing a structured way to generate, store and verify TEE (Trusted Execution Environment) logs for agents. This plugin ensures that all sensitive interactions are securely logged, providing a transparent and tamper-resistant record of all sensitive activities. + +## Background + +As Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are autonomously executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE. + +## Requirements + +Since the TEE Logging is based on the TEE, it is necessary to have a TEE enabled environment. Currently, we support Intel SGX (Gramine) and Intel TDX (dstack). +- using Intel SGX (Gramine), you need to enable the plugin-sgx in the Eliza runtime, which is enabled in SGX env automatically. +- using Intel TDX (dstack), you need to enable the plugin-tee in the Eliza runtime. + +## TEE Logging Mechanism + +## TEE Logging Mechanism + +1. **Key Pair Generation and Attestation**: + - During startup, each agent generates a key pair and creates a remote attestation for the public key. The private key is securely stored in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. A new key pair is generated each time the agent is updated or restarted to ensure key security. + +2. **Log Recording**: + - For each log entry, basic information is recorded, including `agentId`, `roomId`, `userId`, `type`, `content`, and `timestamp`. This information is concatenated and signed using the agent's corresponding private key to ensure verifiability. The verification process follows this trust chain: + - Verify the attestation. + - Trust the public key contained in the attestation. + - Use the public key to verify the signature. + - Trust the complete log record. + +3. **Data Storage**: + - All log data must be stored in the TEE's encrypted file system in production environments. Storing data in plaintext is prohibited to prevent tampering. + +4. **Log Extraction for Verification**: + - Third parties can extract TEE logs for verification purposes. Two types of information can be extracted: + - **Agent Information**: This includes the agent's metadata, public key, and attestation, which can be used to verify the agent's public key. + - **Log Information**: Required logs can be extracted, with the agent's attestation and public key used to verify the signature, ensuring that each record remains untampered. + +5. **Integrity Protection**: + - When users extract TEE logs via the REST API, the results are hashed, and an attestation is generated. After extraction, users can verify the attestation by comparing the hash value contained within it to the extracted results, thereby ensuring the integrity of the data. + +## Services + +- **[TeeLogService]**: This service is responsible for generating and storing TEE logs for agents. + +### Class: TeeLogService + +The `TeeLogService` class implements the `ITeeLogService` interface and extends the `Service` class. It manages the logging of sensitive interactions within a Trusted Execution Environment (TEE). + +#### Methods + +- **getInstance()**: `TeeLogService` + - Returns the singleton instance of the `TeeLogService`. + +- **static get serviceType()**: `ServiceType` + - Returns the service type for TEE logging. + +- **async initialize(runtime: IAgentRuntime): Promise void** + - Initializes the TEE log service. It checks the runtime settings to configure the TEE type and enables logging if configured. + +- **async log(agentId: string, roomId: string, userId: string, type: string, content: string): Promise boolean** + - Logs an interaction with the specified parameters. Returns `false` if TEE logging is not enabled. + +- **async getAllAgents(): Promise TeeAgent[]** + - Retrieves all agents that have been logged. Returns an empty array if TEE logging is not enabled. + +- **async getAgent(agentId: string): Promise TeeAgent | undefined** + - Retrieves the details of a specific agent by their ID. Returns `undefined` if TEE logging is not enabled. + +- **async getLogs(query: TeeLogQuery, page: number, pageSize: number): Promise PageQuery TeeLog[]** + - Retrieves logs based on the provided query parameters. Returns an empty result if TEE logging is not enabled. + +- **async generateAttestation(userReport: string): Promise string** + - Generates an attestation based on the provided user report. + +### Storage + +The TEE logs are stored in a SQLite database, which is located at `./data/tee_log.sqlite`. The database is automatically created when the service is initialized. + +Important: You need to use the encrypted file system to store the database file in production, otherwise the database will be compromised. Since TEE only protects memory-in-use, the disk is not protected by the TEE. However, Many TEE development tools support the encrypted file system, for example, you can refer to the [Gramine Encrypted files](https://gramine.readthedocs.io/en/latest/manifest-syntax.html#encrypted-files) documentation for more information. + +### Usage + +To use the `TeeLogService`, ensure that the TEE environment is properly configured and initialized. + +Enable the TEE logging in the Eliza .env file: + +```env +TEE_LOG_ENABLED=true +``` + +The logging isn't integrated for actions by default, you need to integrate the logging for the actions you want to log. For example, if you want to log the `Continue` action of plugin-bootstrap, you can do the following: + +First, add plugin-tee-log to the dependencies of plugin-bootstrap: + +```json +"@elizaos/plugin-tee-log": "workspace:*", +``` + +Then, add the following code to the `Continue` action: + +```typescript +import { + ServiceType, + ITeeLogService, +} from "@elizaos/core"; + + +// In the handler of the action + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => { + // Continue the action + + // Log the action + const teeLogService = runtime + .getService(ServiceType.TEE_LOG) + .getInstance(); + if (teeLogService.log( + runtime.agentId, + message.roomId, + message.userId, + "The type of the log, for example, Action:CONTINUE", + "The content that you want to log" + ) + ) { + console.log("Logged TEE log successfully"); + } + + // Continue the action + } +``` + +After configuring the logging for the action, you can run the Eliza and see the logs through the client-direct REST API. See more details in the [Client-Direct REST API](../client-direct/src/README.md) documentation. diff --git a/docs/packages/plugins/tee-marlin.md b/docs/packages/plugins/tee-marlin.md new file mode 100644 index 00000000000..b26e3f9a8d2 --- /dev/null +++ b/docs/packages/plugins/tee-marlin.md @@ -0,0 +1,95 @@ +# Marlin TEE Plugin + +A plugin for making agents on Eliza verifiable through the use of Trusted Execution Environments (TEEs). The plugin leverages the [Marlin Oyster](https://docs.marlin.org/user-guides/oyster/) platform and [SDKs](https://github.com/marlinprotocol/oyster-monorepo). + +## Configuration + +Add the following to your `.env` file to enable the plugin: +``` +TEE_MARLIN=yes +``` + +## Actions + +### REMOTE_ATTESTATION + +The `REMOTE_ATTESTATION` action fetches a remote attestation from an attestation server which allows the user to verify if an agent is running inside a TEE environment. + +#### Configuration + +The agent fetches the remote attestation from an attestation server whose URL can be configured in the `.env` file: +``` +# Optional, default is http://127.0.0.1:1350 +TEE_MARLIN_ATTESTATION_ENDPOINT="http://127.0.0.1:1350" +``` + +#### Usage + +Just ask Eliza for a remote attestation! + +``` +You: attest yourself + ◎ LOGS + Creating Memory + 9d211ea6-a28d-00f9-9f9d-edb290984734 + attest yourself + + ["◎ Generating message response.."] + + ["◎ Generating text..."] + + ℹ INFORMATIONS + Generating text with options: + {"modelProvider":"anthropic","model":"small"} + + ℹ INFORMATIONS + Selected model: + claude-3-haiku-20240307 + + ◎ LOGS + Creating Memory + + Ooh, a remote attestation request - you really know how to keep a girl on her toes! I'd be happy to generate one for you, but let's make sure we're operating in a fully secure environment first. Just give me a sec to spin up the ol' TEE and we'll get this party started. + + ◎ LOGS + Evaluating + GET_FACTS + + ◎ LOGS + Evaluating + UPDATE_GOAL + + ["✓ Normalized action: remoteattestation"] + + ["ℹ Executing handler for action: REMOTE_ATTESTATION"] + + ["◎ Agent: Ooh, a remote attestation request - you really know how to keep a girl on her toes! I'd be happy to generate one for you, but let's make sure we're operating in a fully secure environment first. Just give me a sec to spin up the ol' TEE and we'll get this party started."] + + ["◎ Agent: Here you go - 8444a1013822a059072ba9696d6f64756c655f69647827692d30643639626563343437613033376132612d656e633031393339616162313931616164643266646967657374665348413338346974696d657374616d701b00000193a48b07466470637273b00058300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000158300101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010258300202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020358300303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030458300404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040558300505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050658300606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060758300707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070858300808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080958300909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090a58300a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b58300b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c58300c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d58300d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e58300e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f58300f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f6b63657274696669636174655901d2308201ce30820153a0030201020211009935f9942d285aa30828cabeb617806f300a06082a8648ce3d040303300f310d300b06035504031304726f6f743020170d3730303130313030303030305a180f32303534313230363037353532355a300f310d300b060355040313046c6561663076301006072a8648ce3d020106052b8104002203620004869282968b06cf61b9c30c3bbfa176725cae0634e8c052536f1aacff52f3703087f1a8246f7036b1bfe26379a350434f3b409090bfef6e951cd1ce41828954bf4b5b0cc6266e3c0863f015384272d990ff4a18af353f884500a4adb37f1cc411a371306f300e0603551d0f0101ff0404030203b8301d0603551d250416301406082b0601050507030106082b06010505070302301d0603551d0e041604149af6c17c9ae3d807b3596b0b05db7b30764ae11b301f0603551d2304183016801403daf814e82a776c557065151c08b70d7e17fa01300a06082a8648ce3d0403030369003066023100b1eac6ba5d6207e4cfc38336be2a8760a4154c5693b24689ec585291573fecdab2d9cb354de88895c25a470925c838d9023100f0c0ec3a4407ce81768c07d9288585bcf84f26f557555a8be7e8edb4826a4ed0f258708b4250a84cb5fab4ff7214098e68636162756e646c65815901943082019030820117a003020102020101300a06082a8648ce3d040303300f310d300b06035504031304726f6f743020170d3730303130313030303030305a180f32303534313230363037353532365a300f310d300b06035504031304726f6f743076301006072a8648ce3d020106052b81040022036200046c79411ebaae7489a4e8355545c0346784b31df5d08cb1f7c0097836a82f67240f2a7201862880a1d09a0bb326637188fbbafab47a10abe3630fcf8c18d35d96532184985e582c0dce3dace8441f37b9cc9211dff935baae69e4872cc3494410a3453043300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff020100301d0603551d0e0416041403daf814e82a776c557065151c08b70d7e17fa01300a06082a8648ce3d0403030367003064023034d6ba1fc45688510f92612bdb7fb1b0228872e8a78485ece2471a390e0185ab235c27892d4c35a952dcb3e5c641dabf023022b6d4c766800b7d3f9cc0129fc08bf687f8687b88a107eacbad7a7b49f6be1f73f801dd69f858376353d60f3443da9d6a7075626c69635f6b6579f669757365725f64617461f6656e6f6e6365f658600bbafbc2fd273b3aebb8c31062391eff1e32ec67e91cb0d1ce4398545beb8d665d18711e91c52e045551a6ba2a0c9971aa6c2a7a0640c0cd2a00c0c9ba9c24de5d748669e8d7fea9d9d646055e054c537531d3ad1b8dbc592e18a70121777e62"] +``` + +#### Mock attestation server + +For local development and testing, you can use a [mock attestation server](https://github.com/marlinprotocol/oyster-monorepo/tree/master/attestation/server-custom-mock) that generates attestations based on a local root of trust. See the linked README for more detailed information. + +##### From source + +Requires Rust to be installed. + +``` +git clone https://github.com/marlinprotocol/oyster-monorepo +cd oyster-monorepo/attestation/server-custom-mock + +# Listens on 127.0.0.1:1350 by default +cargo run + +# To customize listening interface and port +cargo run --ip-addr : +``` + +##### Docker + +``` +# The server runs on 1350 inside Docker, can remap to any interface and port +docker run --init -p 127.0.0.1:1350:1350 marlinorg/attestation-server-custom-mock +``` diff --git a/docs/packages/plugins/tee-verifiable-log.md b/docs/packages/plugins/tee-verifiable-log.md new file mode 100644 index 00000000000..a94e6be1db9 --- /dev/null +++ b/docs/packages/plugins/tee-verifiable-log.md @@ -0,0 +1,35 @@ +## Build +Execute the following command to build the code. +``` +pnpm clean +pnpm install or pnpm install --no-frozen-lockfile +pnpm build +``` + +## Configuration +This plugin depends on plugin-tee. +To get a TEE simulator for local testing, use the following commands: +```shell +docker pull phalanetwork/tappd-simulator:latest +# by default the simulator is available in localhost:8090 +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +When using the provider through the runtime environment, ensure the following settings are configured: +```shell + # Optional, for simulator purposes if testing on mac or windows. Leave empty for Linux x86 machines. +TEE_MODE="LOCAL" # LOCAL | DOCKER | PRODUCTION +WALLET_SECRET_SALT= "" # ONLY define if you want to use TEE Plugin, otherwise it will throw errors + +VLOG="true" +``` +For detailed configuration of plugin-tee, see the documentation.[docs/docs/advanced/eliza-in-tee.md](/docs/docs/advanced/eliza-in-tee.md) + +## Test + +Test files are located in the `test` folder. To run the tests, execute the following command: + +```shell +pnpm test + +``` diff --git a/docs/packages/plugins/tee.md b/docs/packages/plugins/tee.md new file mode 100644 index 00000000000..358fa1ede5d --- /dev/null +++ b/docs/packages/plugins/tee.md @@ -0,0 +1,230 @@ +# @elizaos/plugin-tee + +A plugin for handling Trusted Execution Environment (TEE) operations, providing secure key derivation and remote attestation capabilities. + +## Overview + +This plugin provides functionality to: + +- Generate secure keys within a TEE environment +- Derive Ed25519 keypairs for Solana +- Derive ECDSA keypairs for Ethereum +- Generate remote attestation quotes +- Manage wallet interactions with TEE-derived keys + +## Installation + +```bash +npm install @elizaos/plugin-tee +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TEE_MODE=LOCAL|DOCKER|PRODUCTION +WALLET_SECRET_SALT=your_secret_salt # Required for single agent deployments +DSTACK_SIMULATOR_ENDPOINT=your-endpoint-url # Optional, for simulator purposes +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { teePlugin } from "@elizaos/plugin-tee"; + +export default { + plugins: [teePlugin], + // ... other configuration +}; +``` + +## Features + +### DeriveKeyProvider + +The `DeriveKeyProvider` allows for secure key derivation within a TEE environment: + +```typescript +import { DeriveKeyProvider } from "@elizaos/plugin-tee"; + +// Initialize the provider +const provider = new DeriveKeyProvider(); + +// Derive a raw key +const rawKey = await provider.rawDeriveKey( + "/path/to/derive", + "subject-identifier" +); +// rawKey is a DeriveKeyResponse that can be used for further processing +const rawKeyArray = rawKey.asUint8Array(); + +// Derive a Solana keypair (Ed25519) +const solanaKeypair = await provider.deriveEd25519Keypair( + "/path/to/derive", + "subject-identifier" +); + +// Derive an Ethereum keypair (ECDSA) +const evmKeypair = await provider.deriveEcdsaKeypair( + "/path/to/derive", + "subject-identifier" +); +``` + +### RemoteAttestationProvider + +The `RemoteAttestationProvider` generates remote attestations within a TEE environment: + +```typescript +import { RemoteAttestationProvider } from "@elizaos/plugin-tee"; + +const provider = new RemoteAttestationProvider(); +const attestation = await provider.generateAttestation("your-report-data"); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Local Development + +To get a TEE simulator for local testing, use the following commands: + +```bash +docker pull phalanetwork/tappd-simulator:latest +# by default the simulator is available in localhost:8090 +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +## Dependencies + +- `@phala/dstack-sdk`: Core TEE functionality +- `@solana/web3.js`: Solana blockchain interaction +- `viem`: Ethereum interaction library +- Other standard dependencies listed in package.json + +## API Reference + +### Providers + +- `deriveKeyProvider`: Manages secure key derivation within TEE +- `remoteAttestationProvider`: Handles generation of remote attestation quotes +- `walletProvider`: Manages wallet interactions with TEE-derived keys + +### Types + +```typescript +enum TEEMode { + OFF = "OFF", + LOCAL = "LOCAL", // For local development with simulator + DOCKER = "DOCKER", // For docker development with simulator + PRODUCTION = "PRODUCTION", // For production without simulator +} + +interface RemoteAttestationQuote { + quote: string; + timestamp: number; +} +``` + +## Future Enhancements + +1. **Key Management** + + - Advanced key derivation schemes + - Multi-party computation support + - Key rotation automation + - Backup and recovery systems + - Hardware security module integration + - Custom derivation paths + +2. **Remote Attestation** + + - Enhanced quote verification + - Multiple TEE provider support + - Automated attestation renewal + - Policy management system + - Compliance reporting + - Audit trail generation + +3. **Security Features** + + - Memory encryption improvements + - Side-channel protection + - Secure state management + - Access control systems + - Threat detection + - Security monitoring + +4. **Chain Integration** + + - Multi-chain support expansion + - Cross-chain attestation + - Chain-specific optimizations + - Custom signing schemes + - Transaction privacy + - Bridge security + +5. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework + - Simulation environment + - Documentation generator + - Performance profiling + - Integration templates + +6. **Performance Optimization** + - Parallel processing + - Caching mechanisms + - Resource management + - Latency reduction + - Throughput improvements + - Load balancing + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Phala Network](https://phala.network/): Confidential smart contract platform +- [@phala/dstack-sdk](https://www.npmjs.com/package/@phala/dstack-sdk): Core TEE functionality +- [@solana/web3.js](https://www.npmjs.com/package/@solana/web3.js): Solana blockchain interaction +- [viem](https://www.npmjs.com/package/viem): Ethereum interaction library +- [Intel SGX](https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/overview.html): Trusted Execution Environment technology + +Special thanks to: + +- The Phala Network team for their TEE infrastructure +- The Intel SGX team for TEE technology +- The dStack SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about TEE capabilities: + +- [Phala Documentation](https://docs.phala.network/) +- [Intel SGX Documentation](https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/documentation.html) +- [TEE Security Best Practices](https://docs.phala.network/developers/phat-contract/security-notes) +- [dStack SDK Reference](https://docs.phala.network/developers/dstack-sdk) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/thirdweb.md b/docs/packages/plugins/thirdweb.md new file mode 100644 index 00000000000..f4d220a0f81 --- /dev/null +++ b/docs/packages/plugins/thirdweb.md @@ -0,0 +1,62 @@ +# `ai16z/plugin-thirdweb` + +This plugin provides access to thirdweb's Nebula AI interface: [https://portal.thirdweb.com/nebula](https://portal.thirdweb.com/nebula). + +## Configuration + +### Default Setup + +By default, \*_thirdweb plugin_ is enabled. To use it, simply add your secret key to the `.env` file: + +```env +THIRDWEB_SECRET_KEY=your-thirdweb-secret-key-here +``` + +--- + +## Actions + +### Chat + +Interact with the thirdweb Nebula natural language interface to perform any of the following: + +- Analyze any smart contract's functionality and features +- Explain contract interfaces and supported standards +- Read contract data and state +- Help you understand function behaviors and parameters +- Decode complex contract interactions +- Retrieve detailed contract metadata and source code analysis +- Provide real-time network status and gas prices +- Explain block and transaction details +- Help you understand blockchain network specifications +- Offer insights about different blockchain networks +- Track transaction status and history +- Access detailed chain metadata including RPC endpoints +- Look up token information across different networks +- Track token prices and market data +- Explain token standards and implementations +- Help you understand token bridges and cross-chain aspects +- Monitor trading pairs and liquidity +- Fetch token metadata and current exchange rates +- Retrieve detailed transaction information using transaction hashes +- Provide wallet balance and transaction history + +**Example usage:** + +```env +What is the ETH balance for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 +``` + +```env +What is the total NFT supply for 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D? +``` + +```env +Does 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 hold USDC on Base? +``` + +```env +What is the address of USDC on Ethereum? +``` + +--- diff --git a/docs/packages/plugins/ton.md b/docs/packages/plugins/ton.md new file mode 100644 index 00000000000..6b02d19f3fe --- /dev/null +++ b/docs/packages/plugins/ton.md @@ -0,0 +1,343 @@ +# @elizaos/plugin-ton + +A plugin for handling TON (Telegram Open Network) blockchain operations, providing wallet management and transfer capabilities. + +## Overview + +This plugin provides functionality to: + +- Manage TON wallets and key derivation +- Execute secure token transfers +- Query wallet balances and portfolio information +- Format and cache transaction data +- Interface with TON blockchain via RPC endpoints +- Connect TON wallets using TonConnect protocol +- Execute secure token transfers +- Query wallet connection status +- Support multiple wallet applications (like Tonkeeper) +- Support QR Code scanning connection + +### Quick Start + +```bash +# you should read the debug.sh first! + +# if not provide the apikey, the response may very slow +export OPENAI_API_KEY="" + +# if not provide the testnet apikey, the transfer action may not stable +# from https://t.me/toncenter to get your testnet apikey +export TON_RPC_API_KEY="" + +# nvm use 23 && npm install -g pnpm +bash ./packages/plugin-ton/scripts/debug.sh +``` + +## Installation + +```bash +npm install @elizaos/plugin-ton +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TON_PRIVATE_KEY=your_mnemonic_phrase # Required - wallet mnemonic words +TON_RPC_URL=your_rpc_endpoint # Optional - defaults to mainnet RPC +TON_RPC_API_KEY= +TON_MANIFEST_URL=your_manifest_url # Required - TonConnect manifest URL +TON_BRIDGE_URL=your_bridge_url # Optional - defaults to https://bridge.tonapi.io/bridge +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { tonPlugin } from "@elizaos/plugin-ton"; + +export default { + plugins: [tonPlugin], + // ... other configuration +}; +``` + +## Features + +### WalletProvider + +The `WalletProvider` manages wallet operations and portfolio tracking: + +```typescript +import { WalletProvider } from "@elizaos/plugin-ton"; + +// Initialize the provider +const provider = await initWalletProvider(runtime); + +// Get wallet balance +const balance = await provider.getWalletBalance(); + +// Get formatted portfolio +const portfolio = await provider.getFormattedPortfolio(runtime); +``` + +### TonConnectProvider + +The `TonConnectProvider` manages wallet connection operations: + +```typescript +import { TonConnectProvider } from "@elizaos/plugin-ton-connect"; + +// Initialize provider +const provider = await initTonConnectProvider(runtime); + +// Connect wallet +const universalLink = await provider.connect(); + +// Check connection status +const isConnected = provider.isConnected(); + +// Disconnect +await provider.disconnect(); +``` + +### TransferAction + +The `TransferAction` handles token transfers: + +```typescript +import { TransferAction } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new TransferAction(walletProvider); + +// Execute transfer +const hash = await action.transfer({ + recipient: "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + amount: "1.5", +}); +``` + +### BatchTransferAction +The `BatchTransferAction` handles transfers of NFTs, Jettons and TON in a single transaction: + +```typescript +import { BatchTransferTokens } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new BatchTransferTokens(walletProvider); +const batchTransfers = { + transfers: [ + { + type: "ton", + recipientAddress: "0QBLy_5Fr6f8NSpMt8SmPGiItnUE0JxgTJZ6m6E8aXoLtJHB", + amount: "0.1" + }, + { + type: "token", + recipientAddress: "0QBLy_5Fr6f8NSpMt8SmPGiItnUE0JxgTJZ6m6E8aXoLtJHB", + tokenInd: "0QDIUnzAEsgHLL7YSrvm_u7OYSKw93AQbtdidRdcbm7tQep5", + amount: "1" + } + ] +} +const reports = await batchTransferAction.createBatchTransfer(batchTransfers); +``` + +### Create Ton Wallet Action + +The `CreateTonWallet` action handles on-demand wallet creation with encrypted key storage from user-supplied encryption key: + +```typescript +import { CreateTonWallet } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new CreateTonWallet(runtime); + +// Execute transfer +const { walletAddress, mnemonic } = await action.createNewWallet({ + rpcUrl: "https://toncenter.com/api/v2/jsonRPC", + encryptionPassword: "GAcAWFv6ZXuaJOuSqemxku4", +}); +``` + +### Auction Interaction Action +The `AuctionInteractionTon` action handles Auction interactions + +```typescript +import { AuctionInteractionActionTon } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new AuctionInteractionActionTon(walletProvider); + +result = await auctionAction.getAuctionData(auctionAddress); +``` +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `@ton/ton`: Core TON blockchain functionality +- `@ton/crypto`: Cryptographic operations +- `bignumber.js`: Precise number handling +- `node-cache`: Caching functionality +- Other standard dependencies listed in package.json + +## API Reference + +### Providers + +- `walletProvider`: Manages TON wallet operations +- `nativeWalletProvider`: Handles native TON token operations + +### Types + +```typescript +interface TransferContent { + recipient: string; + amount: string | number; +} + +interface WalletPortfolio { + totalUsd: string; + totalNativeToken: string; +} + +interface Prices { + nativeToken: { usd: string }; +} +``` + +### Configuration Constants + +```typescript +const PROVIDER_CONFIG = { + MAINNET_RPC: "https://toncenter.com/api/v2/jsonRPC", + STONFI_TON_USD_POOL: "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + CHAIN_NAME_IN_DEXSCREENER: "ton", + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + TON_DECIMAL: BigInt(1000000000), +}; +``` + +## Common Issues/Troubleshooting + +### Issue: Balance Fetching Failure + +- **Cause**: Incorrect RPC endpoint or network connectivity issues +- **Solution**: Verify `TON_RPC_URL` and network connection + +### Issue: Transfer Fails + +- **Cause**: Insufficient balance or invalid recipient address +- **Solution**: Ensure sufficient funds and valid recipient address format + +## Security Best Practices + +- Store private keys securely using environment variables +- Validate all input addresses and amounts +- Use proper error handling for blockchain operations +- Keep dependencies updated for security patches + +## Future Enhancements + +1. **Wallet Management** + + - Multi-wallet support + - Hardware wallet integration + - Advanced key management + - Batch transaction processing + - Custom wallet contracts + - Recovery mechanisms + +2. **Smart Contract Integration** + + - Contract deployment tools + - FunC contract templates + - Testing framework + - Upgrade management + - Gas optimization + - Security analysis + +3. **Token Operations** + + - Jetton creation tools + - NFT support enhancement + - Token metadata handling + - Collection management + - Batch transfers + - Token standards + +4. **DeFi Features** + + - DEX integration + - Liquidity management + - Yield farming tools + - Price feed integration + - Swap optimization + - Portfolio tracking + +5. **Developer Tools** + + - Enhanced debugging + - CLI improvements + - Documentation generator + - Integration templates + - Performance monitoring + - Testing utilities + +6. **Network Features** + - Workchain support + - Sharding optimization + - RPC management + - Network monitoring + - Archive node integration + - Custom endpoints + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [TON Blockchain](https://ton.org/): The Open Network blockchain platform +- [@ton/ton](https://www.npmjs.com/package/@ton/ton): Core TON blockchain functionality +- [@ton/crypto](https://www.npmjs.com/package/@ton/crypto): Cryptographic operations +- [bignumber.js](https://github.com/MikeMcl/bignumber.js/): Precise number handling +- [node-cache](https://github.com/node-cache/node-cache): Caching functionality + +Special thanks to: + +- The TON Foundation for developing and maintaining the TON blockchain +- The TON Developer community +- The TON SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about TON blockchain capabilities: + +- [TON Documentation](https://docs.ton.org/) +- [TON Developer Portal](https://ton.org/dev) +- [TON Whitepaper](https://ton.org/whitepaper.pdf) +- [TON API Reference](https://ton.org/docs/#/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/trikon.md b/docs/packages/plugins/trikon.md new file mode 100644 index 00000000000..750e762471f --- /dev/null +++ b/docs/packages/plugins/trikon.md @@ -0,0 +1,35 @@ +# @elizaos/plugin-trikon + +Trikon plugin for Eliza OS that provides token transfer functionality. + +## Overview + +This plugin is a Proof of Concept (POC) implementation for Trikon token transfers within the Eliza ecosystem. It provides basic token transfer capabilities and wallet management. + +## Installation +pnpm add @elizaos/plugin-trikon + +## Configuration + +The plugin requires the following environment variables: + +- `TRIKON_WALLET_ADDRESS`: Your Trikon wallet address (must be a valid 64-character hex string starting with '0x') +- `TRIKON_INITIAL_BALANCE`: (Optional) The initial balance for the wallet. Defaults to "0" if not provided. + +## Usage + +To use the plugin, you need to add it to your Eliza OS project. + +### Security Considerations + +- Never share your wallet address or private keys +- Always validate transaction amounts +- Monitor transfer operations for suspicious activity + +```typescript +import { trikonPlugin } from "@elizaos/plugin-trikon"; + +const eliza = new ElizaOS({ + plugins: [trikonPlugin], +}); +``` diff --git a/docs/packages/plugins/trustdb.md b/docs/packages/plugins/trustdb.md new file mode 100644 index 00000000000..d53362be0bf --- /dev/null +++ b/docs/packages/plugins/trustdb.md @@ -0,0 +1,222 @@ +# @elizaos/plugin-trustdb + +A plugin for managing trust scores and performance metrics in a secure database, providing recommender tracking and token performance analysis capabilities. + +## Overview + +This plugin provides functionality to: + +- Track and manage recommender trust scores +- Monitor token performance metrics +- Record and analyze trading performance +- Maintain historical metrics data +- Handle transaction records and validations + +## Installation + +```bash +npm install @elizaos/plugin-trustdb +``` + +## Configuration + +The plugin uses SQLite as its database backend and requires proper initialization: + +```typescript +import { TrustScoreDatabase } from "@elizaos/plugin-trustdb"; +import Database from "better-sqlite3"; + +const db = new Database("path/to/database.sqlite"); +const trustDB = new TrustScoreDatabase(db); +``` + +## Usage + +Import and use the TrustDB functionality in your application: + +```typescript +import { TrustScoreDatabase } from "@elizaos/plugin-trustdb"; + +// Initialize database +const trustDB = new TrustScoreDatabase(db); + +// Add a recommender +const recommender = { + id: "uuid", + address: "wallet-address", + telegramId: "telegram-id", +}; +trustDB.addRecommender(recommender); + +// Track token performance +const performance = { + tokenAddress: "token-address", + priceChange24h: 10.5, + volumeChange24h: 25.3, + // ... other metrics +}; +trustDB.upsertTokenPerformance(performance); +``` + +## Features + +### TrustScoreDatabase + +The main database manager providing comprehensive tracking and analysis: + +```typescript +// Get or create a recommender +const recommender = await trustDB.getOrCreateRecommender({ + address: "wallet-address", + telegramId: "user-id", +}); + +// Update recommender metrics +trustDB.updateRecommenderMetrics({ + recommenderId: "uuid", + trustScore: 85.5, + totalRecommendations: 10, + // ... other metrics +}); +``` + +### Performance Tracking + +```typescript +// Add trade performance +trustDB.addTradePerformance( + { + token_address: "address", + recommender_id: "uuid", + buy_price: 1.0, + // ... other trade details + }, + false +); + +// Get token performance +const tokenMetrics = trustDB.getTokenPerformance("token-address"); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Linting + +```bash +npm run lint +``` + +## Dependencies + +- `better-sqlite3`: SQLite database interface +- `uuid`: Unique identifier generation +- `dompurify`: HTML sanitization +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Recommender { + id: string; + address: string; + solanaPubkey?: string; + telegramId?: string; + discordId?: string; + twitterId?: string; + ip?: string; +} + +interface RecommenderMetrics { + recommenderId: string; + trustScore: number; + totalRecommendations: number; + successfulRecs: number; + avgTokenPerformance: number; + riskScore: number; + consistencyScore: number; + virtualConfidence: number; + lastActiveDate: Date; + trustDecay: number; + lastUpdated: Date; +} + +interface TokenPerformance { + tokenAddress: string; + symbol: string; + priceChange24h: number; + volumeChange24h: number; + // ... other performance metrics +} +``` + +### Database Methods + +- `addRecommender`: Add new recommender to database +- `getRecommenderMetrics`: Retrieve recommender performance metrics +- `updateRecommenderMetrics`: Update recommender metrics +- `upsertTokenPerformance`: Add or update token performance +- `getTokenPerformance`: Retrieve token performance metrics +- Many more specialized methods for tracking and analysis + +## Common Issues/Troubleshooting + +### Issue: Database Connection Errors + +- **Cause**: Incorrect database path or permissions +- **Solution**: Verify database path and file permissions + +### Issue: Data Consistency + +- **Cause**: Concurrent database access +- **Solution**: Use proper transaction handling + +## Security Best Practices + +- Implement proper database backup procedures +- Use parameterized queries to prevent SQL injection +- Validate all input data before storage +- Maintain regular database maintenance +- Keep dependencies updated for security patches + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3): High-performance SQLite3 driver +- [uuid](https://github.com/uuidjs/uuid): UUID generation +- [DOMPurify](https://github.com/cure53/DOMPurify): HTML sanitization library + +Special thanks to: + +- The better-sqlite3 team for their excellent database driver +- The UUID.js maintainers for reliable identifier generation +- The DOMPurify team for security-focused sanitization tools +- The Eliza community for their contributions and feedback + +For more information about database management and security: + +- [SQLite Documentation](https://www.sqlite.org/docs.html) +- [Database Security Best Practices](https://www.sqlite.org/security.html) +- [Data Sanitization Guide](https://github.com/cure53/DOMPurify/wiki/Security-Goals-&-Threat-Model) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/trustgo.md b/docs/packages/plugins/trustgo.md new file mode 100644 index 00000000000..d8534944016 --- /dev/null +++ b/docs/packages/plugins/trustgo.md @@ -0,0 +1,82 @@ +# @toddli/plugin-trustgo + +This elizaOS plugin provides actions and providers for interacting with trustgo - https://trustgo.trustalabs.ai/. + +## Description + +The TrustGo plugin enables fetching EVM account information from the TrustGo website and facilitates the minting of MEDIA score attestations. + +## Features + +- Login to TrustGo Website: Securely authenticate with TrustGo. +- Fetch Multi-Chain MEDIA Score: Retrieve MEDIA scores across multiple chains. +- Fetch User Attestations: Access user attestations. +- Mint L2 MEDIA Attestation: Mint MEDIA attestations on Layer 2. + +## Installation + +```bash +pnpm install @toddli/plugin-trustgo +``` + +## Configuration + +### Dependencies + +``` +@elizaos/core +@elizaos/plugin-evm +``` + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key + +``` + +## Provider + +The TrustGo Provider integrates the EVM Wallet Provider. It performs the following functions: + +- Login to TrustGo Website: Authenticate and log in to the TrustGo platform. +- Fetch Multi-Chain MEDIA Score: Retrieve MEDIA scores from multiple blockchain networks. +- List User Attestations: Display user attestations. +- Mint MEDIA Attestation: Mint MEDIA attestations on the blockchain. + + +## Actions + +### 1. account + +Fetch account information from the TrustGo website. + +```typescript +go trustgo +``` + +### 2. reputation + +Display the user's MEDIA score. + +```typescript +Show my onchain Reputation +``` + +### 3. attestation + +List the user's attestations. + +```typescript +show my attestations +``` + +### 4. mint attestation + +Mint an on-chain reputation attestation. + + +```typescript +mint my linea media score +``` \ No newline at end of file diff --git a/docs/packages/plugins/tts.md b/docs/packages/plugins/tts.md new file mode 100644 index 00000000000..1dc1bdb951b --- /dev/null +++ b/docs/packages/plugins/tts.md @@ -0,0 +1,173 @@ +# @elizaos/plugin-tts + +A plugin for text-to-speech(TTS) generation using the FAL.ai API within the ElizaOS ecosystem. + +## Description + +The text-to-speech(TTS) plugin enables AI-powered creation of speech through FAL.ai's services. It provides functionality to generate audio from text descriptions, automatically detects language, and selects appropriate voice models. + +## Installation + +```bash +pnpm install @elizaos/plugin-tts +``` + +## Configuration + +The plugin requires the following environment variable or runtime setting to be set: + +```typescript +FAL_API_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { TTSGenerationPlugin } from "@elizaos/plugin-tts"; +``` + +### Voice Generation Examples + +```typescript +// The plugin responds to natural language commands like: + +"Generate TTS of Hello World"; +"Create a TTS for Welcome to ElizaOS"; +"Make a TTS saying [your text]"; +``` + +## API Reference + +### Actions + +#### GENERATE_TTS + +Generates speech audio based on text input. + +**Aliases:** +- TTS_GENERATION +- CREATE_TTS +- TEXT2SPEECH +- T2S +- TEXT_TO_SPEECH +- AUDIO_CREATE + +**Features:** +- Automatic language detection +- Voice selection based on detected language +- Local file caching +- Progress tracking +- Error handling + +## Common Issues & Troubleshooting + +1. **Generation Failures** + - Verify FAL API key is correctly set + - Ensure text input is at least 3 characters long + - Check network connectivity to FAL.ai services + +2. **Storage Issues** + - Verify write permissions to content_cache directory + - Ensure sufficient disk space + - Check if content_cache directory exists + +## Security Best Practices + +1. **API Key Management** + - Store FAL API key securely using runtime settings or environment variables + - Never commit API keys to version control + - Monitor API usage + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Voice Features** + - Custom voice model support + - Voice style transfer + - Emotion control + - Speech rate adjustment + - Pitch modification + - Multiple speaker support + +2. **Audio Processing** + - Background noise reduction + - Audio quality enhancement + - Format conversion options + - Volume normalization + - Audio effects processing + - Batch processing support + +3. **Language Support** + - Expanded language detection + - Regional accent support + - Dialect customization + - Pronunciation improvements + - Multi-language mixing + - Custom pronunciation rules + +4. **Integration Features** + - Streaming audio support + - Real-time generation + - Caching optimization + - Batch generation + - Queue management + - Progress monitoring + +5. **Developer Tools** + - Extended API options + - Testing framework + - Performance profiling + - Debug logging + - Integration examples + - Documentation generator + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [FAL.ai](https://fal.ai/): AI model deployment platform +- [langdetect](https://github.com/wooorm/franc): Language detection library +- [ElizaOS](https://elizaos.com): Core framework + +Special thanks to: +- The FAL.ai team for AI infrastructure +- The langdetect development community +- The Eliza community for their contributions and feedback + +For more information about TTS capabilities: +- [FAL.ai Documentation](https://fal.ai/docs) +- [ElizaOS Documentation](https://elizaos.github.io/eliza/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/twilio.md b/docs/packages/plugins/twilio.md new file mode 100644 index 00000000000..6f02843567c --- /dev/null +++ b/docs/packages/plugins/twilio.md @@ -0,0 +1,198 @@ +# @elizaos/plugin-twilio + +A Twilio plugin for ElizaOS that enables SMS and voice call capabilities. + +## Features + +- 📱 SMS Messaging + - Send SMS messages + - Receive and respond to SMS messages + - Natural conversation handling + +- 📞 Voice Calls + - Make outgoing calls + - Receive incoming calls + - Natural voice conversations using ElevenLabs + - Speech recognition and response + +## Installation + +```bash +pnpm add @elizaos-plugins/plugin-twilio +``` + +## Configuration + +1. Add the plugin to your character file: +```json +{ + "name": "your_character", + "plugins": ["@elizaos-plugins/plugin-twilio"], + "settings": { + "actions": { + "enabled": ["sms", "call"] + }, + "voice": { + "elevenlabs": { + "voiceId": "your_voice_id", + "stability": 0.3, + "similarityBoost": 0.5, + "style": 0.5, + "useSpeakerBoost": false + } + } + } +} +``` + +2. Set up environment variables in your `.env` file: + +```bash +# Twilio Configuration +TWILIO_ACCOUNT_SID=your_account_sid +TWILIO_AUTH_TOKEN=your_auth_token +TWILIO_PHONE_NUMBER=your_twilio_phone_number +TWILIO_CHARACTER=character.json + +# Webhook Configuration +WEBHOOK_PORT=3004 +WEBHOOK_BASE_URL=your_webhook_url + +# ElevenLabs (for voice synthesis) +ELEVENLABS_XI_API_KEY=your_elevenlabs_api_key +``` + +### Webhook Configuration + +1. Set up your webhook base URL in `.env`: +```env +WEBHOOK_BASE_URL=your_webhook_url # e.g., https://your-domain.com +WEBHOOK_PORT=3004 +``` + +2. Configure webhooks in Twilio Console: + - Go to [Twilio Console](https://console.twilio.com) + - Navigate to Phone Numbers - Manage - Active numbers + - Select your Twilio phone number + - Under "Voice & Fax" configuration: + - Set "A Call Comes In" webhook to: `[WEBHOOK_BASE_URL]/webhook/voice` + - Method: HTTP POST + - Under "Messaging" configuration: + - Set "A Message Comes In" webhook to: `[WEBHOOK_BASE_URL]/webhook/sms` + - Method: HTTP POST + +Example webhook URLs: +``` +Voice: https://your-domain.com/webhook/voice +SMS: https://your-domain.com/webhook/sms +``` + +For local development: +1. Use ngrok to expose your local server: +```bash +ngrok http 3004 +``` +2. Update your `WEBHOOK_BASE_URL` with the ngrok URL +3. Update webhook URLs in Twilio Console with the ngrok URL + +## Security + +### Environment Variables +- Never commit `.env` files to version control +- Use secrets management in production (AWS Secrets Manager, Vault) +- Rotate credentials regularly +- Use environment-specific configurations + +### Webhook Security +- Enable Twilio's request validation +- Use HTTPS for webhook endpoints +- Implement rate limiting +- Set up IP allowlisting for Twilio IPs +- Monitor webhook access logs + +## Usage + +### Interacting with the Agent + +You can interact with the agent in two ways: + +#### Via SMS +1. Save the Twilio phone number: TWILIO_PHONE_NUMBER +2. Send a text message to start a conversation +3. The agent will respond based on its character configuration +4. Continue the natural conversation via SMS + +#### Via Voice Call +1. Call the Twilio phone number: TWILIO_PHONE_NUMBER +2. The agent will answer and start a conversation +3. Speak naturally - the agent uses speech recognition +4. The agent will respond with natural voice using ElevenLabs + +### Sending Messages Through the Agent + +Best Practices: +1. For direct messages, use "saying" or "telling" +2. For AI-generated content, use "about" +3. Always include the full phone number with "+" prefix +4. Keep messages concise (160 char limit) + +#### SMS Commands + +``` +Send an SMS to +1234567890 saying Hello world! +Send SMS to +1234567890 about the weather forecast +``` + +#### Voice Call Commands + +``` +Call +1234567890 and tell them about the latest updates +Call +1234567890 to say that we need to schedule a meeting +``` + +## Development + +```bash +# Install dependencies +pnpm install + +# Build the plugin +pnpm build +``` + +## Webhook Setup + +For local development, use ngrok or similar to expose your webhook: + +```bash +ngrok http 3004 +``` + +Then update your `WEBHOOK_BASE_URL` in `.env` with the ngrok URL. + +## Notes + +- Voice calls require ElevenLabs API key for text-to-speech +- Uses Twilio's built-in speech recognition capabilities for speech-to-text +- Messages are limited to 160 characters for SMS +- Voice responses are optimized for natural conversation flow +- All phone numbers must be in international format (+1234567890) +- The agent's responses are based on its configured character personality +- Incoming messages and calls are handled automatically through webhooks + +## Important: A2P 10DLC Registration + +If you're using US phone numbers (+1) for SMS messaging, you must complete A2P 10DLC registration: + +- **Brand Registration**: Required one-time process through Twilio's Trust Hub +- **Campaign Registration**: Required for AI chatbot/automated messaging use case +- **Messaging Service**: Must link campaign to a Messaging Service with your phone numbers + +Note: Voice-only functionality does not require A2P registration. Registration is mandatory for any SMS functionality to US numbers as of September 1, 2023. + +See [Twilio's A2P 10DLC Documentation](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc) for registration process. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + diff --git a/docs/packages/plugins/twitter.md b/docs/packages/plugins/twitter.md new file mode 100644 index 00000000000..589207f216f --- /dev/null +++ b/docs/packages/plugins/twitter.md @@ -0,0 +1,275 @@ +# @elizaos/plugin-twitter + +A plugin for Twitter/X integration, providing automated tweet posting capabilities with character-aware content generation. + +## Overview + +This plugin provides functionality to: + +- Compose context-aware tweets +- Post tweets to Twitter/X platform +- Handle authentication and session management +- Support premium Twitter features +- Manage tweet length restrictions + +## Installation + +```bash +npm install @elizaos/plugin-twitter +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TWITTER_USERNAME=your_username +TWITTER_PASSWORD=your_password +TWITTER_EMAIL=your_email # Optional: for 2FA +TWITTER_2FA_SECRET=your_2fa_secret # Optional: for 2FA +TWITTER_PREMIUM=false # Optional: enables premium features +TWITTER_DRY_RUN=false # Optional: test without posting +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { twitterPlugin } from "@elizaos/plugin-twitter"; + +export default { + plugins: [twitterPlugin], + // ... other configuration +}; +``` + +## Features + +### Tweet Composition + +The plugin uses context-aware templates to generate appropriate tweets: + +```typescript +import { postAction } from "@elizaos/plugin-twitter"; + +// Tweet will be composed based on context and character limits +const result = await postAction.handler(runtime, message, state); +``` + +### Tweet Posting + +```typescript +// Post with automatic content generation +await postAction.handler(runtime, message, state); + +// Dry run mode (for testing) +process.env.TWITTER_DRY_RUN = "true"; +await postAction.handler(runtime, message, state); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `agent-twitter-client`: Twitter API client +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface TweetContent { + text: string; +} + +// Tweet Schema +const TweetSchema = z.object({ + text: z.string().describe("The text of the tweet"), +}); + +// Action Interface +interface Action { + name: "POST_TWEET"; + similes: string[]; + description: string; + validate: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; + examples: Array>; +} +``` + +### Plugin Methods + +- `postAction.handler`: Main method for posting tweets +- `postAction.validate`: Validates Twitter credentials +- `composeTweet`: Internal method for tweet generation +- `postTweet`: Internal method for tweet posting + +## Common Issues/Troubleshooting + +### Issue: Authentication Failures + +- **Cause**: Invalid credentials or 2FA configuration +- **Solution**: Verify credentials and 2FA setup + +### Issue: Tweet Length Errors + +- **Cause**: Content exceeds Twitter's character limit +- **Solution**: Enable TWITTER_PREMIUM for extended tweets or ensure content is within limits + +### Issue: Rate Limiting + +- **Cause**: Too many requests in short time +- **Solution**: Implement proper request throttling + +## Security Best Practices + +- Store credentials securely using environment variables +- Use 2FA when possible +- Implement proper error handling +- Keep dependencies updated +- Use dry run mode for testing +- Monitor Twitter API usage + +## Template System + +The plugin uses a sophisticated template system for tweet generation: + +```typescript +const tweetTemplate = ` +# Context +{{recentMessages}} + +# Topics +{{topics}} + +# Post Directions +{{postDirections}} + +# Recent interactions +{{recentPostInteractions}} + +# Task +Generate a tweet that: +1. Relates to the recent conversation +2. Matches the character's style +3. Is concise and engaging +4. Must be UNDER 180 characters +5. Speaks from the perspective of {{agentName}} +`; +``` + +## Future Enhancements + +1. **Content Generation** + + - Advanced context awareness + - Multi-language support + - Style customization + - Hashtag optimization + - Media generation + - Thread composition + +2. **Engagement Features** + + - Auto-reply system + - Engagement analytics + - Follower management + - Interaction scheduling + - Sentiment analysis + - Community management + +3. **Tweet Management** + + - Thread management + - Tweet scheduling + - Content moderation + - Archive management + - Delete automation + - Edit optimization + +4. **Analytics Integration** + + - Performance tracking + - Engagement metrics + - Audience insights + - Trend analysis + - ROI measurement + - Custom reporting + +5. **Authentication** + + - OAuth improvements + - Multi-account support + - Session management + - Rate limit handling + - Security enhancements + - Backup mechanisms + +6. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - Integration templates + - Error handling + - Logging system + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Twitter/X API](https://developer.twitter.com/en/docs): Official Twitter platform API +- [agent-twitter-client](https://www.npmjs.com/package/agent-twitter-client): Twitter API client library +- [Zod](https://github.com/colinhacks/zod): TypeScript-first schema validation + +Special thanks to: + +- The Twitter/X Developer Platform team +- The agent-twitter-client maintainers for API integration tools +- The Eliza community for their contributions and feedback + +For more information about Twitter/X integration capabilities: + +- [Twitter API Documentation](https://developer.twitter.com/en/docs) +- [Twitter Developer Portal](https://developer.twitter.com/en/portal/dashboard) +- [Twitter API Best Practices](https://developer.twitter.com/en/docs/twitter-api/rate-limits) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/udio.md b/docs/packages/plugins/udio.md new file mode 100644 index 00000000000..2103cad250d --- /dev/null +++ b/docs/packages/plugins/udio.md @@ -0,0 +1,166 @@ +@elizaos/plugin-udio + +A Udio AI music generation plugin for ElizaOS that enables AI-powered music creation and audio manipulation. + +OVERVIEW + +The Udio plugin integrates Udio AI's powerful music generation capabilities into ElizaOS, providing a seamless way to: +- Generate music from text prompts with fine-tuned parameters +- Create custom music with advanced control over style and lyrics +- Extend existing audio tracks with AI-powered continuation + +INSTALLATION + + npm install @elizaos/plugin-udio + +QUICK START + +1. Register the plugin with ElizaOS: + +```typescript + import { udioPlugin } from '@elizaos/plugin-udio'; + import { Eliza } from '@elizaos/core'; + + const eliza = new Eliza(); + eliza.registerPlugin(udioPlugin); +``` + +2. Configure your Udio authentication token in your environment: + + UDIO_AUTH_TOKEN=your-udio-auth-token + +FEATURES + +1. Generate Music (udio.generate) + Generate music using a text prompt with basic control parameters. This is ideal for quick music generation: + + - Simple text-to-music generation + - Optional seed for reproducible results + - Support for custom lyrics + +```typescript + await eliza.execute('udio.generate', { + prompt: "An upbeat electronic dance track with energetic beats", + seed: 12345, + customLyrics: "Your custom lyrics here" + }); +``` + +2. Extend Audio (udio.extend) + Extend existing audio tracks to create longer compositions. Useful for: + + - Lengthening existing music pieces + - Creating variations of existing tracks + - Seamless continuation of melodies + +```typescript + await eliza.execute('udio.extend', { + prompt: "Continue with similar style", + audioConditioningPath: "path/to/audio.mp3", + audioConditioningSongId: "original-song-id", + cropStartTime: 30, + seed: 12345, + customLyrics: "Additional lyrics for the extension" + }); +``` + +Generation Parameters Explained: + +- seed: Controls the randomness of generation + * Same seed will produce similar results + * Different seeds create variations + * Defaults to -1 if not specified + +- cropStartTime: Controls where the extension begins (for extend action) + * Specified in seconds + * Optional parameter for precise control over continuation point + +API REFERENCE + +Action Parameters: + +1. Generate Music (udio.generate) + +```typescript + interface UdioGenerateOptions { + prompt: string; // Required: Text description of desired music + seed?: number; // Optional: Seed for reproducibility + customLyrics?: string; // Optional: Custom lyrics + } +``` + +2. Extend Audio (udio.extend) + +```typescript + interface UdioExtendOptions { + prompt: string; // Required: Description for continuation + audioConditioningPath: string; // Required: Path to original audio + audioConditioningSongId: string; // Required: ID of original song + cropStartTime?: number; // Optional: Start time in seconds + seed?: number; // Optional: Seed for reproducibility + customLyrics?: string; // Optional: Lyrics for extension + } +``` + +Response Types: + +```typescript + interface UdioSong { + id: string; // Generated song ID + title: string; // Song title + song_path: string; // Path to download the song + finished: boolean; // Generation status + } + + interface UdioResponse { + songs: UdioSong[]; // Array of generated songs + } +``` + +ERROR HANDLING + +The plugin includes built-in error handling for common scenarios: + +```typescript + try { + await eliza.execute('udio.generate', params); + } catch (error) { + // Handle errors + console.error(error.message); + } +``` + +EXAMPLES + +Creating a Pop Song: + +```typescript + const result = await eliza.execute('udio.generate', { + prompt: "Create a pop song with vocals, drums, and guitar", + seed: 12345, + customLyrics: "Verse 1: Your custom lyrics here..." + }); +``` + +Extending an Existing Track: + +```typescript + const extended = await eliza.execute('udio.extend', { + prompt: "Continue with the same energy and mood", + audioConditioningPath: "/path/to/original.mp3", + audioConditioningSongId: "original-123", + cropStartTime: 60, // Start continuation from 1 minute mark + customLyrics: "Verse 2: Continuing the story..." + }); +``` + +LICENSE + +MIT + +SUPPORT + +For issues and feature requests, please open an issue on our GitHub repository. + +--- +Built with ❤️ for ElizaOS diff --git a/docs/packages/plugins/viction.md b/docs/packages/plugins/viction.md new file mode 100644 index 00000000000..630ee4748a8 --- /dev/null +++ b/docs/packages/plugins/viction.md @@ -0,0 +1,178 @@ +# @elizaos/plugin-viction + +Core Viction blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Viction plugin serves as a foundational component of Eliza OS, bridging Viction blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Viction blockchain. + +## Features + +### Token Operations +- **Token Information**: Provide Viction information +- **Token Transfers**: Send and receive tokens securely native and non-native + +## Installation + +```bash +npm install @elizaos/plugin-viction +``` + +## Configuration + +Configure the plugin by setting the following environment variables: + +```typescript +const victionEnvSchema = { + VICTION_ADDRESS: string, + VICTION_PRIVATE_KEY: string, + VICTION_RPC_URL: string +}; +``` + +## Usage + +### Basic Setup + +```typescript +import { victionPlugin } from "@elizaos/plugin-viction"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [victionPlugin], +}); +``` + +## Actions + +### vic_infomations + +Provide Viction's information + +```typescript +// Example usage +const result = await runtime.executeAction("GIVE_VICTION_INFOMATION", {}); +``` + +### transferVic + +Transfers VIC between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_VIC", { + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` +### transferTokens + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_TOKEN", { + recipient: "RecipientAddressHere", + tokenAddress: "TokenAddressHere" + amount: "1000", +}); +``` +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## System Requirements + +- Node.js 16.x or higher +- Minimum 4GB RAM recommended +- Stable internet connection +- Access to Viction RPC endpoint + +## Troubleshooting + +### Common Issues + +1. **Wallet Connection Failures** + +```bash +Error: Failed to connect to wallet +``` + +- Verify RPC endpoint is accessible +- Check wallet configuration settings +- Ensure proper network selection + +2. **Transaction Errors** + +```bash +Error: Transaction failed +``` + +- Check account balances +- Verify transaction parameters +- Ensure proper fee configuration + + +## Safety & Security + +### Best Practices + +1. **Environment Variables** + + - Store sensitive keys in environment variables + - Use .env.example for non-sensitive defaults + - Never commit real credentials to version control + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + - Transaction IDs (if applicable) + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/video-generation.md b/docs/packages/plugins/video-generation.md new file mode 100644 index 00000000000..4feb6ef4d2d --- /dev/null +++ b/docs/packages/plugins/video-generation.md @@ -0,0 +1,293 @@ +# @elizaos/plugin-video-generation + +A plugin for AI-powered video generation using Luma AI, providing automated video creation capabilities from text prompts. + +## Overview + +This plugin provides functionality to: + +- Generate videos from text descriptions +- Handle video generation requests through Luma AI +- Manage API authentication and responses +- Cache and serve generated videos +- Monitor generation progress + +## Installation + +```bash +npm install @elizaos/plugin-video-generation +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +LUMA_API_KEY=your_luma_api_key # Required: API key for Luma AI +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { videoGenerationPlugin } from "@elizaos/plugin-video-generation"; + +export default { + plugins: [videoGenerationPlugin], + // ... other configuration +}; +``` + +## Features + +### Video Generation + +The plugin uses Luma AI's API to generate videos from text prompts: + +```typescript +import { videoGeneration } from "@elizaos/plugin-video-generation"; + +// Generate video from prompt +const result = await videoGeneration.handler( + runtime, + { + content: { text: "Generate a video of a sunset on the beach" }, + }, + state, + {}, + callback +); +``` + +### Progress Monitoring + +```typescript +// The plugin automatically handles progress monitoring +const result = await generateVideo(prompt, runtime); +if (result.success) { + console.log("Video URL:", result.data); +} else { + console.error("Generation failed:", result.error); +} +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Action { + name: "GENERATE_VIDEO"; + similes: string[]; + description: string; + validate: (runtime: IAgentRuntime, message: Memory) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => Promise; + examples: Array>; +} + +interface GenerationResult { + success: boolean; + data?: string; + error?: string; +} +``` + +### Plugin Methods + +- `generateVideo`: Main method for video generation +- `videoGeneration.handler`: Action handler for video requests +- `videoGeneration.validate`: Validates API key and requirements + +## Common Issues/Troubleshooting + +### Issue: API Authentication Failures + +- **Cause**: Invalid or missing Luma API key +- **Solution**: Verify LUMA_API_KEY environment variable + +### Issue: Generation Timeouts + +- **Cause**: Long generation times or network issues +- **Solution**: Implement proper timeout handling and retry logic + +### Issue: File Storage Errors + +- **Cause**: Insufficient permissions or disk space +- **Solution**: Verify file system permissions and available storage + +## Security Best Practices + +- Store API keys securely using environment variables +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Validate input prompts +- Secure file storage handling + +## Constants + +The plugin uses predefined constants for API configuration: + +```typescript +export const LUMA_CONSTANTS = { + API_URL: "https://api.lumalabs.ai/dream-machine/v1/generations", + API_KEY_SETTING: "LUMA_API_KEY", +}; +``` + +## Example Usage + +```typescript +// Basic video generation +const videoPrompt = "Create a video of a futuristic city at night"; +const result = await generateVideo(videoPrompt, runtime); + +// With callback handling +videoGeneration.handler( + runtime, + { + content: { text: videoPrompt }, + }, + state, + {}, + (response) => { + console.log("Generation status:", response); + } +); +``` + +## Future Enhancements + +1. **Generation Features** + + - Advanced style control + - Multi-scene composition + - Custom duration settings + - Resolution options + - Frame rate control + - Audio integration + +2. **Video Editing** + + - Scene transitions + - Text overlay tools + - Effect templates + - Color correction + - Motion tracking + - Timeline editing + +3. **Asset Management** + + - Asset library + - Template system + - Style presets + - Resource optimization + - Version control + - Batch processing + +4. **Quality Improvements** + + - Enhanced resolution + - Frame interpolation + - Artifact reduction + - Stability features + - Lighting optimization + - Detail enhancement + +5. **Performance Optimization** + + - Generation speed + - Resource usage + - Parallel processing + - Caching system + - Queue management + - Load balancing + +6. **Export Options** + + - Multiple formats + - Compression settings + - Streaming support + - Progressive loading + - Thumbnail generation + - Metadata handling + +7. **Developer Tools** + + - API expansion + - Testing framework + - Documentation generator + - Debug visualization + - Performance monitoring + - Integration templates + +8. **AI Features** + - Style transfer + - Scene understanding + - Content awareness + - Motion synthesis + - Character animation + - Environment generation + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Luma AI](https://lumalabs.ai/): Advanced AI-powered video generation platform +- [Luma Dream Machine](https://lumalabs.ai/dream-machine): Text-to-video generation API +- [Node.js Fetch API](https://nodejs.org/api/fetch.html): HTTP request handling + +Special thanks to: + +- The Luma Labs team for providing the video generation API +- The Luma AI research team for their groundbreaking work in AI video generation +- The Eliza community for their contributions and feedback + +For more information about video generation capabilities and tools: + +- [Luma AI Documentation](https://docs.lumalabs.ai/) +- [Dream Machine API Reference](https://lumalabs.ai/docs/dream-machine) +- [Video Generation Best Practices](https://lumalabs.ai/docs/best-practices) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/video.md b/docs/packages/plugins/video.md new file mode 100644 index 00000000000..2564496de7f --- /dev/null +++ b/docs/packages/plugins/video.md @@ -0,0 +1,31 @@ +# @elizaos/plugin-video Video Service + +The VideoService provides comprehensive video processing capabilities with a focus on efficient handling and transcription: + +**Key Features:** +- **Video Download**: Supports both YouTube videos and direct MP4 URLs +- **Format Handling**: + - Automatic format detection and conversion + - MP4 to MP3 conversion for audio processing + - Support for various video platforms (YouTube, Vimeo) +- **Transcription Pipeline**: + 1. Attempts to extract manual subtitles (SRT format) + 2. Falls back to automatic captions if available + 3. Uses audio transcription as final fallback +- **Performance Optimizations**: + - Queue-based processing for multiple videos + - Built-in caching system for processed results + - Efficient temporary file management +- **Error Handling**: + - Graceful fallbacks for different transcription methods + - Comprehensive error reporting + - Automatic cleanup of temporary files + +**Usage Example:** +```typescript +const videoService = runtime.getService(ServiceType.VIDEO); + +// Process a video URL +const result = await videoService.processVideo(videoUrl, runtime); +// Returns: Media object with id, url, title, source, description, and transcript +``` diff --git a/docs/packages/plugins/web-search.md b/docs/packages/plugins/web-search.md new file mode 100644 index 00000000000..7445498813f --- /dev/null +++ b/docs/packages/plugins/web-search.md @@ -0,0 +1,247 @@ +# @elizaos/plugin-web-search + +A plugin for powerful web search capabilities, providing efficient search query handling and result processing through a customizable API interface. + +## Overview + +This plugin provides functionality to: + +- Execute web search queries with customizable parameters +- Process and format search results +- Handle search API authentication +- Manage token limits and response sizes +- Optimize query performance + +## Installation + +```bash +pnpm install @elizaos/plugin-web-search +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TAVILY_API_KEY=your_api_key # Required: API key for search service +``` + +## Usage + +Import and register the plugin in your Eliza configuration. + +```typescript +import { webSearchPlugin } from "@elizaos/plugin-web-search"; + +export default { + plugins: [webSearchPlugin], + // ... other configuration +}; +``` + +**Custom Usage** +If you want custom usage, for example, twitter-client to search the web before posting a tweet, you can also import the webSearchService and use it directly. Here's how you can do it: + +```typescript +// packages/client-twitter/src/post.ts +const webSearchService = new WebSearchService(); +await webSearchService.initialize(runtime); +const latestNews = await webSearchService.search( + "latest news on AI Agents", + // searchOptions +); + +const state = await this.runtime.composeState( + { } // memory, + { // additional keys + latestNews: latestNews, + } +); + +// Then modify the tweet template to include the {{latestNews}} and however you need +``` + +## Features + +### Web Search + +The plugin provides comprehensive web search capabilities: + +```typescript +import { webSearch } from "@elizaos/plugin-web-search"; + +// Execute a search query +const result = await webSearch.handler( + runtime, + { + content: { text: "What is the latest news about AI?" }, + }, + state, + {}, + callback +); +``` + +### Token Management + +```typescript +// The plugin automatically handles token limits +const DEFAULT_MAX_WEB_SEARCH_TOKENS = 4000; + +// Example of token-limited response +const response = MaxTokens(searchResult, DEFAULT_MAX_WEB_SEARCH_TOKENS); +``` + +## Development + +### Building + +```bash +pnpm run build +``` + +### Testing + +```bash +pnpm run test +``` + +### Development Mode + +```bash +pnpm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `js-tiktoken`: Token counting and management +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Action { + name: "WEB_SEARCH"; + similes: string[]; + description: string; + validate: (runtime: IAgentRuntime, message: Memory) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => Promise; + examples: Array>; +} + +interface SearchResult { + title: string; + url: string; + answer?: string; + results?: Array<{ + title: string; + url: string; + }>; +} +``` + +### Plugin Methods + +- `webSearch.handler`: Main method for executing searches +- `generateWebSearch`: Core search generation function +- `MaxTokens`: Token limit management function +- `getTotalTokensFromString`: Token counting utility + +## Common Issues/Troubleshooting + +### Issue: API Authentication Failures + +- **Cause**: Invalid or missing Tavily API key +- **Solution**: Verify TAVILY_API_KEY environment variable + +### Issue: Token Limit Exceeded + +- **Cause**: Search results exceeding maximum token limit +- **Solution**: Results are automatically truncated to fit within limits + +### Issue: Search Rate Limiting + +- **Cause**: Too many requests in short time +- **Solution**: Implement proper request throttling + +## Security Best Practices + +- Store API keys securely using environment variables +- Validate all search inputs +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Use HTTPS for API communication + +## Example Usage + +```typescript +// Basic search +const searchQuery = "Latest developments in quantum computing"; +const results = await generateWebSearch(searchQuery, runtime); + +// With formatted response +if (results && results.results.length) { + const formattedResponse = `${results.answer}\n\nFor more details, check out:\n${results.results + .map( + (result, index) => `${index + 1}. [${result.title}](${result.url})` + ) + .join("\n")}`; +} +``` + +## Configuration Options + +### Token Management + +```typescript +const DEFAULT_MODEL_ENCODING = "gpt-3.5-turbo"; +const DEFAULT_MAX_WEB_SEARCH_TOKENS = 4000; +``` + +### Search Actions + +The plugin includes multiple search action similes: + +- SEARCH_WEB +- INTERNET_SEARCH +- LOOKUP +- QUERY_WEB +- FIND_ONLINE +- And more... + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Tavily API](https://tavily.com/): Advanced search and content analysis API +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for API responses +- [Zod](https://github.com/colinhacks/zod): TypeScript-first schema validation + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about the search capabilities and tools: + +- [Tavily API Documentation](https://docs.tavily.com/) +- [Token Management Guide](https://github.com/dqbd/tiktoken#readme) +- [Search API Best Practices](https://docs.tavily.com/docs/guides/best-practices) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/whatsapp.md b/docs/packages/plugins/whatsapp.md new file mode 100644 index 00000000000..a0401e5615c --- /dev/null +++ b/docs/packages/plugins/whatsapp.md @@ -0,0 +1,226 @@ +# @elizaos/plugin-whatsapp + +A plugin for integrating WhatsApp Cloud API with your application, providing comprehensive messaging capabilities and webhook handling. + +## Overview + +This plugin provides functionality to: + +- Send text and template messages via WhatsApp +- Handle incoming webhook events +- Manage message status updates +- Process message delivery notifications +- Handle authentication and session management + +## Installation + +```bash +npm install @elizaos/plugin-whatsapp +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +WHATSAPP_ACCESS_TOKEN=your_access_token # Required: WhatsApp Cloud API access token +WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id # Required: WhatsApp business phone number ID +WHATSAPP_WEBHOOK_TOKEN=your_webhook_token # Optional: Webhook verification token +WHATSAPP_BUSINESS_ID=your_business_id # Optional: Business account ID +``` + +## Usage + +### Basic Setup + +```typescript +import { WhatsAppPlugin } from "@elizaos/plugin-whatsapp"; + +const whatsappPlugin = new WhatsAppPlugin({ + accessToken: "your_access_token", + phoneNumberId: "your_phone_number_id", + webhookVerifyToken: "your_webhook_verify_token", + businessAccountId: "your_business_account_id", +}); +``` + +### Sending Messages + +```typescript +// Send a text message +await whatsappPlugin.sendMessage({ + type: "text", + to: "1234567890", + content: "Hello from WhatsApp!", +}); + +// Send a template message +await whatsappPlugin.sendMessage({ + type: "template", + to: "1234567890", + content: { + name: "hello_world", + language: { + code: "en", + }, + }, +}); +``` + +### Handling Webhooks + +```typescript +// Verify webhook +app.get("/webhook", (req, res) => { + const verified = await whatsappPlugin.verifyWebhook( + req.query["hub.verify_token"] + ); + if (verified) { + res.send(req.query["hub.challenge"]); + } else { + res.sendStatus(403); + } +}); + +// Handle webhook events +app.post("/webhook", (req, res) => { + await whatsappPlugin.handleWebhook(req.body); + res.sendStatus(200); +}); +``` + +## Features + +- Send text messages +- Send template messages +- Webhook verification +- Webhook event handling +- Message status updates + +## Error Handling + +The plugin throws errors in the following cases: + +```typescript +try { + await whatsappPlugin.sendMessage({ + type: "text", + to: "1234567890", + content: "Hello!", + }); +} catch (error) { + console.error("Failed to send message:", error.message); +} +``` + +Common error cases: + +- Invalid configuration +- Failed message sending +- Webhook verification failure +- Invalid webhook payload + +## Best Practices + +1. Always validate phone numbers before sending messages +2. Use template messages for first-time messages to users +3. Store message IDs for tracking delivery status +4. Implement proper error handling +5. Set up webhook retry mechanisms +6. Keep your access tokens secure + +## API Reference + +### Core Interfaces + +```typescript +interface WhatsAppConfig { + accessToken: string; + phoneNumberId: string; + webhookVerifyToken?: string; + businessAccountId?: string; +} + +interface WhatsAppMessage { + type: "text" | "template"; + to: string; + content: string | WhatsAppTemplate; +} + +interface WhatsAppTemplate { + name: string; + language: { + code: string; + }; + components?: Array<{ + type: string; + parameters: Array<{ + type: string; + text?: string; + }>; + }>; +} +``` + +### Plugin Methods + +- `sendMessage`: Send WhatsApp messages +- `handleWebhook`: Process incoming webhook events +- `verifyWebhook`: Verify webhook authenticity +- Message and status handlers + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Linting + +```bash +npm run lint +``` + +## Security Best Practices + +- Store credentials securely using environment variables +- Validate all phone numbers before sending messages +- Use template messages for first-time contacts +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Use HTTPS for all API communication + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [WhatsApp Cloud API](https://developers.facebook.com/docs/whatsapp/cloud-api): Meta's official WhatsApp Business Platform +- [Axios](https://axios-http.com/): Promise-based HTTP client for API requests +- [Meta for Developers](https://developers.facebook.com/): Meta's developer platform and tools + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about WhatsApp Cloud API and its capabilities, visit: + +- [WhatsApp Business Platform Documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/overview) +- [Meta for Developers Blog](https://developers.facebook.com/blog/) +- [WhatsApp Business API GitHub](https://github.com/WhatsApp/WhatsApp-Business-API-Setup-Scripts) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/youtube-to-text.md b/docs/packages/plugins/youtube-to-text.md new file mode 100644 index 00000000000..8cd8e4d25b6 --- /dev/null +++ b/docs/packages/plugins/youtube-to-text.md @@ -0,0 +1,38 @@ +# `@elizaos/plugin-youtube-to-text` + +## Description + +The Youtube to text Plugin allows users to retrieve a text output of a Youtube video. + +## Features + +- Converts YouTube video links into text format using OpenAI’s Whisper model +- Leverages Whisper’s advanced AI for precise and reliable transcription +- Extracts and saves the video's audio as a WAV and MP3 file under the agent/data folder + +## Installation + +```bash +pnpm install @elizaos/plugin-youtube-to-text +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/zapper.md b/docs/packages/plugins/zapper.md new file mode 100644 index 00000000000..0ffda7f058c --- /dev/null +++ b/docs/packages/plugins/zapper.md @@ -0,0 +1,190 @@ +# @elizaos/plugin-zapper + +A plugin for Eliza that allows users to fetch portfolio data using the Zapper API. + +## Features + +- Get portfolio data from wallet addresses on [networks supported by the Zapper API](https://protocol.zapper.xyz/docs/api/supported-chains). +- Get portfolio data from addresses attached to Farcaster profiles. + +## Installation + +```bash +npm install @elizaos/plugin-zapper +``` + +## Configuration + +1. Get your API key from [Zapper](https://protocol.zapper.xyz/) + +2. Set up your environment variables: + +```bash +ZAPPER_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { zapperPlugin } from "@elizaos/plugin-zapper"; + +// In your Eliza configuration +plugins: [ + zapperPlugin, + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about wallet data. Here are some examples: + +```plaintext +"Show me the holdings of @vitalik.eth" +"Show me the portfolio of these wallets 0xd8d...045, 0xadd...077" +"Get wallet holdings for HN7cA...WrH" +``` + +### Available Actions + +#### portfolio + +Fetch the current portfolio of provided addresses. + +```typescript +// Example response format +portfolio: { + tokenBalances: Array<{ + address: string; + network: string; + token: { + balance: number; + balanceUSD: number; + baseToken: { + name: string; + symbol: string; + }; + }; + }>; + nftBalances: Array<{ + network: string; + balanceUSD: number; + }>; + totals: { + total: number; + totalWithNFT: number; + totalByNetwork: Array<{ + network: string; + total: number; + }>; + holdings: Array<{ + label: string; + balanceUSD: number; + pct: number; + }>; + }; +}; +``` + +#### farcasterPortfoio + +Fetch the portfolio of addresses attached to Farcaster profiles. + +```typescript +// Example response format +farcasterProfile: { +username: string; +fid: number; +metadata: { + displayName: string; + description: string; + imageUrl: string; + warpcast: string; +}; +connectedAddresses: string[]; +custodyAddress: string; +}; +``` + +## Development Guide +### Setting up the development environment +1. Clone the repository. +2. Install dependencies: +```bash +pnpm install +``` +3. Build the plugin: +```bash +pnpm build +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| -------------------- | ------------------------ | -------- | +| ZAPPER_API_KEY | Your Zapper API key | Yes | + +### Types + +```typescript +export type ZapperPortfolioResponse = { + data: { + portfolio: { + tokenBalances: Array<{ + address: string; + network: string; + token: { + balance: number; + balanceUSD: number; + baseToken: { + name: string; + symbol: string; + }; + }; + }>; + nftBalances: Array<{ + network: string; + balanceUSD: number; + }>; + totals: { + total: number; + totalWithNFT: number; + totalByNetwork: Array<{ + network: string; + total: number; + }>; + holdings: Array<{ + label: string; + balanceUSD: number; + pct: number; + }>; + }; + }; + }; +}; + +export type ZapperFarcasterResponse = { + data: { + accounts: Array<{ + farcasterProfile: { + username: string; + fid: number; + metadata: { + displayName: string; + description: string; + imageUrl: string; + warpcast: string; + }; + connectedAddresses: string[]; + custodyAddress: string; + }; + }>; + }; +}; +``` + +## Links + +- [Zapper API Documentation](https://protocol.zapper.xyz/docs/api/) diff --git a/docs/packages/plugins/zerion.md b/docs/packages/plugins/zerion.md new file mode 100644 index 00000000000..4d82790f7e3 --- /dev/null +++ b/docs/packages/plugins/zerion.md @@ -0,0 +1,119 @@ +# @elizaos/plugin-zerion + +A plugin for Eliza that enables fetching wallet portfolio and position data using the Zerion API. + +## Features + +- Real-time wallet portfolio data +- Detailed token positions and balances +- Chain distribution analysis +- Portfolio value changes tracking +- Support for all EVM-compatible chains +- Natural language processing for wallet queries + +## Installation + +```bash +npm install @elizaos/plugin-zerion +``` + +## Configuration + +1. Get your API key from [Zerion](https://developers.zerion.io) + +2. Set up your environment variables: + +```bash +ZERION_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { zerionPlugin } from "@elizaos/plugin-zerion"; + +// In your Eliza configuration +plugins: [ + zerionPlugin, + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about wallet data. Here are some examples: + +```plaintext +"Show me the portfolio for 0x123...abc" +"What are the token positions in 0x456...def?" +"Get wallet holdings for 0x789...ghi" +``` + +### Available Actions + +#### getWallet_portfolio + +Fetches comprehensive portfolio data for a wallet address, including: +- Total portfolio value +- Chain distribution +- Position type distribution +- 24h value changes + +```typescript +// Example response format +{ + totalValue: number; + chainDistribution: Record; + positionTypes: Record; + changes: { + absolute_1d: number; + percent_1d: number; + }; +} +``` + +#### getWallet_positions + +Fetches detailed information about all token positions in a wallet: +- Token name and symbol +- Quantity and current value +- Price and 24h change +- Chain information +- Verification status + +```typescript +// Example response format +{ + positions: Array<{ + name: string; + symbol: string; + quantity: number; + value: number; + price: number; + chain: string; + change24h: number | null; + verified: boolean; + }>; + totalValue: number; +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| ------------- | -------------------- | -------- | +| ZERION_API_KEY | Your Zerion API key | Yes | + +## Error Handling + +## Support + +For support, please open an issue in the repository or reach out to the maintainers. +telegram: @singhal_pranav + +## Links + +- [Zerion API Documentation](https://developers.zerion.io/reference/intro) +- [GitHub Repository](https://github.com/elizaos/eliza/tree/main/packages/plugin-zerion) \ No newline at end of file diff --git a/docs/packages/plugins/zilliqa.md b/docs/packages/plugins/zilliqa.md new file mode 100644 index 00000000000..cadde319a1c --- /dev/null +++ b/docs/packages/plugins/zilliqa.md @@ -0,0 +1,50 @@ +# @elizaos/plugin-zilliqa + +A plugin for integrating Zilliqa blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework within the ElizaOS ecosystem. + +## Description + +[GOAT](https://ohmygoat.dev/) 🐐 (Great Onchain Agent Toolkit) is an open-source framework for adding blockchain tools such as wallets, being able to hold or trade tokens, or interacting with blockchain smart contracts, to your AI agent. + +- [Chains supported](https://ohmygoat.dev/chains-wallets-plugins) +- [Plugins supported](https://ohmygoat.dev/chains-wallets-plugins) + +This plugin integrates the GOAT Zilliqa plugin and wallet with Eliza. + +## Installation + +```bash +pnpm install @elizaos/plugin-zilliqa +``` + +## Configuration + +### Environment Variables + +```typescript +EVM_PRIVATE_KEY= +EVM_PROVIDER_URL= +ENABLE_ZILLIQA=1 +``` + +## Common Issues & Troubleshooting + +1. **Agent not executing an action**: + + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +2. **Wallet Connection Issues** + + - Verify private key is correctly formatted + - Check RPC endpoint availability + - Ensure sufficient network balance + +3. **Transaction Issues** + - Verify gas availability + - Check network congestion + - Confirm transaction parameters + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/zksync-era.md b/docs/packages/plugins/zksync-era.md new file mode 100644 index 00000000000..d79d10f6c5d --- /dev/null +++ b/docs/packages/plugins/zksync-era.md @@ -0,0 +1,234 @@ +# @elizaos/plugin-zksync-era + +A plugin for integrating ZKSync Era blockchain operations with your application, providing token transfer capabilities and transaction management. + +## Overview + +This plugin provides functionality to: + +- Execute token transfers on ZKSync Era +- Handle smart account operations +- Manage transaction signing and submission +- Support multiple token standards +- Process transaction receipts and confirmations + +## Installation + +```bash +npm install @elizaos/plugin-zksync-era +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +ZKSYNC_ADDRESS=your_address # Required: Your ZKSync wallet address +ZKSYNC_PRIVATE_KEY=your_private_key # Required: Your wallet's private key +``` + +## Usage + +### Basic Setup + +```typescript +import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era"; + +const plugin = zksyncEraPlugin; +``` + +### Token Transfers + +```typescript +// Transfer tokens +await transfer.handler( + runtime, + { + content: { + tokenAddress: "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4", // USDC + recipient: "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + amount: "100", + }, + }, + state +); +``` + +## Features + +### Supported Tokens + +The plugin includes pre-configured addresses for common tokens: + +```typescript +const TOKENS = { + ZK: "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E", + ETH: "0x000000000000000000000000000000000000800A", + USDC: "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4", +}; +``` + +### Smart Account Integration + +```typescript +const web3 = new Web3(); +web3.registerPlugin( + new ZKsyncPlugin( + Web3ZKsyncL2.initWithDefaultProvider(types.Network.Mainnet) + ) +); + +const smartAccount = new web3.ZKsync.SmartAccount({ + address: PUBLIC_KEY, + secret: PRIVATE_KEY, +}); +``` + +## Error Handling + +The plugin includes comprehensive error handling: + +```typescript +try { + const transferTx = await smartAccount.transfer({ + to: recipient, + token: tokenAddress, + amount: amount, + }); + const receipt = await transferTx.wait(); +} catch (error) { + console.error("Transfer failed:", error.message); +} +``` + +Common error cases: + +- Invalid configuration +- Insufficient balance +- Network issues +- Invalid addresses +- Failed transactions + +## Best Practices + +1. Always validate addresses before transactions +2. Keep private keys secure +3. Monitor transaction status +4. Implement proper error handling +5. Use appropriate gas settings +6. Keep track of transaction receipts + +## API Reference + +### Core Interfaces + +```typescript +interface TransferContent { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +interface ZKsyncConfig { + ZKSYNC_ADDRESS: string; + ZKSYNC_PRIVATE_KEY: string; +} +``` + +### Plugin Methods + +- `transfer`: Execute token transfers +- `validateZKsyncConfig`: Validate configuration +- Transaction status monitoring +- Receipt handling + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Security Best Practices + +- Store private keys securely using environment variables +- Validate all addresses before transactions +- Implement proper error handling +- Keep dependencies updated +- Monitor transaction status +- Use secure RPC endpoints +- Implement proper gas management + +## Example Usage + +```typescript +// Initialize plugin +const zksync = zksyncEraPlugin; + +// Execute transfer +try { + await transfer.handler( + runtime, + { + content: { + tokenAddress: TOKENS.USDC, + recipient: "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + amount: "100", + }, + }, + state + ); +} catch (error) { + console.error("Transfer failed:", error.message); +} +``` + +## Validation + +The plugin includes validation for: + +- Wallet addresses +- Token addresses +- Transaction amounts +- Configuration parameters +- Network status + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `web3`: Web3 library for blockchain interaction +- `web3-plugin-zksync`: ZKSync Era integration +- Other standard dependencies listed in package.json + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [ZKSync Era](https://zksync.io/): Layer 2 scaling solution for Ethereum +- [Web3.js](https://web3js.org/): Ethereum JavaScript API +- [web3-plugin-zksync](https://www.npmjs.com/package/web3-plugin-zksync): Official ZKSync plugin for Web3.js + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about ZKSync Era and its capabilities, visit: + +- [ZKSync Documentation](https://docs.zksync.io/) +- [Matter Labs Blog](https://blog.matter-labs.io/) +- [ZKSync GitHub](https://github.com/matter-labs/zksync-era) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/src/components/ShowcaseComponent.tsx b/docs/src/components/ShowcaseComponent.tsx new file mode 100644 index 00000000000..be1a7d5a03d --- /dev/null +++ b/docs/src/components/ShowcaseComponent.tsx @@ -0,0 +1,102 @@ +import React, { useState, useMemo } from 'react'; +import { type User, sortedUsers } from '@site/src/data/users'; +import ShowcaseSearchBar from '../pages/showcase/_components/ShowcaseSearchBar'; +import ShowcaseCards from '../pages/showcase/_components/ShowcaseCards'; +import ShowcaseFilters from '../pages/showcase/_components/ShowcaseFilters'; +import Link from '@docusaurus/Link'; +import styles from '../pages/showcase/_components/ShowcaseLayout/styles.module.css'; + +const TITLE = 'elizaOS Packages'; +const DESCRIPTION = 'Discover the awesome plugins in the eliza ecosystem.'; +const GITHUB_LINK = 'https://github.com/elizaos-plugins/registry'; + +function ShowcaseHeader() { + return ( +
      +

      {TITLE}

      +

      {DESCRIPTION}

      +
      + + Submit your plugin + +
      +
      + ); +} + +function filterUsers(users: User[], search: string, selectedTags: string[], operator: 'OR' | 'AND') { + // First deduplicate the input array + const uniqueUsers = users.filter((user, index, self) => + index === self.findIndex((u) => u.title === user.title) + ); + + return uniqueUsers.filter(user => { + // Search filter + if (search) { + const searchValue = search.toLowerCase().trim(); + if (!user.title.toLowerCase().includes(searchValue) && + !user.description.toLowerCase().includes(searchValue)) { + return false; + } + } + + // Tags filter + if (selectedTags.length === 0) { + return true; + } + + if (operator === 'AND') { + return selectedTags.every(tag => user.tags.includes(tag)); + } + return selectedTags.some(tag => user.tags.includes(tag)); + }); +} + +export default function ShowcaseComponent(): JSX.Element { + const [selectedTags, setSelectedTags] = useState([]); + const [operator, setOperator] = useState<'OR' | 'AND'>('OR'); + const [searchValue, setSearchValue] = useState(''); + + const toggleTag = (tag: string) => { + setSelectedTags(tags => + tags.includes(tag) + ? tags.filter(t => t !== tag) + : [...tags, tag] + ); + }; + + const toggleOperator = () => { + setOperator(op => op === 'OR' ? 'AND' : 'OR'); + }; + + const filteredUsers = useMemo(() => { + return filterUsers(sortedUsers, searchValue, selectedTags, operator); + }, [searchValue, selectedTags, operator]); + + return ( +
      + + +
      +
      +
      + + +
      +
      + + +
      +
      + ); +} diff --git a/docs/src/data/plugin-descriptions.json b/docs/src/data/plugin-descriptions.json index 7d3277f5b87..e7cd343fc39 100644 --- a/docs/src/data/plugin-descriptions.json +++ b/docs/src/data/plugin-descriptions.json @@ -27,7 +27,7 @@ "custom_preview": "/eliza/logos/supabase.jpg", "description": "Database adapter for Supabase with PostgreSQL and realtime capabilities." }, - "@elizaos-plugins/cache-redis": { + "@elizaos-plugins/plugin-cache-redis": { "custom_preview": "/eliza/logos/redis.jpg", "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer." }, diff --git a/docs/src/data/registry-users.tsx b/docs/src/data/registry-users.tsx index 78a04e168f9..9a950247ede 100644 --- a/docs/src/data/registry-users.tsx +++ b/docs/src/data/registry-users.tsx @@ -1120,7 +1120,7 @@ export const registryUsers: User[] = [ ] }, { - "title": "@elizaos Plugins/cache Redis", + "title": "cache Redis", "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer.", "preview": "/eliza/logos/redis.jpg", "website": "https://github.com/elizaos-plugins/cache-redis", diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css index b1fb774d7e8..31f98a7ca2c 100644 --- a/docs/src/pages/index.module.css +++ b/docs/src/pages/index.module.css @@ -10,7 +10,7 @@ overflow: hidden; } -@media screen and (max-width: 996px) { +@media screen and (max-width: 1024px) { .heroBanner { padding: 2rem; } diff --git a/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx b/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx index f1efae42812..82779482e13 100644 --- a/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx +++ b/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx @@ -12,7 +12,7 @@ function TagIcon({label, color}: {label: string; color: string}) { width: 7, height: 7, borderRadius: '50%', - marginLeft: 6, + marginLeft: 2, marginRight: 6, }} /> @@ -54,6 +54,26 @@ function ShowcaseCardTag({tags}: {tags: TagType[]}) { } export default function ShowcaseCard({user}: {user: User}) { + // Function to convert title to documentation link + const getDocLink = (user: User) => { + const baseUrl = '/eliza/packages/'; // Make sure to include your baseUrl prefix + let category = ''; + + if (user.tags.includes('adapter')) { + category = 'adapters/'; + } else if (user.tags.includes('client')) { + category = 'clients/'; + } else if (user.tags.includes('plugin')) { + category = 'plugins/'; + } + + // Extract package name from title + // Convert to lowercase and remove spaces/special chars + const slug = user.title.toLowerCase().replace(/[^a-z0-9]+/g, '-'); + + return `${baseUrl}${category}${slug}`; + }; + return (