Skip to content

Commit

Permalink
Merge pull request #1519 from elizaOS/develop
Browse files Browse the repository at this point in the history
chore: 0.1.7-alpha.2 prep, develop => main
  • Loading branch information
shakkernerd authored Dec 28, 2024
2 parents a930c84 + 00b6095 commit 256e663
Show file tree
Hide file tree
Showing 544 changed files with 17,628 additions and 5,656 deletions.
21 changes: 21 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should joi

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

# Livepeer configuration
LIVEPEER_GATEWAY_URL= # Free inference gateways and docs: https://livepeer-eliza.com/
LIVEPEER_IMAGE_MODEL= # Default: ByteDance/SDXL-Lightning

# Speech Synthesis
ELEVENLABS_XI_API_KEY= # API key from elevenlabs

Expand Down Expand Up @@ -161,6 +166,10 @@ USE_GAIANET_EMBEDDING= # Set to TRUE for GAIANET/768, leave blank for l
EVM_PRIVATE_KEY=
EVM_PROVIDER_URL=

# Avalanche
AVALANCHE_PRIVATE_KEY=
AVALANCHE_PUBLIC_KEY=

# Solana
SOLANA_PRIVATE_KEY=
SOLANA_PUBLIC_KEY=
Expand Down Expand Up @@ -191,6 +200,11 @@ TOGETHER_API_KEY=
# Server Configuration
SERVER_PORT=3000

# Abstract Configuration
ABSTRACT_ADDRESS=
ABSTRACT_PRIVATE_KEY=
ABSTRACT_RPC_URL=https://api.testnet.abs.xyz

# Starknet Configuration
STARKNET_ADDRESS=
STARKNET_PRIVATE_KEY=
Expand Down Expand Up @@ -335,3 +349,10 @@ STORY_PRIVATE_KEY= # Story private key
STORY_API_BASE_URL= # Story API base URL
STORY_API_KEY= # Story API key
PINATA_JWT= # Pinata JWT for uploading files to IPFS

# Cronos zkEVM
CRONOSZKEVM_ADDRESS=
CRONOSZKEVM_PRIVATE_KEY=

# Fuel Ecosystem (FuelVM)
FUEL_WALLET_PRIVATE_KEY=
55 changes: 55 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: "CodeQL Advanced"

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '29 8 * * 6'

jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write

# required to fetch internal or private CodeQL packs
packages: read

# only required for workflows in private repositories
actions: read
contents: read

strategy:
fail-fast: false
matrix:
include:
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}

- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
88 changes: 88 additions & 0 deletions .github/workflows/generate-readme-translations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Generate Readme Translations
on:
push:
branches:
- "1222--README-ci-auto-translation"

jobs:
translation:
runs-on: ubuntu-latest
strategy:
matrix:
language: [
{code: 'CN', name: 'Chinese'},
{code: 'DE', name: 'German'},
{code: 'ES', name: 'Spanish'},
{code: 'FR', name: 'French'},
{code: 'HE', name: 'Hebrew'},
{code: 'IT', name: 'Italian'},
{code: 'JA', name: 'Japanese'},
{code: 'KOR', name: 'Korean'},
{code: 'PTBR', name: 'Portuguese (Brazil)'},
{code: 'RU', name: 'Russian'},
{code: 'TH', name: 'Thai'},
{code: 'TR', name: 'Turkish'},
{code: 'VI', name: 'Vietnamese'}
]
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
ref: main
token: ${{ secrets.GH_TOKEN }}

- name: Translate to ${{ matrix.language.name }}
uses: 0xjord4n/[email protected]
id: aixion
with:
config: >
{
"provider": "openai",
"provider_options": {
"api_key": "${{ secrets.OPENAI_API_KEY }}"
},
"messages": [
{
"role": "system",
"content": "You will be provided with a markdown file in English, and your task is to translate it into ${{ matrix.language.name }}."
},
{
"role": "user",
"content_path": "README.md"
}
],
"save_path": "README_${{ matrix.language.code }}.md",
"model": "gpt-4o"
}
# Upload each translated file as an artifact
- name: Upload translation
uses: actions/upload-artifact@v4
with:
name: readme-${{ matrix.language.code }}
path: README_${{ matrix.language.code }}.md

commit:
needs: translation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: main
token: ${{ secrets.GH_TOKEN }}

# Download all translation artifacts
- name: Download all translations
uses: actions/download-artifact@v4
with:
pattern: readme-*
merge-multiple: true

