Skip to content

Commit b1d82b7

Browse files
committed
Merge branch 'develop' into pr-1621
2 parents f8789d0 + 4c3a6ab commit b1d82b7

File tree

1,335 files changed

+60903
-42553
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,335 files changed

+60903
-42553
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

+69-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,7 +88,6 @@ 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=
7691
XAI_API_KEY=
7792
XAI_MODEL=
7893

@@ -82,8 +97,10 @@ POST_INTERVAL_MAX= # Default: 180
8297
POST_IMMEDIATELY=
8398

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

88105
# Feature Flags
89106
IMAGE_GEN= # Set to TRUE to enable image generation
@@ -182,6 +199,9 @@ EVM_PROVIDER_URL=
182199
AVALANCHE_PRIVATE_KEY=
183200
AVALANCHE_PUBLIC_KEY=
184201

202+
# Arthera
203+
ARTHERA_PRIVATE_KEY=
204+
185205
# Solana
186206
SOLANA_PRIVATE_KEY=
187207
SOLANA_PUBLIC_KEY=
@@ -200,7 +220,7 @@ BIRDEYE_API_KEY=
200220
SOL_ADDRESS=So11111111111111111111111111111111111111112
201221
SLIPPAGE=1
202222
BASE_MINT=So11111111111111111111111111111111111111112
203-
RPC_URL=https://api.mainnet-beta.solana.com
223+
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com
204224
HELIUS_API_KEY=
205225

206226
# Telegram Configuration
@@ -212,9 +232,6 @@ TOGETHER_API_KEY=
212232
# Server Configuration
213233
SERVER_PORT=3000
214234

215-
# Web Search Config
216-
ENABLE_WEBSEARCH=false # boolean value, defaults to false
217-
218235
# Abstract Configuration
219236
ABSTRACT_ADDRESS=
220237
ABSTRACT_PRIVATE_KEY=
@@ -251,6 +268,9 @@ CHARITY_ADDRESS_ETH=0x750EF1D7a0b4Ab1c97B7A623D7917CcEb5ea779C
251268
CHARITY_ADDRESS_ARB=0x1234567890123456789012345678901234567890
252269
CHARITY_ADDRESS_POL=0x1234567890123456789012345678901234567890
253270

271+
# thirdweb
272+
THIRDWEB_SECRET_KEY= # Create key on thirdweb developer dashboard: https://thirdweb.com/
273+
254274
# Conflux Configuration
255275
CONFLUX_CORE_PRIVATE_KEY=
256276
CONFLUX_CORE_SPACE_RPC_URL=
@@ -283,6 +303,10 @@ MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b
283303
LARGE_VENICE_MODEL= # Default: llama-3.1-405b
284304
IMAGE_VENICE_MODEL= # Default: fluently-xl
285305

306+
# Coin Price Configuration
307+
COINMARKETCAP_API_KEY=
308+
COINGECKO_API_KEY=
309+
286310
# Akash Chat API Configuration docs: https://chatapi.akash.network/documentation
287311
AKASH_CHAT_API_KEY= # Get from https://chatapi.akash.network/
288312
SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct
@@ -334,13 +358,23 @@ NEAR_WALLET_SECRET_KEY=
334358
NEAR_WALLET_PUBLIC_KEY=
335359
NEAR_ADDRESS=
336360
SLIPPAGE=1
337-
RPC_URL=https://rpc.testnet.near.org
361+
NEAR_RPC_URL=https://rpc.testnet.near.org
338362
NEAR_NETWORK=testnet # or mainnet
339363

340364
# ZKsync Era Configuration
341365
ZKSYNC_ADDRESS=
342366
ZKSYNC_PRIVATE_KEY=
343367

368+
# Avail DA Configuration
369+
AVAIL_ADDRESS=
370+
AVAIL_SEED=
371+
AVAIL_APP_ID=0
372+
AVAIL_RPC_URL=wss://avail-turing.public.blastapi.io/ # (Default) Testnet: wss://avail-turing.public.blastapi.io/ | Mainnet: wss://avail-mainnet.public.blastapi.io/
373+
374+
# Marlin
375+
TEE_MARLIN= # Set "yes" to enable the plugin
376+
TEE_MARLIN_ATTESTATION_ENDPOINT= # Optional, default "http://127.0.0.1:1350"
377+
344378
# Ton
345379
TON_PRIVATE_KEY= # Ton Mnemonic Seed Phrase Join With Empty String
346380
TON_RPC_URL= # ton rpc
@@ -356,7 +390,7 @@ AWS_S3_UPLOAD_PATH=
356390
DEEPGRAM_API_KEY=
357391

358392
# Sui
359-
SUI_PRIVATE_KEY= # Sui Mnemonic Seed Phrase (`sui keytool generate ed25519`)
393+
SUI_PRIVATE_KEY= # Sui Mnemonic Seed Phrase (`sui keytool generate ed25519`) , Also support `suiprivatekeyxxxx` (sui keytool export --key-identity 0x63)
360394
SUI_NETWORK= # must be one of mainnet, testnet, devnet, localnet
361395

362396
# Story
@@ -365,9 +399,35 @@ STORY_API_BASE_URL= # Story API base URL
365399
STORY_API_KEY= # Story API key
366400
PINATA_JWT= # Pinata JWT for uploading files to IPFS
367401

402+
# Cosmos
403+
COSMOS_RECOVERY_PHRASE= # 12 words recovery phrase (need to be in quotes, because of spaces)
404+
COSMOS_AVAILABLE_CHAINS= # mantrachaintestnet2,cosmos # Array of chains
368405
# Cronos zkEVM
369406
CRONOSZKEVM_ADDRESS=
370407
CRONOSZKEVM_PRIVATE_KEY=
371408

372409
# Fuel Ecosystem (FuelVM)
373410
FUEL_WALLET_PRIVATE_KEY=
411+
412+
# Tokenizer Settings
413+
TOKENIZER_MODEL= # Specify the tokenizer model to be used.
414+
TOKENIZER_TYPE= # Options: tiktoken (for OpenAI models) or auto (AutoTokenizer from Hugging Face for non-OpenAI models). Default: tiktoken.
415+
416+
417+
# Spheron
418+
SPHERON_PRIVATE_KEY=
419+
SPHERON_PROVIDER_PROXY_URL=
420+
SPHERON_WALLET_ADDRESS=
421+
422+
# Stargaze NFT marketplace from Cosmos (You can use https://graphql.mainnet.stargaze-apis.com/graphql)
423+
STARGAZE_ENDPOINT=
424+
425+
# GenLayer
426+
GENLAYER_PRIVATE_KEY= # Private key of the GenLayer account to use for the agent in this format (0x0000000000000000000000000000000000000000000000000000000000000000)
427+
428+
# OpenWeather
429+
OPEN_WEATHER_API_KEY= # OpenWeather API key
430+
431+
# Allora
432+
ALLORA_API_KEY= # Allora API key, format: UP-f8db7d6558ab432ca0d92716
433+
ALLORA_CHAIN_SLUG= # must be one of mainnet, testnet. If not specified, it will use testnet by default

.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)