Skip to content

Commit f024a73

Browse files
committed
Merge branch 'develop' into pr/2375
2 parents 6170d4c + e9e5608 commit f024a73

File tree

401 files changed

+53183
-3231
lines changed

Some content is hidden

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

401 files changed

+53183
-3231
lines changed

.env.example

+90-5
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,17 @@ PGLITE_DATA_DIR= #../pgLite/ if selecting a directory --- or memory:// if
99

1010
# Eliza Port Config
1111
SERVER_PORT=3000
12+
VITE_SERVER_PORT=${SERVER_PORT}
1213

1314
# Supabase Configuration
1415
SUPABASE_URL=
1516
SUPABASE_ANON_KEY=
1617

17-
# Remote character url (optional)
18-
REMOTE_CHARACTER_URL=
18+
# Comma separated list of remote character urls (optional)
19+
REMOTE_CHARACTER_URLS=
20+
21+
# Logging
22+
LOG_JSON_FORMAT= # Print everything in logger as json; false by default
1923

2024
###############################
2125
#### Client Configurations ####
@@ -86,6 +90,13 @@ EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small
8690
IMAGE_OPENAI_MODEL= # Default: dall-e-3
8791
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI/1536, leave blank for local
8892

93+
# Atoma SDK Configuration
94+
ATOMASDK_BEARER_AUTH= # Atoma SDK Bearer Auth token
95+
ATOMA_API_URL= # Default: https://api.atoma.network/v1
96+
SMALL_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
97+
MEDIUM_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
98+
LARGE_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct
99+
89100
# Eternal AI's Decentralized Inference API
90101
ETERNALAI_URL=
91102
ETERNALAI_MODEL= # Default: "NousResearch/Hermes-3-Llama-3.1-70B-FP8"
@@ -133,8 +144,12 @@ MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct
133144
LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8
134145

135146
# Livepeer configuration
136-
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
137-
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning
147+
148+
LIVEPEER_GATEWAY_URL=https://dream-gateway.livepeer.cloud # Free inference gateways and docs: https://livepeer-eliza.com/
149+
IMAGE_LIVEPEER_MODEL= # Default: ByteDance/SDXL-Lightning
150+
SMALL_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
151+
MEDIUM_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
152+
LARGE_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct
138153

139154
# Speech Synthesis
140155
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
@@ -301,6 +316,10 @@ SOLANA_ADMIN_PRIVATE_KEY= # This wallet is used to verify NFTs
301316
SOLANA_ADMIN_PUBLIC_KEY= # This wallet is used to verify NFTs
302317
SOLANA_VERIFY_TOKEN= # Authentication token for calling the verification API
303318

319+
# Injective
320+
INJECTIVE_PRIVATE_KEY= #
321+
INJECTIVE_PUBLIC_KEY= #
322+
INJECTIVE_NETWORK= #
304323
# Fallback Wallet Configuration (deprecated)
305324
WALLET_PRIVATE_KEY=
306325
WALLET_PUBLIC_KEY=
@@ -336,6 +355,11 @@ COINBASE_GENERATED_WALLET_ID= # Not your address but the wallet ID from ge
336355
COINBASE_GENERATED_WALLET_HEX_SEED= # Not your address but the wallet hex seed from generating a wallet through the plugin and calling export
337356
COINBASE_NOTIFICATION_URI= # For webhook plugin the uri you want to send the webhook to for dummy ones use https://webhook.site
338357

358+
# Coinbase AgentKit
359+
COINBASE_AGENT_KIT_NETWORK= # defaults to 'base-sepolia'
360+
CDP_API_KEY_NAME=
361+
CDP_API_KEY_PRIVATE_KEY=
362+
339363
# Coinbase Charity Configuration
340364
IS_CHARITABLE=false # Set to true to enable charity donations
341365
CHARITY_ADDRESS_BASE=0x1234567890123456789012345678901234567890
@@ -360,12 +384,19 @@ ZEROG_EVM_RPC=
360384
ZEROG_PRIVATE_KEY=
361385
ZEROG_FLOW_ADDRESS=
362386

