Skip to content

Commit 7670190

Browse files
authored
Merge branch 'develop' into fix/1753-secure-0g-file-upload
2 parents abd7a49 + f37275e commit 7670190

File tree

358 files changed

+23454
-12334
lines changed

Some content is hidden

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

358 files changed

+23454
-12334
lines changed

.env.example

+121-27
Original file line numberDiff line numberDiff line change
@@ -100,32 +100,32 @@ MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruc
100100
LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct
101101

102102
# Infera Configuration
103-
INFERA_API_KEY= # visit api.infera.org/docs to obtain an API key under /signup_user
104-
INFERA_MODEL= # Default: llama3.2:latest
105-
INFERA_SERVER_URL= # Default: https://api.infera.org/
106-
SMALL_INFERA_MODEL= #Recommended: llama3.2:latest
107-
MEDIUM_INFERA_MODEL= #Recommended: mistral-nemo:latest
108-
LARGE_INFERA_MODEL= #Recommended: mistral-small:latest
109-
110-
# Venice Configuration
111-
VENICE_API_KEY= # generate from venice settings
112-
SMALL_VENICE_MODEL= # Default: llama-3.3-70b
113-
MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b
114-
LARGE_VENICE_MODEL= # Default: llama-3.1-405b
115-
IMAGE_VENICE_MODEL= # Default: fluently-xl
116-
117-
# Nineteen.ai Configuration
118-
NINETEEN_AI_API_KEY= # Get a free api key from https://nineteen.ai/app/api
119-
SMALL_NINETEEN_AI_MODEL= # Default: unsloth/Llama-3.2-3B-Instruct
120-
MEDIUM_NINETEEN_AI_MODEL= # Default: unsloth/Meta-Llama-3.1-8B-Instruct
121-
LARGE_NINETEEN_AI_MODEL= # Default: hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4
122-
IMAGE_NINETEEN_AI_MODE= # Default: dataautogpt3/ProteusV0.4-Lightning
123-
124-
# Akash Chat API Configuration docs: https://chatapi.akash.network/documentation
125-
AKASH_CHAT_API_KEY= # Get from https://chatapi.akash.network/
126-
SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct
127-
MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct
128-
LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8
103+
INFERA_API_KEY= # visit api.infera.org/docs to obtain an API key under /signup_user
104+
INFERA_MODEL= # Default: llama3.2:latest
105+
INFERA_SERVER_URL= # Default: https://api.infera.org/
106+
SMALL_INFERA_MODEL= #Recommended: llama3.2:latest
107+
MEDIUM_INFERA_MODEL= #Recommended: mistral-nemo:latest
108+
LARGE_INFERA_MODEL= #Recommended: mistral-small:latest
109+
110+
# Venice Configuration
111+
VENICE_API_KEY= # generate from venice settings
112+
SMALL_VENICE_MODEL= # Default: llama-3.3-70b
113+
MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b
114+
LARGE_VENICE_MODEL= # Default: llama-3.1-405b
115+
IMAGE_VENICE_MODEL= # Default: fluently-xl
116+
117+
# Nineteen.ai Configuration
118+
NINETEEN_AI_API_KEY= # Get a free api key from https://nineteen.ai/app/api
119+
SMALL_NINETEEN_AI_MODEL= # Default: unsloth/Llama-3.2-3B-Instruct
120+
MEDIUM_NINETEEN_AI_MODEL= # Default: unsloth/Meta-Llama-3.1-8B-Instruct
121+
LARGE_NINETEEN_AI_MODEL= # Default: hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4
122+
IMAGE_NINETEEN_AI_MODE= # Default: dataautogpt3/ProteusV0.4-Lightning
123+
124+
# Akash Chat API Configuration docs: https://chatapi.akash.network/documentation
125+
AKASH_CHAT_API_KEY= # Get from https://chatapi.akash.network/
126+
SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct
127+
MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct
128+
LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8
129129

130130
# Livepeer configuration
131131
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
@@ -184,6 +184,12 @@ MEDIUM_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest
184184
LARGE_GOOGLE_MODEL= # Default: gemini-1.5-pro-latest
185185
EMBEDDING_GOOGLE_MODEL= # Default: text-embedding-004
186186

