Skip to content

Commit 77325c9

Browse files
authored
Merge branch 'main' into ropirito/secrets-manager
2 parents d5e3294 + 76d4f42 commit 77325c9

File tree

744 files changed

+25068
-11034
lines changed

Some content is hidden

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

744 files changed

+25068
-11034
lines changed

.env.example

+25-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
1+
# Cache Configs
2+
CACHE_STORE=database # Defaults to database. Other available cache store: redis and filesystem
3+
REDIS_URL= # Redis URL - could be a local redis instance or cloud hosted redis. Also support rediss:// urls
4+
15
# Discord Configuration
26
DISCORD_APPLICATION_ID=
37
DISCORD_API_TOKEN= # Bot token
48
DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should join (optional)
59

610
# AI Model API Keys
711
OPENAI_API_KEY= # OpenAI API key, starting with sk-
12+
OPENAI_API_URL= # OpenAI API Endpoint (optional), Default: https://api.openai.com/v1
813
SMALL_OPENAI_MODEL= # Default: gpt-4o-mini
914
MEDIUM_OPENAI_MODEL= # Default: gpt-4o
1015
LARGE_OPENAI_MODEL= # Default: gpt-4o
@@ -31,6 +36,10 @@ SMALL_HYPERBOLIC_MODEL= # Default: meta-llama/Llama-3.2-3B-Instruct
3136
MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruct
3237
LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct
3338

39+
# Livepeer configuration
40+
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
41+
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning
42+
3443
# Speech Synthesis
3544
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
3645

@@ -54,7 +63,6 @@ TWITTER_PASSWORD= # Account password
5463
TWITTER_EMAIL= # Account email
5564
TWITTER_2FA_SECRET=
5665

57-
TWITTER_COOKIES= # Account cookies
5866
TWITTER_POLL_INTERVAL=120 # How often (in seconds) the bot should check for interactions
5967
TWITTER_SEARCH_ENABLE=FALSE # Enable timeline search, WARNING this greatly increases your chance of getting banned
6068
TWITTER_TARGET_USERS= # Comma separated list of Twitter user names to interact with
@@ -158,6 +166,10 @@ USE_GAIANET_EMBEDDING= # Set to TRUE for GAIANET/768, leave blank for l
158166
EVM_PRIVATE_KEY=
159167
EVM_PROVIDER_URL=
160168

169+
# Avalanche
170+
AVALANCHE_PRIVATE_KEY=
171+
AVALANCHE_PUBLIC_KEY=
172+
161173
# Solana
162174
SOLANA_PRIVATE_KEY=
163175
SOLANA_PUBLIC_KEY=
@@ -188,6 +200,11 @@ TOGETHER_API_KEY=
188200
# Server Configuration
189201
SERVER_PORT=3000
190202

203+
# Abstract Configuration
204+
ABSTRACT_ADDRESS=
205+
ABSTRACT_PRIVATE_KEY=
206+
ABSTRACT_RPC_URL=https://api.testnet.abs.xyz
207+
191208
# Starknet Configuration
192209
STARKNET_ADDRESS=
193210
STARKNET_PRIVATE_KEY=
@@ -332,3 +349,10 @@ STORY_PRIVATE_KEY= # Story private key
332349
STORY_API_BASE_URL= # Story API base URL
333350
STORY_API_KEY= # Story API key
334351
PINATA_JWT= # Pinata JWT for uploading files to IPFS
352+
353+
# Cronos zkEVM
354+
CRONOSZKEVM_ADDRESS=
355+
CRONOSZKEVM_PRIVATE_KEY=
356+
357+
# Fuel Ecosystem (FuelVM)
358+
FUEL_WALLET_PRIVATE_KEY=

