Skip to content

Commit

Permalink
better runtime logging + refactor + new env norms
Browse files Browse the repository at this point in the history
  • Loading branch information
wtfsayo committed Feb 6, 2025
1 parent 2b230c2 commit 7db2a10
Show file tree
Hide file tree
Showing 5 changed files with 264 additions and 218 deletions.
97 changes: 47 additions & 50 deletions agent/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,25 @@
import { MongoDBDatabaseAdapter } from "@elizaos/adapter-mongodb";
import { PGLiteDatabaseAdapter } from "@elizaos/adapter-pglite";
import { PostgresDatabaseAdapter } from "@elizaos/adapter-postgres";
import { QdrantDatabaseAdapter } from "@elizaos/adapter-qdrant";
import { RedisClient } from "@elizaos/adapter-redis";
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
import { SupabaseDatabaseAdapter } from "@elizaos/adapter-supabase";
import { AlexaClientInterface } from "@elizaos/client-alexa";
import { AutoClientInterface } from "@elizaos/client-auto";
import { DevaClientInterface } from "@elizaos/client-deva";
import { DiscordClientInterface } from "@elizaos/client-discord";
import { InstagramClientInterface } from "@elizaos/client-instagram";
import { LensAgentClient } from "@elizaos/client-lens";
import { SlackClientInterface } from "@elizaos/client-slack";
import { TelegramClientInterface } from "@elizaos/client-telegram";
import { TelegramAccountClientInterface } from "@elizaos/client-telegram-account";
import { TwitterClientInterface } from "@elizaos/client-twitter";
import { AlexaClientInterface } from "@elizaos/client-alexa";
import { MongoDBDatabaseAdapter } from "@elizaos/adapter-mongodb";
import { DevaClientInterface } from "@elizaos/client-deva";

