Skip to content

Commit 78441bd

Browse files
authored
Merge branch 'develop' into main
2 parents 5720176 + 0bdafda commit 78441bd

Some content is hidden

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

87 files changed

+5145
-1803
lines changed

.env.example

+50-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=
@@ -363,6 +376,12 @@ FLOW_ENDPOINT_URL= # Default: https://mainnet.onflow.org
363376
INTERNET_COMPUTER_PRIVATE_KEY=
364377
INTERNET_COMPUTER_ADDRESS=
365378

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+
366385
# Aptos
367386
APTOS_PRIVATE_KEY= # Aptos private key
368387
APTOS_NETWORK= # Must be one of mainnet, testnet
@@ -529,4 +548,8 @@ AKASH_MANIFEST_MODE=auto
529548
# Default: Will use the SDL directory
530549
AKASH_MANIFEST_PATH=
531550
# Values: "strict" | "lenient" | "none" - Default: "strict"
532-
AKASH_MANIFEST_VALIDATION_LEVEL=strict
551+
AKASH_MANIFEST_VALIDATION_LEVEL=strict
552+
553+
# Quai Network Ecosystem
554+
QUAI_PRIVATE_KEY=
555+
QUAI_RPC_URL=https://rpc.quai.network

agent/package.json

+6-3
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
"@elizaos/plugin-0g": "workspace:*",
3535
"@elizaos/plugin-abstract": "workspace:*",
3636
"@elizaos/plugin-aptos": "workspace:*",
37-
"@elizaos/plugin-coingecko": "workspace:*",
3837
"@elizaos/plugin-coinmarketcap": "workspace:*",
3938
"@elizaos/plugin-coingecko": "workspace:*",
4039
"@elizaos/plugin-binance": "workspace:*",
@@ -54,7 +53,8 @@
5453
"@elizaos/plugin-icp": "workspace:*",
5554
"@elizaos/plugin-image-generation": "workspace:*",
5655
"@elizaos/plugin-movement": "workspace:*",
57-
"@elizaos/plugin-nft-generation": "workspace:*",
56+
"@elizaos/plugin-massa": "workspace:*",
57+
"@elizaos/plugin-nft-generation": "workspace:*",
5858
"@elizaos/plugin-node": "workspace:*",
5959
"@elizaos/plugin-solana": "workspace:*",
6060
"@elizaos/plugin-solana-agentkit": "workspace:*",
@@ -72,6 +72,7 @@
7272
"@elizaos/plugin-near": "workspace:*",
7373
"@elizaos/plugin-zksync-era": "workspace:*",
7474
"@elizaos/plugin-twitter": "workspace:*",
75+
"@elizaos/plugin-primus": "workspace:*",
7576
"@elizaos/plugin-cronoszkevm": "workspace:*",
7677
"@elizaos/plugin-3d-generation": "workspace:*",
7778
"@elizaos/plugin-fuel": "workspace:*",
@@ -87,7 +88,9 @@
8788
"@elizaos/plugin-arthera": "workspace:*",
8889
"@elizaos/plugin-allora": "workspace:*",
8990
"@elizaos/plugin-opacity": "workspace:*",
91+
"@elizaos/plugin-hyperliquid": "workspace:*",
9092
"@elizaos/plugin-akash": "workspace:*",
93+
"@elizaos/plugin-quai": "workspace:*",
9194
"readline": "1.3.0",
9295
"ws": "8.18.0",
9396
"yargs": "17.7.2"
@@ -99,4 +102,4 @@
99102
"ts-node": "10.9.2",
100103
"tsup": "8.3.5"
101104
}
102-
}
105+
}

agent/src/index.ts