387+
# IQ6900
388+
# Load json recorded on-chain through IQ
389+
# Inscribe your json character file here: https://elizacodein.com/
390+
391+
IQ_WALLET_ADDRESS= # If you enter the wallet address used on the site, the most recently inscribed json will be loaded.
392+
IQSOlRPC=
393+
363394
# Squid Router
364395
SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com
365396
SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/
366397
SQUID_EVM_ADDRESS=
367398
SQUID_EVM_PRIVATE_KEY=
368-
SQUID_API_THROTTLE_INTERVAL= # Default: 0; Used to throttle API calls to avoid rate limiting (in ms)
399+
SQUID_API_THROTTLE_INTERVAL=1000 # Default: 1000; Used to throttle API calls to avoid rate limiting (in ms)
369400

370401
# TEE Configuration
371402
# TEE_MODE options:
@@ -542,6 +573,10 @@ AWS_SECRET_ACCESS_KEY=
542573
AWS_REGION=
543574
AWS_S3_BUCKET=
544575
AWS_S3_UPLOAD_PATH=
576+
AWS_S3_ENDPOINT=
577+
AWS_S3_SSL_ENABLED=
578+
AWS_S3_FORCE_PATH_STYLE=
579+
545580

546581
# Deepgram
547582
DEEPGRAM_API_KEY=
@@ -602,3 +637,53 @@ AKASH_MANIFEST_VALIDATION_LEVEL=strict
602637
# Quai Network Ecosystem
603638
QUAI_PRIVATE_KEY=
604639
QUAI_RPC_URL=https://rpc.quai.network
640+
641+
# Instagram Configuration
642+
INSTAGRAM_DRY_RUN=false
643+
INSTAGRAM_USERNAME= # Account username
644+
INSTAGRAM_PASSWORD= # Account password
645+
INSTAGRAM_APP_ID= # Instagram App ID is required
646+
INSTAGRAM_APP_SECRET= # Instagram App Secret is required
647+
INSTAGRAM_BUSINESS_ACCOUNT_ID= # Optional Business Account ID for additional features
648+
INSTAGRAM_POST_INTERVAL_MIN=60 # Default: 60 minutes
649+
INSTAGRAM_POST_INTERVAL_MAX=120 # Default: 120 minutes
650+
INSTAGRAM_ENABLE_ACTION_PROCESSING=false # Enable/disable action processing
651+
INSTAGRAM_ACTION_INTERVAL=5 # Interval between actions in minutes
652+
INSTAGRAM_MAX_ACTIONS=1 # Maximum number of actions to process at once
653+
654+
####################################
655+
#### Pyth Plugin Configuration ####
656+
####################################
657+
# Network Environment (mainnet or testnet)git
658+
PYTH_NETWORK_ENV=mainnet
659+
660+
# Mainnet Network Configuration
661+
PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network
662+
PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws
663+
PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com
664+
PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids
665+
PYTH_MAINNET_PROGRAM_KEY=
666+
667+
# Testnet Network Configuration
668+
PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network
669+
PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws
670+
PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com
671+
PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet
672+
PYTH_TESTNET_PROGRAM_KEY=
673+
674+
# Connection Settings
675+
PYTH_MAX_RETRIES=3
676+
PYTH_RETRY_DELAY=1000
677+
PYTH_TIMEOUT=5000
678+
PYTH_GRANULAR_LOG=true
679+
PYTH_LOG_LEVEL=debug
680+
PYTH_LOG_LEVEL=info
681+
682+
# Runtime Settings
683+
RUNTIME_CHECK_MODE=false
684+
685+
# Pyth Price Streaming and test ID
686+
PYTH_ENABLE_PRICE_STREAMING=true
687+
PYTH_MAX_PRICE_STREAMS=2
688+
PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
689+
PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace

.github/workflows/block-mini.yml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Block Minified JavaScript/TypeScript
2+
3+
on:
4+
pull_request:
5+
branches: ["main", "develop", "*"]
6+
push:
7+
branches: ["main", "develop", "*"]
8+
9+
jobs:
10+
block-minified-code:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check out code
14+
uses: actions/checkout@v4
15+
16+
- name: Detect potential minified code
17+
shell: bash
18+
run: |
19+
echo "Scanning for potential minified JS/TS code..."
20+
21+
# We'll look in .ts, .tsx, .js, .jsx files, skipping common build dirs.
22+
FILES=$(find . \
23+
\( -name 'node_modules' -prune \) -o \
24+
\( -name 'dist' -prune \) -o \
25+
\( -name 'build' -prune \) -o \
26+
-type f \( -name '*.ts' -o -name '*.tsx' -o -name '*.js' -o -name '*.jsx' \) \
27+
-print)
28+
29+
if [ -z "$FILES" ]; then
30+
echo "No relevant JS/TS files found."
31+
exit 0
32+
fi
33+
34+
THRESHOLD=1000
35+
VIOLATIONS=0
36+
37+
for file in $FILES; do
38+
# Use grep -En to capture line number and text
39+
# If any line is ≥ THRESHOLD chars, we store those lines in RESULTS
40+
RESULTS=$(grep -En ".{${THRESHOLD},}" "$file" || true)
41+
if [ -n "$RESULTS" ]; then
42+
# We have potential minified lines
43+
while IFS= read -r match; do
44+
# 'match' will be something like "1234:the entire matched line"
45+
LINENUM=$(echo "$match" | cut -d: -f1)
46+
# If you want the text, you can do:
47+
# MATCHED_LINE=$(echo "$match" | cut -d: -f2-)
48+
49+
echo "::error file=$file,line=$LINENUM::Detected potential minified code (≥ $THRESHOLD chars)."
50+
done <<< "$RESULTS"
51+
VIOLATIONS=1
52+
fi
53+
done
54+
55+
if [ "$VIOLATIONS" -eq 1 ]; then
56+
echo "ERROR: Minified code detected. Please remove or exclude it."
57+
exit 1
58+
else
59+
echo "No minified code detected."
60+
fi

.github/workflows/generate-readme-translations.yml

+10-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ jobs:
2424
{ code: "TH", name: "Thai" },
2525
{ code: "TR", name: "Turkish" },
2626
{ code: "VI", name: "Vietnamese" },
27+
{ code: "AR", name: "Arabic" },
28+
{ code: "RS", name: "Srpski" },
29+
{ code: "TG", name: "Tagalog" },
30+
{ code: "PL", name: "Polski" },
31+
{ code: "HU", name: "Hungarian" },
32+
{ code: "FA", name: "Persian" },
33+
{ code: "RO", name: "Romanian" },
34+
{ code: "GR", name: "Greek" },
35+
{ code: "NL", name: "Dutch" },
2736
]
2837
permissions:
2938
contents: write
@@ -53,7 +62,7 @@ jobs:
5362
"content_path": "README.md"
5463
}
5564
],
56-
"save_path": "README_${{ matrix.language.code }}.md",
65+
save_path: "i18n/readme/README_${{ matrix.language.code }}.md",
5766
"model": "gpt-4o"
5867
}
5968

.github/workflows/smoke-tests.yml

+12-5
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,24 @@ on:
1010
jobs:
1111
smoke-tests:
1212
runs-on: ubuntu-latest
13+
container:
14+
image: node:23-bullseye
1315
steps:
1416
- uses: actions/checkout@v4
1517

16-
- uses: pnpm/action-setup@v3
18+
- name: Cache pnpm
19+
uses: actions/cache@v4
1720
with:
18-
version: 9.15.0
21+
path: |
22+
~/.pnpm-store
23+
**/node_modules
24+
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
25+
restore-keys: ${{ runner.os }}-pnpm-
1926