187+
# Mistral Configuration
188+
MISTRAL_MODEL=
189+
SMALL_MISTRAL_MODEL= # Default: mistral-small-latest
190+
MEDIUM_MISTRAL_MODEL= # Default: mistral-large-latest
191+
LARGE_MISTRAL_MODEL= # Default: mistral-large-latest
192+
187193
# Groq Configuration
188194
GROQ_API_KEY= # Starts with gsk_
189195
SMALL_GROQ_MODEL= # Default: llama-3.1-8b-instant
@@ -232,6 +238,13 @@ MEDIUM_VOLENGINE_MODEL= # Default: doubao-pro-128k
232238
LARGE_VOLENGINE_MODEL= # Default: doubao-pro-256k
233239
VOLENGINE_EMBEDDING_MODEL= # Default: doubao-embedding
234240

241+
# DeepSeek Configuration
242+
DEEPSEEK_API_URL= # Default: https://api.deepseek.com
243+
SMALL_DEEPSEEK_MODEL= # Default: deepseek-chat
244+
MEDIUM_DEEPSEEK_MODEL= # Default: deepseek-chat
245+
LARGE_DEEPSEEK_MODEL= # Default: deepseek-chat
246+
247+
235248
# fal.ai Configuration
236249
FAL_API_KEY=
237250
FAL_AI_LORA_PATH=
@@ -240,17 +253,30 @@ FAL_AI_LORA_PATH=
240253
LETZAI_API_KEY= # LetzAI API Key
241254
LETZAI_MODELS= # list of Letzai models to add to each prompt, e.g.: "@modelname1, @modelname2"
242255

256+
# Galadriel Configuration
257+
GALADRIEL_API_KEY=gal-* # Get from https://dashboard.galadriel.com/
258+
SMALL_GALADRIEL_MODEL= # Default: gpt-4o-mini
259+
MEDIUM_GALADRIEL_MODEL= # Default: gpt-4o
260+
LARGE_GALADRIEL_MODEL= # Default: gpt-4o
261+
GALADRIEL_FINE_TUNE_API_KEY= # Use an OpenAI key to use a fine-tuned model with the verified inference endpoint
262+
243263
# Remaining Provider Configurations
244264
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
245265
ALI_BAILIAN_API_KEY= # Ali Bailian API Key
246266
NANOGPT_API_KEY= # NanoGPT API Key
247-
GALADRIEL_API_KEY=gal-* # Get from https://dashboard.galadriel.com/
248267
TOGETHER_API_KEY= # Together API Key
249268

250269
######################################
251270
#### Crypto Plugin Configurations ####
252271
######################################
253272

273+
# CoinMarketCap / CMC
274+
COINMARKETCAP_API_KEY=
275+
276+
# CoinGecko
277+
COINGECKO_API_KEY=
278+
COINGECKO_PRO_API_KEY=
279+
254280
# EVM
255281
EVM_PRIVATE_KEY=
256282
EVM_PROVIDER_URL=
@@ -293,6 +319,10 @@ STARKNET_ADDRESS=
293319
STARKNET_PRIVATE_KEY=
294320
STARKNET_RPC_URL=
295321

322+
# Lens Network Configuration
323+
LENS_ADDRESS=
324+
LENS_PRIVATE_KEY=
325+
296326
# Coinbase
297327
COINBASE_COMMERCE_KEY= # From Coinbase developer portal
298328
COINBASE_API_KEY= # From Coinbase developer portal
@@ -334,6 +364,8 @@ ZEROG_FLOW_ADDRESS=
334364
TEE_MODE=OFF # LOCAL | DOCKER | PRODUCTION
335365
WALLET_SECRET_SALT= # ONLY define if you want to use TEE Plugin, otherwise it will throw errors
336366

367+
ENABLE_TEE_LOG=false # Set to true to enable TEE logging, only available when running eliza in TEE
368+
337369
# Flow Blockchain Configuration
338370
FLOW_ADDRESS=
339371
FLOW_PRIVATE_KEY= # Private key for SHA3-256 + P256 ECDSA
@@ -344,6 +376,12 @@ FLOW_ENDPOINT_URL= # Default: https://mainnet.onflow.org
344376
INTERNET_COMPUTER_PRIVATE_KEY=
345377
INTERNET_COMPUTER_ADDRESS=
346378

379+
380+
#Cloudflare AI Gateway
381+
CLOUDFLARE_GW_ENABLED= # Set to true to enable Cloudflare AI Gateway
382+
CLOUDFLARE_AI_ACCOUNT_ID= # Cloudflare AI Account ID - found in the Cloudflare Dashboard under AI Gateway
383+
CLOUDFLARE_AI_GATEWAY_ID= # Cloudflare AI Gateway ID - found in the Cloudflare Dashboard under AI Gateway
384+
347385
# Aptos
348386
APTOS_PRIVATE_KEY= # Aptos private key
349387
APTOS_NETWORK= # Must be one of mainnet, testnet
@@ -426,6 +464,8 @@ GIPHY_API_KEY=
426464
# OpenWeather
427465
OPEN_WEATHER_API_KEY= # OpenWeather API key
428466