+33-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ import { SlackClientInterface } from "@elizaos/client-slack";
1010
import { TelegramClientInterface } from "@elizaos/client-telegram";
1111
import { TwitterClientInterface } from "@elizaos/client-twitter";
1212
// import { ReclaimAdapter } from "@elizaos/plugin-reclaim";
13+
import { DirectClient } from "@elizaos/client-direct";
14+
import { PrimusAdapter } from "@elizaos/plugin-primus";
15+
1316
import {
1417
AgentRuntime,
1518
CacheManager,
@@ -84,19 +87,21 @@ import { webSearchPlugin } from "@elizaos/plugin-web-search";
8487
import { giphyPlugin } from "@elizaos/plugin-giphy";
8588
import { letzAIPlugin } from "@elizaos/plugin-letzai";
8689
import { thirdwebPlugin } from "@elizaos/plugin-thirdweb";
87-
90+
import { hyperliquidPlugin } from "@elizaos/plugin-hyperliquid";
8891
import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era";
8992

9093
import { OpacityAdapter } from "@elizaos/plugin-opacity";
9194
import { openWeatherPlugin } from "@elizaos/plugin-open-weather";
9295
import { stargazePlugin } from "@elizaos/plugin-stargaze";
9396
import { akashPlugin } from "@elizaos/plugin-akash";
97+
import { quaiPlugin } from "@elizaos/plugin-quai";
9498
import Database from "better-sqlite3";
9599
import fs from "fs";
96100
import net from "net";
97101
import path from "path";
98102
import { fileURLToPath } from "url";
99103
import yargs from "yargs";
104+
import {dominosPlugin} from "@elizaos/plugin-dominos";
100105

101106
const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file
102107
const __dirname = path.dirname(__filename); // get the name of the directory
@@ -398,6 +403,11 @@ export function getTokenForProvider(
398403
character.settings?.secrets?.GOOGLE_GENERATIVE_AI_API_KEY ||
399404
settings.GOOGLE_GENERATIVE_AI_API_KEY
400405
);
406+
case ModelProviderName.MISTRAL:
407+
return (
408+
character.settings?.secrets?.MISTRAL_API_KEY ||
409+
settings.MISTRAL_API_KEY
410+
);
401411
case ModelProviderName.LETZAI:
402412
return (
403413
character.settings?.secrets?.LETZAI_API_KEY ||
@@ -616,6 +626,19 @@ export async function createAgent(
616626
elizaLogger.log("modelProvider", character.modelProvider);
617627
elizaLogger.log("token", token);
618628
}
629+
if (
630+
process.env.PRIMUS_APP_ID &&
631+
process.env.PRIMUS_APP_SECRET &&
632+
process.env.VERIFIABLE_INFERENCE_ENABLED === "true"){
633+
verifiableInferenceAdapter = new PrimusAdapter({
634+
appId: process.env.PRIMUS_APP_ID,
635+
appSecret: process.env.PRIMUS_APP_SECRET,
636+
attMode: "proxytls",
637+
modelProvider: character.modelProvider,
638+
token,
639+
});
640+
elizaLogger.log("Verifiable inference primus adapter initialized");
641+
}
619642

620643
return new AgentRuntime({
621644
databaseAdapter: db,
@@ -758,10 +781,19 @@ export async function createAgent(
758781
? artheraPlugin
759782
: null,
760783
getSecret(character, "ALLORA_API_KEY") ? alloraPlugin : null,
784+
getSecret(character, "HYPERLIQUID_PRIVATE_KEY")
785+
? hyperliquidPlugin
786+
: null,
787+
getSecret(character, "HYPERLIQUID_TESTNET")
788+
? hyperliquidPlugin
789+
: null,
761790
getSecret(character, "AKASH_MNEMONIC") &&
762791
getSecret(character, "AKASH_WALLET_ADDRESS")
763792
? akashPlugin
764793
: null,
794+
getSecret(character, "QUAI_PRIVATE_KEY")
795+
? quaiPlugin
796+
: null,
765797
].filter(Boolean),
766798
providers: [],
767799
actions: [],

0 commit comments

Comments
 (0)