Skip to content

Commit 6a64a89

Browse files
committed
Merge branch 'develop' into piotr/coinbase-plugin-tests
2 parents a4f3256 + 0e74e13 commit 6a64a89

File tree

1,443 files changed

+70042
-42615
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,443 files changed

+70042
-42615
lines changed

.devcontainer/Dockerfile

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
ARG NODE_VER=23.5.0
2+
ARG BASE_IMAGE=node:${NODE_VER}
3+
FROM $BASE_IMAGE
4+
5+
ENV DEBIAN_FRONTEND=noninteractive
6+
7+
# Install pnpm globally and install necessary build tools
8+
RUN apt-get update \
9+
&& apt-get install -y \
10+
git \
11+
python3 \
12+
make \
13+
g++ \
14+
nano \
15+
vim \
16+
&& apt-get clean \
17+
&& rm -rf /var/lib/apt/lists/*
18+
19+
ARG PNPM_VER=9.15.2
20+
RUN npm install -g pnpm@${PNPM_VER}
21+
22+
# Set Python 3 as the default python
23+
RUN ln -s /usr/bin/python3 /usr/bin/python
24+
ENV DEBIAN_FRONTEND=dialog

.devcontainer/devcontainer.json

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// See https://aka.ms/vscode-remote/devcontainer.json for format details.
2+
{
3+
"name": "elizaos-dev",
4+
"dockerFile": "Dockerfile",
5+
"build": {
6+
"args": {
7+
"NODE_VER": "23.5.0",
8+
"PNPM_VER": "9.15.2"
9+
}
10+
},
11+
"privileged": true,
12+
"runArgs": [
13+
"-p=3000:3000", // Add port for server api
14+
"-p=5173:5173", // Add port for client
15+
//"--volume=/usr/lib/wsl:/usr/lib/wsl", // uncomment for WSL
16+
//"--volume=/mnt/wslg:/mnt/wslg", // uncomment for WSL
17+
"--gpus=all", // ! uncomment for vGPU
18+
//"--device=/dev/dxg", // uncomment this for vGPU under WSL
19+
"--device=/dev/dri"
20+
],
21+
"containerEnv": {
22+
//"MESA_D3D12_DEFAULT_ADAPTER_NAME": "NVIDIA", // uncomment for WSL
23+
//"LD_LIBRARY_PATH": "/usr/lib/wsl/lib" // uncomment for WSL
24+
},
25+
"customizations": {
26+
"vscode": {
27+
"extensions": [
28+
"vscode.json-language-features",
29+
"vscode.css-language-features",
30+
// "foxundermoon.shell-format",
31+
// "dbaeumer.vscode-eslint",
32+
// "esbenp.prettier-vscode"
33+
"ms-python.python"
34+
]
35+
}
36+
},
37+
"features": {}
38+
}

.env.example

+95-9
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
CACHE_STORE=database # Defaults to database. Other available cache store: redis and filesystem
33
REDIS_URL= # Redis URL - could be a local redis instance or cloud hosted redis. Also support rediss:// urls
44

5+
PGLITE_DATA_DIR= #../pgLite/ if selecting a directory --- or memory:// if selecting in memory
6+
57
# Discord Configuration
68
DISCORD_APPLICATION_ID=
79
DISCORD_API_TOKEN= # Bot token
@@ -19,9 +21,11 @@ IMAGE_OPENAI_MODEL= # Default: dall-e-3
1921
# Eternal AI's Decentralized Inference API
2022
ETERNALAI_URL=
2123
ETERNALAI_MODEL= # Default: "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16"
24+
ETERNALAI_CHAIN_ID=45762 #Default: "45762"
2225
ETERNALAI_API_KEY=
26+
ETERNALAI_LOG=false #Default: false
2327

24-
GROK_API_KEY= # GROK API Key
28+
GROK_API_KEY= # GROK/xAI API Key
2529
GROQ_API_KEY= # Starts with gsk_
2630
OPENROUTER_API_KEY=
2731
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
@@ -36,6 +40,18 @@ SMALL_HYPERBOLIC_MODEL= # Default: meta-llama/Llama-3.2-3B-Instruct
3640
MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruct
3741
LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct
3842

43+
44+
# Infera Configuration
45+
46+
INFERA_API_KEY= # visit api.infera.org/docs to obtain an API key under /signup_user
47+
INFERA_MODEL= # Default: llama3.2:latest
48+
INFERA_SERVER_URL= # Default: https://api.infera.org/
49+
50+
SMALL_INFERA_MODEL= #Recommended: llama3.2:latest
51+
MEDIUM_INFERA_MODEL= #Recommended: mistral-nemo:latest
52+
LARGE_INFERA_MODEL= #Recommended: mistral-small:latest
53+
54+
3955
# Livepeer configuration
4056
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
4157
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning
@@ -72,21 +88,24 @@ TWITTER_TARGET_USERS= # Comma separated list of Twitter user names to
7288
TWITTER_RETRY_LIMIT= # Maximum retry attempts for Twitter login
7389
TWITTER_SPACES_ENABLE=false # Enable or disable Twitter Spaces logic
7490

75-
X_SERVER_URL=
76-
XAI_API_KEY=
77-
XAI_MODEL=
91+
# CONFIGURATION FOR APPROVING TWEETS BEFORE IT GETS POSTED
92+
TWITTER_APPROVAL_DISCORD_CHANNEL_ID= # Channel ID for the Discord bot to listen and send approval messages
93+
TWITTER_APPROVAL_DISCORD_BOT_TOKEN= # Discord bot token (this could be a different bot token from DISCORD_API_TOKEN)
94+
TWITTER_APPROVAL_ENABLED= # Enable or disable Twitter approval logic #Default is false
95+
TWITTER_APPROVAL_CHECK_INTERVAL=60000 # Default: 60 seconds
7896

7997
# Post Interval Settings (in minutes)
8098
POST_INTERVAL_MIN= # Default: 90
8199
POST_INTERVAL_MAX= # Default: 180
82100
POST_IMMEDIATELY=
83101

84102
# Twitter action processing configuration
85-
ACTION_INTERVAL=300000 # Interval in milliseconds between action processing runs (default: 5 minutes)
103+
ACTION_INTERVAL= # Interval in minutes between action processing runs (default: 5 minutes)
86104
ENABLE_ACTION_PROCESSING=false # Set to true to enable the action processing loop
105+
MAX_ACTIONS_PROCESSING=1 # Maximum number of actions (e.g., retweets, likes) to process in a single cycle. Helps prevent excessive or uncontrolled actions.
106+
ACTION_TIMELINE_TYPE=foryou # Type of timeline to interact with. Options: "foryou" or "following". Default: "foryou"
87107

88108
# Feature Flags
89-
IMAGE_GEN= # Set to TRUE to enable image generation
90109
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
91110
USE_OLLAMA_EMBEDDING= # Set to TRUE for OLLAMA/1024, leave blank for local
92111

@@ -182,6 +201,9 @@ EVM_PROVIDER_URL=
182201
AVALANCHE_PRIVATE_KEY=
183202
AVALANCHE_PUBLIC_KEY=
184203

204+
# Arthera
205+
ARTHERA_PRIVATE_KEY=
206+
185207
# Solana
186208
SOLANA_PRIVATE_KEY=
187209
SOLANA_PUBLIC_KEY=
@@ -200,11 +222,12 @@ BIRDEYE_API_KEY=
200222
SOL_ADDRESS=So11111111111111111111111111111111111111112
201223
SLIPPAGE=1
202224
BASE_MINT=So11111111111111111111111111111111111111112
203-
RPC_URL=https://api.mainnet-beta.solana.com
225+
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
204226
HELIUS_API_KEY=
205227

206228
# Telegram Configuration
207229
TELEGRAM_BOT_TOKEN=
230+
TELEGRAM_API_ROOT=
208231

209232
# Together Configuration
210233
TOGETHER_API_KEY=
@@ -248,6 +271,9 @@ CHARITY_ADDRESS_ETH=0x750EF1D7a0b4Ab1c97B7A623D7917CcEb5ea779C
248271
CHARITY_ADDRESS_ARB=0x1234567890123456789012345678901234567890
249272
CHARITY_ADDRESS_POL=0x1234567890123456789012345678901234567890
250273

274+
# thirdweb
275+
THIRDWEB_SECRET_KEY= # Create key on thirdweb developer dashboard: https://thirdweb.com/
276+
251277
# Conflux Configuration
252278
CONFLUX_CORE_PRIVATE_KEY=
253279
CONFLUX_CORE_SPACE_RPC_URL=
@@ -272,6 +298,10 @@ WALLET_SECRET_SALT= # ONLY define if you want to use TEE Plugin, oth
272298

273299
# Galadriel Configuration
274300
GALADRIEL_API_KEY=gal-* # Get from https://dashboard.galadriel.com/
301+
SMALL_GALADRIEL_MODEL= # Default: gpt-4o-mini
302+
MEDIUM_GALADRIEL_MODEL= # Default: gpt-4o
303+
LARGE_GALADRIEL_MODEL= # Default: gpt-4o
304+
GALADRIEL_FINE_TUNE_API_KEY= # Use an OpenAI key to use a fine-tuned model with the verified inference endpoint
275305

276306
# Venice Configuration
277307
VENICE_API_KEY= # generate from venice settings
@@ -280,6 +310,10 @@ MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b
280310
LARGE_VENICE_MODEL= # Default: llama-3.1-405b
281311
IMAGE_VENICE_MODEL= # Default: fluently-xl
282312

313+
# Coin Price Configuration
314+
COINMARKETCAP_API_KEY=
315+
COINGECKO_API_KEY=
316+
283317
# Akash Chat API Configuration docs: https://chatapi.akash.network/documentation
284318
AKASH_CHAT_API_KEY= # Get from https://chatapi.akash.network/
285319
SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct
@@ -330,14 +364,24 @@ MVX_NETWORK= # must be one of mainnet, devnet, testnet
330364
NEAR_WALLET_SECRET_KEY=
331365
NEAR_WALLET_PUBLIC_KEY=
332366
NEAR_ADDRESS=
333-
SLIPPAGE=1
334-
RPC_URL=https://rpc.testnet.near.org
367+
NEAR_SLIPPAGE=1
368+
NEAR_RPC_URL=https://rpc.testnet.near.org
335369
NEAR_NETWORK=testnet # or mainnet
336370

337371
# ZKsync Era Configuration
338372
ZKSYNC_ADDRESS=
339373
ZKSYNC_PRIVATE_KEY=
340374

375+
# Avail DA Configuration
376+
AVAIL_ADDRESS=
377+
AVAIL_SEED=
378+
AVAIL_APP_ID=0
379+
AVAIL_RPC_URL=wss://avail-turing.public.blastapi.io/ # (Default) Testnet: wss://avail-turing.public.blastapi.io/ | Mainnet: wss://avail-mainnet.public.blastapi.io/
380+
381+
# Marlin
382+
TEE_MARLIN= # Set "yes" to enable the plugin
383+
TEE_MARLIN_ATTESTATION_ENDPOINT= # Optional, default "http://127.0.0.1:1350"
384+
341385
# Ton
342386
TON_PRIVATE_KEY= # Ton Mnemonic Seed Phrase Join With Empty String
343387
TON_RPC_URL= # ton rpc
@@ -362,9 +406,51 @@ STORY_API_BASE_URL= # Story API base URL
362406
STORY_API_KEY= # Story API key
363407
PINATA_JWT= # Pinata JWT for uploading files to IPFS
364408

409+
# Cosmos
410+
COSMOS_RECOVERY_PHRASE= # 12 words recovery phrase (need to be in quotes, because of spaces)
411+
COSMOS_AVAILABLE_CHAINS= # mantrachaintestnet2,cosmos # Array of chains
365412
# Cronos zkEVM
366413
CRONOSZKEVM_ADDRESS=
367414
CRONOSZKEVM_PRIVATE_KEY=
368415

369416
# Fuel Ecosystem (FuelVM)
370417
FUEL_WALLET_PRIVATE_KEY=
418+
419+
# Tokenizer Settings
420+
TOKENIZER_MODEL= # Specify the tokenizer model to be used.
421+
TOKENIZER_TYPE= # Options: tiktoken (for OpenAI models) or auto (AutoTokenizer from Hugging Face for non-OpenAI models). Default: tiktoken.
422+
423+
#LetzAI
424+
LETZAI_API_KEY= # LetzAI API Key
425+
LETZAI_MODELS= # list of Letzai models to add to each prompt, e.g.: "@modelname1, @modelname2"
426+
427+
428+
# Spheron
429+
SPHERON_PRIVATE_KEY=
430+
SPHERON_PROVIDER_PROXY_URL=
431+
SPHERON_WALLET_ADDRESS=
432+
433+
# Stargaze NFT marketplace from Cosmos (You can use https://graphql.mainnet.stargaze-apis.com/graphql)
434+
STARGAZE_ENDPOINT=
435+
436+
# API key for giphy from https://developers.giphy.com/dashboard/
437+
GIPHY_API_KEY=
438+
439+
# GenLayer
440+
GENLAYER_PRIVATE_KEY= # Private key of the GenLayer account to use for the agent in this format (0x0000000000000000000000000000000000000000000000000000000000000000)
441+
442+
# OpenWeather
443+
OPEN_WEATHER_API_KEY= # OpenWeather API key
444+
445+
# Allora
446+
ALLORA_API_KEY= # Allora API key, format: UP-f8db7d6558ab432ca0d92716
447+
ALLORA_CHAIN_SLUG= # must be one of mainnet, testnet. If not specified, it will use testnet by default
448+
449+
# Opacity zkTLS
450+
OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f
451+
OPACITY_CLOUDFLARE_NAME=eigen-test
452+
OPACITY_PROVER_URL=https://opacity-ai-zktls-demo.vercel.app
453+
454+
# Verifiable Inference Configuration
455+
VERIFIABLE_INFERENCE_ENABLED=false # Set to false to disable verifiable inference
456+
VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity

.eslintrc.json

+34-45
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,36 @@
11
{
2-
"plugins": [
3-
"@stylistic"
4-
],
5-
"extends": [
6-
"next/core-web-vitals",
7-
"plugin:@stylistic/recommended-extends"
8-
],
9-
"rules": {
10-
"@stylistic/indent": [
11-
"error",
12-
4,
13-
{
14-
"SwitchCase": 1
15-
}
2+
"plugins": ["@stylistic"],
3+
"extends": [
4+
"next/core-web-vitals",
5+
"plugin:@stylistic/recommended-extends"
166
],
17-
"@stylistic/no-tabs": "error",
18-
"@stylistic/member-delimiter-style": [
19-
"error",
20-
{
21-
"multiline": {
22-
"delimiter": "semi",
23-
"requireLast": true
24-
},
25-
"singleline": {
26-
"delimiter": "semi",
27-
"requireLast": false
28-
}
29-
}
30-
],
31-
"@stylistic/eol-last": [
32-
"error",
33-
"always"
34-
],
35-
"@stylistic/multiline-ternary": "off",
36-
"@stylistic/semi": [
37-
"error",
38-
"always"
39-
],
40-
"@stylistic/quotes": "off",
41-
"@stylistic/comma-dangle": "off",
42-
"@stylistic/brace-style": [
43-
"error",
44-
"1tbs"
45-
]
46-
}
47-
}
7+
"rules": {
8+
"@stylistic/indent": [
9+
"error",
10+
4,
11+
{
12+
"SwitchCase": 1
13+
}
14+
],
15+
"@stylistic/no-tabs": "error",
16+
"@stylistic/member-delimiter-style": [
17+
"error",
18+
{
19+
"multiline": {
20+
"delimiter": "semi",
21+
"requireLast": true
22+
},
23+
"singleline": {
24+
"delimiter": "semi",
25+
"requireLast": false
26+
}
27+
}
28+
],
29+
"@stylistic/eol-last": ["error", "always"],
30+
"@stylistic/multiline-ternary": "off",
31+
"@stylistic/semi": ["error", "always"],
32+
"@stylistic/quotes": "off",
33+
"@stylistic/comma-dangle": "off",
34+
"@stylistic/brace-style": ["error", "1tbs"]
35+
}
36+
}

.github/workflows/ci.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
cache: "pnpm"
2121

2222
- name: Install dependencies
23-
run: pnpm install
23+
run: pnpm install -r --no-frozen-lockfile
2424

2525
- name: Run Prettier
2626
run: pnpm run prettier --check .

0 commit comments

Comments
 (0)