20-
- uses: actions/setup-node@v4
27+
- name: Setup pnpm
28+
uses: pnpm/action-setup@v3
2129
with:
22-
node-version: "23.3.0"
23-
cache: "pnpm"
30+
version: 9.15.0
2431

2532
- name: Run smoke tests
2633
run: pnpm run smokeTests

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ tsup.config.bundled_*.mjs
5252
.turbo
5353
.cursorrules
5454
.pnpm-store
55+
instructions.md
56+
wallet_data.txt
5557

5658
coverage
5759
.eslintcache

README.md

+6-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
## 🌍 README Translations
1414

15-
[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Persian](./README_FA.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md) | [ไทย](./README_TH.md) | [Deutsch](./README_DE.md) | [Tiếng Việt](./README_VI.md) | [עִברִית](https://github.com/elizaos/Elisa/blob/main/README_HE.md) | [Tagalog](./README_TG.md) | [Polski](./README_PL.md) | [Arabic](./README_AR.md) | [Hungarian](./README_HU.md) | [Srpski](./README_RS.md) | [Română](./README_RO.md) | [Nederlands](./README_NL.md) | [Ελληνικά](./README_GR.md)
15+
[中文说明](i18n/readme/README_CN.md) | [日本語の説明](i18n/readme/README_JA.md) | [한국어 설명](i18n/readme/README_KOR.md) | [Persian](i18n/readme/README_FA.md) | [Français](i18n/readme/README_FR.md) | [Português](i18n/readme/README_PTBR.md) | [Türkçe](i18n/readme/README_TR.md) | [Русский](i18n/readme/README_RU.md) | [Español](i18n/readme/README_ES.md) | [Italiano](i18n/readme/README_IT.md) | [ไทย](i18n/readme/README_TH.md) | [Deutsch](i18n/readme/README_DE.md) | [Tiếng Việt](i18n/readme/README_VI.md) | [עִברִית](i18n/readme/README_HE.md) | [Tagalog](i18n/readme/README_TG.md) | [Polski](i18n/readme/README_PL.md) | [Arabic](i18n/readme/README_AR.md) | [Hungarian](i18n/readme/README_HU.md) | [Srpski](i18n/readme/README_RS.md) | [Română](i18n/readme/README_RO.md) | [Nederlands](i18n/readme/README_NL.md) | [Ελληνικά](i18n/readme/README_GR.md)
1616

1717
## 🚩 Overview
1818

@@ -85,7 +85,6 @@ cp .env.example .env
8585

8686
Note: .env is optional. If you're planning to run multiple distinct agents, you can pass secrets through the character JSON
8787

88-
8988
#### Start Eliza
9089

9190
```bash
@@ -99,17 +98,17 @@ pnpm clean
9998

10099
### Interact via Browser
101100

102-
```
103101
Once the agent is running, you should see the message to run "pnpm start:client" at the end.
104-
Open another terminal and move to same directory and then run below command and follow the URL to chat to your agent.
102+
103+
Open another terminal, move to same directory, run the command below, then follow the URL to chat with your agent.
105104

106105
```bash
107106
pnpm start:client
108107
```
109108

110109
Then read the [Documentation](https://elizaos.github.io/eliza/) to learn how to customize your Eliza.
111110

112-
----
111+
---
113112

114113
### Automatically Start Eliza
115114

@@ -123,7 +122,7 @@ For detailed instructions on using the start script, including character managem
123122

124123
> **Note**: The start script handles all dependencies, environment setup, and character management automatically.
125124
126-
----
125+
---
127126

128127
### Modify Character
129128

@@ -144,8 +143,8 @@ You may need to install Sharp. If you see an error when starting up, try install
144143
```
145144
pnpm install --include=optional sharp
146145
```
147-
---
148146

147+
---
149148

150149
### Start Eliza with Gitpod
151150

0 commit comments

Comments
 (0)