Skip to content

Commit 56ff0b2

Browse files
committed
Merge branch 'develop' of https://github.com/elizaos/eliza into fix/evm-plugin
2 parents 8157f4c + 8453774 commit 56ff0b2

File tree

517 files changed

+16481
-6855
lines changed

Some content is hidden

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

517 files changed

+16481
-6855
lines changed

.env.example

+13
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should joi
99

1010
# AI Model API Keys
1111
OPENAI_API_KEY= # OpenAI API key, starting with sk-
12+
OPENAI_API_URL= # OpenAI API Endpoint (optional), Default: https://api.openai.com/v1
1213
SMALL_OPENAI_MODEL= # Default: gpt-4o-mini
1314
MEDIUM_OPENAI_MODEL= # Default: gpt-4o
1415
LARGE_OPENAI_MODEL= # Default: gpt-4o
@@ -191,6 +192,11 @@ TOGETHER_API_KEY=
191192
# Server Configuration
192193
SERVER_PORT=3000
193194

195+
# Abstract Configuration
196+
ABSTRACT_ADDRESS=
197+
ABSTRACT_PRIVATE_KEY=
198+
ABSTRACT_RPC_URL=https://api.testnet.abs.xyz
199+
194200
# Starknet Configuration
195201
STARKNET_ADDRESS=
196202
STARKNET_PRIVATE_KEY=
@@ -335,3 +341,10 @@ STORY_PRIVATE_KEY= # Story private key
335341
STORY_API_BASE_URL= # Story API base URL
336342
STORY_API_KEY= # Story API key
337343
PINATA_JWT= # Pinata JWT for uploading files to IPFS
344+
345+
# Cronos zkEVM
346+
CRONOSZKEVM_ADDRESS=
347+
CRONOSZKEVM_PRIVATE_KEY=
348+
349+
# Fuel Ecosystem (FuelVM)
350+
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+
+5-29
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,13 @@
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
14-
15-
- uses: pnpm/action-setup@v3
16-
with:
17-
version: 9.4.0
189

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
2813
env:
@@ -46,20 +31,11 @@ jobs:
4631
run: pnpm build
4732

4833
- name: Check for API key
49-
id: check_api_key
5034
run: |
5135
if [ -z "$OPENAI_API_KEY" ]; then
52-
echo "::set-output name=api_key_present::false"
53-
else
54-
echo "::set-output name=api_key_present::true"
36+
echo "Error: OPENAI_API_KEY is not set."
37+
exit 1
5538
fi
5639
5740
- name: Run integration tests
58-
if: steps.check_api_key.outputs.api_key_present == 'true'
5941
run: pnpm run integrationTests
60-
61-
- name: Skip integration tests
62-
if: steps.check_api_key.outputs.api_key_present == 'false'
63-
run: |
64-
echo "Skipping integration tests due to missing required API keys"
65-
exit 1
+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')"

.github/workflows/smoke-tests.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: smoke-test
2+
on:
3+
push:
4+
branches:
5+
- "*"
6+
pull_request:
7+
branches:
8+
- "*"
9+
10+
jobs:
11+
smoke-tests:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- uses: pnpm/action-setup@v3
17+
with:
18+
version: 9.4.0
19+
20+
- uses: actions/setup-node@v4
21+
with:
22+
node-version: "23"
23+
cache: "pnpm"
24+
25+
- name: Run smoke tests
26+
run: pnpm run smokeTests

0 commit comments

Comments
 (0)