Skip to content

Commit 7db2a10

Browse files
committed
better runtime logging + refactor + new env norms
1 parent 2b230c2 commit 7db2a10

File tree

5 files changed

+264
-218
lines changed

5 files changed

+264
-218
lines changed

agent/src/index.ts

+47-50
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,25 @@
1+
import { MongoDBDatabaseAdapter } from "@elizaos/adapter-mongodb";
12
import { PGLiteDatabaseAdapter } from "@elizaos/adapter-pglite";
23
import { PostgresDatabaseAdapter } from "@elizaos/adapter-postgres";
34
import { QdrantDatabaseAdapter } from "@elizaos/adapter-qdrant";
45
import { RedisClient } from "@elizaos/adapter-redis";
56
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
67
import { SupabaseDatabaseAdapter } from "@elizaos/adapter-supabase";
8+
import { AlexaClientInterface } from "@elizaos/client-alexa";
79
import { AutoClientInterface } from "@elizaos/client-auto";
10+
import { DevaClientInterface } from "@elizaos/client-deva";
811
import { DiscordClientInterface } from "@elizaos/client-discord";
912
import { InstagramClientInterface } from "@elizaos/client-instagram";
1013
import { LensAgentClient } from "@elizaos/client-lens";
1114
import { SlackClientInterface } from "@elizaos/client-slack";
1215
import { TelegramClientInterface } from "@elizaos/client-telegram";
1316
import { TelegramAccountClientInterface } from "@elizaos/client-telegram-account";
1417
import { TwitterClientInterface } from "@elizaos/client-twitter";
15-
import { AlexaClientInterface } from "@elizaos/client-alexa";
16-
import { MongoDBDatabaseAdapter } from "@elizaos/adapter-mongodb";
17-
import { DevaClientInterface } from "@elizaos/client-deva";
1818

