Skip to content

Commit fb5a685

Browse files
authored
Merge branch 'develop' into patch-1
2 parents 143693a + bc96abc commit fb5a685

File tree

487 files changed

+14278
-6530
lines changed

Some content is hidden

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

487 files changed

+14278
-6530
lines changed

.env.example

+9
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,11 @@ TOGETHER_API_KEY=
191191
# Server Configuration
192192
SERVER_PORT=3000
193193

194+
# Abstract Configuration
195+
ABSTRACT_ADDRESS=
196+
ABSTRACT_PRIVATE_KEY=
197+
ABSTRACT_RPC_URL=https://api.testnet.abs.xyz
198+
194199
# Starknet Configuration
195200
STARKNET_ADDRESS=
196201
STARKNET_PRIVATE_KEY=
@@ -335,3 +340,7 @@ STORY_PRIVATE_KEY= # Story private key
335340
STORY_API_BASE_URL= # Story API base URL
336341
STORY_API_KEY= # Story API key
337342
PINATA_JWT= # Pinata JWT for uploading files to IPFS
343+
344+
# Cronos zkEVM
345+
CRONOSZKEVM_ADDRESS=
346+
CRONOSZKEVM_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

.github/workflows/stale.yml

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Mark stale issues and pull requests
2+
3+
on:
4+
schedule:
5+
- cron: '25 18 * * *'
6+
7+
jobs:
8+
stale:
9+
10+
runs-on: ubuntu-latest
11+
permissions:
12+
issues: write
13+
pull-requests: write
14+
15+
steps:
16+
- uses: actions/stale@v5
17+
with:
18+
repo-token: ${{ secrets.GITHUB_TOKEN }}
19+
stale-issue-message: 'This issue has been automatically marked as stale due to inactivity.'
20+
stale-pr-message: 'This pull request has been automatically marked as stale due to inactivity.'
21+
stale-issue-label: 'no-issue-activity'
22+
stale-pr-label: 'no-pr-activity'
23+
days-before-stale: 30 # Marks issues and PRs as stale after X days of inactivity
24+
days-before-close: 7 # Closes issues and PRs X days after being marked as stale

0 commit comments

Comments
 (0)