Skip to content

Commit ea0984f

Browse files
authored
Merge pull request #33 from ai16z/main
merge from main
2 parents 6d6296e + 9402000 commit ea0984f

File tree

383 files changed

+32750
-14129
lines changed

Some content is hidden

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

383 files changed

+32750
-14129
lines changed

.env.example

+77-44
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
1-
# Required environment variables
1+
# Discord Configuration
22
DISCORD_APPLICATION_ID=
3-
DISCORD_API_TOKEN= # Bot token
4-
OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk-
5-
REDPILL_API_KEY= # REDPILL API Key
6-
GROK_API_KEY= # GROK API Key
7-
GROQ_API_KEY=gsk_*
3+
DISCORD_API_TOKEN= # Bot token
4+
5+
# AI Model API Keys
6+
OPENAI_API_KEY= # OpenAI API key, starting with sk-
7+
REDPILL_API_KEY= # REDPILL API Key
8+
GROK_API_KEY= # GROK API Key
9+
GROQ_API_KEY= # Starts with gsk_
810
OPENROUTER_API_KEY=
9-
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
11+
GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
1012

11-
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
13+
# Speech Synthesis
14+
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
1215

13-
# ELEVENLABS SETTINGS
16+
# ElevenLabs Settings
1417
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
1518
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
1619
ELEVENLABS_VOICE_STABILITY=0.5
@@ -20,72 +23,102 @@ ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
2023
ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
2124
ELEVENLABS_OUTPUT_FORMAT=pcm_16000
2225

26+
# Twitter/X Configuration
2327
TWITTER_DRY_RUN=false
24-
TWITTER_USERNAME= # Account username
25-
TWITTER_PASSWORD= # Account password
26-
TWITTER_EMAIL= # Account email
27-
TWITTER_COOKIES= # Account cookies
28-
28+
TWITTER_USERNAME= # Account username
29+
TWITTER_PASSWORD= # Account password
30+
TWITTER_EMAIL= # Account email
31+
TWITTER_COOKIES= # Account cookies
2932
X_SERVER_URL=
3033
XAI_API_KEY=
3134
XAI_MODEL=
3235

33-
#POST INTERVAL RANDOM MIN-MAX MINUTES
34-
POST_INTERVAL_MIN= #90 #Default
35-
POST_INTERVAL_MAX= #180 #Default
36-
37-
38-
#USE IMAGE GEN
39-
IMAGE_GEN= #TRUE
36+
# Post Interval Settings (in minutes)
37+
POST_INTERVAL_MIN= # Default: 90
38+
POST_INTERVAL_MAX= # Default: 180
4039

41-
#Leave blank to use local embeddings
42-
USE_OPENAI_EMBEDDING= #TRUE
40+
# Feature Flags
41+
IMAGE_GEN= # Set to TRUE to enable image generation
42+
USE_OPENAI_EMBEDDING= # Set to TRUE for OpenAI, leave blank for local
4343

44-
#OpenRouter (Use one model for everything or set individual for small, medium, large tasks)
45-
#leave blank to use defaults hermes 70b for small tasks & 405b for medium/large tasks
46-
OPENROUTER_MODEL=
44+
# OpenRouter Models
45+
OPENROUTER_MODEL= # Default: uses hermes 70b/405b
4746
SMALL_OPENROUTER_MODEL=
48-
MEDIUM_OLLAMA_MODEL=
49-
LARGE_OLLAMA_MODEL=
47+
MEDIUM_OPENROUTER_MODEL=
48+
LARGE_OPENROUTER_MODEL=
5049