467+
468+
429469
# EchoChambers Configuration
430470
ECHOCHAMBERS_API_URL=http://127.0.0.1:3333
431471
ECHOCHAMBERS_API_KEY=testingkey0011
@@ -459,3 +499,57 @@ TAVILY_API_KEY=
459499
# Verifiable Inference Configuration
460500
VERIFIABLE_INFERENCE_ENABLED=false # Set to false to disable verifiable inference
461501
VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity
502+
503+
504+
# Autonome Configuration
505+
AUTONOME_JWT_TOKEN=
506+
AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps
507+
508+
####################################
509+
#### Akash Network Configuration ####
510+
####################################
511+
AKASH_ENV=mainnet
512+
AKASH_NET=https://raw.githubusercontent.com/ovrclk/net/master/mainnet
513+
RPC_ENDPOINT=https://rpc.akashnet.net:443
514+
AKASH_GAS_PRICES=0.025uakt
515+
AKASH_GAS_ADJUSTMENT=1.5
516+
AKASH_KEYRING_BACKEND=os
517+
AKASH_FROM=default
518+
AKASH_FEES=20000uakt
519+
AKASH_DEPOSIT=500000uakt
520+
AKASH_MNEMONIC=
521+
AKASH_WALLET_ADDRESS=
522+
# Akash Pricing API
523+
AKASH_PRICING_API_URL=https://console-api.akash.network/v1/pricing
524+
# Default values # 1 CPU = 1000 1GB = 1000000000 1GB = 1000000000
525+
AKASH_DEFAULT_CPU=1000
526+
AKASH_DEFAULT_MEMORY=1000000000
527+
AKASH_DEFAULT_STORAGE=1000000000
528+
AKASH_SDL=example.sdl.yml
529+
# Close deployment
530+
# Close all deployments = closeAll
531+
# Close a single deployment = dseq and add the value in AKASH_CLOSE_DSEQ
532+
AKASH_CLOSE_DEP=closeAll
533+
AKASH_CLOSE_DSEQ=19729929
534+
# Provider Info we added one to check you will have to pass this into the action
535+
AKASH_PROVIDER_INFO=akash1ccktptfkvdc67msasmesuy5m7gpc76z75kukpz
536+
# Deployment Status
537+
# AKASH_DEP_STATUS = dseq or param_passed when you are building you wil pass the dseq dinamically to test you
538+
# you can pass the dseq using AKASH_DEP_DSEQ 19729929 is an example of a dseq we test while build.
539+
AKASH_DEP_STATUS=dseq
540+
AKASH_DEP_DSEQ=19729929
541+
# Gas Estimation Options: close, create, or update
542+
# qseq is required when operation is "close" 19729929 is an example of a dseq we test while build.
543+
AKASH_GAS_OPERATION=close
544+
AKASH_GAS_DSEQ=19729929
545+
# Manifest
546+
# Values: "auto" | "manual" | "validate_only" Default: "auto"
547+
AKASH_MANIFEST_MODE=auto
548+
# Default: Will use the SDL directory
549+
AKASH_MANIFEST_PATH=
550+
# Values: "strict" | "lenient" | "none" - Default: "strict"
551+
AKASH_MANIFEST_VALIDATION_LEVEL=strict
552+
553+
# Quai Network Ecosystem
554+
QUAI_PRIVATE_KEY=
555+
QUAI_RPC_URL=https://rpc.quai.network

.github/workflows/integrationTests.yaml

+6-9
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
push:
44
branches:
55
- "*"
6-
pull_request_target:
6+
pull_request:
77
branches:
88
- "*"
99

@@ -33,12 +33,9 @@ jobs:
3333
- name: Build packages
3434
run: pnpm build
3535

36-
- name: Check for API key
37-
run: |
38-
if [ -z "$OPENAI_API_KEY" ]; then
39-
echo "Error: OPENAI_API_KEY is not set."
40-
exit 1
41-
fi
42-
4336
- name: Run integration tests
44-
run: pnpm run integrationTests
37+
env:
38+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
39+
COINBASE_COMMERCE_KEY: ${{ secrets.COINBASE_COMMERCE_KEY }}
40+
run: |
41+
pnpm run integrationTests