import { DirectClient } from "@elizaos/client-direct";
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
import { OmniflixPlugin } from "@elizaos/plugin-omniflix";
import { JeeterClientInterface } from "@elizaos/client-simsai";
import { XmtpClientInterface } from "@elizaos/client-xmtp";
import { DirectClient } from "@elizaos/client-direct";
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
import { gelatoPlugin } from "@elizaos/plugin-gelato";
import { PrimusAdapter } from "@elizaos/plugin-primus";
import { lightningPlugin } from "@elizaos/plugin-lightning";
import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
import { dcapPlugin } from "@elizaos/plugin-dcap";
import {
AgentRuntime,
CacheManager,
Expand All @@ -49,17 +42,24 @@ import {
validateCharacterConfig,
} from "@elizaos/core";
import { zgPlugin } from "@elizaos/plugin-0g";
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
import { dcapPlugin } from "@elizaos/plugin-dcap";
import { footballPlugin } from "@elizaos/plugin-football";
import { gelatoPlugin } from "@elizaos/plugin-gelato";
import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
import { lightningPlugin } from "@elizaos/plugin-lightning";
import { OmniflixPlugin } from "@elizaos/plugin-omniflix";

import { bootstrapPlugin } from "@elizaos/plugin-bootstrap";
import { normalizeCharacter } from "@elizaos/plugin-di";
import createZilliqaPlugin from "@elizaos/plugin-zilliqa";

// import { intifacePlugin } from "@elizaos/plugin-intiface";
import { zxPlugin } from "@elizaos/plugin-0x";
import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation";
import { abstractPlugin } from "@elizaos/plugin-abstract";
import { akashPlugin } from "@elizaos/plugin-akash";
import { alloraPlugin } from "@elizaos/plugin-allora";
import { ankrPlugin } from "@elizaos/plugin-ankr";
import { aptosPlugin } from "@elizaos/plugin-aptos";
import { artheraPlugin } from "@elizaos/plugin-arthera";
import { autonomePlugin } from "@elizaos/plugin-autonome";
Expand All @@ -70,6 +70,7 @@ import { binancePlugin } from "@elizaos/plugin-binance";
import { birdeyePlugin } from "@elizaos/plugin-birdeye";
import { bittensorPlugin } from "@elizaos/plugin-bittensor";
import { bnbPlugin } from "@elizaos/plugin-bnb";
import { chainbasePlugin } from "@elizaos/plugin-chainbase";
import {
advancedTradePlugin,
coinbaseCommercePlugin,
Expand All @@ -84,83 +85,79 @@ import { confluxPlugin } from "@elizaos/plugin-conflux";
import { createCosmosPlugin } from "@elizaos/plugin-cosmos";
import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm";
import { deskExchangePlugin } from "@elizaos/plugin-desk-exchange";
import { evmPlugin } from "@elizaos/plugin-evm";
import { devinPlugin } from "@elizaos/plugin-devin";
import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
import { dkgPlugin } from "@elizaos/plugin-dkg";
import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
import { edwinPlugin } from "@elizaos/plugin-edwin";
import { emailPlugin } from "@elizaos/plugin-email";
import { emailAutomationPlugin } from "@elizaos/plugin-email-automation";
import { ethstoragePlugin } from "@elizaos/plugin-ethstorage";
import { evmPlugin } from "@elizaos/plugin-evm";
import { flowPlugin } from "@elizaos/plugin-flow";
import { formPlugin } from "@elizaos/plugin-form";
import { fuelPlugin } from "@elizaos/plugin-fuel";
import { genLayerPlugin } from "@elizaos/plugin-genlayer";
import { giphyPlugin } from "@elizaos/plugin-giphy";
import { gitcoinPassportPlugin } from "@elizaos/plugin-gitcoin-passport";
import { initiaPlugin } from "@elizaos/plugin-initia";
import { goatPlugin } from "@elizaos/plugin-goat";
import { holdstationPlugin } from "@elizaos/plugin-holdstation";
import { hyperbolicPlugin } from "@elizaos/plugin-hyperbolic";
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
import { imageGenerationPlugin } from "@elizaos/plugin-image-generation";
import { imgflipPlugin } from "@elizaos/plugin-imgflip";
import { initiaPlugin } from "@elizaos/plugin-initia";
import { injectivePlugin } from "@elizaos/plugin-injective";
import { lensPlugin } from "@elizaos/plugin-lens-network";
import { letzAIPlugin } from "@elizaos/plugin-letzai";
import { litPlugin } from "@elizaos/plugin-lit";
import { minaPlugin } from "@elizaos/plugin-mina";
import { mindNetworkPlugin } from "@elizaos/plugin-mind-network";
import { moralisPlugin } from "@elizaos/plugin-moralis";
import { multiversxPlugin } from "@elizaos/plugin-multiversx";
import { nearPlugin } from "@elizaos/plugin-near";
import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
import { nftGenerationPlugin } from "@elizaos/plugin-nft-generation";
import { createNodePlugin } from "@elizaos/plugin-node";
import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
import { obsidianPlugin } from "@elizaos/plugin-obsidian";
import { OpacityAdapter } from "@elizaos/plugin-opacity";
import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
import { openaiPlugin } from "@elizaos/plugin-openai";
import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
import { quaiPlugin } from "@elizaos/plugin-quai";
import { quickIntelPlugin } from "@elizaos/plugin-quick-intel";
import nitroPlugin from "@elizaos/plugin-router-nitro";
import { seiPlugin } from "@elizaos/plugin-sei";
import { sgxPlugin } from "@elizaos/plugin-sgx";
import { solanaPlugin } from "@elizaos/plugin-solana";
import { solanaPluginV2 } from "@elizaos/plugin-solana-v2";
import { solanaAgentkitPlugin } from "@elizaos/plugin-solana-agent-kit";
import { solanaPluginV2 } from "@elizaos/plugin-solana-v2";
import { squidRouterPlugin } from "@elizaos/plugin-squid-router";
import { stargazePlugin } from "@elizaos/plugin-stargaze";
import { storyPlugin } from "@elizaos/plugin-story";
import { suiPlugin } from "@elizaos/plugin-sui";
import { sunoPlugin } from "@elizaos/plugin-suno";
import { TEEMode, teePlugin } from "@elizaos/plugin-tee";
import { teeLogPlugin } from "@elizaos/plugin-tee-log";
import { teeMarlinPlugin } from "@elizaos/plugin-tee-marlin";
import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
import { tonPlugin } from "@elizaos/plugin-ton";
import { udioPlugin } from "@elizaos/plugin-udio";
import { webSearchPlugin } from "@elizaos/plugin-web-search";
import { dkgPlugin } from "@elizaos/plugin-dkg";
import { injectivePlugin } from "@elizaos/plugin-injective";
import { giphyPlugin } from "@elizaos/plugin-giphy";
import { letzAIPlugin } from "@elizaos/plugin-letzai";
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
import { moralisPlugin } from "@elizaos/plugin-moralis";
import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
import { openaiPlugin } from "@elizaos/plugin-openai";
import nitroPlugin from "@elizaos/plugin-router-nitro";
import { devinPlugin } from "@elizaos/plugin-devin";
import { zerionPlugin } from "@elizaos/plugin-zerion";
import { zilliqaPlugin } from "@elizaos/plugin-zilliqa";
import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
import { chainbasePlugin } from "@elizaos/plugin-chainbase";
import { holdstationPlugin } from "@elizaos/plugin-holdstation";
import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
import { zxPlugin } from "@elizaos/plugin-0x";
import { hyperbolicPlugin } from "@elizaos/plugin-hyperbolic";
import Database from "better-sqlite3";
import { MongoClient } from "mongodb";
import fs from "node:fs";
import net from "node:net";
import path from "node:path";
import { fileURLToPath } from "node:url";
import yargs from "yargs";
import { emailPlugin } from "@elizaos/plugin-email";
import { emailAutomationPlugin } from "@elizaos/plugin-email-automation";
import { seiPlugin } from "@elizaos/plugin-sei";
import { sunoPlugin } from "@elizaos/plugin-suno";
import { udioPlugin } from "@elizaos/plugin-udio";
import { imgflipPlugin } from "@elizaos/plugin-imgflip";
import { ethstoragePlugin } from "@elizaos/plugin-ethstorage";
import { zerionPlugin } from "@elizaos/plugin-zerion";
import { minaPlugin } from "@elizaos/plugin-mina";
import { ankrPlugin } from "@elizaos/plugin-ankr";
import { formPlugin } from "@elizaos/plugin-form";
import { MongoClient } from "mongodb";
import { quickIntelPlugin } from "@elizaos/plugin-quick-intel";
import { goatPlugin } from "@elizaos/plugin-goat";
import { zilliqaPlugin } from "@elizaos/plugin-zilliqa";

import { trikonPlugin } from "@elizaos/plugin-trikon";
import arbitragePlugin from "@elizaos/plugin-arbitrage";
import { trikonPlugin } from "@elizaos/plugin-trikon";
const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file
const __dirname = path.dirname(__filename); // get the name of the directory

Expand Down
30 changes: 16 additions & 14 deletions packages/core/src/environment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,22 @@ import elizaLogger from "./logger";

// TODO: TO COMPLETE
export const envSchema = z.object({
// API Keys with specific formats
OPENAI_API_KEY: z
.string()
.startsWith("sk-", "OpenAI API key must start with 'sk-'"),
REDPILL_API_KEY: z.string().min(1, "REDPILL API key is required"),
GROK_API_KEY: z.string().min(1, "GROK API key is required"),
GROQ_API_KEY: z
.string()
.startsWith("gsk_", "GROQ API key must start with 'gsk_'"),
OPENROUTER_API_KEY: z.string().min(1, "OpenRouter API key is required"),
GOOGLE_GENERATIVE_AI_API_KEY: z
.string()
.min(1, "Gemini API key is required"),
ELEVENLABS_XI_API_KEY: z.string().min(1, "ElevenLabs API key is required"),
// Generic Provider Configuration
PROVIDER_NAME: z.nativeEnum(ModelProviderName),
PROVIDER_API_KEY: z.string().min(1, "Provider API key is required"),
PROVIDER_ENDPOINT: z.string().url("Provider endpoint must be a valid URL").optional(),

// Optional Provider-Specific Keys (for additional services)
ELEVENLABS_XI_API_KEY: z.string().min(1, "ElevenLabs API key is required").optional(),

// Model Settings
DEFAULT_MODEL: z.string().optional(),
SMALL_MODEL: z.string().optional(),
MEDIUM_MODEL: z.string().optional(),
LARGE_MODEL: z.string().optional(),
EMBEDDING_MODEL: z.string().optional(),
IMAGE_MODEL: z.string().optional(),
IMAGE_VISION_MODEL: z.string().optional(),
});

// Type inference
Expand Down
Loading

0 comments on commit 7db2a10

Please sign in to comment.