- name: Commit all translations
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "chore: update all README translations"
branch: main
file_pattern: "README_*.md"
commit_author: "GitHub Action <[email protected]>"
17 changes: 17 additions & 0 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Greetings

on: [pull_request_target, issues]

jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
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!"
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!"

34 changes: 5 additions & 29 deletions .github/workflows/integrationTests.yaml
Original file line number Diff line number Diff line change
@@ -1,28 +1,13 @@
name: integration-test
name: Integration Tests
on:
push:
branches:
- "*"
pull_request:
pull_request_target:
branches:
- "*"
jobs:
smoke-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v3
with:
version: 9.4.0

- uses: actions/setup-node@v4
with:
node-version: "23"
cache: "pnpm"

- name: Run smoke tests
run: pnpm run smokeTests
jobs:
integration-tests:
runs-on: ubuntu-latest
env:
Expand All @@ -46,20 +31,11 @@ jobs:
run: pnpm build

- name: Check for API key
id: check_api_key
run: |
if [ -z "$OPENAI_API_KEY" ]; then
echo "::set-output name=api_key_present::false"
else
echo "::set-output name=api_key_present::true"
echo "Error: OPENAI_API_KEY is not set."
exit 1
fi
- name: Run integration tests
if: steps.check_api_key.outputs.api_key_present == 'true'
run: pnpm run integrationTests

- name: Skip integration tests
if: steps.check_api_key.outputs.api_key_present == 'false'
run: |
echo "Skipping integration tests due to missing required API keys"
exit 1
81 changes: 81 additions & 0 deletions .github/workflows/jsdoc-automation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: JSDoc Automation

on:
workflow_dispatch:
inputs:
pull_number:
description: 'Pull Request Number (if not provided, scans root_directory) - PR must be merged to develop branch'
required: false
type: string
root_directory:
description: 'Only scans files in this directory (relative to repository root, e.g., packages/core/src)'
required: true
default: 'packages/core/src/test_resources'
type: string
excluded_directories:
description: 'Directories to exclude from scanning (comma-separated, relative to root_directory)'
required: true
default: 'node_modules,dist,test'
type: string
reviewers:
description: 'Pull Request Reviewers (comma-separated GitHub usernames)'
required: true
default: ''
type: string

jobs:
generate-docs:
runs-on: ubuntu-latest

env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_PAT }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '23'

- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 8
run_install: false

- name: Update lockfile
working-directory: packages/jsdoc-automation
run: |
echo "Updating lockfile..."
pnpm install --no-frozen-lockfile
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
git add pnpm-lock.yaml
git commit -m "chore: update pnpm lockfile" || echo "No changes to commit"
git push || echo "No changes to push"
- name: Install root dependencies
run: pnpm install --no-frozen-lockfile

- name: Install package dependencies
working-directory: packages/jsdoc-automation
run: pnpm install --no-frozen-lockfile

- name: Run documentation generator
working-directory: packages/jsdoc-automation
run: |
echo "Node version: $(node --version)"
echo "NPM version: $(npm --version)"
echo "Directory contents:"
ls -la
NODE_OPTIONS='--experimental-vm-modules --no-warnings' pnpm start
env:
INPUT_ROOT_DIRECTORY: ${{ inputs.root_directory }}
INPUT_PULL_NUMBER: ${{ inputs.pull_number }}
INPUT_EXCLUDED_DIRECTORIES: ${{ inputs.excluded_directories }}
INPUT_REVIEWERS: ${{ inputs.reviewers }}
8 changes: 5 additions & 3 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,21 @@ jobs:

steps:
- name: Check out the repository
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Validate PR title
id: validate
run: |
PR_TITLE=$(jq -r .pull_request.title "$GITHUB_EVENT_PATH")
echo "PR Title: $PR_TITLE"
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore):\ .+ ]]; then
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore)(\([a-zA-Z0-9-]+\))?:\ .+ ]]; then
echo "PR title does not match the required pattern."
exit 1
fi
- name: Set status
if: failure()
run: |
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')."
gh pr comment ${{ github.event.pull_request.number }} --body "❌ PR title does not match the required pattern. Please use one of these formats:
- 'type: description' (e.g., 'feat: add new feature')
- 'type(scope): description' (e.g., 'chore(core): update dependencies')"
Loading

0 comments on commit 256e663

Please sign in to comment.