51-
52-
#Set to Use for New OLLAMA provider
53-
OLLAMA_SERVER_URL= #Leave blank for default localhost:11434
50+
# Ollama Configuration
51+
OLLAMA_SERVER_URL= # Default: localhost:11434
5452
OLLAMA_MODEL=
55-
OLLAMA_EMBEDDING_MODEL= #default mxbai-embed-large
56-
#To use custom model types for different tasks set these
57-
SMALL_OLLAMA_MODEL= #default llama3.2
58-
MEDIUM_OLLAMA_MODEL= #default herems3
59-
LARGE_OLLAMA_MODEL= #default hermes3:70b
53+
OLLAMA_EMBEDDING_MODEL= # Default: mxbai-embed-large
54+
SMALL_OLLAMA_MODEL= # Default: llama3.2
55+
MEDIUM_OLLAMA_MODEL= # Default: hermes3
56+
LARGE_OLLAMA_MODEL= # Default: hermes3:70b
6057

61-
# For asking Claude stuff
62-
ANTHROPIC_API_KEY=
58+
# API Keys
59+
ANTHROPIC_API_KEY= # For Claude
60+
HEURIST_API_KEY= # Get from https://heurist.ai/dev-access
6361

64-
# Heurist API (Get API Key at https://heurist.ai/dev-access)
65-
HEURIST_API_KEY=
62+
# Heurist Models
6663
SMALL_HEURIST_LANGUAGE_MODEL=
6764
MEDIUM_HEURIST_LANGUAGE_MODEL=
6865
LARGE_HEURIST_LANGUAGE_MODEL=
6966
HEURIST_IMAGE_MODEL=
7067

68+
# Wallet Configuration
7169
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY
7270
WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
73-
7471
BIRDEYE_API_KEY=
7572

73+
# Solana Configuration
7674
SOL_ADDRESS=So11111111111111111111111111111111111111112
7775
SLIPPAGE=1
7876
BASE_MINT=So11111111111111111111111111111111111111112
7977
RPC_URL=https://api.mainnet-beta.solana.com
8078
HELIUS_API_KEY=
8179

82-
83-
## Telegram
80+
# Telegram Configuration
8481
TELEGRAM_BOT_TOKEN=
8582

83+
# Together Configuration
8684
TOGETHER_API_KEY=
85+
86+
# Server Configuration
8787
SERVER_PORT=3000
8888

89-
# Starknet
89+
# Starknet Configuration
9090
STARKNET_ADDRESS=
9191
STARKNET_PRIVATE_KEY=
92+
STARKNET_RPC_URL=
93+
94+
95+
# Farcaster
96+
FARCASTER_HUB_URL=
97+
FARCASTER_FID=
98+
FARCASTER_PRIVATE_KEY=
99+
100+
# Coinbase
101+
COINBASE_COMMERCE_KEY= # from coinbase developer portal
102+
COINBASE_API_KEY= # from coinbase developer portal
103+
COINBASE_PRIVATE_KEY= # from coinbase developer portal
104+
# if not configured it will be generated and written to runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_ID and runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_HEX_SEED
105+
COINBASE_GENERATED_WALLET_ID= # not your address but the wallet id from generating a wallet through the plugin
106+
COINBASE_GENERATED_WALLET_HEX_SEED= # not your address but the wallet hex seed from generating a wallet through the plugin and calling export
107+
108+
# Conflux Configuration
109+
CONFLUX_CORE_PRIVATE_KEY=
110+
CONFLUX_CORE_SPACE_RPC_URL=
111+
CONFLUX_ESPACE_PRIVATE_KEY=
112+
CONFLUX_ESPACE_RPC_URL=
113+
CONFLUX_MEME_CONTRACT_ADDRESS=
114+
115+
#ZeroG
116+
ZEROG_INDEXER_RPC=
117+
ZEROG_EVM_RPC=
118+
ZEROG_PRIVATE_KEY=
119+
ZEROG_FLOW_ADDRESS=
120+
121+
122+
# Coinbase Commerce
123+
COINBASE_COMMERCE_KEY=
124+

.github/pull_request_template.md

+6
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,9 @@ None, automtated tests are fine.
7777
<!--
7878
## Deployment instructions
7979
-->
80+
81+
<!-- If you are on Discord, please join https://discord.gg/ai16z and state your Discord username here for contribute role and join us in #development-feed -->
82+
<!--
83+
## Discord username
84+
85+
-->