.github/workflows/codeql.yml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: "CodeQL Advanced"
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
schedule:
9+
- cron: '29 8 * * 6'
10+
11+
jobs:
12+
analyze:
13+
name: Analyze (${{ matrix.language }})
14+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
15+
permissions:
16+
# required for all workflows
17+
security-events: write
18+
19+
# required to fetch internal or private CodeQL packs
20+
packages: read
21+
22+
# only required for workflows in private repositories
23+
actions: read
24+
contents: read
25+
26+
strategy:
27+
fail-fast: false
28+
matrix:
29+
include:
30+
- language: javascript-typescript
31+
build-mode: none
32+
steps:
33+
- name: Checkout repository
34+
uses: actions/checkout@v4
35+
36+
- name: Initialize CodeQL
37+
uses: github/codeql-action/init@v3
38+
with:
39+
languages: ${{ matrix.language }}
40+
build-mode: ${{ matrix.build-mode }}
41+
42+
- if: matrix.build-mode == 'manual'
43+
shell: bash
44+
run: |
45+
echo 'If you are using a "manual" build mode for one or more of the' \
46+
'languages you are analyzing, replace this with the commands to build' \
47+
'your code, for example:'
48+
echo ' make bootstrap'
49+
echo ' make release'
50+
exit 1
51+
52+
- name: Perform CodeQL Analysis
53+
uses: github/codeql-action/analyze@v3
54+
with:
55+
category: "/language:${{matrix.language}}"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Generate Readme Translations
2+
on:
3+
push:
4+
branches:
5+
- "1222--README-ci-auto-translation"
6+
7+
jobs:
8+
translation:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
language: [
13+
{code: 'CN', name: 'Chinese'},
14+
{code: 'DE', name: 'German'},
15+
{code: 'ES', name: 'Spanish'},
16+
{code: 'FR', name: 'French'},
17+
{code: 'HE', name: 'Hebrew'},
18+
{code: 'IT', name: 'Italian'},
19+
{code: 'JA', name: 'Japanese'},
20+
{code: 'KOR', name: 'Korean'},
21+
{code: 'PTBR', name: 'Portuguese (Brazil)'},
22+
{code: 'RU', name: 'Russian'},
23+
{code: 'TH', name: 'Thai'},
24+
{code: 'TR', name: 'Turkish'},
25+
{code: 'VI', name: 'Vietnamese'}
26+
]
27+
permissions:
28+
contents: write
29+
steps:
30+
- uses: actions/checkout@v4
31+
with:
32+
ref: main
33+
token: ${{ secrets.GH_TOKEN }}
34+
35+
- name: Translate to ${{ matrix.language.name }}
36+
uses: 0xjord4n/aixion@v1.2.1
37+
id: aixion
38+
with:
39+
config: >
40+
{
41+
"provider": "openai",
42+
"provider_options": {
43+
"api_key": "${{ secrets.OPENAI_API_KEY }}"
44+
},
45+
"messages": [
46+
{
47+
"role": "system",
48+
"content": "You will be provided with a markdown file in English, and your task is to translate it into ${{ matrix.language.name }}."
49+
},
50+
{
51+
"role": "user",
52+
"content_path": "README.md"
53+
}
54+
],
55+
"save_path": "README_${{ matrix.language.code }}.md",
56+
"model": "gpt-4o"
57+
}
58+
59+
# Upload each translated file as an artifact
60+
- name: Upload translation
61+
uses: actions/upload-artifact@v4
62+
with:
63+
name: readme-${{ matrix.language.code }}
64+
path: README_${{ matrix.language.code }}.md
65+
66+
commit:
67+
needs: translation
68+
runs-on: ubuntu-latest
69+
steps:
70+
- uses: actions/checkout@v4
71+
with:
72+
ref: main
73+
token: ${{ secrets.GH_TOKEN }}
74+
75+
# Download all translation artifacts
76+
- name: Download all translations
77+
uses: actions/download-artifact@v4
78+
with:
79+
pattern: readme-*
80+
merge-multiple: true
81+
82+
- name: Commit all translations
83+
uses: stefanzweifel/git-auto-commit-action@v5
84+
with:
85+
commit_message: "chore: update all README translations"
86+
branch: main
87+
file_pattern: "README_*.md"
88+
commit_author: "GitHub Action <actions@github.com>"

.github/workflows/greetings.yml

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Greetings
2+
3+
on: [pull_request_target, issues]
4+
5+
jobs:
6+
greeting:
7+
runs-on: ubuntu-latest
8+
permissions:
9+
issues: write
10+
pull-requests: write
11+
steps:
12+
- uses: actions/first-interaction@v1
13+
with:
14+
repo-token: ${{ secrets.GITHUB_TOKEN }}
15+
issue-message: "Hello @${{ github.actor }}! Welcome to the ai16z community. Thank you for opening your first issue; we appreciate your contribution. You are now a ai16z contributor!"
16+
pr-message: "Hi @${{ github.actor }}! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
17+
+11-25
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,17 @@
1-
name: integration-test
1+
name: Integration Tests
22
on:
33
push:
44
branches:
55
- "*"
6-
pull_request:
6+
pull_request_target:
77
branches:
88
- "*"
9-
jobs:
10-
smoke-tests:
11-
runs-on: ubuntu-latest
12-
steps:
13-
- uses: actions/checkout@v4
149

15-
- uses: pnpm/action-setup@v3
16-
with:
17-
version: 9.4.0
18-
19-
- uses: actions/setup-node@v4
20-
with:
21-
node-version: "23"
22-
cache: "pnpm"
23-
24-
- name: Run smoke tests
25-
run: pnpm run smokeTests
10+
jobs:
2611
integration-tests:
2712
runs-on: ubuntu-latest
13+
env:
14+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
2815
steps:
2916
- uses: actions/checkout@v4
3017