.github/workflows/pnpm-lockfile-check.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Pnpm Lockfile Check
22

33
on:
44
pull_request:
5-
branches: ["*"]
5+
branches: [main]
66

77
jobs:
88
check-lockfile:
@@ -38,4 +38,4 @@ jobs:
3838
owner: context.repo.owner,
3939
repo: context.repo.repo,
4040
body: '❌ The pnpm-lockfile is out of date. Please run `pnpm install --no-frozen-lockfile` and commit the updated pnpm-lock.yaml file.'
41-
})
41+
})

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,7 @@ coverage
5757
.eslintcache
5858

5959
agent/content
60+
61+
eliza.manifest
62+
eliza.manifest.sgx
63+
eliza.sig

.vscode/settings.json

+11
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,16 @@
4343
},
4444
"[shellscript]": {
4545
"editor.defaultFormatter": "foxundermoon.shell-format"
46+
},
47+
"explorer.fileNesting.enabled": true,
48+
"explorer.fileNesting.patterns": {
49+
"*.ts": "${capture}.js",
50+
"*.js": "${capture}.js.map, ${capture}.min.js, ${capture}.d.ts",
51+
"*.jsx": "${capture}.js",
52+
"*.tsx": "${capture}.ts",
53+
"tsconfig.json": "tsconfig.*.json",
54+
"package.json": "package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb,pnpm-workspace.yaml",
55+
"README.md": "*.md",
56+
"Dockerfile": "docker-compose-docs.yaml,docker-compose.yaml,Dockerfile.docs"
4657
}
4758
}

Makefile

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright (C) 2024 Gramine contributors
2+
# SPDX-License-Identifier: BSD-3-Clause
3+
4+
THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
5+
NODEJS_DIR ?= /usr/bin
6+
7+
ARCH_LIBDIR ?= /lib/$(shell $(CC) -dumpmachine)
8+
9+
ifeq ($(DEBUG),1)
10+
GRAMINE_LOG_LEVEL = debug
11+
else
12+
GRAMINE_LOG_LEVEL = error
13+
endif
14+
15+
.PHONY: all
16+
all: eliza.manifest
17+
ifeq ($(SGX),1)
18+
all: eliza.manifest.sgx eliza.sig
19+
endif
20+
21+
.PHONY: eliza.manifest
22+
eliza.manifest: eliza.manifest.template
23+
gramine-manifest \
24+
-Dlog_level=$(GRAMINE_LOG_LEVEL) \
25+
-Darch_libdir=$(ARCH_LIBDIR) \
26+
-Dnodejs_dir=$(NODEJS_DIR) \
27+
$< >$@
28+
29+
# Make on Ubuntu <= 20.04 doesn't support "Rules with Grouped Targets" (`&:`),
30+
# for details on this workaround see
31+
# https://github.com/gramineproject/gramine/blob/e8735ea06c/CI-Examples/helloworld/Makefile
32+
eliza.manifest.sgx eliza.sig: sgx_sign
33+
@:
34+
35+
.INTERMEDIATE: sgx_sign
36+
sgx_sign: eliza.manifest
37+
gramine-sgx-sign \
38+
--manifest $< \
39+
--output $<.sgx
40+
41+
ifeq ($(SGX),)
42+
GRAMINE = gramine-direct
43+
else
44+
GRAMINE = gramine-sgx
45+
endif
46+
47+
# Start the default character:
48+
# SGX=1 make start
49+
# Start a specific character by passing arguments:
50+
# SGX=1 make start -- --character "character/your_character_file.json"
51+
.PHONY: start
52+
start: all
53+
$(GRAMINE) ./eliza --loader ts-node/esm src/index.ts --isRoot $(filter-out $@,$(MAKECMDGOALS))
54+
.PHONY: clean
55+
clean:
56+
$(RM) *.manifest *.manifest.sgx *.sig
57+
58+
.PHONY: distclean
59+
distclean: clean

README.md

+3-1
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) | [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)
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)
1616

1717
## 🚩 Overview
1818

@@ -80,6 +80,8 @@ git clone https://github.com/elizaos/eliza.git
8080
# Checkout the latest release
8181
# This project iterates fast, so we recommend checking out the latest release
8282
git checkout $(git describe --tags --abbrev=0)
83+
# If the above doesn't checkout the latest release, this should work:
84+
# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
8385
```
8486

8587
### Start Eliza with Gitpod

0 commit comments

Comments
 (0)