.github/workflows/ci.yaml

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,16 @@ jobs:
2525
- name: Run Prettier
2626
run: pnpm run prettier --check .
2727

28+
- name: Run Linter
29+
run: pnpm run lint
30+
2831
- name: Create test env file
2932
run: |
3033
echo "TEST_DATABASE_CLIENT=sqlite" > packages/core/.env.test
3134
echo "NODE_ENV=test" >> packages/core/.env.test
3235
33-
# - name: Run tests
34-
# run: cd packages/core && pnpm test // YOLO FOR NOW
36+
- name: Run tests
37+
run: cd packages/core && pnpm test
3538

3639
- name: Build packages
3740
run: pnpm run build

.github/workflows/pre-release.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Pre-Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
release_type:
7+
description: "Type of release (prerelease, prepatch, patch, minor, preminor, major)"
8+
required: true
9+
default: "prerelease"
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- uses: actions/setup-node@v4
20+
with:
21+
node-version: 22
22+
23+
- uses: pnpm/action-setup@v3
24+
with:
25+
version: 8
26+
27+
- name: Configure Git
28+
run: |
29+
git config user.name "${{ github.actor }}"
30+
git config user.email "${{ github.actor }}@users.noreply.github.com"
31+
32+
- name: "Setup npm for npmjs"
33+
run: |
34+
npm config set registry https://registry.npmjs.org/
35+
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
36+
37+
- name: Install Protobuf Compiler
38+
run: sudo apt-get install -y protobuf-compiler
39+
40+
- name: Install dependencies
41+
run: pnpm install
42+
43+
- name: Build packages
44+
run: pnpm run build
45+
46+
- name: Tag and Publish Packages
47+
id: tag_publish
48+
run: |
49+
RELEASE_TYPE=${{ github.event_name == 'push' && 'prerelease' || github.event.inputs.release_type }}
50+
npx lerna version $RELEASE_TYPE --conventional-commits --yes --no-private --force-publish
51+
npx lerna publish from-git --yes --dist-tag next
52+
53+
- name: Get Version Tag
54+
id: get_tag
55+
run: echo "TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
56+
57+
- name: Generate Release Body
58+
id: release_body
59+
run: |
60+
if [ -f CHANGELOG.md ]; then
61+
echo "body=$(cat CHANGELOG.md)" >> $GITHUB_OUTPUT
62+
else
63+
echo "body=No changelog provided for this release." >> $GITHUB_OUTPUT
64+
fi
65+
66+
- name: Create GitHub Release
67+
uses: actions/create-release@v1
68+
env:
69+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
70+
PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
71+
with:
72+
tag_name: ${{ steps.get_tag.outputs.TAG }}
73+
release_name: Release
74+
body_path: CHANGELOG.md
75+
draft: false
76+
prerelease: ${{ github.event_name == 'push' }}

.github/workflows/release.yaml

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ jobs:
1616
with:
1717
fetch-depth: 0
1818

19+
- uses: actions/setup-node@v4
20+
with:
21+
node-version: 22
22+
1923
- uses: pnpm/action-setup@v3
2024
with:
2125
version: 8
@@ -61,7 +65,7 @@ jobs:
6165
- name: Create GitHub Release
6266
uses: actions/create-release@v1
6367
env:
64-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
6569
PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
6670
with:
6771
tag_name: ${{ steps.get_tag.outputs.TAG }}

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ twitter_cookies.json
3434
timeline_cache.json
3535

3636
*.sqlite
37+
3738
characters/
3839

3940
packages/core/src/providers/cache
4041
packages/core/src/providers/cache/*
4142
cache/*
43+
packages/plugin-coinbase/src/plugins/transactions.csv
44+
packages/plugin-coinbase/package-lock.json

.prettierignore

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
**/*/target
22
**/*/dist
3-
packages/torii-client/wasm
4-
packages/torii-client/pkg
5-
packages/torii-wasm/pkg/
6-
packages/utils-wasm/pkg/
7-
8-
worlds/dojo-starter
93

104
# ignore lock files
115
**/*-lock.yaml

0 commit comments

Comments
 (0)