diff --git a/.env.example b/.env.example index b1f05998b7..414f963858 100644 --- a/.env.example +++ b/.env.example @@ -191,6 +191,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= diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000000..b3716b3716 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -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}}" diff --git a/.github/workflows/generate-readme-translations.yml b/.github/workflows/generate-readme-translations.yml new file mode 100644 index 0000000000..9963e69354 --- /dev/null +++ b/.github/workflows/generate-readme-translations.yml @@ -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/aixion@v1.2.1 + 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 " diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml new file mode 100644 index 0000000000..7ef42e050e --- /dev/null +++ b/.github/workflows/greetings.yml @@ -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!" + diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1b7bfebcfb..46b3b0520d 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -10,14 +10,14 @@ 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 @@ -25,4 +25,6 @@ jobs: - 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')" diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000000..ac76b77607 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,24 @@ +name: Mark stale issues and pull requests + +on: + schedule: + - cron: '25 18 * * *' + +jobs: + stale: + + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + + steps: + - uses: actions/stale@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This issue has been automatically marked as stale due to inactivity.' + stale-pr-message: 'This pull request has been automatically marked as stale due to inactivity.' + stale-issue-label: 'no-issue-activity' + stale-pr-label: 'no-pr-activity' + days-before-stale: 30 # Marks issues and PRs as stale after X days of inactivity + days-before-close: 7 # Closes issues and PRs X days after being marked as stale diff --git a/.gitignore b/.gitignore index 97c88ce295..5ebb39763b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ concatenated-output.ts embedding-cache.json packages/plugin-buttplug/intiface-engine +.idea .DS_Store dist/ diff --git a/README.md b/README.md index 050f7117f7..4c91531ddb 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ ## 🌍 README Translations -[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md) | [ไทย](./README_TH.md) | [Deutsch](./README_DE.md) | [Tiếng Việt](./README_VI.md) | [עִברִית](https://github.com/elizaos/Elisa/blob/main/README_HE.md) +[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md) | [ไทย](./README_TH.md) | [Deutsch](./README_DE.md) | [Tiếng Việt](./README_VI.md) | [עִברִית](https://github.com/elizaos/Elisa/blob/main/README_HE.md) | [Tagalog](./README_TG.md) ## ✨ Features diff --git a/README_TG.md b/README_TG.md new file mode 100644 index 0000000000..4263ff69ca --- /dev/null +++ b/README_TG.md @@ -0,0 +1,129 @@ + +# Eliza 🤖 + +
+ Eliza Banner +
+ +
+ +📖 [Dokumentasyon](https://elizaos.github.io/eliza/) | 🎯 [Mga Halimbawa](https://github.com/thejoven/awesome-eliza) + +
+ +## ✨ Mga Tampok + +- 🛠️ Kumpletong suporta sa [Discord](https://discord.com/), [Twitter](https://twitter.com/), at [Telegram](https://telegram.org/) +- 🔗 Suporta para sa bawat modelo (Llama, Grok, OpenAI, Anthropic, atbp.) +- 👥 Suporta para sa multi-agent at kuwarto +- 📚 Madaling mag-load at makipag-ugnayan sa iyong mga dokumento +- 💾 Naaakses na memorya at imbakan ng dokumento +- 🚀 Napakabisa - maaaring gumawa ng sarili mong mga aksyon at kliyente +- ☁️ Sinusuportahan ang maraming modelo (lokal na Llama, OpenAI, Anthropic, Groq, atbp.) +- 📦 Madaling gamitin! + +## Mga Tutorial sa Bidyo + +[AI Agent Dev School](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL) + +## 🎯 Gamit ito para sa + +- 🤖 [Mga Chatbot](https://en.wikipedia.org/wiki/Chatbot) +- 🕵️ Mga Awtonomikong Ahente +- 📈 Pagproseso ng Negosyo +- 🎮 [Mga NPC sa mga Larong Kompyuter](https://en.wikipedia.org/wiki/Non-player_character) +- 🧠 Pangangalakal + +## 🚀 Pangkalahatang-ideya + +### Mga Kinakailangan + +- [Python 2.7+](https://www.python.org/downloads/) +- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) +- [pnpm](https://pnpm.io/installation) + +> **Paalala para sa mga Gumagamit ng Windows:** Kailangan ang [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual). + +### Gamitin ang Starter (Inirerekomenda) + +```bash +git clone https://github.com/elizaos/eliza-starter.git +cd eliza-starter +cp .env.example .env +pnpm i && pnpm build && pnpm start +``` + +Basahin ang [Dokumentasyon](https://elizaos.github.io/eliza/) upang matutunan kung paano ipasadya ang Eliza. + +### Manwal na Pag-simula ng Eliza (Inirerekomenda lamang kung alam mo ang ginagawa mo) + +```bash +# Clone the repository +git clone https://github.com/elizaos/eliza.git + +# Checkout the latest release +git checkout $(git describe --tags --abbrev=0) +``` + +### Simulan ang Eliza gamit ang Gitpod + +[![Buksan sa Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main) + +### Ipasadya ang .env File + +Kopyahin ang `.env.example` sa `.env` at punan ang tamang mga halaga. + +```bash +cp .env.example .env +``` + +### Awtomatikong Simulan ang Eliza + +Ito ay magse-setup ng proyekto at sisimulan ang bot gamit ang kusang mapagpipilian na karakter. + +```bash +sh scripts/start.sh +``` + +### Ipasadya ang Karakter File + +1. Buksan ang `packages/core/src/defaultCharacter.ts` para baguhin ang kusang mapagpipilian na karakter. +2. Mag-load ng pasadya na mga karakter: + - Gamitin ang `pnpm start --characters="landas/sa/inyong/character.json"` + - Puwedeng mag-load ng maraming karakter file sabay-sabay. +3. Ikonekta ang Twitter (X): + - Baguhin ang `"clients": []` sa `"clients": ["twitter"]` sa karakter file upang ikonekta ang Twitter. + +### Manwal na Pag-simula ng Eliza + +```bash +pnpm i +pnpm build +pnpm start + +# Linisin ang proyekto kung bumalik ka dito matapos ang mahabang panahon +pnpm clean +``` + +#### Karagdagang Mga Kinakailangan + +Puwede mong kailangang mag-install ng [Sharp](https://sharp.pixelplumbing.com/). Kung may pagkakamali, subukang i-install ito gamit ang: + +```bash +pnpm install --include=optional sharp +``` + +### Komunidad at Kontak + +- [Mga Isyu sa GitHub](https://github.com/elizaos/eliza/issues): Para sa mga bug at mungkahi sa tampok. +- [Discord](https://discord.gg/ai16z): Para sa pagbabahagi ng aplikasyon at pakikihalubilo sa komunidad. + +## Mga Kontribyutor + + + + + +## Kasaysayan ng mga Bituin + +[![Tsart ng Kasaysayan ng mga Bituin](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date) diff --git a/agent/package.json b/agent/package.json index 91a900d600..be8a3e0e29 100644 --- a/agent/package.json +++ b/agent/package.json @@ -1,62 +1,63 @@ { - "name": "@elizaos/agent", - "version": "0.1.7-alpha.1", - "main": "src/index.ts", - "type": "module", - "scripts": { - "start": "node --loader ts-node/esm src/index.ts", - "dev": "node --loader ts-node/esm src/index.ts", - "check-types": "tsc --noEmit" - }, - "nodemonConfig": { - "watch": [ - "src", - "../core/dist" - ], - "ext": "ts,json", - "exec": "node --enable-source-maps --loader ts-node/esm src/index.ts" - }, - "dependencies": { - "@elizaos/adapter-postgres": "workspace:*", - "@elizaos/adapter-redis": "workspace:*", - "@elizaos/adapter-sqlite": "workspace:*", - "@elizaos/client-auto": "workspace:*", - "@elizaos/client-direct": "workspace:*", - "@elizaos/client-discord": "workspace:*", - "@elizaos/client-farcaster": "workspace:*", - "@elizaos/client-lens": "workspace:*", - "@elizaos/client-telegram": "workspace:*", - "@elizaos/client-twitter": "workspace:*", - "@elizaos/client-slack": "workspace:*", - "@elizaos/core": "workspace:*", - "@elizaos/plugin-0g": "workspace:*", - "@elizaos/plugin-aptos": "workspace:*", - "@elizaos/plugin-bootstrap": "workspace:*", - "@elizaos/plugin-intiface": "workspace:*", - "@elizaos/plugin-coinbase": "workspace:*", - "@elizaos/plugin-conflux": "workspace:*", - "@elizaos/plugin-evm": "workspace:*", - "@elizaos/plugin-flow": "workspace:*", - "@elizaos/plugin-story": "workspace:*", - "@elizaos/plugin-goat": "workspace:*", - "@elizaos/plugin-icp": "workspace:*", - "@elizaos/plugin-image-generation": "workspace:*", - "@elizaos/plugin-nft-generation": "workspace:*", - "@elizaos/plugin-node": "workspace:*", - "@elizaos/plugin-solana": "workspace:*", - "@elizaos/plugin-starknet": "workspace:*", - "@elizaos/plugin-ton": "workspace:*", - "@elizaos/plugin-sui": "workspace:*", - "@elizaos/plugin-tee": "workspace:*", - "@elizaos/plugin-multiversx": "workspace:*", - "@elizaos/plugin-near": "workspace:*", - "@elizaos/plugin-zksync-era": "workspace:*", - "readline": "1.3.0", - "ws": "8.18.0", - "yargs": "17.7.2" - }, - "devDependencies": { - "ts-node": "10.9.2", - "tsup": "8.3.5" - } + "name": "@elizaos/agent", + "version": "0.1.7-alpha.1", + "main": "src/index.ts", + "type": "module", + "scripts": { + "start": "node --loader ts-node/esm src/index.ts", + "dev": "node --loader ts-node/esm src/index.ts", + "check-types": "tsc --noEmit" + }, + "nodemonConfig": { + "watch": [ + "src", + "../core/dist" + ], + "ext": "ts,json", + "exec": "node --enable-source-maps --loader ts-node/esm src/index.ts" + }, + "dependencies": { + "@elizaos/adapter-postgres": "workspace:*", + "@elizaos/adapter-redis": "workspace:*", + "@elizaos/adapter-sqlite": "workspace:*", + "@elizaos/client-auto": "workspace:*", + "@elizaos/client-direct": "workspace:*", + "@elizaos/client-discord": "workspace:*", + "@elizaos/client-farcaster": "workspace:*", + "@elizaos/client-lens": "workspace:*", + "@elizaos/client-telegram": "workspace:*", + "@elizaos/client-twitter": "workspace:*", + "@elizaos/client-slack": "workspace:*", + "@elizaos/core": "workspace:*", + "@elizaos/plugin-0g": "workspace:*", + "@elizaos/plugin-abstract": "workspace:*", + "@elizaos/plugin-aptos": "workspace:*", + "@elizaos/plugin-bootstrap": "workspace:*", + "@elizaos/plugin-intiface": "workspace:*", + "@elizaos/plugin-coinbase": "workspace:*", + "@elizaos/plugin-conflux": "workspace:*", + "@elizaos/plugin-evm": "workspace:*", + "@elizaos/plugin-flow": "workspace:*", + "@elizaos/plugin-story": "workspace:*", + "@elizaos/plugin-goat": "workspace:*", + "@elizaos/plugin-icp": "workspace:*", + "@elizaos/plugin-image-generation": "workspace:*", + "@elizaos/plugin-nft-generation": "workspace:*", + "@elizaos/plugin-node": "workspace:*", + "@elizaos/plugin-solana": "workspace:*", + "@elizaos/plugin-starknet": "workspace:*", + "@elizaos/plugin-ton": "workspace:*", + "@elizaos/plugin-sui": "workspace:*", + "@elizaos/plugin-tee": "workspace:*", + "@elizaos/plugin-multiversx": "workspace:*", + "@elizaos/plugin-near": "workspace:*", + "@elizaos/plugin-zksync-era": "workspace:*", + "readline": "1.3.0", + "ws": "8.18.0", + "yargs": "17.7.2" + }, + "devDependencies": { + "ts-node": "10.9.2", + "tsup": "8.3.5" + } } diff --git a/agent/src/index.ts b/agent/src/index.ts index 1e49bae84f..b0ac9dbe48 100644 --- a/agent/src/index.ts +++ b/agent/src/index.ts @@ -55,11 +55,13 @@ import { suiPlugin } from "@elizaos/plugin-sui"; import { TEEMode, teePlugin } from "@elizaos/plugin-tee"; import { tonPlugin } from "@elizaos/plugin-ton"; import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era"; +import { abstractPlugin } from "@elizaos/plugin-abstract"; import Database from "better-sqlite3"; import fs from "fs"; import path from "path"; import { fileURLToPath } from "url"; import yargs from "yargs"; +import net from "net"; const __filename = fileURLToPath(import.meta.url); // get the resolved path to the file const __dirname = path.dirname(__filename); // get the name of the directory @@ -385,12 +387,8 @@ export async function initializeClients( if (clientTypes.includes(Clients.TWITTER)) { const twitterClient = await TwitterClientInterface.start(runtime); - if (twitterClient) { clients.twitter = twitterClient; - (twitterClient as any).enableSearch = !isFalsish( - getSecret(character, "TWITTER_SEARCH_ENABLE") - ); } } @@ -432,31 +430,6 @@ export async function initializeClients( return clients; } -function isFalsish(input: any): boolean { - // If the input is exactly NaN, return true - if (Number.isNaN(input)) { - return true; - } - - // Convert input to a string if it's not null or undefined - const value = input == null ? "" : String(input); - - // List of common falsish string representations - const falsishValues = [ - "false", - "0", - "no", - "n", - "off", - "null", - "undefined", - "", - ]; - - // Check if the value (trimmed and lowercased) is in the falsish list - return falsishValues.includes(value.trim().toLowerCase()); -} - function getSecret(character: Character, secret: string) { return character.settings?.secrets?.[secret] || process.env[secret]; } @@ -489,7 +462,7 @@ export async function createAgent( } let goatPlugin: any | undefined; - if (getSecret(character, "ALCHEMY_API_KEY")) { + if (getSecret(character, "EVM_PROVIDER_URL")) { goatPlugin = await createGoatPlugin((secret) => getSecret(character, secret) ); @@ -560,7 +533,10 @@ export async function createAgent( getSecret(character, "COINBASE_NOTIFICATION_URI") ? webhookPlugin : null, - getSecret(character, "ALCHEMY_API_KEY") ? goatPlugin : null, + getSecret(character, "EVM_PROVIDER_URL") ? goatPlugin : null, + getSecret(character, "ABSTRACT_PRIVATE_KEY") + ? abstractPlugin + : null, getSecret(character, "FLOW_ADDRESS") && getSecret(character, "FLOW_PRIVATE_KEY") ? flowPlugin @@ -692,13 +668,30 @@ async function startAgent( } } +const checkPortAvailable = (port: number): Promise => { + return new Promise((resolve) => { + const server = net.createServer(); + + server.once("error", (err: NodeJS.ErrnoException) => { + if (err.code === "EADDRINUSE") { + resolve(false); + } + }); + + server.once("listening", () => { + server.close(); + resolve(true); + }); + + server.listen(port); + }); +}; + const startAgents = async () => { const directClient = new DirectClient(); - const serverPort = parseInt(settings.SERVER_PORT || "3000"); + let serverPort = parseInt(settings.SERVER_PORT || "3000"); const args = parseArguments(); - let charactersArg = args.characters || args.character; - let characters = [defaultCharacter]; if (charactersArg) { @@ -713,19 +706,32 @@ const startAgents = async () => { elizaLogger.error("Error starting agents:", error); } + // Find available port + while (!(await checkPortAvailable(serverPort))) { + elizaLogger.warn( + `Port ${serverPort} is in use, trying ${serverPort + 1}` + ); + serverPort++; + } + // upload some agent functionality into directClient directClient.startAgent = async (character: Character) => { // wrap it so we don't have to inject directClient later return startAgent(character, directClient); }; + directClient.start(serverPort); + if (serverPort !== parseInt(settings.SERVER_PORT || "3000")) { + elizaLogger.log(`Server started on alternate port ${serverPort}`); + } + elizaLogger.log( - "Run `pnpm start:client` to start the client and visit the outputted URL (http://localhost:5173) to chat with your agents" + "Run `pnpm start:client` to start the client and visit the outputted URL (http://localhost:5173) to chat with your agents. When running multiple agents, use client with different port `SERVER_PORT=3001 pnpm start:client`" ); }; startAgents().catch((error) => { elizaLogger.error("Unhandled error in startAgents:", error); - process.exit(1); // Exit the process after logging + process.exit(1); }); diff --git a/client/package.json b/client/package.json index a9ba6d8b01..20d9003af7 100644 --- a/client/package.json +++ b/client/package.json @@ -1,47 +1,47 @@ { - "name": "eliza-client", - "private": true, - "version": "0.1.7-alpha.1", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "check-types": "tsc --noEmit", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "@elizaos/core": "workspace:*", - "@radix-ui/react-dialog": "1.1.2", - "@radix-ui/react-separator": "1.1.0", - "@radix-ui/react-slot": "1.1.0", - "@radix-ui/react-tooltip": "1.1.4", - "@tanstack/react-query": "5.61.0", - "class-variance-authority": "0.7.1", - "clsx": "2.1.1", - "lucide-react": "0.460.0", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-router-dom": "6.22.1", - "tailwind-merge": "2.5.5", - "tailwindcss-animate": "1.0.7", - "vite-plugin-top-level-await": "1.4.4", - "vite-plugin-wasm": "3.3.0" - }, - "devDependencies": { - "@eslint/js": "9.16.0", - "@types/node": "22.8.4", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", - "@vitejs/plugin-react": "4.3.3", - "autoprefixer": "10.4.20", - "eslint-plugin-react-hooks": "5.0.0", - "eslint-plugin-react-refresh": "0.4.14", - "globals": "15.11.0", - "postcss": "8.4.49", - "tailwindcss": "3.4.15", - "typescript": "5.6.3", - "typescript-eslint": "8.11.0", - "vite": "link:@tanstack/router-plugin/vite" - } + "name": "eliza-client", + "private": true, + "version": "0.1.7-alpha.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "check-types": "tsc --noEmit", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@elizaos/core": "workspace:*", + "@radix-ui/react-dialog": "1.1.2", + "@radix-ui/react-separator": "1.1.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-tooltip": "1.1.4", + "@tanstack/react-query": "5.61.0", + "class-variance-authority": "0.7.1", + "clsx": "2.1.1", + "lucide-react": "0.460.0", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-router-dom": "6.22.1", + "tailwind-merge": "2.5.5", + "tailwindcss-animate": "1.0.7", + "vite-plugin-top-level-await": "1.4.4", + "vite-plugin-wasm": "3.3.0" + }, + "devDependencies": { + "@eslint/js": "9.16.0", + "@types/node": "22.8.4", + "@types/react": "18.3.12", + "@types/react-dom": "18.3.1", + "@vitejs/plugin-react": "4.3.3", + "autoprefixer": "10.4.20", + "eslint-plugin-react-hooks": "5.0.0", + "eslint-plugin-react-refresh": "0.4.14", + "globals": "15.11.0", + "postcss": "8.4.49", + "tailwindcss": "3.4.15", + "typescript": "5.6.3", + "typescript-eslint": "8.11.0", + "vite": "link:@tanstack/router-plugin/vite" + } } diff --git a/docs/community/Notes/lore.md b/docs/community/Notes/lore.md index c984915720..00b18ea789 100644 --- a/docs/community/Notes/lore.md +++ b/docs/community/Notes/lore.md @@ -93,7 +93,7 @@ Week 1 Recap: elizaos Launch and Early Developments Hello, I am Shaw. I am a cross-disciplinary programmer and entrepreneur living in San Francisco. I have been working on autonomous agents for several years and I am overjoyed to finally get to show that to all of you. -I started elizaos here on Twitter with some very capable folks, in the open, using the http://daos.fun platform. Our technology is open source, and powering many of the agents you talk to today. We call this type of agent an “eliza”. +I started elizaos here on Twitter with some very capable folks, in the open, using the http://daos.fun platform. Our technology is open source, and powering many of the agents you talk to today. We call this type of agent an "eliza". Our token character agent is @degenspartanai who is a recreation of a legendary friend and poster who quit Twitter last cycle. $degenai is his token. diff --git a/docs/community/creator-fund.md b/docs/community/creator-fund.md index 25bedc39e8..73c0b63308 100644 --- a/docs/community/creator-fund.md +++ b/docs/community/creator-fund.md @@ -18,7 +18,7 @@ Here's when the community learned about who the top holder is: > "So a ton of people have been asking (justifiably) who the heck I am, why do I have 16% of elizaos supply, and what I’m going to do with it. > -> It started by @shawmakesmagic tweeting about some agent he built called @degenspartanai, a recreation of a legend on twitter. I put a bunch of my SOL in there because I had been following Shaw and really thought he was building something great. Almost immediately all of that became close to worthless. Degen’s tweets seemed too “human-like” to be real anyway - so I figured I got scammed. +> It started by @shawmakesmagic tweeting about some agent he built called @degenspartanai, a recreation of a legend on twitter. I put a bunch of my SOL in there because I had been following Shaw and really thought he was building something great. Almost immediately all of that became close to worthless. Degen’s tweets seemed too "human-like" to be real anyway - so I figured I got scammed. > > So I DM’ed shaw, not because I was angry, but I was genuinely curious why he might have scammed me. I ended up sending him a google meet, which turned into an hour long conversation about what he was actually building, and me realizing twitter is usually a misrepresentation of the people you think you know. Shaw is just inspiring. Someone who is completely dedicated to accelerating the world for the better, and not optimizing for optics or money - just building. > diff --git a/docs/docs/advanced/eliza-in-tee.md b/docs/docs/advanced/eliza-in-tee.md index a376d1b4f0..d906025459 100644 --- a/docs/docs/advanced/eliza-in-tee.md +++ b/docs/docs/advanced/eliza-in-tee.md @@ -23,7 +23,7 @@ The TEE Plugin in the Eliza Framework is built on top of the [Dstack SDK](https: ## Core Components -Eliza's TEE implementation consists of two primary providers that handle secure key managementoperations and remote attestations. +Eliza's TEE implementation consists of two primary providers that handle secure key management operations and remote attestations. These components work together to provide: @@ -101,7 +101,7 @@ const quote = await provider.generateAttestation(reportData); Before getting started with Eliza, ensure you have: - [Docker Desktop](https://www.docker.com/products/docker-desktop/) or [Orbstack](https://orbstack.dev/) (Orbstack is recommended) -- For Mac/Windows: Check the prerequisites from [Quickstart Guide](./quickstart.md) +- For Mac/Windows: Check the prerequisites from [Quickstart Guide](../quickstart.md) - For Linux: You just need Docker --- @@ -144,7 +144,7 @@ To set up your environment for TEE development: 1. **Configure Eliza Agent** - Go through the [configuration guide](./configuration.md) to set up your Eliza agent. + Go through the [configuration guide](../guides/configuration.md) to set up your Eliza agent. 2. **Start the TEE Simulator** Follow the simulator setup instructions above based on your TEE mode. diff --git a/docs/package.json b/docs/package.json index 42e02115a3..c4755b6c62 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,55 +1,55 @@ { - "name": "eliza-docs", - "version": "0.1.7-alpha.1", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start --no-open", - "dev": "docusaurus start --port 3002 --no-open", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids" - }, - "dependencies": { - "@docusaurus/core": "3.6.3", - "@docusaurus/plugin-content-blog": "3.6.3", - "@docusaurus/plugin-content-docs": "3.6.3", - "@docusaurus/plugin-ideal-image": "3.6.3", - "@docusaurus/preset-classic": "3.6.3", - "@docusaurus/theme-mermaid": "3.6.3", - "@mdx-js/react": "3.0.1", - "clsx": "2.1.1", - "docusaurus-lunr-search": "3.5.0", - "dotenv": "^16.4.7", - "prism-react-renderer": "2.3.1", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-router-dom": "6.22.1" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "3.6.3", - "@docusaurus/types": "3.6.3", - "docusaurus-plugin-typedoc": "1.0.5", - "typedoc": "0.26.11", - "typedoc-plugin-markdown": "4.2.10" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 3 chrome version", - "last 3 firefox version", - "last 5 safari version" - ] - }, - "engines": { - "node": "23.3.0" - } + "name": "eliza-docs", + "version": "0.1.7-alpha.1", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start --no-open", + "dev": "docusaurus start --port 3002 --no-open", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "3.6.3", + "@docusaurus/plugin-content-blog": "3.6.3", + "@docusaurus/plugin-content-docs": "3.6.3", + "@docusaurus/plugin-ideal-image": "3.6.3", + "@docusaurus/preset-classic": "3.6.3", + "@docusaurus/theme-mermaid": "3.6.3", + "@mdx-js/react": "3.0.1", + "clsx": "2.1.1", + "docusaurus-lunr-search": "3.5.0", + "dotenv": "^16.4.7", + "prism-react-renderer": "2.3.1", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-router-dom": "6.22.1" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.6.3", + "@docusaurus/types": "3.6.3", + "docusaurus-plugin-typedoc": "1.0.5", + "typedoc": "0.26.11", + "typedoc-plugin-markdown": "4.2.10" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": "23.3.0" + } } diff --git a/packages/adapter-postgres/package.json b/packages/adapter-postgres/package.json index 5cf207a058..39e7e47726 100644 --- a/packages/adapter-postgres/package.json +++ b/packages/adapter-postgres/package.json @@ -1,20 +1,20 @@ { - "name": "@elizaos/adapter-postgres", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@types/pg": "8.11.10", - "pg": "8.13.1" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - } + "name": "@elizaos/adapter-postgres", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@types/pg": "8.11.10", + "pg": "8.13.1" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + } } diff --git a/packages/adapter-redis/package.json b/packages/adapter-redis/package.json index a2c3f32682..c760434fba 100644 --- a/packages/adapter-redis/package.json +++ b/packages/adapter-redis/package.json @@ -1,23 +1,23 @@ { - "name": "@elizaos/adapter-redis", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "ioredis": "5.4.2" - }, - "devDependencies": { - "@types/ioredis": "^5.0.0", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/adapter-redis", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "ioredis": "5.4.2" + }, + "devDependencies": { + "@types/ioredis": "^5.0.0", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/adapter-sqlite/package.json b/packages/adapter-sqlite/package.json index f16a564751..674f2463b1 100644 --- a/packages/adapter-sqlite/package.json +++ b/packages/adapter-sqlite/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/adapter-sqlite", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@types/better-sqlite3": "7.6.12", - "better-sqlite3": "11.6.0", - "sqlite-vec": "0.1.6" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/adapter-sqlite", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@types/better-sqlite3": "7.6.12", + "better-sqlite3": "11.6.0", + "sqlite-vec": "0.1.6" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/adapter-sqljs/package.json b/packages/adapter-sqljs/package.json index 63cb3f4cc9..e5e8ed4311 100644 --- a/packages/adapter-sqljs/package.json +++ b/packages/adapter-sqljs/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/adapter-sqljs", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@types/sql.js": "1.4.9", - "sql.js": "1.12.0", - "uuid": "11.0.3" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/adapter-sqljs", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@types/sql.js": "1.4.9", + "sql.js": "1.12.0", + "uuid": "11.0.3" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/adapter-sqljs/src/types.ts b/packages/adapter-sqljs/src/types.ts index 42dfdf9847..f457ecaed2 100644 --- a/packages/adapter-sqljs/src/types.ts +++ b/packages/adapter-sqljs/src/types.ts @@ -100,7 +100,7 @@ declare class Statement { getSQL(): string; /** - * Reset a statement, so that it's parameters can be bound to new + * Reset a statement, so that its parameters can be bound to new * values. It also clears all previous bindings, freeing the memory used * by bound parameters. * @see [https://sql.js.org/documentation/Statement.html#["reset"]](https://sql.js.org/documentation/Statement.html#%5B%22reset%22%5D) @@ -115,7 +115,7 @@ declare class Statement { run(values?: BindParams): void; /** - * Execute the statement, fetching the the next line of result, that can + * Execute the statement, fetching the next line of result, that can * be retrieved with `Statement.get`. * @see [https://sql.js.org/documentation/Statement.html#["step"]](https://sql.js.org/documentation/Statement.html#%5B%22step%22%5D) */ @@ -169,7 +169,7 @@ export declare class Database { getRowsModified(): number; /** - * Analyze a result code, return null if no error occured, and throw an + * Analyze a result code, return null if no error occurred, and throw an * error with a descriptive message otherwise * @see [https://sql.js.org/documentation/Database.html#["handleError"]](https://sql.js.org/documentation/Database.html#%5B%22handleError%22%5D) */ diff --git a/packages/adapter-supabase/package.json b/packages/adapter-supabase/package.json index bde60061ed..b27876ec94 100644 --- a/packages/adapter-supabase/package.json +++ b/packages/adapter-supabase/package.json @@ -1,22 +1,22 @@ { - "name": "@elizaos/adapter-supabase", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@supabase/supabase-js": "2.46.2" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/adapter-supabase", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@supabase/supabase-js": "2.46.2" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/client-auto/package.json b/packages/client-auto/package.json index ef0ae6e34b..77f48720cb 100644 --- a/packages/client-auto/package.json +++ b/packages/client-auto/package.json @@ -1,27 +1,27 @@ { - "name": "@elizaos/client-auto", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@types/body-parser": "1.19.5", - "@types/cors": "2.8.17", - "@types/express": "5.0.0", - "body-parser": "1.20.3", - "cors": "2.8.5", - "multer": "1.4.5-lts.1" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/client-auto", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@types/body-parser": "1.19.5", + "@types/cors": "2.8.17", + "@types/express": "5.0.0", + "body-parser": "1.20.3", + "cors": "2.8.5", + "multer": "1.4.5-lts.1" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/client-direct/package.json b/packages/client-direct/package.json index fe3f4c7afb..977d7089b1 100644 --- a/packages/client-direct/package.json +++ b/packages/client-direct/package.json @@ -1,30 +1,30 @@ { - "name": "@elizaos/client-direct", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-image-generation": "workspace:*", - "@types/body-parser": "1.19.5", - "@types/cors": "2.8.17", - "@types/express": "5.0.0", - "body-parser": "1.20.3", - "cors": "2.8.5", - "discord.js": "14.16.3", - "express": "4.21.1", - "multer": "1.4.5-lts.1" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/client-direct", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-image-generation": "workspace:*", + "@types/body-parser": "1.19.5", + "@types/cors": "2.8.17", + "@types/express": "5.0.0", + "body-parser": "1.20.3", + "cors": "2.8.5", + "discord.js": "14.16.3", + "express": "4.21.1", + "multer": "1.4.5-lts.1" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/client-discord/package.json b/packages/client-discord/package.json index be4ace088f..8a90f4599d 100644 --- a/packages/client-discord/package.json +++ b/packages/client-discord/package.json @@ -1,33 +1,33 @@ { - "name": "@elizaos/client-discord", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-node": "workspace:*", - "@discordjs/opus": "github:discordjs/opus", - "@discordjs/rest": "2.4.0", - "@discordjs/voice": "0.17.0", - "discord.js": "14.16.3", - "libsodium-wrappers": "0.7.15", - "prism-media": "1.3.5", - "zod": "3.23.8" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "trustedDependencies": { - "@discordjs/opus": "github:discordjs/opus", - "@discordjs/voice": "0.17.0" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/client-discord", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-node": "workspace:*", + "@discordjs/opus": "github:discordjs/opus", + "@discordjs/rest": "2.4.0", + "@discordjs/voice": "0.17.0", + "discord.js": "14.16.3", + "libsodium-wrappers": "0.7.15", + "prism-media": "1.3.5", + "zod": "3.23.8" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "trustedDependencies": { + "@discordjs/opus": "github:discordjs/opus", + "@discordjs/voice": "0.17.0" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/client-discord/src/messages.ts b/packages/client-discord/src/messages.ts index 1ca673f948..f6778564fe 100644 --- a/packages/client-discord/src/messages.ts +++ b/packages/client-discord/src/messages.ts @@ -1,4 +1,4 @@ -import { composeContext } from "@elizaos/core"; +import { composeContext, composeRandomUser } from "@elizaos/core"; import { generateMessageResponse, generateShouldRespond } from "@elizaos/core"; import { Content, @@ -1228,7 +1228,7 @@ export class MessageManager { this.runtime.character.templates ?.discordShouldRespondTemplate || this.runtime.character.templates?.shouldRespondTemplate || - discordShouldRespondTemplate, + composeRandomUser(discordShouldRespondTemplate, 2), }); const response = await generateShouldRespond({ diff --git a/packages/client-discord/src/templates.ts b/packages/client-discord/src/templates.ts index 0fea262016..46d3f2333a 100644 --- a/packages/client-discord/src/templates.ts +++ b/packages/client-discord/src/templates.ts @@ -8,48 +8,48 @@ About {{agentName}}: # INSTRUCTIONS: Determine if {{agentName}} should respond to the message and participate in the conversation. Do not comment. Just respond with "RESPOND" or "IGNORE" or "STOP". # RESPONSE EXAMPLES -: I just saw a really great movie -: Oh? Which movie? +{{user1}}: I just saw a really great movie +{{user2}}: Oh? Which movie? Result: [IGNORE] {{agentName}}: Oh, this is my favorite scene -: sick -: wait, why is it your favorite scene +{{user1}}: sick +{{user2}}: wait, why is it your favorite scene Result: [RESPOND] -: stfu bot +{{user1}}: stfu bot Result: [STOP] -: Hey {{agent}}, can you help me with something +{{user1}}: Hey {{agent}}, can you help me with something Result: [RESPOND] -: {{agentName}} stfu plz +{{user1}}: {{agentName}} stfu plz Result: [STOP] -: i need help +{{user1}}: i need help {{agentName}}: how can I help you? -: no. i need help from someone else +{{user1}}: no. i need help from someone else Result: [IGNORE] -: Hey {{agent}}, can I ask you a question +{{user1}}: Hey {{agent}}, can I ask you a question {{agentName}}: Sure, what is it -: can you ask claude to create a basic react module that demonstrates a counter +{{user1}}: can you ask claude to create a basic react module that demonstrates a counter Result: [RESPOND] -: {{agentName}} can you tell me a story -: {about a girl named elara +{{user1}}: {{agentName}} can you tell me a story +{{user1}}: about a girl named elara {{agentName}}: Sure. {{agentName}}: Once upon a time, in a quaint little village, there was a curious girl named Elara. {{agentName}}: Elara was known for her adventurous spirit and her knack for finding beauty in the mundane. -: I'm loving it, keep going +{{user1}}: I'm loving it, keep going Result: [RESPOND] -: {{agentName}} stop responding plz +{{user1}}: {{agentName}} stop responding plz Result: [STOP] -: okay, i want to test something. can you say marco? +{{user1}}: okay, i want to test something. can you say marco? {{agentName}}: marco -: great. okay, now do it again +{{user1}}: great. okay, now do it again Result: [RESPOND] Response options are [RESPOND], [IGNORE] and [STOP]. diff --git a/packages/client-discord/src/voice.ts b/packages/client-discord/src/voice.ts index 85c14c03ed..036806f610 100644 --- a/packages/client-discord/src/voice.ts +++ b/packages/client-discord/src/voice.ts @@ -8,6 +8,7 @@ import { State, UUID, composeContext, + composeRandomUser, elizaLogger, getEmbeddingZeroVector, generateMessageResponse, @@ -840,7 +841,7 @@ export class VoiceManager extends EventEmitter { this.runtime.character.templates ?.discordShouldRespondTemplate || this.runtime.character.templates?.shouldRespondTemplate || - discordShouldRespondTemplate, + composeRandomUser(discordShouldRespondTemplate, 2), }); const response = await generateShouldRespond({ diff --git a/packages/client-farcaster/package.json b/packages/client-farcaster/package.json index 205ae6ad7b..d9e059f31b 100644 --- a/packages/client-farcaster/package.json +++ b/packages/client-farcaster/package.json @@ -1,18 +1,18 @@ { - "name": "@elizaos/client-farcaster", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@neynar/nodejs-sdk": "^2.0.3" - }, - "devDependencies": { - "tsup": "^8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - } + "name": "@elizaos/client-farcaster", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@neynar/nodejs-sdk": "^2.0.3" + }, + "devDependencies": { + "tsup": "^8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + } } diff --git a/packages/client-github/package.json b/packages/client-github/package.json index 1ada6c7ed2..4bd8272751 100644 --- a/packages/client-github/package.json +++ b/packages/client-github/package.json @@ -1,23 +1,23 @@ { - "name": "@elizaos/client-github", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@octokit/rest": "20.1.1", - "@octokit/types": "12.6.0", - "glob": "10.4.5", - "simple-git": "3.27.0" - }, - "devDependencies": { - "@types/glob": "8.1.0", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - } + "name": "@elizaos/client-github", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@octokit/rest": "20.1.1", + "@octokit/types": "12.6.0", + "glob": "10.4.5", + "simple-git": "3.27.0" + }, + "devDependencies": { + "@types/glob": "8.1.0", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + } } diff --git a/packages/client-github/src/index.ts b/packages/client-github/src/index.ts index b998ea4ee6..e43d194f22 100644 --- a/packages/client-github/src/index.ts +++ b/packages/client-github/src/index.ts @@ -57,10 +57,7 @@ export class GitHubClient { // Clone or pull repository if (!existsSync(this.repoPath)) { - await this.git.clone( - `https://github.com/${this.config.owner}/${this.config.repo}.git`, - this.repoPath - ); + await this.cloneRepository(); } else { const git = simpleGit(this.repoPath); await git.pull(); @@ -73,6 +70,26 @@ export class GitHubClient { } } + private async cloneRepository() { + const repositoryUrl = `https://github.com/${this.config.owner}/${this.config.repo}.git`; + const maxRetries = 3; + let retries = 0; + + while (retries < maxRetries) { + try { + await this.git.clone(repositoryUrl, this.repoPath); + elizaLogger.log(`Successfully cloned repository from ${repositoryUrl}`); + return; + } catch (error) { + elizaLogger.error(`Failed to clone repository from ${repositoryUrl}. Retrying...`); + retries++; + if (retries === maxRetries) { + throw new Error(`Unable to clone repository from ${repositoryUrl} after ${maxRetries} retries.`); + } + } + } + } + async createMemoriesFromFiles() { console.log("Create memories"); const searchPath = this.config.path diff --git a/packages/client-lens/package.json b/packages/client-lens/package.json index 8ab78c0443..f52547897f 100644 --- a/packages/client-lens/package.json +++ b/packages/client-lens/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/client-lens", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@lens-protocol/client": "2.2.0", - "@lens-protocol/metadata": "1.2.0", - "axios": "^1.7.9", - "viem": "^2.13.8" - }, - "devDependencies": { - "tsup": "^8.3.5" - }, - "peerDependencies": { - "@elizaos/core": "workspace:*" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - } + "name": "@elizaos/client-lens", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@lens-protocol/client": "2.2.0", + "@lens-protocol/metadata": "1.2.0", + "axios": "^1.7.9", + "viem": "^2.13.8" + }, + "devDependencies": { + "tsup": "^8.3.5" + }, + "peerDependencies": { + "@elizaos/core": "workspace:*" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + } } diff --git a/packages/client-slack/package.json b/packages/client-slack/package.json index 02d32728d8..72b023bcbc 100644 --- a/packages/client-slack/package.json +++ b/packages/client-slack/package.json @@ -1,45 +1,45 @@ { - "name": "@elizaos/client-slack", - "version": "0.1.7-alpha.1", - "description": "Slack client plugin for Eliza framework", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "scripts": { - "build": "tsup src/index.ts --format esm --dts", - "test": "jest", - "lint": "eslint --fix --cache .", - "clean": "rimraf dist", - "dev": "tsup src/index.ts --watch", - "example": "ts-node src/examples/standalone-example.ts", - "example:attachment": "ts-node src/examples/standalone-attachment.ts", - "example:summarize": "ts-node src/examples/standalone-summarize.ts", - "example:transcribe": "ts-node src/examples/standalone-transcribe.ts" - }, - "dependencies": { - "@elizaos/core": "workspace:*", - "@ffmpeg-installer/ffmpeg": "^1.1.0", - "@slack/events-api": "^3.0.1", - "@slack/web-api": "^6.8.1", - "body-parser": "^1.20.2", - "dotenv": "^16.0.3", - "express": "^4.18.2", - "fluent-ffmpeg": "^2.1.2", - "node-fetch": "^2.6.9" - }, - "devDependencies": { - "@types/express": "^4.17.21", - "@types/fluent-ffmpeg": "^2.1.24", - "@types/jest": "^29.5.0", - "@types/node": "^18.15.11", - "jest": "^29.5.0", - "rimraf": "^5.0.0", - "ts-jest": "^29.1.0", - "ts-node": "^10.9.1", - "tsup": "^8.3.5", - "typescript": "^5.0.0" - }, - "engines": { - "node": ">=14.0.0" - } + "name": "@elizaos/client-slack", + "version": "0.1.7-alpha.1", + "description": "Slack client plugin for Eliza framework", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsup src/index.ts --format esm --dts", + "test": "jest", + "lint": "eslint --fix --cache .", + "clean": "rimraf dist", + "dev": "tsup src/index.ts --watch", + "example": "ts-node src/examples/standalone-example.ts", + "example:attachment": "ts-node src/examples/standalone-attachment.ts", + "example:summarize": "ts-node src/examples/standalone-summarize.ts", + "example:transcribe": "ts-node src/examples/standalone-transcribe.ts" + }, + "dependencies": { + "@elizaos/core": "workspace:*", + "@ffmpeg-installer/ffmpeg": "^1.1.0", + "@slack/events-api": "^3.0.1", + "@slack/web-api": "^6.8.1", + "body-parser": "^1.20.2", + "dotenv": "^16.0.3", + "express": "^4.18.2", + "fluent-ffmpeg": "^2.1.2", + "node-fetch": "^2.6.9" + }, + "devDependencies": { + "@types/express": "^4.17.21", + "@types/fluent-ffmpeg": "^2.1.24", + "@types/jest": "^29.5.0", + "@types/node": "^18.15.11", + "jest": "^29.5.0", + "rimraf": "^5.0.0", + "ts-jest": "^29.1.0", + "ts-node": "^10.9.1", + "tsup": "^8.3.5", + "typescript": "^5.0.0" + }, + "engines": { + "node": ">=14.0.0" + } } diff --git a/packages/client-telegram/package.json b/packages/client-telegram/package.json index bc4fb34515..5eebf3c5c9 100644 --- a/packages/client-telegram/package.json +++ b/packages/client-telegram/package.json @@ -1,21 +1,21 @@ { - "name": "@elizaos/client-telegram", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@telegraf/types": "7.1.0", - "telegraf": "4.16.3", - "zod": "3.23.8" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - } + "name": "@elizaos/client-telegram", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@telegraf/types": "7.1.0", + "telegraf": "4.16.3", + "zod": "3.23.8" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + } } diff --git a/packages/client-telegram/src/messageManager.ts b/packages/client-telegram/src/messageManager.ts index 850f2f3bf6..3450ca853f 100644 --- a/packages/client-telegram/src/messageManager.ts +++ b/packages/client-telegram/src/messageManager.ts @@ -1,7 +1,6 @@ import { Message } from "@telegraf/types"; import { Context, Telegraf } from "telegraf"; - -import { composeContext, elizaLogger, ServiceType } from "@elizaos/core"; +import { composeContext, elizaLogger, ServiceType, composeRandomUser } from "@elizaos/core"; import { getEmbeddingZeroVector } from "@elizaos/core"; import { Content, @@ -661,7 +660,7 @@ export class MessageManager { this.runtime.character.templates ?.telegramShouldRespondTemplate || this.runtime.character?.templates?.shouldRespondTemplate || - telegramShouldRespondTemplate, + composeRandomUser(telegramShouldRespondTemplate, 2), }); const response = await generateShouldRespond({ diff --git a/packages/client-twitter/package.json b/packages/client-twitter/package.json index 367976bbde..630c43caa2 100644 --- a/packages/client-twitter/package.json +++ b/packages/client-twitter/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/client-twitter", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "agent-twitter-client": "0.0.17", - "glob": "11.0.0", - "zod": "3.23.8" - }, - "devDependencies": { - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/client-twitter", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "agent-twitter-client": "0.0.17", + "glob": "11.0.0", + "zod": "3.23.8" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/client-twitter/src/base.ts b/packages/client-twitter/src/base.ts index d9f10281cb..a6cbb8a20b 100644 --- a/packages/client-twitter/src/base.ts +++ b/packages/client-twitter/src/base.ts @@ -177,22 +177,25 @@ export class ClientBase extends EventEmitter { elizaLogger.log("Waiting for Twitter login"); while (retries > 0) { try { - await this.twitterClient.login( - username, - password, - email, - twitter2faSecret - ); - if (await this.twitterClient.isLoggedIn()) { + if (await this.twitterClient.isLoggedIn()) { // cookies are valid, no login required elizaLogger.info("Successfully logged in."); - if (!cachedCookies) { + break; + } else { + await this.twitterClient.login( + username, + password, + email, + twitter2faSecret + ); + if (await this.twitterClient.isLoggedIn()) { // fresh login, store new cookies + elizaLogger.info("Successfully logged in."); elizaLogger.info("Caching cookies"); await this.cacheCookies( username, await this.twitterClient.getCookies() ); + break; } - break; } } catch (error) { elizaLogger.error(`Login attempt failed: ${error.message}`); diff --git a/packages/client-twitter/src/index.ts b/packages/client-twitter/src/index.ts index db522be15c..3692525a24 100644 --- a/packages/client-twitter/src/index.ts +++ b/packages/client-twitter/src/index.ts @@ -34,12 +34,15 @@ export const TwitterClientInterface: Client = { elizaLogger.log("Twitter client started"); - const manager = new TwitterManager(runtime, this.enableSearch); + const manager = new TwitterManager(runtime, runtime.getSetting("TWITTER_SEARCH_ENABLE").toLowerCase() === "true"); await manager.client.init(); await manager.post.start(); + if (manager.search) + await manager.search.start(); + await manager.interaction.start(); await manager.search?.start(); diff --git a/packages/client-twitter/src/search.ts b/packages/client-twitter/src/search.ts index 0bc917da47..8934abf72e 100644 --- a/packages/client-twitter/src/search.ts +++ b/packages/client-twitter/src/search.ts @@ -1,5 +1,5 @@ import { SearchMode } from "agent-twitter-client"; -import { composeContext } from "@elizaos/core"; +import {composeContext, elizaLogger} from "@elizaos/core"; import { generateMessageResponse, generateText } from "@elizaos/core"; import { messageCompletionFooter } from "@elizaos/core"; import { @@ -59,10 +59,12 @@ export class TwitterSearchClient { } private engageWithSearchTermsLoop() { - this.engageWithSearchTerms(); + this.engageWithSearchTerms().then(); + const randomMinutes = (Math.floor(Math.random() * (120 - 60 + 1)) + 60); + elizaLogger.log(`Next twitter search scheduled in ${randomMinutes} minutes`); setTimeout( () => this.engageWithSearchTermsLoop(), - (Math.floor(Math.random() * (120 - 60 + 1)) + 60) * 60 * 1000 + randomMinutes * 60 * 1000 ); } diff --git a/packages/core/package.json b/packages/core/package.json index 6d999cfd2d..835d99899b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,79 +1,79 @@ { - "name": "@elizaos/core", - "version": "0.1.7-alpha.1", - "description": "", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "scripts": { - "build": "tsup --format esm --dts", - "lint": "eslint --fix --cache .", - "watch": "tsc --watch", - "dev": "tsup --format esm --dts --watch", - "build:docs": "cd docs && pnpm run build", - "test": "vitest run", - "test:coverage": "vitest run --coverage", - "test:watch": "vitest" - }, - "author": "", - "license": "MIT", - "devDependencies": { - "@eslint/js": "9.16.0", - "@rollup/plugin-commonjs": "25.0.8", - "@rollup/plugin-json": "6.1.0", - "@rollup/plugin-node-resolve": "15.3.0", - "@rollup/plugin-replace": "5.0.7", - "@rollup/plugin-terser": "0.1.0", - "@rollup/plugin-typescript": "11.1.6", - "@solana/web3.js": "1.95.8", - "@types/fluent-ffmpeg": "2.1.27", - "@types/jest": "29.5.14", - "@types/mocha": "10.0.10", - "@types/node": "22.8.4", - "@types/pdfjs-dist": "2.10.378", - "@types/tar": "6.1.13", - "@types/wav-encoder": "1.3.3", - "@typescript-eslint/eslint-plugin": "8.16.0", - "@typescript-eslint/parser": "8.16.0", - "@vitest/coverage-v8": "2.1.5", - "dotenv": "16.4.5", - "jest": "29.7.0", - "lint-staged": "15.2.10", - "nodemon": "3.1.7", - "pm2": "5.4.3", - "rimraf": "6.0.1", - "rollup": "2.79.2", - "ts-jest": "29.2.5", - "ts-node": "10.9.2", - "tslib": "2.8.1", - "tsup": "8.3.5", - "typescript": "5.6.3" - }, - "dependencies": { - "@ai-sdk/anthropic": "0.0.56", - "@ai-sdk/google": "0.0.55", - "@ai-sdk/google-vertex": "0.0.43", - "@ai-sdk/groq": "0.0.3", - "@ai-sdk/openai": "1.0.5", - "@anthropic-ai/sdk": "0.30.1", - "@fal-ai/client": "1.2.0", - "@types/uuid": "10.0.0", - "ai": "3.4.33", - "anthropic-vertex-ai": "1.0.2", - "fastembed": "1.14.1", - "fastestsmallesttextencoderdecoder": "1.0.22", - "gaxios": "6.7.1", - "glob": "11.0.0", - "handlebars": "^4.7.8", - "js-sha1": "0.7.0", - "js-tiktoken": "1.0.15", - "langchain": "0.3.6", - "ollama-ai-provider": "0.16.1", - "openai": "4.73.0", - "tinyld": "1.3.4", - "together-ai": "0.7.0", - "unique-names-generator": "4.7.1", - "uuid": "11.0.3", - "zod": "3.23.8" - } + "name": "@elizaos/core", + "version": "0.1.7-alpha.1", + "description": "", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsup --format esm --dts", + "lint": "eslint --fix --cache .", + "watch": "tsc --watch", + "dev": "tsup --format esm --dts --watch", + "build:docs": "cd docs && pnpm run build", + "test": "vitest run", + "test:coverage": "vitest run --coverage", + "test:watch": "vitest" + }, + "author": "", + "license": "MIT", + "devDependencies": { + "@eslint/js": "9.16.0", + "@rollup/plugin-commonjs": "25.0.8", + "@rollup/plugin-json": "6.1.0", + "@rollup/plugin-node-resolve": "15.3.0", + "@rollup/plugin-replace": "5.0.7", + "@rollup/plugin-terser": "0.1.0", + "@rollup/plugin-typescript": "11.1.6", + "@solana/web3.js": "1.95.8", + "@types/fluent-ffmpeg": "2.1.27", + "@types/jest": "29.5.14", + "@types/mocha": "10.0.10", + "@types/node": "22.8.4", + "@types/pdfjs-dist": "2.10.378", + "@types/tar": "6.1.13", + "@types/wav-encoder": "1.3.3", + "@typescript-eslint/eslint-plugin": "8.16.0", + "@typescript-eslint/parser": "8.16.0", + "@vitest/coverage-v8": "2.1.5", + "dotenv": "16.4.5", + "jest": "29.7.0", + "lint-staged": "15.2.10", + "nodemon": "3.1.7", + "pm2": "5.4.3", + "rimraf": "6.0.1", + "rollup": "2.79.2", + "ts-jest": "29.2.5", + "ts-node": "10.9.2", + "tslib": "2.8.1", + "tsup": "8.3.5", + "typescript": "5.6.3" + }, + "dependencies": { + "@ai-sdk/anthropic": "0.0.56", + "@ai-sdk/google": "0.0.55", + "@ai-sdk/google-vertex": "0.0.43", + "@ai-sdk/groq": "0.0.3", + "@ai-sdk/openai": "1.0.5", + "@anthropic-ai/sdk": "0.30.1", + "@fal-ai/client": "1.2.0", + "@types/uuid": "10.0.0", + "ai": "3.4.33", + "anthropic-vertex-ai": "1.0.2", + "fastembed": "1.14.1", + "fastestsmallesttextencoderdecoder": "1.0.22", + "gaxios": "6.7.1", + "glob": "11.0.0", + "handlebars": "^4.7.8", + "js-sha1": "0.7.0", + "js-tiktoken": "1.0.15", + "langchain": "0.3.6", + "ollama-ai-provider": "0.16.1", + "openai": "4.73.0", + "tinyld": "1.3.4", + "together-ai": "0.7.0", + "unique-names-generator": "4.7.1", + "uuid": "11.0.3", + "zod": "3.23.8" + } } diff --git a/packages/core/src/context.ts b/packages/core/src/context.ts index 190a876edd..a682e6794c 100644 --- a/packages/core/src/context.ts +++ b/packages/core/src/context.ts @@ -1,5 +1,6 @@ import handlebars from "handlebars"; import { type State } from "./types.ts"; +import { names, uniqueNamesGenerator } from "unique-names-generator"; /** * Composes a context string by replacing placeholders in a template with corresponding values from the state. @@ -69,3 +70,35 @@ export const composeContext = ({ export const addHeader = (header: string, body: string) => { return body.length > 0 ? `${header ? header + "\n" : header}${body}\n` : ""; }; + +/** + * Generates a string with random user names populated in a template. + * + * This function generates a specified number of random user names and populates placeholders + * in the provided template with these names. Placeholders in the template should follow the format `{{userX}}` + * where `X` is the position of the user (e.g., `{{user1}}`, `{{user2}}`). + * + * @param {string} params.template - The template string containing placeholders for random user names. + * @param {number} params.length - The number of random user names to generate. + * @returns {string} The template string with placeholders replaced by random user names. + * + * @example + * // Given a template and a length + * const template = "Hello, {{user1}}! Meet {{user2}} and {{user3}}."; + * const length = 3; + * + * // Composing the random user string will result in: + * // "Hello, John! Meet Alice and Bob." + * const result = composeRandomUser({ template, length }); + */ +export const composeRandomUser = (template: string, length: number) => { + const exampleNames = Array.from({ length }, () => + uniqueNamesGenerator({ dictionaries: [names] }) + ); + let result = template; + for (let i = 0; i < exampleNames.length; i++) { + result = result.replaceAll(`{{user${i + 1}}}`, exampleNames[i]); + } + + return result; +}; diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index 167ee9447f..657ace24b0 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -935,6 +935,8 @@ export const generateImage = async ( seed?: number; modelId?: string; jobId?: string; + stylePreset?: string; + hideWatermark?: boolean; }, runtime: IAgentRuntime ): Promise<{ @@ -950,14 +952,30 @@ export const generateImage = async ( }); const apiKey = - runtime.imageModelProvider === runtime.modelProvider - ? runtime.token - : (runtime.getSetting("HEURIST_API_KEY") ?? - runtime.getSetting("TOGETHER_API_KEY") ?? - runtime.getSetting("FAL_API_KEY") ?? - runtime.getSetting("OPENAI_API_KEY") ?? - runtime.getSetting("VENICE_API_KEY")); - + runtime.imageModelProvider === runtime.modelProvider + ? runtime.token + : (() => { + // First try to match the specific provider + switch (runtime.imageModelProvider) { + case ModelProviderName.HEURIST: + return runtime.getSetting("HEURIST_API_KEY"); + case ModelProviderName.TOGETHER: + return runtime.getSetting("TOGETHER_API_KEY"); + case ModelProviderName.FAL: + return runtime.getSetting("FAL_API_KEY"); + case ModelProviderName.OPENAI: + return runtime.getSetting("OPENAI_API_KEY"); + case ModelProviderName.VENICE: + return runtime.getSetting("VENICE_API_KEY"); + default: + // If no specific match, try the fallback chain + return (runtime.getSetting("HEURIST_API_KEY") ?? + runtime.getSetting("TOGETHER_API_KEY") ?? + runtime.getSetting("FAL_API_KEY") ?? + runtime.getSetting("OPENAI_API_KEY") ?? + runtime.getSetting("VENICE_API_KEY")); + } + })(); try { if (runtime.imageModelProvider === ModelProviderName.HEURIST) { const response = await fetch( @@ -1121,9 +1139,12 @@ export const generateImage = async ( model: data.modelId || "fluently-xl", prompt: data.prompt, negative_prompt: data.negativePrompt, - width: data.width || 1024, - height: data.height || 1024, - steps: data.numIterations || 20, + width: data.width, + height: data.height, + steps: data.numIterations, + seed: data.seed, + style_preset: data.stylePreset, + hide_watermark: data.hideWatermark, }), } ); diff --git a/packages/core/src/parsing.ts b/packages/core/src/parsing.ts index cc85352202..fb516989b4 100644 --- a/packages/core/src/parsing.ts +++ b/packages/core/src/parsing.ts @@ -32,7 +32,7 @@ export const parseShouldRespondFromText = ( : null; }; -export const booleanFooter = `Respond with a YES or a NO.`; +export const booleanFooter = `Respond with only a YES or a NO.`; export const parseBooleanFromText = (text: string) => { const match = text.match(/^(YES|NO)$/i); diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 6fafa4ede8..5f83e29c66 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -718,6 +718,8 @@ export type Character = { modelId?: string; jobId?: string; count?: number; + stylePreset?: string; + hideWatermark?: boolean; }; voice?: { model?: string; // For VITS diff --git a/packages/create-eliza-app/package.json b/packages/create-eliza-app/package.json index 6df675bce4..a259f0ce48 100644 --- a/packages/create-eliza-app/package.json +++ b/packages/create-eliza-app/package.json @@ -1,31 +1,31 @@ { - "name": "create-eliza-app", - "version": "0.1.7-alpha.1", - "description": "", - "sideEffects": false, - "files": [ - "dist" - ], - "main": "dist/index.cjs", - "bin": { - "create-eliza-app": "dist/index.mjs" - }, - "scripts": { - "build": "unbuild", - "lint": "eslint --fix --cache .", - "start": "node ./dist/index.cjs", - "automd": "automd" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "citty": "0.1.6", - "giget": "1.2.3" - }, - "devDependencies": { - "automd": "0.3.12", - "jiti": "2.4.0", - "unbuild": "2.0.0" - } + "name": "create-eliza-app", + "version": "0.1.7-alpha.1", + "description": "", + "sideEffects": false, + "files": [ + "dist" + ], + "main": "dist/index.cjs", + "bin": { + "create-eliza-app": "dist/index.mjs" + }, + "scripts": { + "build": "unbuild", + "lint": "eslint --fix --cache .", + "start": "node ./dist/index.cjs", + "automd": "automd" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "citty": "0.1.6", + "giget": "1.2.3" + }, + "devDependencies": { + "automd": "0.3.12", + "jiti": "2.4.0", + "unbuild": "2.0.0" + } } diff --git a/packages/plugin-0g/package.json b/packages/plugin-0g/package.json index fda7f17ea5..5561a2fc14 100644 --- a/packages/plugin-0g/package.json +++ b/packages/plugin-0g/package.json @@ -1,18 +1,18 @@ { - "name": "@elizaos/plugin-0g", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@0glabs/0g-ts-sdk": "0.2.1", - "@elizaos/core": "workspace:*", - "ethers": "6.13.4", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest" - } + "name": "@elizaos/plugin-0g", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@0glabs/0g-ts-sdk": "0.2.1", + "@elizaos/core": "workspace:*", + "ethers": "6.13.4", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest" + } } diff --git a/packages/plugin-abstract/package.json b/packages/plugin-abstract/package.json new file mode 100644 index 0000000000..a35eeb128c --- /dev/null +++ b/packages/plugin-abstract/package.json @@ -0,0 +1,19 @@ +{ + "name": "@elizaos/plugin-abstract", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "^8.3.5", + "web3": "^4.15.0", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/plugin-abstract/src/actions/transfer.ts b/packages/plugin-abstract/src/actions/transfer.ts new file mode 100644 index 0000000000..24725815e7 --- /dev/null +++ b/packages/plugin-abstract/src/actions/transfer.ts @@ -0,0 +1,257 @@ +import { + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + type Action, + elizaLogger, + composeContext, + generateObject, +} from "@elizaos/core"; +import { validateAbstractConfig } from "../environment"; + +import { Address, createWalletClient, erc20Abi, http, parseEther } from "viem"; +import { abstractTestnet } from "viem/chains"; +import { privateKeyToAccount } from "viem/accounts"; +import { eip712WalletActions } from "viem/zksync"; +import { z } from "zod"; + +const TransferSchema = z.object({ + tokenAddress: z.string(), + recipient: z.string(), + amount: z.string(), +}); + +export interface TransferContent extends Content { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +export function isTransferContent( + content: TransferContent +): content is TransferContent { + // Validate types + const validTypes = + typeof content.tokenAddress === "string" && + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number"); + if (!validTypes) { + return false; + } + + // Validate addresses + const validAddresses = + content.tokenAddress.startsWith("0x") && + content.tokenAddress.length === 42 && + content.recipient.startsWith("0x") && + content.recipient.length === 42; + + return validAddresses; +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Here are several frequently used addresses. Use these for the corresponding tokens: +- ETH/eth: 0x000000000000000000000000000000000000800A +- USDC/usdc: 0xe4c7fbb0a626ed208021ccaba6be1566905e2dfc + +Example response: +\`\`\`json +{ + "tokenAddress": "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E", + "recipient": "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + "amount": "1000" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Token contract address +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +const ETH_ADDRESS = "0x000000000000000000000000000000000000800A"; +const ERC20_OVERRIDE_INFO = { + "0xe4c7fbb0a626ed208021ccaba6be1566905e2dfc": { + name: "USDC", + decimals: 6, + }, +}; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN_ON_ABSTRACT", + "TRANSFER_TOKENS_ON_ABSTRACT", + "SEND_TOKENS_ON_ABSTRACT", + "SEND_ETH_ON_ABSTRACT", + "PAY_ON_ABSTRACT", + "MOVE_TOKENS_ON_ABSTRACT", + "MOVE_ETH_ON_ABSTRACT", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + await validateAbstractConfig(runtime); + return true; + }, + description: "Transfer tokens from the agent's wallet to another address", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting Abstract SEND_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = ( + await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + schema: TransferSchema, + }) + ).object as unknown as TransferContent; + + // Validate transfer content + if (!isTransferContent(content)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const PRIVATE_KEY = runtime.getSetting("ABSTRACT_PRIVATE_KEY")!; + const account = privateKeyToAccount(`0x${PRIVATE_KEY}`); + + const walletClient = createWalletClient({ + chain: abstractTestnet, + transport: http(), + }).extend(eip712WalletActions()); + + let hash; + if ( + content.tokenAddress.toLowerCase() !== ETH_ADDRESS.toLowerCase() + ) { + // Convert amount to proper token decimals + const tokenInfo = + ERC20_OVERRIDE_INFO[content.tokenAddress.toLowerCase()]; + const decimals = tokenInfo?.decimals ?? 18; // Default to 18 decimals if not specified + const tokenAmount = + BigInt(content.amount) * BigInt(10 ** decimals); + + // Execute ERC20 transfer + hash = await walletClient.writeContract({ + account, + chain: abstractTestnet, + address: content.tokenAddress as Address, + abi: erc20Abi, + functionName: "transfer", + args: [content.recipient as Address, tokenAmount], + }); + } else { + hash = await walletClient.sendTransaction({ + account: account, + chain: abstractTestnet, + to: content.recipient as Address, + value: parseEther(content.amount.toString()), + kzg: undefined, + }); + } + + elizaLogger.success( + "Transfer completed successfully! Transaction hash: " + hash + ); + if (callback) { + callback({ + text: + "Transfer completed successfully! Transaction hash: " + + hash, + content: {}, + }); + } + + return true; + } catch (error) { + elizaLogger.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + }, + }, + { + user: "{{agent}}", + content: { + text: "Sure, I'll send 100 USDC to that address now.", + action: "SEND_TOKEN", + }, + }, + { + user: "{{agent}}", + content: { + text: "Successfully sent 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62\nTransaction: 0x4fed598033f0added272c3ddefd4d83a521634a738474400b27378db462a76ec", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Please send 0.1 ETH to 0xbD8679cf79137042214fA4239b02F4022208EE82", + }, + }, + { + user: "{{agent}}", + content: { + text: "Of course. Sending 0.1 ETH to that address now.", + action: "SEND_TOKEN", + }, + }, + { + user: "{{agent}}", + content: { + text: "Successfully sent 0.1 ETH to 0xbD8679cf79137042214fA4239b02F4022208EE82\nTransaction: 0x0b9f23e69ea91ba98926744472717960cc7018d35bc3165bdba6ae41670da0f0", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/plugin-abstract/src/environment.ts b/packages/plugin-abstract/src/environment.ts new file mode 100644 index 0000000000..e7801fc409 --- /dev/null +++ b/packages/plugin-abstract/src/environment.ts @@ -0,0 +1,32 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const abstractEnvSchema = z.object({ + ABSTRACT_ADDRESS: z.string().min(1, "Abstract address is required"), + ABSTRACT_PRIVATE_KEY: z.string().min(1, "Abstract private key is required"), +}); + +export type AbstractConfig = z.infer; + +export async function validateAbstractConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + ABSTRACT_ADDRESS: runtime.getSetting("ABSTRACT_ADDRESS"), + ABSTRACT_PRIVATE_KEY: runtime.getSetting("ABSTRACT_PRIVATE_KEY"), + }; + + return abstractEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Abstract configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/plugin-abstract/src/index.ts b/packages/plugin-abstract/src/index.ts new file mode 100644 index 0000000000..4fc47c9470 --- /dev/null +++ b/packages/plugin-abstract/src/index.ts @@ -0,0 +1,13 @@ +import { Plugin } from "@elizaos/core"; + +import transfer from "./actions/transfer.ts"; + +export const abstractPlugin: Plugin = { + name: "abstract", + description: "Abstract Plugin for Eliza", + actions: [transfer], + evaluators: [], + providers: [], +}; + +export default abstractPlugin; diff --git a/packages/plugin-abstract/tsconfig.json b/packages/plugin-abstract/tsconfig.json new file mode 100644 index 0000000000..73993deaaf --- /dev/null +++ b/packages/plugin-abstract/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/plugin-abstract/tsup.config.ts b/packages/plugin-abstract/tsup.config.ts new file mode 100644 index 0000000000..e42bf4efea --- /dev/null +++ b/packages/plugin-abstract/tsup.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + // Add other modules you want to externalize + ], +}); diff --git a/packages/plugin-aptos/package.json b/packages/plugin-aptos/package.json index 60f0b5ae9b..9fa49d5256 100644 --- a/packages/plugin-aptos/package.json +++ b/packages/plugin-aptos/package.json @@ -1,26 +1,26 @@ { - "name": "@elizaos/plugin-aptos", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@aptos-labs/ts-sdk": "^1.26.0", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "node-cache": "5.1.2", - "tsup": "8.3.5", - "vitest": "2.1.4" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache .", - "test": "vitest run" - }, - "peerDependencies": { - "form-data": "4.0.1", - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-aptos", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@aptos-labs/ts-sdk": "^1.26.0", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "test": "vitest run" + }, + "peerDependencies": { + "form-data": "4.0.1", + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-bootstrap/package.json b/packages/plugin-bootstrap/package.json index 7672d27189..aec3d90c7f 100644 --- a/packages/plugin-bootstrap/package.json +++ b/packages/plugin-bootstrap/package.json @@ -1,19 +1,19 @@ { - "name": "@elizaos/plugin-bootstrap", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-bootstrap", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-coinbase/advanced-sdk-ts/package.json b/packages/plugin-coinbase/advanced-sdk-ts/package.json index 78480e529e..52e42a7e89 100644 --- a/packages/plugin-coinbase/advanced-sdk-ts/package.json +++ b/packages/plugin-coinbase/advanced-sdk-ts/package.json @@ -1,34 +1,34 @@ { - "name": "@coinbase-samples/advanced-sdk-ts", - "version": "0.1.0", - "main": "dist/main.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "build": "tsc", - "lint": "eslint . --ext .js,.ts", - "format": "prettier --write \"**/*.{js,ts,tsx,json,css,md}\"" - }, - "files": [ - "dist/" - ], - "keywords": [], - "author": "", - "license": "ISC", - "description": "", - "dependencies": { - "jsonwebtoken": "^9.0.2", - "node-fetch": "^2.6.1" - }, - "devDependencies": { - "@types/jsonwebtoken": "^9.0.7", - "@types/node-fetch": "^2.6.11", - "@typescript-eslint/eslint-plugin": "^5.59.0", - "@typescript-eslint/parser": "^5.59.0", - "dotenv": "^16.4.5", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.2.1", - "prettier": "^2.8.8", - "typescript": "^5.5.4" - } + "name": "@coinbase-samples/advanced-sdk-ts", + "version": "0.1.0", + "main": "dist/main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "tsc", + "lint": "eslint . --ext .js,.ts", + "format": "prettier --write \"**/*.{js,ts,tsx,json,css,md}\"" + }, + "files": [ + "dist/" + ], + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "jsonwebtoken": "^9.0.2", + "node-fetch": "^2.6.1" + }, + "devDependencies": { + "@types/jsonwebtoken": "^9.0.7", + "@types/node-fetch": "^2.6.11", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", + "dotenv": "^16.4.5", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.5.4" + } } diff --git a/packages/plugin-coinbase/package.json b/packages/plugin-coinbase/package.json index cc5f839009..ea5fc503a3 100644 --- a/packages/plugin-coinbase/package.json +++ b/packages/plugin-coinbase/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/plugin-coinbase", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "coinbase-api": "1.0.5", - "coinbase-advanced-sdk": "file:../../packages/plugin-coinbase/advanced-sdk-ts", - "jsonwebtoken": "^9.0.2", - "@types/jsonwebtoken": "^9.0.7", - "node-fetch": "^2.6.1" - }, - "devDependencies": { - "tsup": "8.3.5", - "@types/node": "^20.0.0" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - } + "name": "@elizaos/plugin-coinbase", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "coinbase-api": "1.0.5", + "coinbase-advanced-sdk": "file:../../packages/plugin-coinbase/advanced-sdk-ts", + "jsonwebtoken": "^9.0.2", + "@types/jsonwebtoken": "^9.0.7", + "node-fetch": "^2.6.1" + }, + "devDependencies": { + "tsup": "8.3.5", + "@types/node": "^20.0.0" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + } } diff --git a/packages/plugin-coinbase/src/plugins/advancedTrade.ts b/packages/plugin-coinbase/src/plugins/advancedTrade.ts index 8b70a76e43..3e26e78ac0 100644 --- a/packages/plugin-coinbase/src/plugins/advancedTrade.ts +++ b/packages/plugin-coinbase/src/plugins/advancedTrade.ts @@ -34,6 +34,7 @@ const tradeCsvFilePath = path.join(baseDir, "advanced_trades.csv"); const tradeProvider: Provider = { get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting tradeProvider function"); try { const client = new RESTClient( runtime.getSetting("COINBASE_API_KEY") ?? @@ -103,6 +104,7 @@ const tradeProvider: Provider = { }; export async function appendTradeToCsv(tradeResult: any) { + elizaLogger.debug("Starting appendTradeToCsv function"); try { const csvWriter = createArrayCsvWriter({ path: tradeCsvFilePath, @@ -139,6 +141,7 @@ async function hasEnoughBalance( amount: number, side: string ): Promise { + elizaLogger.debug("Starting hasEnoughBalance function"); try { const response = await client.listAccounts({}); const accounts = JSON.parse(response); @@ -216,6 +219,7 @@ export const executeAdvancedTradeAction: Action = { let client: RESTClient; // Initialize client + elizaLogger.debug("Starting advanced trade client initialization"); try { client = new RESTClient( runtime.getSetting("COINBASE_API_KEY") ?? @@ -237,6 +241,7 @@ export const executeAdvancedTradeAction: Action = { // Generate trade details let tradeDetails; + elizaLogger.debug("Starting trade details generation"); try { tradeDetails = await generateObject({ runtime, @@ -276,6 +281,7 @@ export const executeAdvancedTradeAction: Action = { // Configure order let orderConfiguration: OrderConfiguration; + elizaLogger.debug("Starting order configuration"); try { if (orderType === "MARKET") { orderConfiguration = @@ -323,6 +329,7 @@ export const executeAdvancedTradeAction: Action = { // Execute trade let order: CreateOrderResponse; try { + elizaLogger.debug("Executing the trade"); if ( !(await hasEnoughBalance( client, diff --git a/packages/plugin-coinbase/src/plugins/commerce.ts b/packages/plugin-coinbase/src/plugins/commerce.ts index 411aea6015..7dacdc0fcb 100644 --- a/packages/plugin-coinbase/src/plugins/commerce.ts +++ b/packages/plugin-coinbase/src/plugins/commerce.ts @@ -30,6 +30,7 @@ interface ChargeRequest { } export async function createCharge(apiKey: string, params: ChargeRequest) { + elizaLogger.debug("Starting createCharge function"); try { const response = await fetch(url, { method: "POST", @@ -47,13 +48,14 @@ export async function createCharge(apiKey: string, params: ChargeRequest) { const data = await response.json(); return data.data; } catch (error) { - console.error("Error creating charge:", error); + elizaLogger.error("Error creating charge:", error); throw error; } } // Function to fetch all charges export async function getAllCharges(apiKey: string) { + elizaLogger.debug("Starting getAllCharges function"); try { const response = await fetch(url, { method: "GET", @@ -72,13 +74,14 @@ export async function getAllCharges(apiKey: string) { const data = await response.json(); return data.data; } catch (error) { - console.error("Error fetching charges:", error); + elizaLogger.error("Error fetching charges:", error); throw error; } } // Function to fetch details of a specific charge export async function getChargeDetails(apiKey: string, chargeId: string) { + elizaLogger.debug("Starting getChargeDetails function"); const getUrl = `${url}${chargeId}`; try { @@ -99,7 +102,7 @@ export async function getChargeDetails(apiKey: string, chargeId: string) { const data = await response.json(); return data; } catch (error) { - console.error( + elizaLogger.error( `Error fetching charge details for ID ${chargeId}:`, error ); @@ -140,7 +143,7 @@ export const createCoinbaseChargeAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Composing state for message:", message); + elizaLogger.info("Composing state for message:", message); if (!state) { state = (await runtime.composeState(message)) as State; } else { @@ -172,10 +175,10 @@ export const createCoinbaseChargeAction: Action = { return; } - elizaLogger.log("Charge details received:", chargeDetails); + elizaLogger.info("Charge details received:", chargeDetails); // Initialize Coinbase Commerce client - + elizaLogger.debug("Starting Coinbase Commerce client initialization"); try { // Create a charge const chargeResponse = await createCharge( @@ -191,7 +194,7 @@ export const createCoinbaseChargeAction: Action = { } ); - elizaLogger.log( + elizaLogger.info( "Coinbase Commerce charge created:", chargeResponse ); @@ -333,7 +336,7 @@ export const getAllChargesAction: Action = { callback: HandlerCallback ) => { try { - elizaLogger.log("Composing state for message:", message); + elizaLogger.info("Composing state for message:", message); if (!state) { state = (await runtime.composeState(message)) as State; } else { @@ -343,7 +346,7 @@ export const getAllChargesAction: Action = { runtime.getSetting("COINBASE_COMMERCE_KEY") ); - elizaLogger.log("Fetched all charges:", charges); + elizaLogger.info("Fetched all charges:", charges); callback( { @@ -397,7 +400,7 @@ export const getChargeDetailsAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Composing state for message:", message); + elizaLogger.info("Composing state for message:", message); if (!state) { state = (await runtime.composeState(message)) as State; } else { @@ -434,7 +437,7 @@ export const getChargeDetailsAction: Action = { charge.id ); - elizaLogger.log("Fetched charge details:", chargeDetails); + elizaLogger.info("Fetched charge details:", chargeDetails); callback( { @@ -486,6 +489,7 @@ export const getChargeDetailsAction: Action = { export const chargeProvider: Provider = { get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting chargeProvider.get function"); const charges = await getAllCharges( runtime.getSetting("COINBASE_COMMERCE_KEY") ); @@ -504,8 +508,8 @@ export const chargeProvider: Provider = { privateKey: coinbasePrivateKey, }); const { balances, transactions } = await getWalletDetails(runtime); - elizaLogger.log("Current Balances:", balances); - elizaLogger.log("Last Transactions:", transactions); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); } const formattedCharges = charges.map((charge) => ({ id: charge.id, @@ -513,7 +517,7 @@ export const chargeProvider: Provider = { description: charge.description, pricing: charge.pricing, })); - elizaLogger.log("Charges:", formattedCharges); + elizaLogger.info("Charges:", formattedCharges); return { charges: formattedCharges, balances, transactions }; }, }; diff --git a/packages/plugin-coinbase/src/plugins/massPayments.ts b/packages/plugin-coinbase/src/plugins/massPayments.ts index 6eca084967..70e65d17fc 100644 --- a/packages/plugin-coinbase/src/plugins/massPayments.ts +++ b/packages/plugin-coinbase/src/plugins/massPayments.ts @@ -41,6 +41,7 @@ const csvFilePath = path.join(baseDir, "transactions.csv"); export const massPayoutProvider: Provider = { get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting massPayoutProvider.get function"); try { Coinbase.configure({ apiKeyName: @@ -50,7 +51,7 @@ export const massPayoutProvider: Provider = { runtime.getSetting("COINBASE_PRIVATE_KEY") ?? process.env.COINBASE_PRIVATE_KEY, }); - elizaLogger.log("Reading CSV file from:", csvFilePath); + elizaLogger.info("Reading CSV file from:", csvFilePath); // Ensure the CSV file exists if (!fs.existsSync(csvFilePath)) { @@ -66,7 +67,7 @@ export const massPayoutProvider: Provider = { ], }); await csvWriter.writeRecords([]); // Create an empty file with headers - elizaLogger.log("New CSV file created with headers."); + elizaLogger.info("New CSV file created with headers."); } // Read and parse the CSV file @@ -78,9 +79,9 @@ export const massPayoutProvider: Provider = { const { balances, transactions } = await getWalletDetails(runtime); - elizaLogger.log("Parsed CSV records:", records); - elizaLogger.log("Current Balances:", balances); - elizaLogger.log("Last Transactions:", transactions); + elizaLogger.info("Parsed CSV records:", records); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); return { currentTransactions: records.map((record: any) => ({ @@ -107,17 +108,19 @@ async function executeMassPayout( transferAmount: number, assetId: string ): Promise { + elizaLogger.debug("Starting executeMassPayout function"); const transactions: Transaction[] = []; const assetIdLowercase = assetId.toLowerCase(); let sendingWallet: Wallet; try { + elizaLogger.debug("Initializing sending wallet"); sendingWallet = await initializeWallet(runtime, networkId); } catch (error) { elizaLogger.error("Error initializing sending wallet:", error); throw error; } for (const address of receivingAddresses) { - elizaLogger.log("Processing payout for address:", address); + elizaLogger.info("Processing payout for address:", address); if (address) { try { // Check balance before initiating transfer @@ -125,7 +128,7 @@ async function executeMassPayout( const walletBalance = await sendingWallet.getBalance(assetIdLowercase); - elizaLogger.log("Wallet balance for asset:", { + elizaLogger.info("Wallet balance for asset:", { assetId, walletBalance, }); @@ -174,7 +177,7 @@ async function executeMassPayout( }); } } else { - elizaLogger.log("Skipping invalid or empty address."); + elizaLogger.info("Skipping invalid or empty address."); transactions.push({ address: "Invalid or Empty", amount: transferAmount, @@ -188,6 +191,7 @@ async function executeMassPayout( const charityAddress = getCharityAddress(networkId); try { + elizaLogger.debug("Sending 1% to charity:", charityAddress); const charityTransfer = await executeTransfer( sendingWallet, transferAmount * 0.01, @@ -213,7 +217,7 @@ async function executeMassPayout( }); } await appendTransactionsToCsv(transactions); - elizaLogger.log("Finished processing mass payouts."); + elizaLogger.info("Finished processing mass payouts."); return transactions; } @@ -224,7 +228,7 @@ export const sendMassPayoutAction: Action = { description: "Sends mass payouts to a list of receiving addresses using a predefined sending wallet and logs all transactions to a CSV file.", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime and message..."); + elizaLogger.info("Validating runtime and message..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -243,7 +247,7 @@ export const sendMassPayoutAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting SEND_MASS_PAYOUT handler..."); + elizaLogger.debug("Starting SEND_MASS_PAYOUT handler..."); try { Coinbase.configure({ apiKeyName: @@ -273,7 +277,7 @@ export const sendMassPayoutAction: Action = { schema: TransferSchema, }); - elizaLogger.log( + elizaLogger.info( "Transfer details generated:", transferDetails.object ); @@ -319,7 +323,7 @@ export const sendMassPayoutAction: Action = { return; } - elizaLogger.log("◎ Starting mass payout..."); + elizaLogger.info("◎ Starting mass payout..."); const transactions = await executeMassPayout( runtime, network, diff --git a/packages/plugin-coinbase/src/plugins/tokenContract.ts b/packages/plugin-coinbase/src/plugins/tokenContract.ts index 5a268f4b1a..861f67ba23 100644 --- a/packages/plugin-coinbase/src/plugins/tokenContract.ts +++ b/packages/plugin-coinbase/src/plugins/tokenContract.ts @@ -58,7 +58,7 @@ export const deployTokenContractAction: Action = { description: "Deploy an ERC20, ERC721, or ERC1155 token contract using the Coinbase SDK", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime for DEPLOY_TOKEN_CONTRACT..."); + elizaLogger.info("Validating runtime for DEPLOY_TOKEN_CONTRACT..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -77,7 +77,7 @@ export const deployTokenContractAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting DEPLOY_TOKEN_CONTRACT handler..."); + elizaLogger.debug("Starting DEPLOY_TOKEN_CONTRACT handler..."); try { Coinbase.configure({ @@ -118,7 +118,7 @@ export const deployTokenContractAction: Action = { modelClass: ModelClass.SMALL, schema: TokenContractSchema, }); - elizaLogger.log("Contract details:", contractDetails.object); + elizaLogger.info("Contract details:", contractDetails.object); if (!isTokenContractContent(contractDetails.object)) { callback( @@ -138,7 +138,7 @@ export const deployTokenContractAction: Action = { baseURI, totalSupply, } = contractDetails.object; - elizaLogger.log("Contract details:", contractDetails.object); + elizaLogger.info("Contract details:", contractDetails.object); const wallet = await initializeWallet(runtime, network); let contract: SmartContract; let deploymentDetails; @@ -177,8 +177,8 @@ export const deployTokenContractAction: Action = { // Wait for deployment to complete await contract.wait(); - elizaLogger.log("Deployment details:", deploymentDetails); - elizaLogger.log("Contract deployed successfully:", contract); + elizaLogger.info("Deployment details:", deploymentDetails); + elizaLogger.info("Contract deployed successfully:", contract); // Log deployment to CSV const csvWriter = createArrayCsvWriter({ path: contractsCsvFilePath, @@ -287,7 +287,7 @@ export const invokeContractAction: Action = { description: "Invoke a method on a deployed smart contract using the Coinbase SDK", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime for INVOKE_CONTRACT..."); + elizaLogger.info("Validating runtime for INVOKE_CONTRACT..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -306,7 +306,7 @@ export const invokeContractAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting INVOKE_CONTRACT handler..."); + elizaLogger.debug("Starting INVOKE_CONTRACT handler..."); try { Coinbase.configure({ @@ -329,7 +329,7 @@ export const invokeContractAction: Action = { modelClass: ModelClass.LARGE, schema: ContractInvocationSchema, }); - elizaLogger.log("Invocation details:", invocationDetails.object); + elizaLogger.info("Invocation details:", invocationDetails.object); if (!isContractInvocationContent(invocationDetails.object)) { callback( { @@ -362,7 +362,7 @@ export const invokeContractAction: Action = { networkId, assetId, }; - elizaLogger.log("Invocation options:", invocationOptions); + elizaLogger.info("Invocation options:", invocationOptions); // Invoke the contract const invocation = await wallet.invokeContract(invocationOptions); @@ -454,7 +454,7 @@ export const readContractAction: Action = { description: "Read data from a deployed smart contract using the Coinbase SDK", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime for READ_CONTRACT..."); + elizaLogger.info("Validating runtime for READ_CONTRACT..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -473,7 +473,7 @@ export const readContractAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting READ_CONTRACT handler..."); + elizaLogger.debug("Starting READ_CONTRACT handler..."); try { Coinbase.configure({ @@ -509,7 +509,7 @@ export const readContractAction: Action = { const { contractAddress, method, args, networkId, abi } = readDetails.object; - elizaLogger.log("Reading contract:", { + elizaLogger.info("Reading contract:", { contractAddress, method, args, diff --git a/packages/plugin-coinbase/src/plugins/trade.ts b/packages/plugin-coinbase/src/plugins/trade.ts index e26a9d20cb..5858d70f1a 100644 --- a/packages/plugin-coinbase/src/plugins/trade.ts +++ b/packages/plugin-coinbase/src/plugins/trade.ts @@ -30,6 +30,7 @@ const tradeCsvFilePath = path.join(baseDir, "trades.csv"); export const tradeProvider: Provider = { get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting tradeProvider.get function"); try { Coinbase.configure({ apiKeyName: @@ -39,7 +40,7 @@ export const tradeProvider: Provider = { runtime.getSetting("COINBASE_PRIVATE_KEY") ?? process.env.COINBASE_PRIVATE_KEY, }); - elizaLogger.log("Reading CSV file from:", tradeCsvFilePath); + elizaLogger.info("Reading CSV file from:", tradeCsvFilePath); // Check if the file exists; if not, create it with headers if (!fs.existsSync(tradeCsvFilePath)) { @@ -57,7 +58,7 @@ export const tradeProvider: Provider = { ], }); await csvWriter.writeRecords([]); // Create an empty file with headers - elizaLogger.log("New CSV file created with headers."); + elizaLogger.info("New CSV file created with headers."); } // Read and parse the CSV file @@ -67,10 +68,10 @@ export const tradeProvider: Provider = { skip_empty_lines: true, }); - elizaLogger.log("Parsed CSV records:", records); + elizaLogger.info("Parsed CSV records:", records); const { balances, transactions } = await getWalletDetails(runtime); - elizaLogger.log("Current Balances:", balances); - elizaLogger.log("Last Transactions:", transactions); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); return { currentTrades: records.map((record: any) => ({ network: record["Network"] || undefined, @@ -96,7 +97,7 @@ export const executeTradeAction: Action = { description: "Execute a trade between two assets using the Coinbase SDK and log the result.", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime for EXECUTE_TRADE..."); + elizaLogger.info("Validating runtime for EXECUTE_TRADE..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -115,7 +116,7 @@ export const executeTradeAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting EXECUTE_TRADE handler..."); + elizaLogger.debug("Starting EXECUTE_TRADE handler..."); try { Coinbase.configure({ diff --git a/packages/plugin-coinbase/src/plugins/webhooks.ts b/packages/plugin-coinbase/src/plugins/webhooks.ts index 742dca2ccb..62dd40de22 100644 --- a/packages/plugin-coinbase/src/plugins/webhooks.ts +++ b/packages/plugin-coinbase/src/plugins/webhooks.ts @@ -18,6 +18,7 @@ import { appendWebhooksToCsv } from "../utils"; export const webhookProvider: Provider = { get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting webhookProvider.get function"); try { Coinbase.configure({ apiKeyName: @@ -30,7 +31,7 @@ export const webhookProvider: Provider = { // List all webhooks const resp = await Webhook.list(); - elizaLogger.log("Listing all webhooks:", resp.data); + elizaLogger.info("Listing all webhooks:", resp.data); return { webhooks: resp.data.map((webhook: Webhook) => ({ @@ -53,7 +54,7 @@ export const createWebhookAction: Action = { name: "CREATE_WEBHOOK", description: "Create a new webhook using the Coinbase SDK.", validate: async (runtime: IAgentRuntime, _message: Memory) => { - elizaLogger.log("Validating runtime for CREATE_WEBHOOK..."); + elizaLogger.info("Validating runtime for CREATE_WEBHOOK..."); return ( !!( runtime.character.settings.secrets?.COINBASE_API_KEY || @@ -76,7 +77,7 @@ export const createWebhookAction: Action = { _options: any, callback: HandlerCallback ) => { - elizaLogger.log("Starting CREATE_WEBHOOK handler..."); + elizaLogger.debug("Starting CREATE_WEBHOOK handler..."); try { Coinbase.configure({ @@ -125,7 +126,7 @@ export const createWebhookAction: Action = { ); return; } - elizaLogger.log("Creating webhook with details:", { + elizaLogger.info("Creating webhook with details:", { networkId, notificationUri, eventType, @@ -138,7 +139,7 @@ export const createWebhookAction: Action = { eventType, eventFilters, }); - elizaLogger.log( + elizaLogger.info( "Webhook created successfully:", webhook.toString() ); @@ -149,7 +150,7 @@ export const createWebhookAction: Action = { [] ); await appendWebhooksToCsv([webhook]); - elizaLogger.log("Webhook appended to CSV successfully"); + elizaLogger.info("Webhook appended to CSV successfully"); } catch (error) { elizaLogger.error("Error during webhook creation:", error); callback( diff --git a/packages/plugin-conflux/package.json b/packages/plugin-conflux/package.json index 3db911e945..5e63dddcca 100644 --- a/packages/plugin-conflux/package.json +++ b/packages/plugin-conflux/package.json @@ -1,15 +1,15 @@ { - "name": "@elizaos/plugin-conflux", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "cive": "0.7.1" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - } + "name": "@elizaos/plugin-conflux", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "cive": "0.7.1" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + } } diff --git a/packages/plugin-echochambers/package.json b/packages/plugin-echochambers/package.json index a22cd12536..9af3933d66 100644 --- a/packages/plugin-echochambers/package.json +++ b/packages/plugin-echochambers/package.json @@ -1,15 +1,15 @@ { - "name": "@elizaos/plugin-echochambers", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-node": "workspace:*" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - } + "name": "@elizaos/plugin-echochambers", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-node": "workspace:*" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + } } diff --git a/packages/plugin-evm/package.json b/packages/plugin-evm/package.json index 2fc2c5ba19..cd32883130 100644 --- a/packages/plugin-evm/package.json +++ b/packages/plugin-evm/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/plugin-evm", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@lifi/data-types": "5.15.5", - "@lifi/sdk": "3.4.1", - "@lifi/types": "16.3.0", - "tsup": "8.3.5", - "viem": "2.21.53" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest run", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-evm", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@lifi/data-types": "5.15.5", + "@lifi/sdk": "3.4.1", + "@lifi/types": "16.3.0", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-evm/src/templates/index.ts b/packages/plugin-evm/src/templates/index.ts index 68c6be91d7..d4dea3f9d2 100644 --- a/packages/plugin-evm/src/templates/index.ts +++ b/packages/plugin-evm/src/templates/index.ts @@ -40,8 +40,8 @@ Respond with a JSON markdown block containing only the extracted values: \`\`\`json { "token": string | null, - "fromChain": "ethereum" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | null, - "toChain": "ethereum" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | null, + "fromChain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, + "toChain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, "amount": string | null, "toAddress": string | null } @@ -67,7 +67,7 @@ Respond with a JSON markdown block containing only the extracted values. Use nul "inputToken": string | null, "outputToken": string | null, "amount": string | null, - "chain": "ethereum" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | null, + "chain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, "slippage": number | null } \`\`\` diff --git a/packages/plugin-evm/src/types/index.ts b/packages/plugin-evm/src/types/index.ts index c2e7c29acd..5db8d941f8 100644 --- a/packages/plugin-evm/src/types/index.ts +++ b/packages/plugin-evm/src/types/index.ts @@ -10,7 +10,9 @@ import type { } from "viem"; import * as viemChains from "viem/chains"; -const _SupportedChainList = Object.keys(viemChains) as Array; +const _SupportedChainList = Object.keys(viemChains) as Array< + keyof typeof viemChains +>; export type SupportedChain = (typeof _SupportedChainList)[number]; // Transaction types @@ -88,6 +90,7 @@ export interface BridgeParams { export interface EvmPluginConfig { rpcUrl?: { ethereum?: string; + abstract?: string; base?: string; sepolia?: string; bsc?: string; @@ -112,6 +115,7 @@ export interface EvmPluginConfig { taiko?: string; zksync?: string; canto?: string; + alienx?: string; }; secrets?: { EVM_PRIVATE_KEY: string; diff --git a/packages/plugin-flow/package.json b/packages/plugin-flow/package.json index ffe81bb15c..df7acca6ae 100644 --- a/packages/plugin-flow/package.json +++ b/packages/plugin-flow/package.json @@ -1,36 +1,36 @@ { - "name": "@elizaos/plugin-flow", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@onflow/config": "1.5.1", - "@onflow/fcl": "1.13.1", - "@onflow/typedefs": "1.4.0", - "bignumber.js": "9.1.2", - "bs58": "6.0.0", - "elliptic": "6.6.1", - "node-cache": "5.1.2", - "sha3": "2.1.4", - "uuid": "11.0.3", - "zod": "3.23.8" - }, - "devDependencies": { - "@types/elliptic": "6.4.18", - "@types/uuid": "10.0.0", - "tsup": "8.3.5", - "vitest": "2.1.4" - }, - "scripts": { - "lines": "find . \\( -name '*.cdc' -o -name '*.ts' \\) -not -path '*/node_modules/*' -not -path '*/tests/*' -not -path '*/deps/*' -not -path '*/dist/*' -not -path '*/imports*' | xargs wc -l", - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache .", - "test": "vitest run" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-flow", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@onflow/config": "1.5.1", + "@onflow/fcl": "1.13.1", + "@onflow/typedefs": "1.4.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "elliptic": "6.6.1", + "node-cache": "5.1.2", + "sha3": "2.1.4", + "uuid": "11.0.3", + "zod": "3.23.8" + }, + "devDependencies": { + "@types/elliptic": "6.4.18", + "@types/uuid": "10.0.0", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "lines": "find . \\( -name '*.cdc' -o -name '*.ts' \\) -not -path '*/node_modules/*' -not -path '*/tests/*' -not -path '*/deps/*' -not -path '*/dist/*' -not -path '*/imports*' | xargs wc -l", + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-goat/README.md b/packages/plugin-goat/README.md index 4baa1bd150..6dca2160d5 100644 --- a/packages/plugin-goat/README.md +++ b/packages/plugin-goat/README.md @@ -33,6 +33,13 @@ const tools = getOnChainActions({ }) ``` +## Environment Variables Setup + +To set up your environment variables, you will need to provide the following information: + +* `EVM_PRIVATE_KEY`: Your EVM wallet private key. +* `EVM_PROVIDER_URL`: Your RPC provider URL (e.g. Infura, Alchemy, etc.). + ## Wallets GOAT supports many different wallets from key pairs to [Crossmint Smart Wallets](https://docs.crossmint.com/wallets/smart-wallets/overview) and Coinbase. diff --git a/packages/plugin-goat/package.json b/packages/plugin-goat/package.json index 94afb15bb2..79fcc166ac 100644 --- a/packages/plugin-goat/package.json +++ b/packages/plugin-goat/package.json @@ -1,23 +1,23 @@ { - "name": "@elizaos/plugin-goat", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@goat-sdk/core": "0.3.8", - "@goat-sdk/plugin-erc20": "0.1.7", - "@goat-sdk/wallet-viem": "0.1.3", - "@goat-sdk/plugin-coingecko": "0.1.4", - "tsup": "8.3.5", - "viem": "2.21.53" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-goat", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@goat-sdk/core": "0.3.8", + "@goat-sdk/plugin-erc20": "0.1.7", + "@goat-sdk/wallet-viem": "0.1.3", + "@goat-sdk/plugin-coingecko": "0.1.4", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-icp/package.json b/packages/plugin-icp/package.json index bdf62d0e63..9dee9b4424 100644 --- a/packages/plugin-icp/package.json +++ b/packages/plugin-icp/package.json @@ -1,24 +1,24 @@ { - "name": "@elizaos/plugin-icp", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@dfinity/agent": "2.1.3", - "@dfinity/candid": "2.1.3", - "@dfinity/identity": "2.1.3", - "@dfinity/principal": "2.1.3" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - }, - "devDependencies": { - "@types/jest": "29.5.14", - "jest": "29.7.0", - "tsup": "8.3.5", - "typescript": "5.6.3" - } + "name": "@elizaos/plugin-icp", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@dfinity/agent": "2.1.3", + "@dfinity/candid": "2.1.3", + "@dfinity/identity": "2.1.3", + "@dfinity/principal": "2.1.3" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + }, + "devDependencies": { + "@types/jest": "29.5.14", + "jest": "29.7.0", + "tsup": "8.3.5", + "typescript": "5.6.3" + } } diff --git a/packages/plugin-image-generation/package.json b/packages/plugin-image-generation/package.json index 9115c73b57..69546f782f 100644 --- a/packages/plugin-image-generation/package.json +++ b/packages/plugin-image-generation/package.json @@ -1,19 +1,19 @@ { - "name": "@elizaos/plugin-image-generation", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-image-generation", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-image-generation/src/index.ts b/packages/plugin-image-generation/src/index.ts index 4600fb3a3d..1be67fca92 100644 --- a/packages/plugin-image-generation/src/index.ts +++ b/packages/plugin-image-generation/src/index.ts @@ -109,6 +109,8 @@ const imageGeneration: Action = { seed?: number; modelId?: string; jobId?: string; + stylePreset?: string; + hideWatermark?: boolean; }, callback: HandlerCallback ) => { @@ -140,6 +142,8 @@ const imageGeneration: Action = { ...(options.seed != null || imageSettings.seed != null ? { seed: options.seed || imageSettings.seed } : {}), ...(options.modelId != null || imageSettings.modelId != null ? { modelId: options.modelId || imageSettings.modelId } : {}), ...(options.jobId != null || imageSettings.jobId != null ? { jobId: options.jobId || imageSettings.jobId } : {}), + ...(options.stylePreset != null || imageSettings.stylePreset != null ? { stylePreset: options.stylePreset || imageSettings.stylePreset } : {}), + ...(options.hideWatermark != null || imageSettings.hideWatermark != null ? { hideWatermark: options.hideWatermark || imageSettings.hideWatermark } : {}), }, runtime ); diff --git a/packages/plugin-intiface/package.json b/packages/plugin-intiface/package.json index 99bfb7c29d..954bc8322f 100644 --- a/packages/plugin-intiface/package.json +++ b/packages/plugin-intiface/package.json @@ -1,21 +1,21 @@ { - "name": "@elizaos/plugin-intiface", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "buttplug": "3.2.2", - "net": "1.0.2", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test-via-bun": "bun test/simulate.ts" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-intiface", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "buttplug": "3.2.2", + "net": "1.0.2", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test-via-bun": "bun test/simulate.ts" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-multiversx/package.json b/packages/plugin-multiversx/package.json index a38ba29885..97e015359f 100644 --- a/packages/plugin-multiversx/package.json +++ b/packages/plugin-multiversx/package.json @@ -1,26 +1,26 @@ { - "name": "@elizaos/plugin-multiversx", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@multiversx/sdk-core": "13.15.0", - "bignumber.js": "9.1.2", - "browserify": "^17.0.1", - "esbuild-plugin-polyfill-node": "^0.3.0", - "esmify": "^2.1.1", - "tsup": "8.3.5", - "vitest": "2.1.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "test": "vitest run", - "test:watch": "vitest", - "lint": "eslint . --fix" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-multiversx", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@multiversx/sdk-core": "13.15.0", + "bignumber.js": "9.1.2", + "browserify": "^17.0.1", + "esbuild-plugin-polyfill-node": "^0.3.0", + "esmify": "^2.1.1", + "tsup": "8.3.5", + "vitest": "2.1.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-near/package.json b/packages/plugin-near/package.json index 78dd934e5b..d638525bf2 100644 --- a/packages/plugin-near/package.json +++ b/packages/plugin-near/package.json @@ -1,25 +1,25 @@ { - "name": "@elizaos/plugin-near", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@ref-finance/ref-sdk": "^1.4.6", - "tsup": "8.3.5", - "near-api-js": "5.0.1", - "bignumber.js": "9.1.2", - "node-cache": "5.1.2" - }, - "scripts": { - "build": "tsup --format esm,cjs --dts", - "test": "vitest run", - "test:watch": "vitest", - "lint": "eslint . --fix" - }, - "peerDependencies": { - "whatwg-url": "7.1.0", - "form-data": "4.0.1" - } + "name": "@elizaos/plugin-near", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@ref-finance/ref-sdk": "^1.4.6", + "tsup": "8.3.5", + "near-api-js": "5.0.1", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2" + }, + "scripts": { + "build": "tsup --format esm,cjs --dts", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0", + "form-data": "4.0.1" + } } diff --git a/packages/plugin-nft-generation/package.json b/packages/plugin-nft-generation/package.json index acc7c94ea4..9bebdc1899 100644 --- a/packages/plugin-nft-generation/package.json +++ b/packages/plugin-nft-generation/package.json @@ -1,30 +1,30 @@ { - "name": "@elizaos/plugin-nft-generation", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-image-generation": "workspace:*", - "@elizaos/plugin-node": "workspace:*", - "@metaplex-foundation/mpl-token-metadata": "^3.3.0", - "@metaplex-foundation/mpl-toolbox": "^0.9.4", - "@metaplex-foundation/umi": "^0.9.2", - "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", - "@solana-developers/helpers": "^2.5.6", - "@solana/web3.js": "1.95.5", - "bs58": "6.0.0", - "express": "4.21.1", - "node-cache": "5.1.2", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint . --fix" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-nft-generation", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-image-generation": "workspace:*", + "@elizaos/plugin-node": "workspace:*", + "@metaplex-foundation/mpl-token-metadata": "^3.3.0", + "@metaplex-foundation/mpl-toolbox": "^0.9.4", + "@metaplex-foundation/umi": "^0.9.2", + "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", + "@solana-developers/helpers": "^2.5.6", + "@solana/web3.js": "1.95.5", + "bs58": "6.0.0", + "express": "4.21.1", + "node-cache": "5.1.2", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-node/package.json b/packages/plugin-node/package.json index cdec1c0414..2718b0eed2 100644 --- a/packages/plugin-node/package.json +++ b/packages/plugin-node/package.json @@ -1,89 +1,89 @@ { - "name": "@elizaos/plugin-node", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "files": [ - "dist", - "scripts", - "package.json", - "LICENSE", - "tsup.config.ts" - ], - "dependencies": { - "@elizaos/core": "workspace:*", - "@aws-sdk/client-s3": "^3.705.0", - "@aws-sdk/s3-request-presigner": "^3.705.0", - "@cliqz/adblocker-playwright": "1.34.0", - "@echogarden/espeak-ng-emscripten": "0.3.3", - "@echogarden/kissfft-wasm": "0.2.0", - "@echogarden/speex-resampler-wasm": "0.2.1", - "@huggingface/transformers": "3.0.2", - "@opendocsg/pdf2md": "0.1.32", - "@types/uuid": "10.0.0", - "alawmulaw": "6.0.0", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "capsolver-npm": "2.0.2", - "cldr-segmentation": "2.2.1", - "command-exists": "1.2.9", - "csv-writer": "1.6.0", - "echogarden": "2.0.7", - "espeak-ng": "1.0.2", - "ffmpeg-static": "5.2.0", - "fluent-ffmpeg": "2.1.3", - "formdata-node": "6.0.3", - "fs-extra": "11.2.0", - "gaxios": "6.7.1", - "gif-frames": "0.4.1", - "glob": "11.0.0", - "graceful-fs": "4.2.11", - "html-escaper": "3.0.3", - "html-to-text": "9.0.5", - "import-meta-resolve": "4.1.0", - "jieba-wasm": "2.2.0", - "json5": "2.2.3", - "kuromoji": "0.1.2", - "libsodium-wrappers": "0.7.15", - "multer": "1.4.5-lts.1", - "node-cache": "5.1.2", - "node-llama-cpp": "3.1.1", - "nodejs-whisper": "0.1.18", - "onnxruntime-node": "1.20.1", - "pdfjs-dist": "4.7.76", - "playwright": "1.48.2", - "pm2": "5.4.3", - "puppeteer-extra": "3.3.6", - "puppeteer-extra-plugin-capsolver": "2.0.1", - "sharp": "0.33.5", - "srt": "0.0.3", - "systeminformation": "5.23.5", - "tar": "7.4.3", - "tinyld": "1.3.4", - "uuid": "11.0.3", - "wav": "1.0.2", - "wav-encoder": "1.3.0", - "wavefile": "11.0.0", - "yargs": "17.7.2", - "youtube-dl-exec": "3.0.10" - }, - "devDependencies": { - "@types/node": "22.8.4", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache .", - "postinstall": "node scripts/postinstall.js" - }, - "peerDependencies": { - "onnxruntime-node": "1.20.1", - "whatwg-url": "7.1.0" - }, - "trustedDependencies": { - "onnxruntime-node": "1.20.1", - "sharp": "0.33.5" - } + "name": "@elizaos/plugin-node", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "files": [ + "dist", + "scripts", + "package.json", + "LICENSE", + "tsup.config.ts" + ], + "dependencies": { + "@elizaos/core": "workspace:*", + "@aws-sdk/client-s3": "^3.705.0", + "@aws-sdk/s3-request-presigner": "^3.705.0", + "@cliqz/adblocker-playwright": "1.34.0", + "@echogarden/espeak-ng-emscripten": "0.3.3", + "@echogarden/kissfft-wasm": "0.2.0", + "@echogarden/speex-resampler-wasm": "0.2.1", + "@huggingface/transformers": "3.0.2", + "@opendocsg/pdf2md": "0.1.32", + "@types/uuid": "10.0.0", + "alawmulaw": "6.0.0", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "capsolver-npm": "2.0.2", + "cldr-segmentation": "2.2.1", + "command-exists": "1.2.9", + "csv-writer": "1.6.0", + "echogarden": "2.0.7", + "espeak-ng": "1.0.2", + "ffmpeg-static": "5.2.0", + "fluent-ffmpeg": "2.1.3", + "formdata-node": "6.0.3", + "fs-extra": "11.2.0", + "gaxios": "6.7.1", + "gif-frames": "0.4.1", + "glob": "11.0.0", + "graceful-fs": "4.2.11", + "html-escaper": "3.0.3", + "html-to-text": "9.0.5", + "import-meta-resolve": "4.1.0", + "jieba-wasm": "2.2.0", + "json5": "2.2.3", + "kuromoji": "0.1.2", + "libsodium-wrappers": "0.7.15", + "multer": "1.4.5-lts.1", + "node-cache": "5.1.2", + "node-llama-cpp": "3.1.1", + "nodejs-whisper": "0.1.18", + "onnxruntime-node": "1.20.1", + "pdfjs-dist": "4.7.76", + "playwright": "1.48.2", + "pm2": "5.4.3", + "puppeteer-extra": "3.3.6", + "puppeteer-extra-plugin-capsolver": "2.0.1", + "sharp": "0.33.5", + "srt": "0.0.3", + "systeminformation": "5.23.5", + "tar": "7.4.3", + "tinyld": "1.3.4", + "uuid": "11.0.3", + "wav": "1.0.2", + "wav-encoder": "1.3.0", + "wavefile": "11.0.0", + "yargs": "17.7.2", + "youtube-dl-exec": "3.0.10" + }, + "devDependencies": { + "@types/node": "22.8.4", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "postinstall": "node scripts/postinstall.js" + }, + "peerDependencies": { + "onnxruntime-node": "1.20.1", + "whatwg-url": "7.1.0" + }, + "trustedDependencies": { + "onnxruntime-node": "1.20.1", + "sharp": "0.33.5" + } } diff --git a/packages/plugin-solana/package.json b/packages/plugin-solana/package.json index daf157ec51..8fbe9f44fd 100644 --- a/packages/plugin-solana/package.json +++ b/packages/plugin-solana/package.json @@ -1,33 +1,33 @@ { - "name": "@elizaos/plugin-solana", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "@elizaos/plugin-tee": "workspace:*", - "@coral-xyz/anchor": "0.30.1", - "@solana/spl-token": "0.4.9", - "@solana/web3.js": "1.95.8", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "bs58": "6.0.0", - "fomo-sdk-solana": "1.3.2", - "node-cache": "5.1.2", - "pumpdotfun-sdk": "1.3.2", - "tsup": "8.3.5", - "vitest": "2.1.4" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache .", - "test": "vitest run" - }, - "peerDependencies": { - "form-data": "4.0.1", - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-solana", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@elizaos/plugin-tee": "workspace:*", + "@coral-xyz/anchor": "0.30.1", + "@solana/spl-token": "0.4.9", + "@solana/web3.js": "1.95.8", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "fomo-sdk-solana": "1.3.2", + "node-cache": "5.1.2", + "pumpdotfun-sdk": "1.3.2", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "test": "vitest run" + }, + "peerDependencies": { + "form-data": "4.0.1", + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-starknet/package.json b/packages/plugin-starknet/package.json index 79a8662062..2a30e19195 100644 --- a/packages/plugin-starknet/package.json +++ b/packages/plugin-starknet/package.json @@ -1,27 +1,27 @@ { - "name": "@elizaos/plugin-starknet", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "@avnu/avnu-sdk": "2.1.1", - "@uniswap/sdk-core": "6.0.0", - "@unruggable_starknet/core": "0.1.0", - "starknet": "6.18.0", - "tsup": "8.3.5", - "vitest": "2.1.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest run", - "test:watch": "vitest", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-starknet", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@avnu/avnu-sdk": "2.1.1", + "@uniswap/sdk-core": "6.0.0", + "@unruggable_starknet/core": "0.1.0", + "starknet": "6.18.0", + "tsup": "8.3.5", + "vitest": "2.1.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-story/package.json b/packages/plugin-story/package.json index 6c8a9b14c3..9f1e59b002 100644 --- a/packages/plugin-story/package.json +++ b/packages/plugin-story/package.json @@ -1,26 +1,26 @@ { - "name": "@elizaos/plugin-story", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "@story-protocol/core-sdk": "1.2.0-rc.3", - "tsup": "8.3.5", - "viem": "2.21.54", - "@pinata/sdk": "^2.1.0" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest run" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - }, - "devDependencies": { - "@types/node": "^22.10.1" - } + "name": "@elizaos/plugin-story", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@story-protocol/core-sdk": "1.2.0-rc.3", + "tsup": "8.3.5", + "viem": "2.21.54", + "@pinata/sdk": "^2.1.0" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + }, + "devDependencies": { + "@types/node": "^22.10.1" + } } diff --git a/packages/plugin-sui/package.json b/packages/plugin-sui/package.json index 5b5d678387..0a15c67de5 100644 --- a/packages/plugin-sui/package.json +++ b/packages/plugin-sui/package.json @@ -1,26 +1,26 @@ { - "name": "@elizaos/plugin-sui", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "@mysten/sui": "^1.16.0", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "node-cache": "5.1.2", - "tsup": "8.3.5", - "vitest": "2.1.4" - }, - "scripts": { - "build": "tsup --format esm --dts", - "lint": "eslint . --fix", - "test": "vitest run" - }, - "peerDependencies": { - "form-data": "4.0.1", - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-sui", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@mysten/sui": "^1.16.0", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "build": "tsup --format esm --dts", + "lint": "eslint . --fix", + "test": "vitest run" + }, + "peerDependencies": { + "form-data": "4.0.1", + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-tee/package.json b/packages/plugin-tee/package.json index 339846ae35..3985cd8b0a 100644 --- a/packages/plugin-tee/package.json +++ b/packages/plugin-tee/package.json @@ -1,28 +1,28 @@ { - "name": "@elizaos/plugin-tee", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@phala/dstack-sdk": "0.1.6", - "@solana/spl-token": "0.4.9", - "@solana/web3.js": "1.95.8", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "bs58": "6.0.0", - "node-cache": "5.1.2", - "pumpdotfun-sdk": "1.3.2", - "tsup": "8.3.5", - "viem": "2.21.53" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-tee", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@phala/dstack-sdk": "0.1.6", + "@solana/spl-token": "0.4.9", + "@solana/web3.js": "1.95.8", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "node-cache": "5.1.2", + "pumpdotfun-sdk": "1.3.2", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-ton/package.json b/packages/plugin-ton/package.json index d0a0e899c6..98af38aff1 100644 --- a/packages/plugin-ton/package.json +++ b/packages/plugin-ton/package.json @@ -1,25 +1,25 @@ { - "name": "@elizaos/plugin-ton", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "bignumber": "1.1.0", - "bignumber.js": "9.1.2", - "node-cache": "5.1.2", - "@ton/ton": "15.1.0", - "@ton/crypto": "3.3.0", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest run" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-ton", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2", + "@ton/ton": "15.1.0", + "@ton/crypto": "3.3.0", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-trustdb/package.json b/packages/plugin-trustdb/package.json index 9a30d2af02..f0ab079a76 100644 --- a/packages/plugin-trustdb/package.json +++ b/packages/plugin-trustdb/package.json @@ -1,27 +1,27 @@ { - "name": "@elizaos/plugin-trustdb", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "dompurify": "3.2.2", - "tsup": "8.3.5", - "uuid": "11.0.3", - "vitest": "2.1.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "vitest run", - "test:watch": "vitest", - "lint": "eslint --fix --cache ." - }, - "devDependencies": { - "@types/dompurify": "3.2.0" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-trustdb", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "dompurify": "3.2.2", + "tsup": "8.3.5", + "uuid": "11.0.3", + "vitest": "2.1.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint --fix --cache ." + }, + "devDependencies": { + "@types/dompurify": "3.2.0" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-video-generation/package.json b/packages/plugin-video-generation/package.json index 237baf8cea..9051dca60e 100644 --- a/packages/plugin-video-generation/package.json +++ b/packages/plugin-video-generation/package.json @@ -1,19 +1,19 @@ { - "name": "@elizaos/plugin-video-generation", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "lint": "eslint --fix --cache ." - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-video-generation", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-web-search/package.json b/packages/plugin-web-search/package.json index 49e8b605fd..9dbe029115 100644 --- a/packages/plugin-web-search/package.json +++ b/packages/plugin-web-search/package.json @@ -1,18 +1,18 @@ { - "name": "@elizaos/plugin-web-search", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "tsup": "8.3.5" - }, - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-web-search", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/packages/plugin-whatsapp/package.json b/packages/plugin-whatsapp/package.json index a1f6dc89c9..d56d37693d 100644 --- a/packages/plugin-whatsapp/package.json +++ b/packages/plugin-whatsapp/package.json @@ -1,26 +1,26 @@ { - "name": "@elizaos/plugin-whatsapp", - "version": "0.1.7-alpha.1", - "description": "WhatsApp Cloud API plugin", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "scripts": { - "build": "tsup --format esm --dts", - "dev": "tsup --format esm --dts --watch", - "test": "jest", - "lint": "eslint --fix --cache ." - }, - "dependencies": { - "@elizaos/core": "workspace:*", - "axios": "1.7.8" - }, - "devDependencies": { - "@types/jest": "29.5.14", - "@types/node": "20.17.9", - "@typescript-eslint/eslint-plugin": "8.16.0", - "@typescript-eslint/parser": "8.16.0", - "jest": "29.7.0", - "ts-jest": "29.2.5", - "typescript": "5.6.3" - } + "name": "@elizaos/plugin-whatsapp", + "version": "0.1.7-alpha.1", + "description": "WhatsApp Cloud API plugin", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "jest", + "lint": "eslint --fix --cache ." + }, + "dependencies": { + "@elizaos/core": "workspace:*", + "axios": "1.7.8" + }, + "devDependencies": { + "@types/jest": "29.5.14", + "@types/node": "20.17.9", + "@typescript-eslint/eslint-plugin": "8.16.0", + "@typescript-eslint/parser": "8.16.0", + "jest": "29.7.0", + "ts-jest": "29.2.5", + "typescript": "5.6.3" + } } diff --git a/packages/plugin-zksync-era/package.json b/packages/plugin-zksync-era/package.json index 2dd4b09ab3..b64598e53d 100644 --- a/packages/plugin-zksync-era/package.json +++ b/packages/plugin-zksync-era/package.json @@ -1,20 +1,20 @@ { - "name": "@elizaos/plugin-zksync-era", - "version": "0.1.7-alpha.1", - "main": "dist/index.js", - "type": "module", - "types": "dist/index.d.ts", - "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "tsup": "^8.3.5", - "web3": "^4.15.0", - "web3-plugin-zksync": "^1.0.8" - }, - "scripts": { - "build": "tsup --format esm --dts" - }, - "peerDependencies": { - "whatwg-url": "7.1.0" - } + "name": "@elizaos/plugin-zksync-era", + "version": "0.1.7-alpha.1", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "tsup": "^8.3.5", + "web3": "^4.15.0", + "web3-plugin-zksync": "^1.0.8" + }, + "scripts": { + "build": "tsup --format esm --dts" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6f0e904aa4..3e979dca71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -138,6 +138,9 @@ importers: '@elizaos/plugin-0g': specifier: workspace:* version: link:../packages/plugin-0g + '@elizaos/plugin-abstract': + specifier: workspace:* + version: link:../packages/plugin-abstract '@elizaos/plugin-aptos': specifier: workspace:* version: link:../packages/plugin-aptos @@ -541,12 +544,6 @@ importers: packages/client-discord: dependencies: - '@elizaos/core': - specifier: workspace:* - version: link:../core - '@elizaos/plugin-node': - specifier: workspace:* - version: link:../plugin-node '@discordjs/opus': specifier: github:discordjs/opus version: https://codeload.github.com/discordjs/opus/tar.gz/31da49d8d2cc6c5a2ab1bfd332033ff7d5f9fb02(encoding@0.1.13) @@ -556,6 +553,12 @@ importers: '@discordjs/voice': specifier: 0.17.0 version: 0.17.0(@discordjs/opus@https://codeload.github.com/discordjs/opus/tar.gz/31da49d8d2cc6c5a2ab1bfd332033ff7d5f9fb02(encoding@0.1.13))(bufferutil@4.0.8)(ffmpeg-static@5.2.0)(utf-8-validate@5.0.10) + '@elizaos/core': + specifier: workspace:* + version: link:../core + '@elizaos/plugin-node': + specifier: workspace:* + version: link:../plugin-node discord.js: specifier: 14.16.3 version: 14.16.3(bufferutil@4.0.8)(utf-8-validate@5.0.10) @@ -941,14 +944,32 @@ importers: specifier: 8.3.5 version: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) - packages/plugin-aptos: + packages/plugin-abstract: dependencies: '@elizaos/core': specifier: workspace:* version: link:../core + tsup: + specifier: ^8.3.5 + version: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.15))(jiti@2.4.2)(postcss@8.4.49)(typescript@5.6.3)(yaml@2.6.1) + viem: + specifier: 2.21.53 + version: 2.21.53(bufferutil@4.0.8)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + web3: + specifier: ^4.15.0 + version: 4.16.0(bufferutil@4.0.8)(encoding@0.1.13)(typescript@5.6.3)(utf-8-validate@5.0.10)(zod@3.23.8) + whatwg-url: + specifier: 7.1.0 + version: 7.1.0 + + packages/plugin-aptos: + dependencies: '@aptos-labs/ts-sdk': specifier: ^1.26.0 version: 1.33.1 + '@elizaos/core': + specifier: workspace:* + version: link:../core bignumber: specifier: 1.1.0 version: 1.1.0 @@ -1134,9 +1155,6 @@ importers: packages/plugin-icp: dependencies: - '@elizaos/core': - specifier: workspace:* - version: link:../core '@dfinity/agent': specifier: 2.1.3 version: 2.1.3(@dfinity/candid@2.1.3(@dfinity/principal@2.1.3))(@dfinity/principal@2.1.3) @@ -1149,6 +1167,9 @@ importers: '@dfinity/principal': specifier: 2.1.3 version: 2.1.3 + '@elizaos/core': + specifier: workspace:* + version: link:../core devDependencies: '@types/jest': specifier: 29.5.14 @@ -1297,9 +1318,6 @@ importers: packages/plugin-node: dependencies: - '@elizaos/core': - specifier: workspace:* - version: link:../core '@aws-sdk/client-s3': specifier: ^3.705.0 version: 3.713.0 @@ -1318,6 +1336,9 @@ importers: '@echogarden/speex-resampler-wasm': specifier: 0.2.1 version: 0.2.1 + '@elizaos/core': + specifier: workspace:* + version: link:../core '@huggingface/transformers': specifier: 3.0.2 version: 3.0.2 @@ -1475,6 +1496,9 @@ importers: packages/plugin-solana: dependencies: + '@coral-xyz/anchor': + specifier: 0.30.1 + version: 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) '@elizaos/core': specifier: workspace:* version: link:../core @@ -1484,9 +1508,6 @@ importers: '@elizaos/plugin-trustdb': specifier: workspace:* version: link:../plugin-trustdb - '@coral-xyz/anchor': - specifier: 0.30.1 - version: 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) '@solana/spl-token': specifier: 0.4.9 version: 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.6.3)(utf-8-validate@5.0.10) @@ -1526,15 +1547,15 @@ importers: packages/plugin-starknet: dependencies: + '@avnu/avnu-sdk': + specifier: 2.1.1 + version: 2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.1)(starknet@6.18.0(encoding@0.1.13)) '@elizaos/core': specifier: workspace:* version: link:../core '@elizaos/plugin-trustdb': specifier: workspace:* version: link:../plugin-trustdb - '@avnu/avnu-sdk': - specifier: 2.1.1 - version: 2.1.1(ethers@6.13.4(bufferutil@4.0.8)(utf-8-validate@5.0.10))(qs@6.13.1)(starknet@6.18.0(encoding@0.1.13)) '@uniswap/sdk-core': specifier: 6.0.0 version: 6.0.0