Skip to content

Commit

Permalink
Merge branch 'develop' into goat-v2
Browse files Browse the repository at this point in the history
  • Loading branch information
aigustin authored Dec 23, 2024
2 parents f0aab04 + 4d04b8b commit f96a810
Show file tree
Hide file tree
Showing 49 changed files with 1,313 additions and 1,277 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,21 @@ jobs:

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

- name: Validate PR title
id: validate
run: |
PR_TITLE=$(jq -r .pull_request.title "$GITHUB_EVENT_PATH")
echo "PR Title: $PR_TITLE"
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore):\ .+ ]]; then
if [[ ! "$PR_TITLE" =~ ^(feat|fix|docs|style|refactor|test|chore)(\([a-zA-Z0-9-]+\))?:\ .+ ]]; then
echo "PR title does not match the required pattern."
exit 1
fi
- name: Set status
if: failure()
run: |
gh pr comment ${{ github.event.pull_request.number }} --body "❌ PR title does not match the required pattern. Please use the format: 'type: description' (e.g., 'feat|fix|docs|style|refactor|test|chore: title')."
gh pr comment ${{ github.event.pull_request.number }} --body "❌ PR title does not match the required pattern. Please use one of these formats:
- 'type: description' (e.g., 'feat: add new feature')
- 'type(scope): description' (e.g., 'chore(core): update dependencies')"
120 changes: 60 additions & 60 deletions agent/package.json
Original file line number Diff line number Diff line change
@@ -1,62 +1,62 @@
{
"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-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"
}
}
41 changes: 36 additions & 5 deletions agent/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ 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
Expand Down Expand Up @@ -692,13 +693,30 @@ async function startAgent(
}
}

const checkPortAvailable = (port: number): Promise<boolean> => {
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) {
Expand All @@ -713,19 +731,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);
});
90 changes: 45 additions & 45 deletions client/package.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
Loading

0 comments on commit f96a810

Please sign in to comment.