19+
import { DirectClient } from "@elizaos/client-direct";
1920
import { FarcasterClientInterface } from "@elizaos/client-farcaster";
20-
import { OmniflixPlugin } from "@elizaos/plugin-omniflix";
2121
import { JeeterClientInterface } from "@elizaos/client-simsai";
2222
import { XmtpClientInterface } from "@elizaos/client-xmtp";
23-
import { DirectClient } from "@elizaos/client-direct";
24-
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
25-
import { gelatoPlugin } from "@elizaos/plugin-gelato";
26-
import { PrimusAdapter } from "@elizaos/plugin-primus";
27-
import { lightningPlugin } from "@elizaos/plugin-lightning";
28-
import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
29-
import { dcapPlugin } from "@elizaos/plugin-dcap";
3023
import {
3124
AgentRuntime,
3225
CacheManager,
@@ -49,17 +42,24 @@ import {
4942
validateCharacterConfig,
5043
} from "@elizaos/core";
5144
import { zgPlugin } from "@elizaos/plugin-0g";
45+
import { agentKitPlugin } from "@elizaos/plugin-agentkit";
46+
import { dcapPlugin } from "@elizaos/plugin-dcap";
5247
import { footballPlugin } from "@elizaos/plugin-football";
48+
import { gelatoPlugin } from "@elizaos/plugin-gelato";
49+
import { elizaCodeinPlugin, onchainJson } from "@elizaos/plugin-iq6900";
50+
import { lightningPlugin } from "@elizaos/plugin-lightning";
51+
import { OmniflixPlugin } from "@elizaos/plugin-omniflix";
5352

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

5856
// import { intifacePlugin } from "@elizaos/plugin-intiface";
57+
import { zxPlugin } from "@elizaos/plugin-0x";
5958
import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation";
6059
import { abstractPlugin } from "@elizaos/plugin-abstract";
6160
import { akashPlugin } from "@elizaos/plugin-akash";
6261
import { alloraPlugin } from "@elizaos/plugin-allora";
62+
import { ankrPlugin } from "@elizaos/plugin-ankr";
6363
import { aptosPlugin } from "@elizaos/plugin-aptos";
6464
import { artheraPlugin } from "@elizaos/plugin-arthera";
6565
import { autonomePlugin } from "@elizaos/plugin-autonome";
@@ -70,6 +70,7 @@ import { binancePlugin } from "@elizaos/plugin-binance";
7070
import { birdeyePlugin } from "@elizaos/plugin-birdeye";
7171
import { bittensorPlugin } from "@elizaos/plugin-bittensor";
7272
import { bnbPlugin } from "@elizaos/plugin-bnb";
73+
import { chainbasePlugin } from "@elizaos/plugin-chainbase";
7374
import {
7475
advancedTradePlugin,
7576
coinbaseCommercePlugin,
@@ -84,83 +85,79 @@ import { confluxPlugin } from "@elizaos/plugin-conflux";
8485
import { createCosmosPlugin } from "@elizaos/plugin-cosmos";
8586
import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm";
8687
import { deskExchangePlugin } from "@elizaos/plugin-desk-exchange";
87-
import { evmPlugin } from "@elizaos/plugin-evm";
88+
import { devinPlugin } from "@elizaos/plugin-devin";
89+
import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
90+
import { dkgPlugin } from "@elizaos/plugin-dkg";
91+
import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
8892
import { edwinPlugin } from "@elizaos/plugin-edwin";
93+
import { emailPlugin } from "@elizaos/plugin-email";
94+
import { emailAutomationPlugin } from "@elizaos/plugin-email-automation";
95+
import { ethstoragePlugin } from "@elizaos/plugin-ethstorage";
96+
import { evmPlugin } from "@elizaos/plugin-evm";
8997
import { flowPlugin } from "@elizaos/plugin-flow";
98+
import { formPlugin } from "@elizaos/plugin-form";
9099
import { fuelPlugin } from "@elizaos/plugin-fuel";
91100
import { genLayerPlugin } from "@elizaos/plugin-genlayer";
101+
import { giphyPlugin } from "@elizaos/plugin-giphy";
92102
import { gitcoinPassportPlugin } from "@elizaos/plugin-gitcoin-passport";
93-
import { initiaPlugin } from "@elizaos/plugin-initia";
103+
import { goatPlugin } from "@elizaos/plugin-goat";
104+
import { holdstationPlugin } from "@elizaos/plugin-holdstation";
105+
import { hyperbolicPlugin } from "@elizaos/plugin-hyperbolic";
106+
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
94107
import { imageGenerationPlugin } from "@elizaos/plugin-image-generation";
108+
import { imgflipPlugin } from "@elizaos/plugin-imgflip";
109+
import { initiaPlugin } from "@elizaos/plugin-initia";
110+
import { injectivePlugin } from "@elizaos/plugin-injective";
95111
import { lensPlugin } from "@elizaos/plugin-lens-network";
112+
import { letzAIPlugin } from "@elizaos/plugin-letzai";
96113
import { litPlugin } from "@elizaos/plugin-lit";
114+
import { minaPlugin } from "@elizaos/plugin-mina";
97115
import { mindNetworkPlugin } from "@elizaos/plugin-mind-network";
116+
import { moralisPlugin } from "@elizaos/plugin-moralis";
98117
import { multiversxPlugin } from "@elizaos/plugin-multiversx";
99118
import { nearPlugin } from "@elizaos/plugin-near";
100119
import createNFTCollectionsPlugin from "@elizaos/plugin-nft-collections";
101120
import { nftGenerationPlugin } from "@elizaos/plugin-nft-generation";
102121
import { createNodePlugin } from "@elizaos/plugin-node";
122+
import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
103123
import { obsidianPlugin } from "@elizaos/plugin-obsidian";
104-
import { OpacityAdapter } from "@elizaos/plugin-opacity";
105124
import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
125+
import { openaiPlugin } from "@elizaos/plugin-openai";
126+
import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
106127
import { quaiPlugin } from "@elizaos/plugin-quai";
128+
import { quickIntelPlugin } from "@elizaos/plugin-quick-intel";
129+
import nitroPlugin from "@elizaos/plugin-router-nitro";
130+
import { seiPlugin } from "@elizaos/plugin-sei";
107131
import { sgxPlugin } from "@elizaos/plugin-sgx";
108132
import { solanaPlugin } from "@elizaos/plugin-solana";
109-
import { solanaPluginV2 } from "@elizaos/plugin-solana-v2";
110133
import { solanaAgentkitPlugin } from "@elizaos/plugin-solana-agent-kit";
134+
import { solanaPluginV2 } from "@elizaos/plugin-solana-v2";
111135
import { squidRouterPlugin } from "@elizaos/plugin-squid-router";
112136
import { stargazePlugin } from "@elizaos/plugin-stargaze";
113137
import { storyPlugin } from "@elizaos/plugin-story";
114138
import { suiPlugin } from "@elizaos/plugin-sui";
139+
import { sunoPlugin } from "@elizaos/plugin-suno";
115140
import { TEEMode, teePlugin } from "@elizaos/plugin-tee";
116141
import { teeLogPlugin } from "@elizaos/plugin-tee-log";
117142
import { teeMarlinPlugin } from "@elizaos/plugin-tee-marlin";
118143
import { verifiableLogPlugin } from "@elizaos/plugin-tee-verifiable-log";
144+
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
119145
import { tonPlugin } from "@elizaos/plugin-ton";
146+
import { udioPlugin } from "@elizaos/plugin-udio";
120147
import { webSearchPlugin } from "@elizaos/plugin-web-search";
121-
import { dkgPlugin } from "@elizaos/plugin-dkg";
122-
import { injectivePlugin } from "@elizaos/plugin-injective";
123-
import { giphyPlugin } from "@elizaos/plugin-giphy";
124-
import { letzAIPlugin } from "@elizaos/plugin-letzai";
125-
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
126-
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
127-
import { moralisPlugin } from "@elizaos/plugin-moralis";
128-
import { echoChambersPlugin } from "@elizaos/plugin-echochambers";
129-
import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener";
130-
import { pythDataPlugin } from "@elizaos/plugin-pyth-data";
131-
import { openaiPlugin } from "@elizaos/plugin-openai";
132-
import nitroPlugin from "@elizaos/plugin-router-nitro";
133-
import { devinPlugin } from "@elizaos/plugin-devin";
148+
import { zerionPlugin } from "@elizaos/plugin-zerion";
149+
import { zilliqaPlugin } from "@elizaos/plugin-zilliqa";
134150
import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
135-
import { chainbasePlugin } from "@elizaos/plugin-chainbase";
136-
import { holdstationPlugin } from "@elizaos/plugin-holdstation";
137-
import { nvidiaNimPlugin } from "@elizaos/plugin-nvidia-nim";
138-
import { zxPlugin } from "@elizaos/plugin-0x";
139-
import { hyperbolicPlugin } from "@elizaos/plugin-hyperbolic";
140151
import Database from "better-sqlite3";
152+
import { MongoClient } from "mongodb";
141153
import fs from "node:fs";
142154
import net from "node:net";
143155
import path from "node:path";
144156
import { fileURLToPath } from "node:url";
145157
import yargs from "yargs";
146-
import { emailPlugin } from "@elizaos/plugin-email";
147-
import { emailAutomationPlugin } from "@elizaos/plugin-email-automation";
148-
import { seiPlugin } from "@elizaos/plugin-sei";
149-
import { sunoPlugin } from "@elizaos/plugin-suno";
150-
import { udioPlugin } from "@elizaos/plugin-udio";
151-
import { imgflipPlugin } from "@elizaos/plugin-imgflip";
152-
import { ethstoragePlugin } from "@elizaos/plugin-ethstorage";
153-
import { zerionPlugin } from "@elizaos/plugin-zerion";
154-
import { minaPlugin } from "@elizaos/plugin-mina";
155-
import { ankrPlugin } from "@elizaos/plugin-ankr";
156-
import { formPlugin } from "@elizaos/plugin-form";
157-
import { MongoClient } from "mongodb";
158-
import { quickIntelPlugin } from "@elizaos/plugin-quick-intel";
159-
import { goatPlugin } from "@elizaos/plugin-goat";
160-
import { zilliqaPlugin } from "@elizaos/plugin-zilliqa";
161158

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

packages/core/src/environment.ts

+16-14
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,22 @@ import elizaLogger from "./logger";
44

55
// TODO: TO COMPLETE
66
export const envSchema = z.object({
7-
// API Keys with specific formats
8-
OPENAI_API_KEY: z
9-
.string()
10-
.startsWith("sk-", "OpenAI API key must start with 'sk-'"),
11-
REDPILL_API_KEY: z.string().min(1, "REDPILL API key is required"),
12-
GROK_API_KEY: z.string().min(1, "GROK API key is required"),
13-
GROQ_API_KEY: z
14-
.string()
15-
.startsWith("gsk_", "GROQ API key must start with 'gsk_'"),
16-
OPENROUTER_API_KEY: z.string().min(1, "OpenRouter API key is required"),
17-
GOOGLE_GENERATIVE_AI_API_KEY: z
18-
.string()
19-
.min(1, "Gemini API key is required"),
20-
ELEVENLABS_XI_API_KEY: z.string().min(1, "ElevenLabs API key is required"),
7+
// Generic Provider Configuration
8+
PROVIDER_NAME: z.nativeEnum(ModelProviderName),
9+
PROVIDER_API_KEY: z.string().min(1, "Provider API key is required"),
10+
PROVIDER_ENDPOINT: z.string().url("Provider endpoint must be a valid URL").optional(),
11+
12+
// Optional Provider-Specific Keys (for additional services)
13+
ELEVENLABS_XI_API_KEY: z.string().min(1, "ElevenLabs API key is required").optional(),
14+
15+
// Model Settings
16+
DEFAULT_MODEL: z.string().optional(),
17+
SMALL_MODEL: z.string().optional(),
18+
MEDIUM_MODEL: z.string().optional(),
19+
LARGE_MODEL: z.string().optional(),
20+
EMBEDDING_MODEL: z.string().optional(),
21+
IMAGE_MODEL: z.string().optional(),
22+
IMAGE_VISION_MODEL: z.string().optional(),
2123
});
2224

2325
// Type inference

0 commit comments

Comments
 (0)