@@ -43,13 +30,12 @@ jobs:
4330
- name: Build packages
4431
run: pnpm build
4532

46-
- name: Run integration tests
47-
env:
48-
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
33+
- name: Check for API key
4934
run: |
5035
if [ -z "$OPENAI_API_KEY" ]; then
51-
echo "Skipping integration tests due to missing required API keys"
52-
exit 1
53-
else
54-
pnpm run integrationTests
36+
echo "Error: OPENAI_API_KEY is not set."
37+
exit 1
5538
fi
39+
40+
- name: Run integration tests
41+
run: pnpm run integrationTests
+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: JSDoc Automation
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
pull_number:
7+
description: 'Pull Request Number (if not provided, scans root_directory) - PR must be merged to develop branch'
8+
required: false
9+
type: string
10+
root_directory:
11+
description: 'Only scans files in this directory (relative to repository root, e.g., packages/core/src)'
12+
required: true
13+
default: 'packages/core/src/test_resources'
14+
type: string
15+
excluded_directories:
16+
description: 'Directories to exclude from scanning (comma-separated, relative to root_directory)'
17+
required: true
18+
default: 'node_modules,dist,test'
19+
type: string
20+
reviewers:
21+
description: 'Pull Request Reviewers (comma-separated GitHub usernames)'
22+
required: true
23+
default: ''
24+
type: string
25+
26+
jobs:
27+
generate-docs:
28+
runs-on: ubuntu-latest
29+
30+
env:
31+
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_PAT }}
32+
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
33+
34+
steps:
35+
- name: Checkout repository
36+
uses: actions/checkout@v4
37+
with:
38+
fetch-depth: 0
39+
40+
- name: Setup Node.js
41+
uses: actions/setup-node@v4
42+
with:
43+
node-version: '23'
44+
45+
- name: Install pnpm
46+
uses: pnpm/action-setup@v2
47+
with:
48+
version: 8
49+
run_install: false
50+
51+
- name: Update lockfile
52+
working-directory: packages/jsdoc-automation
53+
run: |
54+
echo "Updating lockfile..."
55+
pnpm install --no-frozen-lockfile
56+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
57+
git config --global user.name "github-actions[bot]"
58+
git add pnpm-lock.yaml
59+
git commit -m "chore: update pnpm lockfile" || echo "No changes to commit"
60+
git push || echo "No changes to push"
61+
62+
- name: Install root dependencies
63+
run: pnpm install --no-frozen-lockfile
64+
65+
- name: Install package dependencies
66+
working-directory: packages/jsdoc-automation
67+
run: pnpm install --no-frozen-lockfile
68+
69+
- name: Run documentation generator
70+
working-directory: packages/jsdoc-automation
71+
run: |
72+
echo "Node version: $(node --version)"
73+
echo "NPM version: $(npm --version)"
74+
echo "Directory contents:"
75+
ls -la
76+
NODE_OPTIONS='--experimental-vm-modules --no-warnings' pnpm start
77+
env:
78+
INPUT_ROOT_DIRECTORY: ${{ inputs.root_directory }}
79+
INPUT_PULL_NUMBER: ${{ inputs.pull_number }}
80+
INPUT_EXCLUDED_DIRECTORIES: ${{ inputs.excluded_directories }}
81+
INPUT_REVIEWERS: ${{ inputs.reviewers }}

.github/workflows/pr.yaml

+5-3
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,21 @@ jobs:
1010

1111
steps:
1212
- name: Check out the repository
13-
uses: actions/checkout@v2
13+
uses: actions/checkout@v3
1414

1515
- name: Validate PR title
1616
id: validate
1717
run: |
1818
PR_TITLE=$(jq -r .pull_request.title "$GITHUB_EVENT_PATH")
1919
echo "PR Title: $PR_TITLE"
20-
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore):\ .+ ]]; then
20+
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore)(\([a-zA-Z0-9-]+\))?:\ .+ ]]; then
2121
echo "PR title does not match the required pattern."
2222
exit 1
2323
fi
2424
2525
- name: Set status
2626
if: failure()
2727
run: |
28-
gh pr comment ${{ github.event.pull_request.number }} --body "❌ PR title does not match the required pattern. Please use the format: 'type: description' (e.g., 'feat|fix|docs|style|refactor|test|chore: title')."
28+
gh pr comment ${{ github.event.pull_request.number }} --body "❌ PR title does not match the required pattern. Please use one of these formats:
29+
- 'type: description' (e.g., 'feat: add new feature')
30+
- 'type(scope): description' (e.g., 'chore(core): update dependencies')"

0 commit comments

Comments
 (0)