diff --git a/data/contributors_2024_12-18.json b/data/contributors_2024_12-18.json new file mode 100644 index 0000000..6766926 --- /dev/null +++ b/data/contributors_2024_12-18.json @@ -0,0 +1,2960 @@ +[ + { + "contributor": "odilitime", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 2, + "commits": [], + "pull_requests": [ + { + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T18:10:29Z", + "updated_at": "2024-12-18T18:25:06Z", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": ".env.example", + "additions": 7, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/schema.sql", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, + "deletions": 1 + }, + { + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 + }, + { + "path": "packages/adapter-sqlite/src/sqliteTables.ts", + "additions": 10, + "deletions": 0 + }, + { + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 + }, + { + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 + }, + { + "path": "packages/core/src/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "number": 1198, + "title": "feat: Client secrets validation", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T07:17:10Z", + "updated_at": "2024-12-18T22:33:35Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "files": [ + { + "path": "agent/src/index.ts", + "additions": 22, + "deletions": 9 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 + }, + { + "path": "packages/client-telegram/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/client-telegram/src/index.ts", + "additions": 22, + "deletions": 0 + }, + { + "path": "packages/client-twitter/src/base.ts", + "additions": 14, + "deletions": 7 + }, + { + "path": "packages/client-twitter/src/index.ts", + "additions": 17, + "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "cygaar", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "chefron", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/98501301?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T22:13:34Z", + "updated_at": "2024-12-18T22:14:37Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Provider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "vpavlin", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T21:21:53Z", + "updated_at": "2024-12-18T21:28:14Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", + "files": [ + { + "path": "agent/src/index.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/core/src/generation.ts", + "additions": 2, + "deletions": 1 + } + ], + "reviews": [], + "comments": [ + { + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "BlockchainCake", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T20:54:14Z", + "updated_at": "2024-12-18T20:54:14Z", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", + "files": [ + { + "path": "agent/package.json", + "additions": 2, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 32, + "deletions": 1 + }, + { + "path": "packages/client-evm/README.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 + }, + { + "path": "packages/client-evm/package.json", + "additions": 21, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/types.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-evm/tsconfig.json", + "additions": 23, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 + }, + { + "path": "tsconfig.json", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "madjin", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1211, + "title": "chore: New docs", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T19:04:47Z", + "updated_at": "2024-12-18T20:26:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 33, + "deletions": 23 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 12, + "deletions": 12 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 12, + "deletions": 6 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectDeprecated.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTweetActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseActionResponseFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ActionResponse.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/IAgentConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "state": "OPEN", + "created_at": "2024-12-18T08:59:15Z", + "updated_at": "2024-12-18T08:59:15Z", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", + "labels": [ + { + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" + }, + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "marcNY", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1209, + "title": "docs: Update README.md", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T16:46:43Z", + "updated_at": "2024-12-18T17:21:57Z", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\t\u2022\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\t\u2022\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", + "files": [ + { + "path": "README.md", + "additions": 1, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "v1xingyue", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1207, + "title": "fix: gitpod cicd bug", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T15:06:25Z", + "updated_at": "2024-12-18T19:43:00Z", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", + "files": [ + { + "path": ".gitpod.yml", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tobbelobb", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1205, + "title": "fix: write summary file before trying to cache it", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T12:28:33Z", + "updated_at": "2024-12-18T17:17:36Z", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", + "files": [ + { + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 + } + ], + "reviews": [], + "comments": [ + { + "author": "odilitime", + "body": "code looks good will test later" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AbdelStark", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1203, + "title": "feat: Implement Nostr client", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:55:14Z", + "updated_at": "2024-12-18T20:52:26Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "files": [ + { + "path": ".env.example", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 60, + "deletions": 59 + }, + { + "path": "agent/src/index.ts", + "additions": 18, + "deletions": 8 + }, + { + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 + }, + { + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, + "deletions": 18 + }, + { + "path": "pnpm-lock.yaml", + "additions": 146, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [ + { + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" + }, + { + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "netdragonx", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:52:31Z", + "updated_at": "2024-12-18T10:11:57Z", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/client-twitter/src/index.ts", + "additions": 14, + "deletions": 17 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "9547", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1201, + "title": "docs(cn): add python 3.7", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T09:00:53Z", + "updated_at": "2024-12-18T17:39:58Z", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", + "files": [ + { + "path": "README_CN.md", + "additions": 2, + "deletions": 3 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Hdpbilly", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T08:04:22Z", + "updated_at": "2024-12-18T17:23:19Z", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/client-direct/src/api.ts", + "additions": 259, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tomguluson92", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1196, + "title": "docs: Update \"CN README\" with more details", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T06:12:33Z", + "updated_at": "2024-12-18T17:29:45Z", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "README_CN.md", + "additions": 58, + "deletions": 6 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "monilpat", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T05:26:54Z", + "updated_at": "2024-12-18T05:27:15Z", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", + "files": [ + { + "path": ".env.example", + "additions": 2, + "deletions": 7 + }, + { + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 + }, + { + "path": ".gitignore", + "additions": 5, + "deletions": 1 + }, + { + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 + }, + { + "path": "characters/chronis.character.json", + "additions": 321, + "deletions": 0 + }, + { + "path": "characters/logging-addict.character.json", + "additions": 262, + "deletions": 0 + }, + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 76, + "deletions": 0 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectV2.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", + "state": "OPEN", + "created_at": "2024-12-18T04:16:18Z", + "updated_at": "2024-12-18T08:38:48Z", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + }, + { + "name": "good first issue", + "color": "7057ff", + "description": "Good for newcomers" + }, + { + "name": "logging", + "color": "ededed", + "description": null + } + ], + "comments": [ + { + "author": "9547", + "body": "@monilpat may I take this one?" + } + ] + }, + { + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", + "state": "CLOSED", + "created_at": "2024-12-18T01:45:28Z", + "updated_at": "2024-12-18T01:46:15Z", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 1, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "cwrage77", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1193, + "title": "Feature/news plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T02:55:07Z", + "updated_at": "2024-12-18T02:55:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": ".gitignore", + "additions": 56, + "deletions": 54 + }, + { + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 + }, + { + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 + }, + { + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ileana-pr", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T00:10:51Z", + "updated_at": "2024-12-18T02:00:30Z", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "docs/docs/contributing.md", + "additions": 5, + "deletions": 5 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM - thanks :) " + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ai16z-demirix", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-17T22:45:37Z", + "updated_at": "2024-12-18T02:07:57Z", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/core/README-TESTS.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM thanks for doing this :) " + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "sam-coffey", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1213, + "title": "chat stuck in infinite loop", + "state": "OPEN", + "created_at": "2024-12-18T21:19:34Z", + "updated_at": "2024-12-18T21:19:34Z", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AntonioTF5", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/32102018?u=ca0cfc6fafa99720cba35ad22ba7e31738c399b9&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", + "state": "OPEN", + "created_at": "2024-12-18T16:44:13Z", + "updated_at": "2024-12-18T19:28:41Z", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b)\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" + }, + { + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." + } + ] + } + ] + }, + "engagement": { + "total_comments": 2, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Longame208", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/79878000?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1204, + "title": "unable to chat in terminal", + "state": "OPEN", + "created_at": "2024-12-18T11:19:12Z", + "updated_at": "2024-12-18T12:41:24Z", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "jaycoolh", + "body": "Same error here" + }, + { + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" + }, + { + "author": "jaycoolh", + "body": "[\"\u25ce Visit the following URL to chat with your agents:\"]\r\n\r\n [\"\u25ce http://localhost:5173\"]\r\n\r\n [\"\u2713 REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" + }, + { + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" + } + ] + } + ] + }, + "engagement": { + "total_comments": 4, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + } +] \ No newline at end of file diff --git a/data/daily/combined.json b/data/daily/combined.json index abb4c9f..6766926 100644 --- a/data/daily/combined.json +++ b/data/daily/combined.json @@ -1,866 +1,690 @@ [ { - "contributor": "shakkernerd", + "contributor": "odilitime", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", "activity": { "code": { - "total_commits": 26, - "total_prs": 9, - "commits": [ - { - "sha": "81d027327ebba82ef3ed473d0e914c90e18e362d", - "message": "Merge pull request #1165 from ai16z/fix/start_script\n\nfeat: make script dash compatible", - "created_at": "2024-12-17T09:08:56Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "a2a079510c0a9f5cd0471b37fbca206fbf42bc90", - "message": "feat: make script dash compatible", - "created_at": "2024-12-17T09:06:49Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "2216ae868b37bcb78f83e8f362f59178a3b478b7", - "message": "Merge pull request #1159 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:17:15Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "2e44768f31f38e0abac443f22fbd0819c6a485a9", - "message": "chore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:16:37Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "798d34c4af979754b88d83d3f354bdbc742af26d", - "message": "Merge pull request #1158 from ai16z/fix/client-twitter\n\nfix: client twitter login and auth handler", - "created_at": "2024-12-17T07:15:16Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "4111f3f557a109464b41b1533cbba2bd7106035e", - "message": "fix: client twitter login and auth handler", - "created_at": "2024-12-17T07:11:12Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "65ba827b034508310e7e0c368fc7f9e1b6da46aa", - "message": "chore: fix broken pnpm lockfile", - "created_at": "2024-12-17T04:16:22Z", - "additions": 17935, - "deletions": 22902, - "changed_files": 1 - }, - { - "sha": "c34ff57ae7ef5e60e9e35088e611a87bd94165e4", - "message": "Merge pull request #1155 from ai16z/develop\n\nchore: develop into main", - "created_at": "2024-12-17T03:44:57Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "c08d0a2a019070b1a6724d9852be7a506caa4414", - "message": "Merge pull request #1153 from ai16z/fetch_logs_debug\n\nfix: fetch log level to debug", - "created_at": "2024-12-17T03:29:17Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "29ce2f946f7c34bc54de3abad9c530334a33bae5", - "message": "fix: fetch log level to debug", - "created_at": "2024-12-17T03:28:00Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b9f8970f3b96c46d65e78de3931da6167dbbfa6a", - "message": "Merge pull request #1152 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:10:42Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "34136e159b7713fc40ecd8e15c1c2df3958f7cdf", - "message": "chore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:09:33Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "bd1057aa8d8fb9ed000c145f833da44bbd221c68", - "message": "Merge pull request #1150 from ai16z/update-version\n\nfeat: update packages version script", - "created_at": "2024-12-17T03:04:22Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "7c493f2749fb140d256c02ca3a9161495bf8ef13", - "message": "feat: update packages version script", - "created_at": "2024-12-17T03:03:45Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "0a23d6d2b32cafd47e53da89454cb8b36c045432", - "message": "Merge pull request #1148 from odilitime/fix-lint\n\nchore: fix PR #1147", - "created_at": "2024-12-17T02:26:39Z", - "additions": 3, - "deletions": 3, - "changed_files": 2 - }, - { - "sha": "0e337c3ad9b9918647f990dcd9fdc9eaadd16d92", - "message": "Merge pull request #1147 from odilitime/fix-lint\n\nfix: improve fomo integration", - "created_at": "2024-12-17T02:04:33Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "83bd4873e3bbdaf4bc2dd7b90000f3965ea28d3c", - "message": "chore: delete client-whatsapp folder", - "created_at": "2024-12-17T01:42:53Z", - "additions": 0, - "deletions": 75, - "changed_files": 5 - }, - { - "sha": "5fcdcffcdb660d7dd1a2eb6af990bea037d5fe1e", - "message": "chore: add eslint config", - "created_at": "2024-12-17T01:33:31Z", - "additions": 3, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "018f95221c75b2afe4c16124829062fb01aec39c", - "message": "chore: lint command", - "created_at": "2024-12-17T01:32:37Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "90be9ecc20d0570daf027edbaac1060fd453e7c2", - "message": "fix: remove unused variable", - "created_at": "2024-12-17T01:32:25Z", - "additions": 29, - "deletions": 9, - "changed_files": 1 - }, - { - "sha": "c56f60c3ca21ce08d559ec72123cc850ae413b81", - "message": "chore: comment out unused imports", - "created_at": "2024-12-17T01:28:14Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "06a1b00152d87598c0957e58aef86e62dc2dd2d4", - "message": "fix: use of let instead of const", - "created_at": "2024-12-17T01:26:59Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "257d3e42e8a6f14587635b7d238655702915bb50", - "message": "fix: Expected an assignment or function call and instead saw an expression", - "created_at": "2024-12-17T01:26:08Z", - "additions": 7, - "deletions": 7, - "changed_files": 1 - }, - { - "sha": "30665843e637dc8837effa25acd8b99e8599d33d", - "message": "fix: remove unused import", - "created_at": "2024-12-17T01:24:10Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "2d5617120810b5356261ab86b0a600c3c7d8b6a5", - "message": "Merge pull request #1143 from ai16z/remove-comment\n\nchore: remove comment", - "created_at": "2024-12-17T00:38:06Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "fa878418df76325719bb4ea4d14d2f20dad0ffdb", - "message": "chore: remove comment", - "created_at": "2024-12-17T00:36:11Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - } - ], + "total_commits": 0, + "total_prs": 2, + "commits": [], "pull_requests": [ { - "number": 1165, - "title": "feat: make script dash compatible", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T09:08:00Z", - "updated_at": "2024-12-17T09:13:05Z", - "body": "Related to #1151 ", + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T18:10:29Z", + "updated_at": "2024-12-18T18:25:06Z", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "scripts/start.sh", - "additions": 34, - "deletions": 24 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1165?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1159, - "title": "chore: bump version to 0.1.6-alpha.4", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:17:05Z", - "updated_at": "2024-12-17T13:17:52Z", - "body": "", - "files": [ + "path": ".env.example", + "additions": 7, + "deletions": 0 + }, { - "path": "agent/package.json", - "additions": 1, - "deletions": 1 + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 }, { - "path": "client/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/adapter-postgres/schema.sql", + "additions": 9, + "deletions": 0 }, { - "path": "docs/package.json", - "additions": 1, + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, "deletions": 1 }, { - "path": "lerna.json", - "additions": 1, - "deletions": 1 + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 }, { - "path": "packages/adapter-postgres/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/adapter-sqlite/src/sqliteTables.ts", + "additions": 10, + "deletions": 0 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 }, { - "path": "packages/adapter-sqljs/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 }, { - "path": "packages/adapter-supabase/package.json", + "path": "packages/core/src/index.ts", "additions": 1, - "deletions": 1 + "deletions": 0 }, { - "path": "packages/client-auto/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/core/src/types.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/client-direct/package.json", - "additions": 1, - "deletions": 1 + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 }, { - "path": "packages/client-discord/package.json", - "additions": 1, - "deletions": 1 + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 }, { - "path": "packages/client-farcaster/package.json", - "additions": 1, - "deletions": 1 + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 }, { - "path": "packages/client-github/package.json", - "additions": 1, - "deletions": 1 + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 }, { - "path": "packages/client-lens/package.json", - "additions": 1, - "deletions": 1 + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "number": 1198, + "title": "feat: Client secrets validation", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T07:17:10Z", + "updated_at": "2024-12-18T22:33:35Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "files": [ + { + "path": "agent/src/index.ts", + "additions": 22, + "deletions": 9 }, { - "path": "packages/client-slack/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 }, { "path": "packages/client-telegram/package.json", "additions": 1, - "deletions": 1 + "deletions": 0 }, { - "path": "packages/client-twitter/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/client-telegram/src/index.ts", + "additions": 22, + "deletions": 0 }, { - "path": "packages/core/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/client-twitter/src/base.ts", + "additions": 14, + "deletions": 7 }, { - "path": "packages/create-eliza-app/package.json", - "additions": 1, + "path": "packages/client-twitter/src/index.ts", + "additions": 17, "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", - "additions": 1, - "deletions": 1 - }, + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + } + ], + "reviews": [ { - "path": "packages/plugin-aptos/package.json", - "additions": 1, - "deletions": 1 - }, + "author": "cygaar", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "chefron", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/98501301?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T22:13:34Z", + "updated_at": "2024-12-18T22:14:37Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { - "path": "packages/plugin-bootstrap/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 }, { - "path": "packages/plugin-coinbase/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 }, { - "path": "packages/plugin-conflux/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 }, { - "path": "packages/plugin-echochambers/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-evm/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-flow/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 }, { - "path": "packages/plugin-goat/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "packages/plugin-icp/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-image-generation/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-near/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/ModelClass.md", + "additions": 6, + "deletions": 6 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 }, { - "path": "packages/plugin-node/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 }, { - "path": "packages/plugin-solana/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-story/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-sui/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-tee/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-ton/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1159?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1158, - "title": "fix: client twitter login and auth handler", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:11:43Z", - "updated_at": "2024-12-17T07:16:49Z", - "body": "", - "files": [ - { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1158?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1155, - "title": "chore: develop into main", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:44:24Z", - "updated_at": "2024-12-17T04:07:13Z", - "body": "", - "files": [ - { - "path": "agent/src/index.ts", - "additions": 5, - "deletions": 0 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1155?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1153, - "title": "fix: fetch log level to debug", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:29:05Z", - "updated_at": "2024-12-17T03:33:33Z", - "body": "", - "files": [ - { - "path": "agent/src/index.ts", + "path": "docs/api/functions/formatActors.md", "additions": 2, "deletions": 2 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1153?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1152, - "title": "chore: bump version to 0.1.6-alpha.3", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:10:01Z", - "updated_at": "2024-12-17T03:14:33Z", - "body": "", - "files": [ + }, { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 }, { - "path": "client/package.json", - "additions": 45, - "deletions": 45 + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 }, { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 }, { - "path": "lerna.json", - "additions": 9, - "deletions": 3 + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/generateText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/functions/getRelationships.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "docs/api/functions/stringToUuid.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/functions/trimTokens.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, - "deletions": 18 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1152?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1150, - "title": "feat: update packages version script", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:04:12Z", - "updated_at": "2024-12-17T03:09:02Z", - "body": "", - "files": [ + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, { - "path": "scripts/update-versions.js", - "additions": 82, - "deletions": 0 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1150?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1149, - "title": "chore: import fomo action", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T02:22:03Z", - "updated_at": "2024-12-17T02:26:28Z", - "body": "", - "files": [ + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 + }, { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [], - "comments": [] - }, - { - "number": 1143, - "title": "chore: remove comment", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T00:37:44Z", - "updated_at": "2024-12-17T00:38:08Z", - "body": "", - "files": [ + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 + }, { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Provider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 } ], "reviews": [], @@ -881,378 +705,250 @@ } }, { - "contributor": "odilitime", + "contributor": "vpavlin", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4", "activity": { "code": { - "total_commits": 11, - "total_prs": 5, - "commits": [ - { - "sha": "79cf0dfe61675e4faa809f675fce32209d55ea6d", - "message": "fix directClient", - "created_at": "2024-12-17T03:31:01Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "6542085148e31cc4914e1e8579f3f3aa1221037a", - "message": "Merge pull request #1144 from ai16z/develop\n\nchore: Merge monday, merging develop into main", - "created_at": "2024-12-17T02:33:22Z", - "additions": 55032, - "deletions": 26261, - "changed_files": 552 - }, - { - "sha": "0a1f55df11220c103815d86d4ab9c3635dc20669", - "message": "Merge branch 'develop' of https://github.com/ai16z/eliza into fix-lint", - "created_at": "2024-12-17T02:17:43Z", - "additions": 0, - "deletions": 0, - "changed_files": 0 - }, - { - "sha": "8a8b69f0e11e8cc2fc76768438ad917710e2de3b", - "message": "update URLs and example response", - "created_at": "2024-12-17T02:08:49Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b6af59eb544c5bee24a09ab029e60b1ac94778dc", - "message": "include fomo", - "created_at": "2024-12-17T02:08:26Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "dac55c5e4a59d6129fc7aa094f7e7555f8036df2", - "message": "improve on fomo plugin and distingush it from pump.fun's plugin", - "created_at": "2024-12-17T01:54:21Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "2e9bcbef2c1b0dbd7890c3cdcc9972cedbe06c82", - "message": "update lockfile for PR1135", - "created_at": "2024-12-17T00:35:29Z", - "additions": 22686, - "deletions": 17677, - "changed_files": 1 - }, - { - "sha": "c4d4a0a9f2185ce690cb8e306ca660a23b927d3d", - "message": "Merge pull request #1135 from fomoTon/fomo-token-plugin\n\nfeat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana", - "created_at": "2024-12-17T00:28:50Z", - "additions": 632, - "deletions": 0, - "changed_files": 3 - }, - { - "sha": "ca5edca37f7ea3f500ca2910eccd1354d92ad730", - "message": "Merge pull request #965 from FWangZil/fix/plugin-evm\n\nfix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash", - "created_at": "2024-12-16T23:59:26Z", - "additions": 45, - "deletions": 20, - "changed_files": 2 - }, - { - "sha": "2263d767721d463b2575892fb6c2ec879c800a39", - "message": "fix merge: remove double improve, adjust params to various calls, use initWalletProvider", - "created_at": "2024-12-16T23:55:57Z", - "additions": 10, - "deletions": 13, - "changed_files": 1 - }, - { - "sha": "d2c1d93321f9d172b5e50b6c854dca8362d76983", - "message": "Merge branch 'develop' into fix/plugin-evm", - "created_at": "2024-12-16T22:54:27Z", - "additions": 77035, - "deletions": 48588, - "changed_files": 658 - } - ], + "total_commits": 0, + "total_prs": 1, + "commits": [], "pull_requests": [ { - "number": 1187, - "title": "feat: REST POST /agents/:agentId/memory/add", + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T19:21:40Z", - "updated_at": "2024-12-17T19:30:11Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- Adds a new route to add new memories to a running agent\r\n- improved speed of loading knowledge from a character file (though now risks using too much resources, batching version to come later)\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nopens integration possibilities, path for command line utility to dump files into memory\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes require a change to the project documentation.", + "created_at": "2024-12-18T21:21:53Z", + "updated_at": "2024-12-18T21:28:14Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", "files": [ { - "path": "packages/client-direct/src/api.ts", - "additions": 27, - "deletions": 2 - }, - { - "path": "packages/core/src/memory.ts", - "additions": 6, + "path": "agent/src/index.ts", + "additions": 4, "deletions": 0 }, { - "path": "packages/core/src/runtime.ts", - "additions": 51, - "deletions": 8 + "path": "packages/core/src/generation.ts", + "additions": 2, + "deletions": 1 } ], "reviews": [], - "comments": [] - }, - { - "number": 1154, - "title": "fix: fix direct-client ability to start agents", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:32:14Z", - "updated_at": "2024-12-17T03:41:50Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFixes direct-client behavior\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nTo restore previous behavior\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.", - "files": [ - { - "path": "agent/src/index.ts", - "additions": 5, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM!" - } - ], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1154?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1154/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - }, - { - "number": 1148, - "title": "chore: fix PR #1147", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T02:10:35Z", - "updated_at": "2024-12-17T02:26:39Z", - "body": "ShakkerNerd said to directly commit", - "files": [ - { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 2, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM!" - } - ], "comments": [ { - "author": "monilpat", - "body": "Looks like the smoke test failed " + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" } ] - }, + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "BlockchainCake", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1147, - "title": "fix: improve fomo integration", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T01:56:31Z", - "updated_at": "2024-12-17T02:04:33Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nenables fomo action\r\n\r\n## What kind of change is this?\r\n\r\nUpdates (new versions of included code)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nimprove code quality instead of removing fomo\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n", + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T20:54:14Z", + "updated_at": "2024-12-18T20:54:14Z", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 4, - "deletions": 7 - }, - { - "path": "packages/plugin-solana/src/actions/pumpfun.ts", + "path": "agent/package.json", "additions": 2, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, "deletions": 0 - } - ], - "reviews": [ - { - "author": "shakkernerd", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - }, - { - "number": 1144, - "title": "chore: Merge monday, merging develop into main", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T00:46:47Z", - "updated_at": "2024-12-17T02:34:41Z", - "body": "Bring tested develop into main\r\n\r\nIncludes the following PR merges:\r\n\r\n- #1148\r\n- #1147\r\n- #1143 \r\n- #1135\r\n- #965\r\n- #1140\r\n- #1141\r\n- #1125\r\n- #796\r\n- #1136\r\n- #1131\r\n- #1133\r\n- #1124\r\n- #1120\r\n- #1032\r\n- #1033\r\n- #957\r\n- #853\r\n- #814\r\n- #837\r\n- #1009\r\n- #1095\r\n- #1115\r\n- #1114\r\n- #1112\r\n- #1111\r\n- #852\r\n- #1030\r\n- #934\r\n- #1107\r\n- #1011\r\n- #1098\r\n- #897\r\n- #1091\r\n- #1104\r\n- #1070\r\n- #1103\r\n- #1102\r\n- #1036\r\n- #1101\r\n- #998\r\n- #1097\r\n- #1094\r\n- #1093\r\n- #1092\r\n- #1088\r\n- #1086\r\n- #1085\r\n- #1084\r\n- #1083\r\n- #1082\r\n- #1081\r\n- #1080\r\n- #1079\r\n- #906\r\n- #1078\r\n- #859\r\n- #1077\r\n- #1076\r\n- #1056\r\n- #1031\r\n- #1075\r\n- #1039\r\n- #1074\r\n- #1073\r\n- #847\r\n- #860\r\n- #1034\r\n- #1053\r\n- #856\r\n- #1057\r\n- #1040\r\n- #1054\r\n- #1055\r\n- #1052\r\n- #913\r\n- #889\r\n- #1046\r\n- #1050\r\n", - "files": [ - { - "path": ".env.example", - "additions": 160, - "deletions": 109 }, { - "path": ".github/workflows/ci.yaml", - "additions": 1, - "deletions": 1 + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 0 }, { - "path": ".gitignore", - "additions": 4, + "path": "packages/client-discord/src/index.ts", + "additions": 32, "deletions": 1 }, { - "path": ".gitpod.yml", - "additions": 1, - "deletions": 2 - }, - { - "path": ".npmrc", - "additions": 1, + "path": "packages/client-evm/README.md", + "additions": 78, "deletions": 0 }, { - "path": ".vscode/settings.json", - "additions": 1, - "deletions": 1 + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 }, { - "path": "CHANGELOG.md", - "additions": 1, - "deletions": 1 + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 }, { - "path": "CONTRIBUTING.md", - "additions": 1, - "deletions": 1 + "path": "packages/client-evm/package.json", + "additions": 21, + "deletions": 0 }, { - "path": "README.md", - "additions": 1, - "deletions": 1 + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 }, { - "path": "README_HE.md", - "additions": 189, + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, "deletions": 0 }, { - "path": "README_VI.md", - "additions": 129, + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 10, - "deletions": 1 + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 105, - "deletions": 91 + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 }, { - "path": "characters/c3po.character.json", - "additions": 98, + "path": "packages/client-evm/src/types.ts", + "additions": 66, "deletions": 0 }, { - "path": "characters/dobby.character.json", - "additions": 98, + "path": "packages/client-evm/tsconfig.json", + "additions": 23, "deletions": 0 }, { - "path": "docker-compose.yaml", - "additions": 0, - "deletions": 1 + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 }, { - "path": "docs/README.md", - "additions": 4, - "deletions": 0 + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 }, { - "path": "docs/README_TH.md", - "additions": 178, + "path": "tsconfig.json", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "madjin", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1211, + "title": "chore: New docs", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T19:04:47Z", + "updated_at": "2024-12-18T20:26:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { "path": "docs/api/classes/AgentRuntime.md", - "additions": 81, - "deletions": 52 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/CacheManager.md", - "additions": 6, - "deletions": 6 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/DatabaseAdapter.md", - "additions": 42, - "deletions": 42 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/DbCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/FsCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/MemoryCacheAdapter.md", - "additions": 6, - "deletions": 6 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/MemoryManager.md", - "additions": 14, - "deletions": 14 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/classes/Service.md", - "additions": 7, + "additions": 5, "deletions": 5 }, { "path": "docs/api/enumerations/Clients.md", - "additions": 45, - "deletions": 5 + "additions": 9, + "deletions": 9 }, { "path": "docs/api/enumerations/GoalStatus.md", - "additions": 4, - "deletions": 4 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/enumerations/LoggingLevel.md", @@ -1261,18 +957,18 @@ }, { "path": "docs/api/enumerations/ModelClass.md", - "additions": 6, - "deletions": 6 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/enumerations/ModelProviderName.md", - "additions": 64, - "deletions": 44 + "additions": 33, + "deletions": 23 }, { "path": "docs/api/enumerations/ServiceType.md", - "additions": 39, - "deletions": 9 + "additions": 12, + "deletions": 12 }, { "path": "docs/api/functions/addHeader.md", @@ -1281,98 +977,98 @@ }, { "path": "docs/api/functions/composeActionExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/composeContext.md", - "additions": 2, - "deletions": 2 + "additions": 12, + "deletions": 6 }, { "path": "docs/api/functions/configureSettings.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/embed.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/findNearestEnvFile.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActionNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActors.md", - "additions": 2, - "deletions": 2 - }, + "additions": 1, + "deletions": 1 + }, { "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluators.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatGoalsAsString.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatMessages.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatPosts.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatTimestamp.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateCaption.md", @@ -1381,58 +1077,53 @@ }, { "path": "docs/api/functions/generateImage.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateMessageResponse.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObject.md", - "additions": 13, - "deletions": 9 - }, - { - "path": "docs/api/functions/generateObjectArray.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/functions/generateObjectDeprecated.md", - "additions": 23, - "deletions": 0 + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateObjectV2.md", - "additions": 0, - "deletions": 27 + "path": "docs/api/functions/generateObjectDeprecated.md", + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateShouldRespond.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTextArray.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTrueOrFalse.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTweetActions.md", - "additions": 23, - "deletions": 0 + "additions": 2, + "deletions": 2 }, { "path": "docs/api/functions/generateWebSearch.md", @@ -1441,23 +1132,23 @@ }, { "path": "docs/api/functions/getActorDetails.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingConfig.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingType.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingZeroVector.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEndpoint.md", @@ -1466,13 +1157,13 @@ }, { "path": "docs/api/functions/getEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getGoals.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getModel.md", @@ -1481,18 +1172,18 @@ }, { "path": "docs/api/functions/getProviders.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/handleProvider.md", @@ -1501,73 +1192,73 @@ }, { "path": "docs/api/functions/hasEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/loadEnvConfig.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseActionResponseFromText.md", - "additions": 21, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseBooleanFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJSONObjectFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJsonArrayFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseShouldRespondFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/splitChunks.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/stringToUuid.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/trimTokens.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/updateGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/validateCharacterConfig.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/validateEnv.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/index.md", - "additions": 10, - "deletions": 3 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/interfaces/Account.md", @@ -1581,28 +1272,28 @@ }, { "path": "docs/api/interfaces/ActionExample.md", - "additions": 3, - "deletions": 3 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/interfaces/ActionResponse.md", - "additions": 43, - "deletions": 0 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/interfaces/Actor.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/interfaces/Content.md", - "additions": 7, - "deletions": 7 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/interfaces/ConversationExample.md", - "additions": 3, - "deletions": 3 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/interfaces/EvaluationExample.md", @@ -1613,145 +1304,135 @@ "path": "docs/api/interfaces/Evaluator.md", "additions": 8, "deletions": 8 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1144?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 17 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1144/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1186, - "title": "request: databaseAdapter.getMemoryByIds", - "state": "OPEN", - "created_at": "2024-12-17T19:13:16Z", - "updated_at": "2024-12-17T19:13:16Z", - "body": "Need databaseAdapter.getMemoryByIds for all current database adapters", - "labels": [ + "path": "docs/api/interfaces/Goal.md", + "additions": 1, + "deletions": 1 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "path": "docs/api/interfaces/IAgentConfig.md", + "additions": 1, + "deletions": 1 }, { - "name": "good first issue", - "color": "7057ff", - "description": "Good for newcomers" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 4, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "monilpat", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", - "activity": { - "code": { - "total_commits": 3, - "total_prs": 1, - "commits": [ - { - "sha": "94d374afa3b3b011b7b2030419315b120c7253f6", - "message": "Merge pull request #1154 from odilitime/fix-lint\n\nfix: fix direct-client ability to start agents", - "created_at": "2024-12-17T03:41:50Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "284f38a09123d20a8a24d9374eff6991a28a4c25", - "message": "Merge pull request #1139 from rarepepi/docker-fixes\n\nfix: remove docker compose command since Docker file already runs", - "created_at": "2024-12-17T01:49:33Z", - "additions": 0, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "7d6d121ec9d07be91c5afd2e54d0c4626abd9873", - "message": "Merge pull request #1140 from azep-ninja/fix/duplicate-tg-funtions\n\nfix: telegram client duplicate function removal", - "created_at": "2024-12-16T22:58:02Z", - "additions": 5, - "deletions": 18, - "changed_files": 1 - } - ], - "pull_requests": [ - { - "number": 1184, - "title": "feat: integrate o1", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T18:58:13Z", - "updated_at": "2024-12-17T19:20:57Z", - "body": "Relates to: o1: https://github.com/ai16z/eliza/issues/1185\r\n\r\nRisks: Low - Integrating o1 is a minimal, low-impact change. The primary risk is minor code confusion if not documented clearly.\r\n\r\nBackground\r\n\r\nWhat does this PR do? This PR integrates o1 functionality into the existing codebase. It ensures that o1 is properly linked, documented, and accessible for future reference.\r\n\r\nWhat kind of change is this? Improvements (misc. changes to existing features)\r\n\r\nDocumentation changes needed? My changes require a change to the project documentation. I have updated the documentation accordingly.\r\n\r\nTesting\r\n\r\nWhere should a reviewer start? Begin by reviewing the integration points in code where o1 references have been added. Check the documentation updates to confirm consistent explanations.\r\n\r\nDetailed testing steps:\r\n\r\nReview the codebase changes where o1 is introduced.\r\nConfirm that references to o1 are correct, properly linked, and that no compilation or runtime errors occur.\r\nReview the updated documentation to ensure it reflects the new o1 integration context and instructions for usage.", - "files": [ + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 + }, { - "path": "packages/core/src/generation.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/core/src/models.ts", - "additions": 3, - "deletions": 3 + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/core/src/tests/models.test.ts", + "path": "docs/api/interfaces/ICacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "pnpm-lock.yaml", - "additions": 21929, - "deletions": 16979 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 } ], - "reviews": [], - "comments": [ + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + }, { "author": "monilpat", - "body": "Waiting on tiktoken model to update to include o1 :)" + "state": "APPROVED", + "body": "" } - ] + ], + "comments": [] } ] }, "issues": { - "total_opened": 2, + "total_opened": 1, "opened": [ { - "number": 1189, - "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", - "state": "CLOSED", - "created_at": "2024-12-17T21:19:29Z", - "updated_at": "2024-12-17T21:24:30Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nThe current logging mechanism in the /packages/plugin-coinbase/src/plugins is not providing sufficient detail for debugging and monitoring purposes.\r\n\r\n**Describe the solution you'd like**\r\n\r\nEnhance the logging framework to include more comprehensive log messages, including error details, transaction states, and API request/response data.\r\n\r\n**Describe alternatives you've considered**\r\n\r\nConsidered using third-party logging libraries that can be integrated into the existing setup for better log management and analysis.\r\n\r\n**Additional context**\r\n\r\nImproved logging can help in quicker issue resolution and provide better insights into the plugin's performance and behavior during both development and production stages.", + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "state": "OPEN", + "created_at": "2024-12-18T08:59:15Z", + "updated_at": "2024-12-18T08:59:15Z", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", "labels": [ + { + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" + }, { "name": "enhancement", "color": "a2eeef", @@ -1759,379 +1440,294 @@ } ], "comments": [] - }, + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "marcNY", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1185, - "title": "integrate o1", - "state": "OPEN", - "created_at": "2024-12-17T19:00:42Z", - "updated_at": "2024-12-17T19:00:42Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nIntegrate o1 https://openai.com/index/o1-and-new-tools-for-developers/\r\n", - "labels": [ + "number": 1209, + "title": "docs: Update README.md", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T16:46:43Z", + "updated_at": "2024-12-18T17:21:57Z", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\t\u2022\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\t\u2022\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", + "files": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "path": "README.md", + "additions": 1, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], "comments": [] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "yang-han", + "contributor": "v1xingyue", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 3, + "total_prs": 1, "commits": [], "pull_requests": [ { - "number": 1163, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", + "number": 1207, + "title": "fix: gitpod cicd bug", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T08:23:52Z", - "updated_at": "2024-12-17T08:35:18Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-18T15:06:25Z", + "updated_at": "2024-12-18T19:43:00Z", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", "files": [ { - "path": "Dockerfile", + "path": ".gitpod.yml", "additions": 1, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "deletions": 0 } ], "reviews": [ { - "author": "monilpat", + "author": "odilitime", "state": "APPROVED", - "body": "This has been there from the beginning thanks for doing this :) " + "body": "" } ], - "comments": [] - }, + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tobbelobb", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1162, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", + "number": 1205, + "title": "fix: write summary file before trying to cache it", + "state": "OPEN", "merged": false, - "created_at": "2024-12-17T08:17:55Z", - "updated_at": "2024-12-17T08:18:12Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-18T12:28:33Z", + "updated_at": "2024-12-18T17:17:36Z", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", "files": [ { - "path": "CHANGELOG.md", - "additions": 186, - "deletions": 3 - }, + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 + } + ], + "reviews": [], + "comments": [ { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 + "author": "odilitime", + "body": "code looks good will test later" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AbdelStark", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1203, + "title": "feat: Implement Nostr client", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:55:14Z", + "updated_at": "2024-12-18T20:52:26Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "files": [ + { + "path": ".env.example", + "additions": 14, + "deletions": 0 }, { "path": "agent/package.json", - "additions": 59, + "additions": 60, "deletions": 59 }, { "path": "agent/src/index.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "client/package.json", - "additions": 45, - "deletions": 45 + "additions": 18, + "deletions": 8 }, { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 }, { - "path": "lerna.json", - "additions": 9, - "deletions": 3 + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 }, { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 }, { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 }, { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 - }, - { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 - }, - { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 - }, - { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 - }, - { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - }, - { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 - }, - { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 - }, - { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 - }, - { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 - }, - { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 - }, - { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 - }, - { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 - }, - { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 - }, - { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 - }, - { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 - }, - { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 - }, - { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 - }, - { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 - }, - { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 - }, - { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 - }, - { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 - }, - { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 - }, - { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 - }, - { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, "deletions": 18 }, { "path": "pnpm-lock.yaml", - "additions": 17935, - "deletions": 22902 - }, - { - "path": "scripts/update-versions.js", - "additions": 82, + "additions": 146, "deletions": 0 } ], - "reviews": [], - "comments": [] - }, - { - "number": 1160, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T07:22:21Z", - "updated_at": "2024-12-17T08:24:38Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, + "reviews": [ { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "author": "odilitime", + "state": "COMMENTED", + "body": "" } ], - "reviews": [], "comments": [ { - "author": "HashWarlock", - "body": "LGTM, but @yang-han you need to target the `develop` branch instead of main" - }, - { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nok, will do" + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" }, { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nin #1163 " + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." } ] } @@ -2150,41 +1746,35 @@ } }, { - "contributor": "actions-user", + "contributor": "netdragonx", "score": 0, "summary": "", - "avatar_url": null, + "avatar_url": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4", "activity": { "code": { - "total_commits": 3, - "total_prs": 0, - "commits": [ - { - "sha": "ea14167a66da4d892802fffa94b474d61daf63bc", - "message": "chore: update changelog", - "created_at": "2024-12-17T07:18:55Z", - "additions": 13, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "ed33650a236d3799ba881020ceefcc7f27eb3579", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:49:03Z", - "additions": 12, - "deletions": 0, - "changed_files": 1 - }, + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "sha": "2f85c744b45b4d0d8d5e0eb5333cf98c59611a53", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:00:32Z", - "additions": 161, - "deletions": 3, - "changed_files": 1 + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:52:31Z", + "updated_at": "2024-12-18T10:11:57Z", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/client-twitter/src/index.ts", + "additions": 14, + "deletions": 17 + } + ], + "reviews": [], + "comments": [] } - ], - "pull_requests": [] + ] }, "issues": { "total_opened": 0, @@ -2199,10 +1789,10 @@ } }, { - "contributor": "ai16z-demirix", + "contributor": "9547", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4", "activity": { "code": { "total_commits": 0, @@ -2210,27 +1800,33 @@ "commits": [], "pull_requests": [ { - "number": 1190, - "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T22:45:37Z", - "updated_at": "2024-12-17T22:46:12Z", - "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "number": 1201, + "title": "docs(cn): add python 3.7", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T09:00:53Z", + "updated_at": "2024-12-18T17:39:58Z", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", "files": [ { - "path": "packages/core/README-TESTS.md", - "additions": 1, - "deletions": 1 - }, + "path": "README_CN.md", + "additions": 2, + "deletions": 3 + } + ], + "reviews": [ { - "path": "packages/core/src/tests/runtime.test.ts", - "additions": 139, - "deletions": 0 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], - "comments": [] + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] } ] }, @@ -2240,17 +1836,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "SumeetChougule", + "contributor": "Hdpbilly", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/101477214?u=7dddb5b1120e21b1c481bd7186d68d3fe76db437&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4", "activity": { "code": { "total_commits": 0, @@ -2258,56 +1854,27 @@ "commits": [], "pull_requests": [ { - "number": 1182, - "title": "Fix client.push issue and update README for Slack client verification", + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T17:53:28Z", - "updated_at": "2024-12-17T17:53:28Z", - "body": "Relates to:\r\nNo specific issue linked.\r\n\r\nRisks\r\nLow. The changes primarily involve bug fixes and documentation updates, which should not affect other parts of the system.\r\n\r\nBackground\r\nWhat does this PR do?\r\nThis pull request fixes a critical issue in the client initialization process by addressing the clients.push error. It also updates the README for the Slack client to include instructions on verifying event subscriptions.\r\n\r\nWhat kind of change is this?\r\nBug fixes\r\nDocumentation updates\r\nDocumentation changes needed?\r\nMy changes require a change to the project documentation. The README has been updated accordingly.\r\n\r\nTesting\r\nWhere should a reviewer start?\r\nReview the changes in agent/src/index.ts for the client initialization fix and the updated README.md in the packages/client-slack directory.\r\n\r\nDetailed testing steps\r\nVerify that the client initialization process does not produce errors.\r\nEnsure the Slack client README includes the new section on event subscription verification.", + "created_at": "2024-12-18T08:04:22Z", + "updated_at": "2024-12-18T17:23:19Z", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": ".gitignore", - "additions": 1, - "deletions": 0 - }, - { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 3 - }, - { - "path": "characters/trump.character.json", - "additions": 1, - "deletions": 1 - }, - { - "path": "ngrok.log", - "additions": 10, - "deletions": 0 - }, - { - "path": "package.json", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/client-slack/README.md", - "additions": 9, + "path": "packages/client-direct/src/api.ts", + "additions": 259, "deletions": 0 - }, - { - "path": "packages/client-slack/src/environment.ts", - "additions": 1, - "deletions": 1 - }, + } + ], + "reviews": [ { - "path": "pnpm-lock.yaml", - "additions": 22174, - "deletions": 16933 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] @@ -2318,17 +1885,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "AbdelStark", + "contributor": "tomguluson92", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", "activity": { "code": { "total_commits": 0, @@ -2336,162 +1903,31 @@ "commits": [], "pull_requests": [ { - "number": 1181, - "title": "Feature: Implement Nostr client", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T17:33:34Z", - "updated_at": "2024-12-17T17:39:42Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "number": 1196, + "title": "docs: Update \"CN README\" with more details", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T06:12:33Z", + "updated_at": "2024-12-18T17:29:45Z", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": ".env.example", - "additions": 14, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 - }, - { - "path": "agent/src/index.ts", - "additions": 39, - "deletions": 14 - }, - { - "path": "packages/client-nostr/package.json", - "additions": 18, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/actions.ts", - "additions": 37, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/client.ts", - "additions": 66, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/index.ts", - "additions": 61, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/interactions.ts", - "additions": 36, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/memory.ts", - "additions": 36, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/post.ts", - "additions": 188, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/prompts.ts", - "additions": 88, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/types.ts", - "additions": 9, - "deletions": 0 - }, - { - "path": "packages/client-nostr/src/utils.ts", - "additions": 143, - "deletions": 0 - }, - { - "path": "packages/client-nostr/tsconfig.json", - "additions": 12, - "deletions": 0 - }, - { - "path": "packages/client-nostr/tsup.config.ts", - "additions": 20, - "deletions": 0 - }, - { - "path": "packages/core/src/types.ts", - "additions": 13, - "deletions": 5 - }, - { - "path": "pnpm-lock.yaml", - "additions": 146, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "aeither", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36173828?u=48e2376ab68607483916e3fe69a98a597f3a25a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1180, - "title": "chore: update env for plugin-goat", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T14:59:06Z", - "updated_at": "2024-12-17T17:32:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nUpdate ALCHEMY_API_KEY to EVM_PROVIDER_URL for plugin-goat\r\nwhich is more accurate as user can provide any rpc URL. it is not an alchemy api key what needs to be provided\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "path": "README_CN.md", + "additions": 58, + "deletions": 6 + } + ], + "reviews": [ { "author": "odilitime", "state": "APPROVED", - "body": "Will need to update the documentation" + "body": "" } ], "comments": [ - { - "author": "aeither", - "body": "> Will need to update the documentation\n\nWhere?" - }, - { - "author": "odilitime", - "body": "search the repo for any mention of ALCHEMY_API_KEY\r\n\r\nif none, at a bare minimum include the instructions of the plugin README" - }, { "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1180?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] } @@ -2510,10 +1946,10 @@ } }, { - "contributor": "mradian1", + "contributor": "monilpat", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/160105867?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", "activity": { "code": { "total_commits": 0, @@ -2521,808 +1957,574 @@ "commits": [], "pull_requests": [ { - "number": 1179, - "title": "AI Companion to CRASH game", + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", "state": "CLOSED", "merged": false, - "created_at": "2024-12-17T13:40:36Z", - "updated_at": "2024-12-17T13:42:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-18T05:26:54Z", + "updated_at": "2024-12-18T05:27:15Z", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", "files": [ + { + "path": ".env.example", + "additions": 2, + "deletions": 7 + }, + { + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 + }, { "path": ".gitignore", - "additions": 0, - "deletions": 2 + "additions": 5, + "deletions": 1 }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 3 + "path": "agent/package.json", + "additions": 3, + "deletions": 1 }, { - "path": "agent/src/crash/actions/taunt.ts", - "additions": 56, + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 + }, + { + "path": "characters/chronis.character.json", + "additions": 321, "deletions": 0 }, { - "path": "agent/src/index.ts", + "path": "characters/logging-addict.character.json", + "additions": 262, + "deletions": 0 + }, + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", "additions": 3, - "deletions": 1 + "deletions": 3 }, { - "path": "characters/tate.character.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 5, + "deletions": 5 }, { - "path": "characters/taunting.character.json", - "additions": 108, + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 76, "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "jzvikart", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/7929905?u=d54ea7bb2ef0bc7fae6f010f70decfaa559cbc30&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1177, - "title": "feat: integration tests fixes + library improvements", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T11:55:32Z", - "updated_at": "2024-12-17T15:56:20Z", - "body": "# Risks\r\nVery low. Worst case this could break the tests or introduce problems with dependencies.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis builds on top of previous changes that introduced the first version of integration tests framework. These changes:\r\n- fix some existing issues with smoke and integration tests failing (esp. giving agent a fixed time to start that was not always sufficient)\r\n- extend integration test library with a full wrapper for setting up / tearing down a test\r\n- refactor existing integration test (\"Hello Trump\") to use new library\r\n- fix a potential issue with possible leak of API keys (not related to integration tests themselves)\r\n- remove a dependency that was previously added but is no longer required\r\n\r\n## What kind of change is this?\r\nImprovement + bug fix + feature\r\n\r\n## Why are we doing this? Any context or related work?\r\nThis is to improve overall project quality via better testing..\r\n\r\n# Documentation changes needed?\r\nNone\r\n\r\n# Testing\r\nTo test the tests, these changes need to be run in CI workflow.\r\nIf either smoke or integration tests fail, the PR should NOT be merged. In that case we will check the logs and update the PR as necessary.\r\n\r\n# Deploy Notes\r\nNone\r\n\r\n## Database changes\r\nNone\r\n\r\n## Deployment instructions\r\nNone\r\n\r\n## Discord username\r\nuser98634", - "files": [ + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 8, + "deletions": 8 + }, { - "path": ".github/workflows/integrationTests.yaml", + "path": "docs/api/functions/addHeader.md", "additions": 1, "deletions": 1 }, { - "path": "agent/src/index.ts", - "additions": 2, + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, "deletions": 1 }, { - "path": "package.json", + "path": "docs/api/functions/composeContext.md", "additions": 1, - "deletions": 2 + "deletions": 1 }, { - "path": "packages/core/src/logger.ts", - "additions": 0, + "path": "docs/api/functions/configureSettings.md", + "additions": 1, "deletions": 1 }, { - "path": "pnpm-lock.yaml", - "additions": 709, - "deletions": 783 + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "tests/test1.mjs", - "additions": 14, - "deletions": 23 - }, + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 + }, { - "path": "tests/testLibrary.mjs", - "additions": 81, - "deletions": 36 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tripluca", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/78784902?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1176, - "title": "fix: Change 'INFORMATIONS' to 'INFORMATION' to use correct English in logger", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T11:40:20Z", - "updated_at": "2024-12-17T16:32:43Z", - "body": "# Relates to:\r\nN/A - grammatical fix\r\n\r\n# Risks\r\nLow - Simple text change correcting English grammar in logging output\r\n\r\n# Background\r\n## What does this PR do?\r\nFixes incorrect English usage in logger.ts by changing \"INFORMATIONS\" to \"INFORMATION\", as \"information\" is an uncountable noun in English that doesn't have a plural form.\r\n\r\n## What kind of change is this?\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n## Where should a reviewer start?\r\nCheck packages/core/src/logger.ts - the change is a single word modification.\r\n\r\n## Detailed testing steps\r\nNone, automated tests are fine.\r\n\r\nNote: This PR is based on v0.1.6-alpha.1", - "files": [ + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 + }, { - "path": "packages/core/src/logger.ts", + "path": "docs/api/functions/findNearestEnvFile.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [ + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 + }, { - "author": "odilitime", - "body": "Informations is a collection of information-tagged items. It is correct in this context" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "YoungPhlo", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/90307961?u=2e7b36c41a4576a4720529da97a57280df102b28&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1174, - "title": "docs: Update \"What Did You Get Done This Week? 5\" spaces notes", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T11:09:55Z", - "updated_at": "2024-12-17T16:36:48Z", - "body": "# Relates to:\r\nDocumentation updates for \"What Did You Get Done This Week? 5\" community stream\r\n\r\n# Risks\r\nLow - This is a documentation update that adds structure and improves readability of an existing community stream summary.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n- Converts raw notes into structured documentation with proper markdown formatting\r\n- Adds sidebar positioning and metadata\r\n- Adds timestamps with direct links\r\n- Organizes content into clear sections (Timestamps, Summary, Hot Takes)\r\n- Improves readability with proper headers and formatting\r\n- Adds description and title metadata\r\n\r\n## What kind of change is this?\r\nImprovements (restructuring and enhancing existing documentation)\r\n\r\n# Documentation changes needed?\r\nMy changes are documentation changes themselves, and are complete.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Check the formatted timestamps section to ensure all links are valid\r\n2. Verify the summary section accurately reflects the stream content\r\n3. Review the \"Hot Takes\" section for accuracy of quotes and timestamps\r\n\r\n## Detailed testing steps\r\n- Verify all timestamp links are functional\r\n- Ensure markdown formatting renders correctly\r\n- Check that sidebar position (5) is correct in the sequence\r\n- Validate that all speaker names and timestamps match the original content\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, { - "path": "docs/community/Streams/12-2024/2024-12-13.md", - "additions": 130, - "deletions": 161 - } - ], - "reviews": [ + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 + }, { - "author": "odilitime", - "state": "CHANGES_REQUESTED", - "body": "" + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 }, { - "author": "YoungPhlo", - "state": "COMMENTED", - "body": "" + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 }, { - "author": "odilitime", - "state": "COMMENTED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 4, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "nicky-ru", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/64008830?u=d26f4e5c9c07625bb42f8f4b3154df60a8ca5527&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1171, - "title": "fix: add lint script for plugin evm and fix lint errors", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T10:31:16Z", - "updated_at": "2024-12-17T17:59:25Z", - "body": "# Risks\r\n\r\nNone\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nImprovements:\r\n1. Fixed Chain Name Formatting:\r\n- Object generation sometimes returned the chain name without quotes, causing the transfer action to fail.\r\n- Improved this behavior by ensuring quotes are added in the constraint:\r\n```ts\r\nchains.map((item) => `\"${item}\"`).join(\"|\")\r\n```\r\n2. Added Linting Script:\r\n- Introduced a linting script to the project and fixed the linting errors.\r\n3. Restored Transfer Action Logic:\r\n- The merge of #965 degraded the transfer action by ignoring the buildTransferDetails() function.\r\n- This function has been reintegrated into the transfer action.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Try initiate a transfer action with on the evm chain of your choice, the agent should correctly pick the chain.\r\n\r\nThe rest of the changes rely on automated tests.\r\n\r\n## Discord username\r\n\r\nnikita_zhou\r\n", - "files": [ + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 + }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/eslint.config.mjs", - "additions": 3, - "deletions": 0 + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", - "additions": 2, + "path": "docs/api/functions/formatPosts.md", + "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-evm/src/actions/swap.ts", - "additions": 0, + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-evm/src/actions/transfer.ts", - "additions": 11, - "deletions": 24 + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/src/providers/wallet.ts", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/generateCaption.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/src/tests/transfer.test.ts", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/src/tests/wallet.test.ts", - "additions": 39, - "deletions": 35 + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "path": "docs/api/functions/generateObject.md", + "additions": 1, + "deletions": 1 + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please add a screengrab or test of this working thanks:) " - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "thomasWos", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/785740?u=58240e787ae69665ebb4813bd3472e528fc6a00b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1170, - "title": "fix: Fix typo in multiversx plugin prompt for creating token", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T10:28:15Z", - "updated_at": "2024-12-17T16:10:49Z", - "body": "Fix tiny typo", - "files": [ + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 + }, { - "path": "packages/plugin-multiversx/src/actions/createToken.ts", + "path": "docs/api/functions/generateObjectV2.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [ + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "salmanpot", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/112885964?u=6dcca073ed5cbc8301794a79e2011472335f45a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1169, - "title": "Feat/km eliza bot", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T10:01:32Z", - "updated_at": "2024-12-17T16:02:29Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 8 + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/index.ts", - "additions": 11, - "deletions": 34 + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/providers/twitter.ts", - "additions": 18, - "deletions": 0 + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/services/twitter/game.pdf", - "additions": 0, - "deletions": 0 + "path": "docs/api/functions/generateWebSearch.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/services/twitter/services.ts", - "additions": 71, - "deletions": 0 + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "eliza_client/eliza_client.py", - "additions": 180, - "deletions": 0 + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 }, { - "path": "eliza_client/requirements.txt", - "additions": 2, - "deletions": 0 + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-direct/src/index.ts", - "additions": 14, - "deletions": 2 + "path": "docs/api/functions/getEndpoint.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-twitter/src/post.ts", + "path": "docs/api/functions/getEnvVariable.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "odilitime", - "body": "no documentation, weird changes, doesn't look like you meant to PR it to the main repo" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "lessuselesss", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/179788364?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1157, - "title": "1142 add nix flake support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T05:54:35Z", - "updated_at": "2024-12-17T17:25:05Z", - "body": "# Relates to:\r\n[Issue #1142](https://github.com/ai16z/eliza/issues/1142)\r\n\r\n# Risks\r\nLow - This change:\r\n- Only affects development environment setup\r\n- Doesn't modify runtime code\r\n- Is optional (developers can still use traditional npm/pnpm setup)\r\n- Can be easily reverted if issues arise\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds Nix Flake support to provide a reproducible development environment with:\r\n- Correct Node.js and pnpm versions\r\n- Helpful welcome message showing common commands\r\n- Integration with existing monorepo structure\r\n\r\n## What kind of change is this?\r\nImprovements (adds optional development tooling without changing existing functionality)\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation.\r\nI will update the local development guide to include:\r\n1. Installation of Nix using [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)\r\n2. Instructions for using the development environment\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Install Nix using Determinate Nix Installer:\r\n```bash\r\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\r\n```\r\n\r\n2. Clone the PR and enter the development environment:\r\n```bash\r\ngit clone https://github.com/ai16z/eliza.git\r\ncd eliza\r\nnix develop\r\n```\r\n\r\n3. Verify the welcome message appears with instructions for:\r\n - pnpm i\r\n - pnpm build\r\n - pnpm clean\r\n\r\n## Detailed testing steps\r\n1. Prerequisites:\r\n - Install Nix following the steps above\r\n - Verify flakes are enabled by default\r\n\r\n2. Test environment setup:\r\n ```bash\r\n git clone https://github.com/ai16z/eliza.git\r\n cd eliza\r\n nix develop\r\n ```\r\n - Verify welcome message appears\r\n - Verify Node.js version matches project requirements\r\n - Verify pnpm is available\r\n\r\n3. Test build process:\r\n ```bash\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify all dependencies install correctly\r\n - Verify build completes successfully\r\n\r\n4. Test clean process:\r\n ```bash\r\n pnpm clean\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify clean removes build artifacts\r\n - Verify rebuild works after clean\r\n\r\n## Discord username\r\nAdam Turner | lessuseless\r\nar4s_45979", - "files": [ + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 + }, { - "path": "Dockerfile", + "path": "docs/api/functions/validateCharacterConfig.md", "additions": 1, "deletions": 1 }, { - "path": "README.md", - "additions": 10, - "deletions": 0 + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/index.ts", + "path": "docs/api/interfaces/Account.md", "additions": 6, - "deletions": 5 + "deletions": 6 }, { - "path": "docs/docs/guides/local-development.md", - "additions": 10, - "deletions": 2 + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 }, { - "path": "flake.nix", - "additions": 76, - "deletions": 0 + "path": "docs/api/interfaces/ActionExample.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, + "path": "docs/api/interfaces/Actor.md", + "additions": 4, "deletions": 4 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1157?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 }, { - "author": "HashWarlock", - "body": "@lessuselesss love this PR, but there are some weird problems that will cause a NixOS user to fail when building the codebase with nix flakes enabled.\r\n\r\nFor example, I built this on my NixOS machine and we see this error:\r\n```\r\nWARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\ndocs | \u2009WARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\n```\r\n\r\nWe may think...what?! No Way...But how?? The pkgs specifically lists `nodejs_23` and when I run `node version` I will see the `v23.2.0`, but that still does not equal `v20.18.1`.\r\n\r\nSo I did some digging bc Nix can be a pain in the ass at times with weird dependencies errors. So I checked the `pnpm` pkgs source code and found this line https://github.com/NixOS/nixpkgs/blob/394571358ce82dff7411395829aa6a3aad45b907/pkgs/development/tools/pnpm/generic.nix#L28\r\n\r\nAnd `nodejs` pkg points to:\r\n![image](https://github.com/user-attachments/assets/1e258b67-924e-4471-a590-d7bde3ac7c64)\r\n\r\nSo this here is the culprit for why a NixOS user will hit this weird error even though we declaratively chose the right node version." + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 2, + "deletions": 2 }, { - "author": "lessuselesss", - "body": "Hello, \r\n\r\nThank you so much for the valuable feedback. I'm excited to contribute and am happy (and was hoping!!) to have someone from the nix community overseeing contributions here! \r\n\r\nNice catch on finding the culprit, I'll investigate some workarounds \ud83d\ude47 " + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, + "deletions": 3 }, { - "author": "odilitime", - "body": "I don't like the hardcoded versions, maybe another dev can offer a better suggestions on how to get the latest version\r\n\r\nlike `git describe --tags --abbrev=0`" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1142, - "title": "Support for building monorepo with git dependencies using pnpm and nix", - "state": "OPEN", - "created_at": "2024-12-16T23:53:28Z", - "updated_at": "2024-12-16T23:53:28Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nWhen trying to build a pnpm monorepo using Nix's buildNpmPackage that includes git dependencies (specifically @discordjs/opus), the build fails due to git access restrictions in the Nix build environment. The current workarounds involve either modifying package.json or pre-fetching git dependencies, both of which are not ideal solutions for maintaining the project.\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nA built-in way to handle git dependencies in buildNpmPackage that:\r\n\r\n 1. Automatically fetches git dependencies using fetchgit during the build process\r\n 2. Maintains compatibility with pnpm workspaces and monorepo structure\r\n 3. Preserves the original package.json without requiring modifications\r\n 4. Works with trusted dependencies in pnpm\r\n\r\n**Describe alternatives you've considered**\r\n\r\n1. Manually pre-fetching git dependencies and placing them in node_modules\r\n2. Modifying package.json to use published versions instead of git dependencies\r\n3. Using mkDerivation instead of buildNpmPackage to handle the build process manually\r\n4. Creating a custom derivation to handle git dependencies before the main build\r\n\r\n**Additional context**\r\n\r\nThis issue particularly affects projects using Discord.js and similar packages that rely on git dependencies for native modules. The current workarounds either break the development workflow or require maintaining separate package configurations for Nix builds.\r\nExample of a failing build: \r\n\r\n`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current \"overrides\" configuration doesn't match the value found in the lockfile`\r\n", - "labels": [ + "path": "docs/api/interfaces/Evaluator.md", + "additions": 7, + "deletions": 7 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tcm390", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1156, - "title": "fix: Enable multiple bots to join Discord voice channels", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T04:17:21Z", - "updated_at": "2024-12-17T07:56:09Z", - "body": "related: https://github.com/ai16z/eliza/issues/1145\r\n\r\nreference: \r\nhttps://github.com/discordjs/voice/issues/206#issuecomment-924551194\r\nhttps://stackoverflow.com/questions/71446777/how-do-i-manage-voice-connections-from-multiple-bots-in-one-code", - "files": [ + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 + }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, "deletions": 4 - } - ], - "reviews": [ + }, { - "author": "shakkernerd", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 3, + "deletions": 3 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1156?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1156/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1183, - "title": "media parameter is missing Error on Main Branch", - "state": "OPEN", - "created_at": "2024-12-17T17:56:49Z", - "updated_at": "2024-12-17T20:15:37Z", - "body": "Description\r\nWhen attempting to call the image-generation on Twitter, the following error occurs on the main branch:\r\n\r\n```\r\nError: {\"errors\":[{\"code\":38,\"message\":\"media parameter is missing.\"}]}\r\n at uploadMedia (node_modules/agent-twitter-client/dist/node/esm/index.mjs:2211:13)\r\n at async createCreateTweetRequest (node_modules/agent-twitter-client/dist/node/esm/index.mjs:1954:22)\r\n```\r\n\r\nHowever, it works as expected on the `tcm-twitter-image` branch.", - "labels": [ + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1178, - "title": "Long tweets fail with error Tweet needs to be a bit shorter (Code 186)", - "state": "OPEN", - "created_at": "2024-12-17T13:20:41Z", - "updated_at": "2024-12-17T15:18:46Z", - "body": "When attempting to send tweets longer than 280 characters using the Eliza Twitter client, the API responds with an error:\n\n```\nError sending tweet; Bad response: {\n errors: [\n {\n message: 'Authorization: Tweet needs to be a bit shorter. (186)',\n locations: [Array],\n path: [Array],\n extensions: [Object],\n code: 186,\n kind: 'Permissions',\n name: 'AuthorizationError',\n source: 'Client',\n tracing: [Object]\n }\n ],\n data: {}\n} \n```\n\nhttps://discord.com/channels/1253563208833433701/1300025221834739744/1318559898312904745\n\n\"Screenshot\n", - "labels": [ + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 }, { - "name": "src: Discord", - "color": "C5DEF5", - "description": "" - } - ], - "comments": [ + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 3, + "deletions": 3 + }, { - "author": "shakkernerd", - "body": "Hi @tcm390 could you add a direct link to the message for all issues gotten from discord. \r\nThis is to help with investigation since there might have been some conversation around it." + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 }, { - "author": "tcm390", - "body": "> Hi [@tcm390](https://github.com/tcm390) could you add a direct link to the message for all issues gotten from discord. This is to help with investigation since there might have been some conversation around it.\n\nyes, updated." - } - ] - } - ] - }, - "engagement": { - "total_comments": 2, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "Semfoxm", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/114817283?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1188, - "title": "semfoxm", - "state": "OPEN", - "created_at": "2024-12-17T21:11:03Z", - "updated_at": "2024-12-17T21:11:03Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "path": "docs/api/interfaces/IPdfService.md", + "additions": 4, + "deletions": 4 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "ilmari-h", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/52321471?u=839cd428eb4798d5dd5235a01eb4148128995d0f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1175, - "title": "Allow requiring API key for calling direct client", - "state": "OPEN", - "created_at": "2024-12-17T11:27:50Z", - "updated_at": "2024-12-17T11:27:50Z", - "body": "I would like to be able to require an API key for communicating with my agent via the direct client rest API.\r\nI did not find a built in way to do this.\r\n\r\nI would propose adding an optional `DirectClientOptions` parameter to the `DirectClient` constructor that contains property API-key.\r\nThe direct client would then return 401 to any request that does not have the header `Authorization: Bearer YOUR_API_KEY`\r\n\r\nI will gladly implement this myself if it makes sense as a feature to others", - "labels": [ + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 } ], + "reviews": [], "comments": [] } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "snobbee", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] + ] }, "issues": { "total_opened": 2, "opened": [ { - "number": 1173, - "title": "Bug: Application crashes on startup", - "state": "CLOSED", - "created_at": "2024-12-17T10:43:05Z", - "updated_at": "2024-12-17T10:43:17Z", - "body": "The application crashes on startup. No additional context or error messages have been provided.", - "labels": [], - "comments": [] + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", + "state": "OPEN", + "created_at": "2024-12-18T04:16:18Z", + "updated_at": "2024-12-18T08:38:48Z", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + }, + { + "name": "good first issue", + "color": "7057ff", + "description": "Good for newcomers" + }, + { + "name": "logging", + "color": "ededed", + "description": null + } + ], + "comments": [ + { + "author": "9547", + "body": "@monilpat may I take this one?" + } + ] }, { - "number": 1172, - "title": "Bug: Application crashes on startup", + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", "state": "CLOSED", - "created_at": "2024-12-17T10:34:58Z", - "updated_at": "2024-12-17T10:36:32Z", - "body": "The application crashes upon startup. Please investigate the error codes and any relevant stack traces to diagnose the issue.", - "labels": [], + "created_at": "2024-12-18T01:45:28Z", + "updated_at": "2024-12-18T01:46:15Z", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], "comments": [] } ] }, "engagement": { - "total_comments": 0, + "total_comments": 1, "total_reviews": 0, "comments": [], "reviews": [] @@ -3330,38 +2532,120 @@ } }, { - "contributor": "Ninoambaraa", + "contributor": "cwrage77", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/151893355?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ + "pull_requests": [ { - "number": 1168, - "title": "Error when trying deploy using dockerfile", - "state": "OPEN", - "created_at": "2024-12-17T09:43:05Z", - "updated_at": "2024-12-17T09:43:05Z", - "body": "I'm trying deploy using docker file \r\n```\r\n# Use stable Node.js LTS version\r\nFROM node:22-slim\r\n\r\n# Install system dependencies\r\nRUN apt-get update && apt-get install -y \\\r\n build-essential \\\r\n python3 \\\r\n git \\\r\n ca-certificates \\\r\n sqlite3 \\\r\n libsqlite3-dev \\\r\n && apt-get clean && rm -rf /var/lib/apt/lists/*\r\n\r\n# Install pnpm\r\nRUN npm install -g pnpm@9.4.0\r\n\r\n# Set working directory\r\nWORKDIR /app\r\n\r\n# Copy package files\r\nCOPY package.json pnpm-lock.yaml ./\r\n\r\n# Install dependencies\r\nRUN pnpm install --frozen-lockfile\r\n\r\n# Rebuild native modules\r\nRUN pnpm rebuild better-sqlite3\r\n\r\n# Copy application files\r\nCOPY . .\r\n\r\n# Expose application port\r\nEXPOSE 3000\r\n\r\n# Start the application with debugging\r\nCMD [\"pnpm\" , \"start\"]\r\n\r\n```\r\n\r\nand i get this error \r\n```\r\n\u26d4 ERRORS\r\n Unhandled error in startAgents: \r\n {\"code\":\"ERR_USE_AFTER_CLOSE\"} \r\n```", - "labels": [ + "number": 1193, + "title": "Feature/news plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T02:55:07Z", + "updated_at": "2024-12-18T02:55:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": ".gitignore", + "additions": 56, + "deletions": 54 + }, + { + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 + }, + { + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 + }, + { + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 } ], + "reviews": [], "comments": [] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, "total_reviews": 0, @@ -3371,147 +2655,123 @@ } }, { - "contributor": "qizhou", + "contributor": "ileana-pr", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/2541286?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ + "pull_requests": [ { - "number": 1167, - "title": "Unable to run `pnpm install --no-frozen-lockfile` on v0.1.6-alpha.4", - "state": "OPEN", - "created_at": "2024-12-17T09:30:31Z", - "updated_at": "2024-12-17T21:04:37Z", - "body": "**Describe the bug**\r\n\r\nI found the following error on a fresh checkout:\r\n\r\n```\r\n# set variable identifying the chroot you work in (used in the prompt below)\r\n# set a fancy prompt (non-color, unless we know we \"want\" color)\r\n\u2502 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n\u2502 node-pre-gyp info check checked for \"/root/github/eliza/node_modules/@discordjs/opus/prebuild/node-v131-napi-v3-linux-x64-glibc-2.39/opus.node\" (not found)\r\n\u2502 node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp ERR! install response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp WARN Pre-built binaries not installable for @discordjs/opus@0.9.0 and node@23.4.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp)\r\n\u2502 node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 gyp info it worked if it ends with ok\r\n\u2502 gyp info using node-gyp@10.3.1\r\n\u2502 gyp info using node@23.4.0 | linux | x64\r\n\u2502 gyp info ok\r\n```\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T00:10:51Z", + "updated_at": "2024-12-18T02:00:30Z", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/docs/contributing.md", + "additions": 5, + "deletions": 5 } ], - "comments": [ - { - "author": "ateett12ue", - "body": "I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me." - }, + "reviews": [ { - "author": "nhtera", - "body": "> I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me.\r\n\r\nWhat pnpm version you are using?" - }, + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM - thanks :) " + } + ], + "comments": [ { - "author": "ateett12ue", - "body": "v9.15.0\r\n" + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { - "total_comments": 3, - "total_reviews": 0, + "total_comments": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "BalanaguYashwanth", + "contributor": "ai16z-demirix", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 2, - "opened": [ + "pull_requests": [ { - "number": 1166, - "title": "Plugin Create Command", - "state": "OPEN", - "created_at": "2024-12-17T09:13:33Z", - "updated_at": "2024-12-17T10:08:10Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nUsing with single command to create plugin using plugin example or template under packages\r\n\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [ - { - "author": "BalanaguYashwanth", - "body": "@odilitime Let me know, Is this command already exists in the repo ?\r\n\r\nCC: @shakkernerd " - }, - { - "author": "shakkernerd", - "body": "Hi @BalanaguYashwanth No, we current do not have a \"create plugin\" command." - }, - { - "author": "BalanaguYashwanth", - "body": "So it is useful feature to work on ?" - }, + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-17T22:45:37Z", + "updated_at": "2024-12-18T02:07:57Z", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { - "author": "shakkernerd", - "body": "It is not a priority at the moment but if you want to take a crack at it, feel free." + "path": "packages/core/README-TESTS.md", + "additions": 1, + "deletions": 1 }, { - "author": "BalanaguYashwanth", - "body": "ok" + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 } - ] - }, - { - "number": 1164, - "title": "Farcaster Account Creation to launch agent", - "state": "OPEN", - "created_at": "2024-12-17T08:52:22Z", - "updated_at": "2024-12-17T09:07:49Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThis feature will allow, \r\n\r\n- Launching an agent in farcaster by creating the dedicated farcaster account\r\n\r\nExisting repo, won't support to launch agent in farcaster by creating farcaster account.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nWe can achieve creating account in multiple ways,\r\n\r\n- Interactive CLI\r\n- API\r\n\r\nWhen launching each agent, It will create dedicated farcaster account and store those farcaster details into DB and perform activites like\r\n\r\n- Post casts\r\n- ReCasts\r\n- etc\r\n\r\n**Describe alternatives you've considered**\r\n\r\nWe need to run seperate server and create the farcaster account and those details we need to pass for agents to run on warpcast (farcaster).\r\n\r\n\r\n", - "labels": [ + ], + "reviews": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM thanks for doing this :) " } ], "comments": [ { - "author": "BalanaguYashwanth", - "body": "Let me know, Is it good feature to addon eliza ?\r\n\r\nCC: @odilitime @tcm390 " + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" } ] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { - "total_comments": 6, - "total_reviews": 0, + "total_comments": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "whgreate", + "contributor": "sam-coffey", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/811644?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4", "activity": { "code": { "total_commits": 0, @@ -3523,12 +2783,12 @@ "total_opened": 1, "opened": [ { - "number": 1161, - "title": "pnpm start --character=\"characters/trump.character.json\"", - "state": "CLOSED", - "created_at": "2024-12-17T08:10:26Z", - "updated_at": "2024-12-17T16:10:21Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n1. add \"clients\": [\"twitter\"], to trump.character.json\r\n2. pnpm start --character=\"characters/trump.character.json\"\r\n3. error: `Killed\r\n/workspaces/eliza_1/agent:\r\n\u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @ai16z/agent@0.1.5-alpha.6 start: `node --loader ts-node/esm src/index.ts \"--isRoot\" \"--character=characters/trump.character.json\"`\r\nExit status 137\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 137.`\r\n\r\n", + "number": 1213, + "title": "chat stuck in infinite loop", + "state": "OPEN", + "created_at": "2024-12-18T21:19:34Z", + "updated_at": "2024-12-18T21:19:34Z", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", "labels": [ { "name": "bug", @@ -3536,21 +2796,12 @@ "description": "Something isn't working" } ], - "comments": [ - { - "author": "shakkernerd", - "body": "Hi there, you seem to be using an older version (`0.1.5-alpha.6`).\r\nKindly update to latest (`0.1.6-alpha.4`)." - }, - { - "author": "whgreate", - "body": "don't understand how to do that, I'm on develop branch." - } - ] + "comments": [] } ] }, "engagement": { - "total_comments": 2, + "total_comments": 0, "total_reviews": 0, "comments": [], "reviews": [] @@ -3558,10 +2809,10 @@ } }, { - "contributor": "tcotten-scrypted", + "contributor": "AntonioTF5", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/113052533?u=23e62842485a8c6647acdecb62cb97b898299ad3&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/32102018?u=ca0cfc6fafa99720cba35ad22ba7e31738c399b9&v=4", "activity": { "code": { "total_commits": 0, @@ -3573,12 +2824,12 @@ "total_opened": 1, "opened": [ { - "number": 1151, - "title": "REQUIRED_NODE_VERSION: No such file", - "state": "CLOSED", - "created_at": "2024-12-17T03:04:39Z", - "updated_at": "2024-12-17T13:24:57Z", - "body": "**Describe the bug**\r\n\r\nFollowing directions in README.md with `sh scripts/start.sh` on Ubuntu causes an error:\r\n\r\nscripts/start.sh: 6: cannot open REQUIRED_NODE_VERSION: No such file\r\n\r\n**To Reproduce**\r\n\r\nEnvironment: Ubuntu 24.04 LTS\r\n1. `sh scripts/start.sh`\r\n\r\n**Expected behavior**\r\n\r\nNo error regarding the variable \"REQUIRED_NODE_VERSION\"\r\n\r\n**Screenshots**\r\n\r\n\"image\"\r\n\r\n**Additional context**\r\n\r\nThis is a simple issue caused by the shell script being executed with dash instead of bash.\r\n", + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", + "state": "OPEN", + "created_at": "2024-12-18T16:44:13Z", + "updated_at": "2024-12-18T19:28:41Z", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b):495:\r\n\u2502 :19:14: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]\r\n\u2502 19 | #define POSIX,__STDC_FORMAT_MACROS 1\r\n\u2502 | ^\r\n\u2502 In file included from ../src/node-opus.cc:1:\r\n\u2502 /Users/santekotturi/Developer/forecast/eliza/node_modules/node-addon-api/napi.h:14:10: fatal error: 'functional' \u2026\r\n\u2502 14 | #include \r\n\u2502 | ^~~~~~~~~~~~\r\n\u2502 1 warning and 1 error generated.\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/santekotturi/.local/share/pnpm/global/5/.pnpm/pnpm@9.9.0/node_\u2026\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/.local/share/pnpm\u2026\r\n\u2502 gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v23.4.0\r\n\u2502 gyp ERR! node-gyp -v v10.1.0\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node /Users/\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/santekotturi/Developer/forecast/eliza/node_module\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/Develope\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v23.4.0\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\nalways using `rm -rf node_modules & rm pnpm-lock.yaml` between each try.\r\n\r\nnode v23.4.0\r\ntried downgrading to v20.x \r\npnpm v9.9.0\r\n\r\nalso tried `brew install opus`\r\nmacOS 15.1 \r\nXCode 16.2\r\n\r\non:\r\n`% git status >> HEAD detached at v0.1.6-alpha.1`\r\n\r\nPotentially related to:\r\nhttps://github.com/ai16z/eliza/issues/1041\r\nhttps://github.com/ai16z/eliza/issues/215\r\n", + "number": 1206, + "title": "double backslash when posting to X", + "state": "OPEN", + "created_at": "2024-12-18T14:02:01Z", + "updated_at": "2024-12-18T18:29:36Z", + "body": "**Describe the bug**\r\nEliza is posting an '\\\\n\\\\n' to X instead of two carriage returns. This is using CLAUDE_VERTEX.\r\n\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", "labels": [ { "name": "bug", @@ -3642,27 +2880,19 @@ ], "comments": [ { - "author": "oxSaturn", - "body": "Have you tried `xcode-select --install` to have C++ compiler installed? I'm on m2, thought I ran into a similar issue (don't remember the exact issue) when I was trying eliza first time, and running `xcode-select --install` got it fixed for me as far as I can remember." + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" }, { - "author": "santekotturi", - "body": "Yea, I ran that, I've got a macos 15.2 update waiting for me, maybe that plays better with Xcode 16.2... will report back \r\n" - }, - { - "author": "santekotturi", - "body": "macos 15.2 updated, all xcode tool updates made. still same error. \r\n\r\nThis discordjs/opus connects having homebrew python3.12 in your path (which I do) https://github.com/discordjs/opus/issues/145#issuecomment-2250719870\r\n\r\nCurious what anyone else has for \r\n\r\n```\r\npython3 --version\r\nwhich python3\r\n```\r\n" - }, - { - "author": "santekotturi", - "body": "Had to uninstall xcode-select and reinstall \u00af\\_(\u30c4)_/\u00af \r\n```\r\nsudo rm -rf /Library/Developer/CommandLineTools\r\nxcode-select --install\r\n```\r\n\r\nthat gets us: `node_modules/@discordjs/opus: Running install script, done in 30.1s`" + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." } ] } ] }, "engagement": { - "total_comments": 4, + "total_comments": 2, "total_reviews": 0, "comments": [], "reviews": [] @@ -3670,10 +2900,10 @@ } }, { - "contributor": "vincentskele", + "contributor": "Longame208", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/147941271?u=7d01a4b50ee427df19e9b31bb0273500b71f72d0&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/79878000?v=4", "activity": { "code": { "total_commits": 0, @@ -3685,35 +2915,42 @@ "total_opened": 1, "opened": [ { - "number": 1145, - "title": "Discord agents knock each other out of VC", + "number": 1204, + "title": "unable to chat in terminal", "state": "OPEN", - "created_at": "2024-12-17T00:58:56Z", - "updated_at": "2024-12-17T09:25:18Z", - "body": "**Describe the bug**\r\n\r\nWhen running two agents in the same client one will join the discord voice channel and then when 2nd agent joins it kicks the first agent out of discord\r\n\r\n**Additional context**\r\n\r\n- whichever character is listed last is the one that stays in the voice channel\r\n- the same thing happens even if sending the agents to different voice channels. \r\n- only tested from 1 discord server, 2 unique servers may produce a different outcome", + "created_at": "2024-12-18T11:19:12Z", + "updated_at": "2024-12-18T12:41:24Z", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "labels": [ { "name": "bug", "color": "d73a4a", "description": "Something isn't working" - }, - { - "name": "Need Feedback", - "color": "2365DD", - "description": "" } ], "comments": [ { - "author": "shakkernerd", - "body": "Hi @vincentskele there is a potential fix in #1156 that is already merged into `develop` branch.\r\nKindly try that and give feedback." + "author": "jaycoolh", + "body": "Same error here" + }, + { + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" + }, + { + "author": "jaycoolh", + "body": "[\"\u25ce Visit the following URL to chat with your agents:\"]\r\n\r\n [\"\u25ce http://localhost:5173\"]\r\n\r\n [\"\u2713 REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" + }, + { + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" } ] } ] }, "engagement": { - "total_comments": 1, + "total_comments": 4, "total_reviews": 0, "comments": [], "reviews": [] diff --git a/data/daily/commits.json b/data/daily/commits.json index f86e3d8..fe51488 100644 --- a/data/daily/commits.json +++ b/data/daily/commits.json @@ -1,561 +1 @@ -[ - { - "sha": "81d027327ebba82ef3ed473d0e914c90e18e362d", - "message": "Merge pull request #1165 from ai16z/fix/start_script\n\nfeat: make script dash compatible", - "committedDate": "2024-12-17T09:08:56Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 34, - "deletions": 24, - "changedFiles": 1 - }, - { - "sha": "a2a079510c0a9f5cd0471b37fbca206fbf42bc90", - "message": "feat: make script dash compatible", - "committedDate": "2024-12-17T09:06:49Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 34, - "deletions": 24, - "changedFiles": 1 - }, - { - "sha": "ea14167a66da4d892802fffa94b474d61daf63bc", - "message": "chore: update changelog", - "committedDate": "2024-12-17T07:18:55Z", - "author": { - "user": { - "login": "actions-user" - } - }, - "additions": 13, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "2216ae868b37bcb78f83e8f362f59178a3b478b7", - "message": "Merge pull request #1159 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.4", - "committedDate": "2024-12-17T07:17:15Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 46, - "deletions": 46, - "changedFiles": 46 - }, - { - "sha": "2e44768f31f38e0abac443f22fbd0819c6a485a9", - "message": "chore: bump version to 0.1.6-alpha.4", - "committedDate": "2024-12-17T07:16:37Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 46, - "deletions": 46, - "changedFiles": 46 - }, - { - "sha": "798d34c4af979754b88d83d3f354bdbc742af26d", - "message": "Merge pull request #1158 from ai16z/fix/client-twitter\n\nfix: client twitter login and auth handler", - "committedDate": "2024-12-17T07:15:16Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 77, - "deletions": 54, - "changedFiles": 1 - }, - { - "sha": "4111f3f557a109464b41b1533cbba2bd7106035e", - "message": "fix: client twitter login and auth handler", - "committedDate": "2024-12-17T07:11:12Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 77, - "deletions": 54, - "changedFiles": 1 - }, - { - "sha": "65ba827b034508310e7e0c368fc7f9e1b6da46aa", - "message": "chore: fix broken pnpm lockfile", - "committedDate": "2024-12-17T04:16:22Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 17935, - "deletions": 22902, - "changedFiles": 1 - }, - { - "sha": "ed33650a236d3799ba881020ceefcc7f27eb3579", - "message": "chore: update changelog", - "committedDate": "2024-12-17T03:49:03Z", - "author": { - "user": { - "login": "actions-user" - } - }, - "additions": 12, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "c34ff57ae7ef5e60e9e35088e611a87bd94165e4", - "message": "Merge pull request #1155 from ai16z/develop\n\nchore: develop into main", - "committedDate": "2024-12-17T03:44:57Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 5, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "94d374afa3b3b011b7b2030419315b120c7253f6", - "message": "Merge pull request #1154 from odilitime/fix-lint\n\nfix: fix direct-client ability to start agents", - "committedDate": "2024-12-17T03:41:50Z", - "author": { - "user": { - "login": "monilpat" - } - }, - "additions": 5, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "79cf0dfe61675e4faa809f675fce32209d55ea6d", - "message": "fix directClient", - "committedDate": "2024-12-17T03:31:01Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 5, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "c08d0a2a019070b1a6724d9852be7a506caa4414", - "message": "Merge pull request #1153 from ai16z/fetch_logs_debug\n\nfix: fetch log level to debug", - "committedDate": "2024-12-17T03:29:17Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 2, - "deletions": 2, - "changedFiles": 1 - }, - { - "sha": "29ce2f946f7c34bc54de3abad9c530334a33bae5", - "message": "fix: fetch log level to debug", - "committedDate": "2024-12-17T03:28:00Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 2, - "deletions": 2, - "changedFiles": 1 - }, - { - "sha": "b9f8970f3b96c46d65e78de3931da6167dbbfa6a", - "message": "Merge pull request #1152 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.3", - "committedDate": "2024-12-17T03:10:42Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1237, - "deletions": 1231, - "changedFiles": 46 - }, - { - "sha": "34136e159b7713fc40ecd8e15c1c2df3958f7cdf", - "message": "chore: bump version to 0.1.6-alpha.3", - "committedDate": "2024-12-17T03:09:33Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1237, - "deletions": 1231, - "changedFiles": 46 - }, - { - "sha": "bd1057aa8d8fb9ed000c145f833da44bbd221c68", - "message": "Merge pull request #1150 from ai16z/update-version\n\nfeat: update packages version script", - "committedDate": "2024-12-17T03:04:22Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 82, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "7c493f2749fb140d256c02ca3a9161495bf8ef13", - "message": "feat: update packages version script", - "committedDate": "2024-12-17T03:03:45Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 82, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "2f85c744b45b4d0d8d5e0eb5333cf98c59611a53", - "message": "chore: update changelog", - "committedDate": "2024-12-17T03:00:32Z", - "author": { - "user": { - "login": "actions-user" - } - }, - "additions": 161, - "deletions": 3, - "changedFiles": 1 - }, - { - "sha": "6542085148e31cc4914e1e8579f3f3aa1221037a", - "message": "Merge pull request #1144 from ai16z/develop\n\nchore: Merge monday, merging develop into main", - "committedDate": "2024-12-17T02:33:22Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 55032, - "deletions": 26261, - "changedFiles": 552 - }, - { - "sha": "0a23d6d2b32cafd47e53da89454cb8b36c045432", - "message": "Merge pull request #1148 from odilitime/fix-lint\n\nchore: fix PR #1147", - "committedDate": "2024-12-17T02:26:39Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 3, - "deletions": 3, - "changedFiles": 2 - }, - { - "sha": "0a1f55df11220c103815d86d4ab9c3635dc20669", - "message": "Merge branch 'develop' of https://github.com/ai16z/eliza into fix-lint", - "committedDate": "2024-12-17T02:17:43Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 0, - "deletions": 0, - "changedFiles": 0 - }, - { - "sha": "8a8b69f0e11e8cc2fc76768438ad917710e2de3b", - "message": "update URLs and example response", - "committedDate": "2024-12-17T02:08:49Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 2, - "deletions": 2, - "changedFiles": 1 - }, - { - "sha": "b6af59eb544c5bee24a09ab029e60b1ac94778dc", - "message": "include fomo", - "committedDate": "2024-12-17T02:08:26Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 1, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "0e337c3ad9b9918647f990dcd9fdc9eaadd16d92", - "message": "Merge pull request #1147 from odilitime/fix-lint\n\nfix: improve fomo integration", - "committedDate": "2024-12-17T02:04:33Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 7, - "deletions": 9, - "changedFiles": 3 - }, - { - "sha": "dac55c5e4a59d6129fc7aa094f7e7555f8036df2", - "message": "improve on fomo plugin and distingush it from pump.fun's plugin", - "committedDate": "2024-12-17T01:54:21Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 7, - "deletions": 9, - "changedFiles": 3 - }, - { - "sha": "284f38a09123d20a8a24d9374eff6991a28a4c25", - "message": "Merge pull request #1139 from rarepepi/docker-fixes\n\nfix: remove docker compose command since Docker file already runs", - "committedDate": "2024-12-17T01:49:33Z", - "author": { - "user": { - "login": "monilpat" - } - }, - "additions": 0, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "83bd4873e3bbdaf4bc2dd7b90000f3965ea28d3c", - "message": "chore: delete client-whatsapp folder", - "committedDate": "2024-12-17T01:42:53Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 0, - "deletions": 75, - "changedFiles": 5 - }, - { - "sha": "5fcdcffcdb660d7dd1a2eb6af990bea037d5fe1e", - "message": "chore: add eslint config", - "committedDate": "2024-12-17T01:33:31Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 3, - "deletions": 0, - "changedFiles": 1 - }, - { - "sha": "018f95221c75b2afe4c16124829062fb01aec39c", - "message": "chore: lint command", - "committedDate": "2024-12-17T01:32:37Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 2, - "deletions": 2, - "changedFiles": 1 - }, - { - "sha": "90be9ecc20d0570daf027edbaac1060fd453e7c2", - "message": "fix: remove unused variable", - "committedDate": "2024-12-17T01:32:25Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 29, - "deletions": 9, - "changedFiles": 1 - }, - { - "sha": "c56f60c3ca21ce08d559ec72123cc850ae413b81", - "message": "chore: comment out unused imports", - "committedDate": "2024-12-17T01:28:14Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 2, - "deletions": 2, - "changedFiles": 1 - }, - { - "sha": "06a1b00152d87598c0957e58aef86e62dc2dd2d4", - "message": "fix: use of let instead of const", - "committedDate": "2024-12-17T01:26:59Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "257d3e42e8a6f14587635b7d238655702915bb50", - "message": "fix: Expected an assignment or function call and instead saw an expression", - "committedDate": "2024-12-17T01:26:08Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 7, - "deletions": 7, - "changedFiles": 1 - }, - { - "sha": "30665843e637dc8837effa25acd8b99e8599d33d", - "message": "fix: remove unused import", - "committedDate": "2024-12-17T01:24:10Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "2d5617120810b5356261ab86b0a600c3c7d8b6a5", - "message": "Merge pull request #1143 from ai16z/remove-comment\n\nchore: remove comment", - "committedDate": "2024-12-17T00:38:06Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "fa878418df76325719bb4ea4d14d2f20dad0ffdb", - "message": "chore: remove comment", - "committedDate": "2024-12-17T00:36:11Z", - "author": { - "user": { - "login": "shakkernerd" - } - }, - "additions": 1, - "deletions": 1, - "changedFiles": 1 - }, - { - "sha": "2e9bcbef2c1b0dbd7890c3cdcc9972cedbe06c82", - "message": "update lockfile for PR1135", - "committedDate": "2024-12-17T00:35:29Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 22686, - "deletions": 17677, - "changedFiles": 1 - }, - { - "sha": "c4d4a0a9f2185ce690cb8e306ca660a23b927d3d", - "message": "Merge pull request #1135 from fomoTon/fomo-token-plugin\n\nfeat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana", - "committedDate": "2024-12-17T00:28:50Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 632, - "deletions": 0, - "changedFiles": 3 - }, - { - "sha": "ca5edca37f7ea3f500ca2910eccd1354d92ad730", - "message": "Merge pull request #965 from FWangZil/fix/plugin-evm\n\nfix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash", - "committedDate": "2024-12-16T23:59:26Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 45, - "deletions": 20, - "changedFiles": 2 - }, - { - "sha": "2263d767721d463b2575892fb6c2ec879c800a39", - "message": "fix merge: remove double improve, adjust params to various calls, use initWalletProvider", - "committedDate": "2024-12-16T23:55:57Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 10, - "deletions": 13, - "changedFiles": 1 - }, - { - "sha": "7d6d121ec9d07be91c5afd2e54d0c4626abd9873", - "message": "Merge pull request #1140 from azep-ninja/fix/duplicate-tg-funtions\n\nfix: telegram client duplicate function removal", - "committedDate": "2024-12-16T22:58:02Z", - "author": { - "user": { - "login": "monilpat" - } - }, - "additions": 5, - "deletions": 18, - "changedFiles": 1 - }, - { - "sha": "d2c1d93321f9d172b5e50b6c854dca8362d76983", - "message": "Merge branch 'develop' into fix/plugin-evm", - "committedDate": "2024-12-16T22:54:27Z", - "author": { - "user": { - "login": "odilitime" - } - }, - "additions": 77035, - "deletions": 48588, - "changedFiles": 658 - } -] +[] diff --git a/data/daily/contributors.json b/data/daily/contributors.json index 2e2248a..50cd9d7 100644 --- a/data/daily/contributors.json +++ b/data/daily/contributors.json @@ -1,870 +1,614 @@ [ { - "contributor": "shakkernerd", - "score": 129, - "summary": "shakkernerd is currently working on merging pull requests related to fixing issues with the start script, client Twitter, and fetching logs debug. They have also been updating versions, managing linting tasks, and making code changes across various areas such as agent, client, and scripts.", - "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4", + "contributor": "madjin", + "score": 23, + "summary": "madjin is currently working on documenting missing plugin documentation and examples, as well as enhancing existing documentation with new content. Their recent activity includes one merged pull request and one issue related to documentation in the docs code area.", + "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4", "activity": { "code": { - "total_commits": 26, - "total_prs": 9, - "commits": [ - { - "sha": "81d027327ebba82ef3ed473d0e914c90e18e362d", - "message": "Merge pull request #1165 from ai16z/fix/start_script\n\nfeat: make script dash compatible", - "created_at": "2024-12-17T09:08:56Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "a2a079510c0a9f5cd0471b37fbca206fbf42bc90", - "message": "feat: make script dash compatible", - "created_at": "2024-12-17T09:06:49Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "2216ae868b37bcb78f83e8f362f59178a3b478b7", - "message": "Merge pull request #1159 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:17:15Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "2e44768f31f38e0abac443f22fbd0819c6a485a9", - "message": "chore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:16:37Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "798d34c4af979754b88d83d3f354bdbc742af26d", - "message": "Merge pull request #1158 from ai16z/fix/client-twitter\n\nfix: client twitter login and auth handler", - "created_at": "2024-12-17T07:15:16Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "4111f3f557a109464b41b1533cbba2bd7106035e", - "message": "fix: client twitter login and auth handler", - "created_at": "2024-12-17T07:11:12Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "65ba827b034508310e7e0c368fc7f9e1b6da46aa", - "message": "chore: fix broken pnpm lockfile", - "created_at": "2024-12-17T04:16:22Z", - "additions": 17935, - "deletions": 22902, - "changed_files": 1 - }, - { - "sha": "c34ff57ae7ef5e60e9e35088e611a87bd94165e4", - "message": "Merge pull request #1155 from ai16z/develop\n\nchore: develop into main", - "created_at": "2024-12-17T03:44:57Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "c08d0a2a019070b1a6724d9852be7a506caa4414", - "message": "Merge pull request #1153 from ai16z/fetch_logs_debug\n\nfix: fetch log level to debug", - "created_at": "2024-12-17T03:29:17Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "29ce2f946f7c34bc54de3abad9c530334a33bae5", - "message": "fix: fetch log level to debug", - "created_at": "2024-12-17T03:28:00Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b9f8970f3b96c46d65e78de3931da6167dbbfa6a", - "message": "Merge pull request #1152 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:10:42Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "34136e159b7713fc40ecd8e15c1c2df3958f7cdf", - "message": "chore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:09:33Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "bd1057aa8d8fb9ed000c145f833da44bbd221c68", - "message": "Merge pull request #1150 from ai16z/update-version\n\nfeat: update packages version script", - "created_at": "2024-12-17T03:04:22Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "7c493f2749fb140d256c02ca3a9161495bf8ef13", - "message": "feat: update packages version script", - "created_at": "2024-12-17T03:03:45Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "0a23d6d2b32cafd47e53da89454cb8b36c045432", - "message": "Merge pull request #1148 from odilitime/fix-lint\n\nchore: fix PR #1147", - "created_at": "2024-12-17T02:26:39Z", - "additions": 3, - "deletions": 3, - "changed_files": 2 - }, - { - "sha": "0e337c3ad9b9918647f990dcd9fdc9eaadd16d92", - "message": "Merge pull request #1147 from odilitime/fix-lint\n\nfix: improve fomo integration", - "created_at": "2024-12-17T02:04:33Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "83bd4873e3bbdaf4bc2dd7b90000f3965ea28d3c", - "message": "chore: delete client-whatsapp folder", - "created_at": "2024-12-17T01:42:53Z", - "additions": 0, - "deletions": 75, - "changed_files": 5 - }, - { - "sha": "5fcdcffcdb660d7dd1a2eb6af990bea037d5fe1e", - "message": "chore: add eslint config", - "created_at": "2024-12-17T01:33:31Z", - "additions": 3, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "018f95221c75b2afe4c16124829062fb01aec39c", - "message": "chore: lint command", - "created_at": "2024-12-17T01:32:37Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "90be9ecc20d0570daf027edbaac1060fd453e7c2", - "message": "fix: remove unused variable", - "created_at": "2024-12-17T01:32:25Z", - "additions": 29, - "deletions": 9, - "changed_files": 1 - }, - { - "sha": "c56f60c3ca21ce08d559ec72123cc850ae413b81", - "message": "chore: comment out unused imports", - "created_at": "2024-12-17T01:28:14Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "06a1b00152d87598c0957e58aef86e62dc2dd2d4", - "message": "fix: use of let instead of const", - "created_at": "2024-12-17T01:26:59Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "257d3e42e8a6f14587635b7d238655702915bb50", - "message": "fix: Expected an assignment or function call and instead saw an expression", - "created_at": "2024-12-17T01:26:08Z", - "additions": 7, - "deletions": 7, - "changed_files": 1 - }, - { - "sha": "30665843e637dc8837effa25acd8b99e8599d33d", - "message": "fix: remove unused import", - "created_at": "2024-12-17T01:24:10Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "2d5617120810b5356261ab86b0a600c3c7d8b6a5", - "message": "Merge pull request #1143 from ai16z/remove-comment\n\nchore: remove comment", - "created_at": "2024-12-17T00:38:06Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "fa878418df76325719bb4ea4d14d2f20dad0ffdb", - "message": "chore: remove comment", - "created_at": "2024-12-17T00:36:11Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - } - ], + "total_commits": 0, + "total_prs": 1, + "commits": [], "pull_requests": [ { - "number": 1165, - "title": "feat: make script dash compatible", + "number": 1211, + "title": "chore: New docs", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T09:08:00Z", - "updated_at": "2024-12-17T09:13:05Z", - "body": "Related to #1151 ", + "created_at": "2024-12-18T19:04:47Z", + "updated_at": "2024-12-18T20:26:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "scripts/start.sh", - "additions": 34, - "deletions": 24 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/classes/AgentRuntime.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1165?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1159, - "title": "chore: bump version to 0.1.6-alpha.4", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:17:05Z", - "updated_at": "2024-12-17T13:17:52Z", - "body": "", - "files": [ + "path": "docs/api/classes/CacheManager.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/package.json", + "path": "docs/api/classes/DatabaseAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "client/package.json", + "path": "docs/api/classes/DbCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "docs/package.json", + "path": "docs/api/classes/FsCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "lerna.json", + "path": "docs/api/classes/MemoryCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-postgres/package.json", + "path": "docs/api/classes/MemoryManager.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqlite/package.json", + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqljs/package.json", + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-supabase/package.json", + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 33, + "deletions": 23 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 12, + "deletions": 12 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-auto/package.json", + "path": "docs/api/functions/composeContext.md", + "additions": 12, + "deletions": 6 + }, + { + "path": "docs/api/functions/configureSettings.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-direct/package.json", + "path": "docs/api/functions/createGoal.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-discord/package.json", + "path": "docs/api/functions/createRelationship.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-farcaster/package.json", + "path": "docs/api/functions/embed.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-github/package.json", + "path": "docs/api/functions/findNearestEnvFile.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-lens/package.json", + "path": "docs/api/functions/formatActionNames.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-slack/package.json", + "path": "docs/api/functions/formatActions.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-telegram/package.json", + "path": "docs/api/functions/formatActors.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-twitter/package.json", + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", "additions": 1, "deletions": 1 }, { - "path": "packages/core/package.json", + "path": "docs/api/functions/formatEvaluatorExamples.md", "additions": 1, "deletions": 1 }, { - "path": "packages/create-eliza-app/package.json", + "path": "docs/api/functions/formatEvaluatorNames.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", + "path": "docs/api/functions/formatEvaluators.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-aptos/package.json", + "path": "docs/api/functions/formatGoalsAsString.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-bootstrap/package.json", + "path": "docs/api/functions/formatMessages.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-coinbase/package.json", + "path": "docs/api/functions/formatPosts.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-conflux/package.json", + "path": "docs/api/functions/formatRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-echochambers/package.json", + "path": "docs/api/functions/formatTimestamp.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-flow/package.json", + "path": "docs/api/functions/generateMessageResponse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-icp/package.json", + "path": "docs/api/functions/generateObjectDeprecated.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-image-generation/package.json", + "path": "docs/api/functions/generateShouldRespond.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", + "path": "docs/api/functions/generateText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-multiversx/package.json", + "path": "docs/api/functions/generateTextArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-near/package.json", + "path": "docs/api/functions/generateTrueOrFalse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-nft-generation/package.json", + "path": "docs/api/functions/generateTweetActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-node/package.json", + "path": "docs/api/functions/getEmbeddingConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-solana/package.json", + "path": "docs/api/functions/getEmbeddingType.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-starknet/package.json", + "path": "docs/api/functions/getEmbeddingZeroVector.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-story/package.json", + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-sui/package.json", + "path": "docs/api/functions/getGoals.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-tee/package.json", + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-ton/package.json", + "path": "docs/api/functions/getRelationship.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-trustdb/package.json", + "path": "docs/api/functions/getRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-video-generation/package.json", + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-web-search/package.json", + "path": "docs/api/functions/loadEnvConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-whatsapp/package.json", + "path": "docs/api/functions/parseActionResponseFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-zksync-era/package.json", + "path": "docs/api/functions/parseBooleanFromText.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1159?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1158, - "title": "fix: client twitter login and auth handler", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:11:43Z", - "updated_at": "2024-12-17T07:16:49Z", - "body": "", - "files": [ + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1158?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1155, - "title": "chore: develop into main", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:44:24Z", - "updated_at": "2024-12-17T04:07:13Z", - "body": "", - "files": [ + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/src/index.ts", - "additions": 5, - "deletions": 0 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1155?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1153, - "title": "fix: fetch log level to debug", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:29:05Z", - "updated_at": "2024-12-17T03:33:33Z", - "body": "", - "files": [ + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1153?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1152, - "title": "chore: bump version to 0.1.6-alpha.3", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:10:01Z", - "updated_at": "2024-12-17T03:14:33Z", - "body": "", - "files": [ - { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 - }, - { - "path": "client/package.json", - "additions": 45, - "deletions": 45 - }, - { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 - }, - { - "path": "lerna.json", - "additions": 9, - "deletions": 3 - }, - { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 - }, - { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 - }, - { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/ActionExample.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 + "path": "docs/api/interfaces/ActionResponse.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 + "path": "docs/api/interfaces/Actor.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/interfaces/Content.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 }, { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 }, { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 + "path": "docs/api/interfaces/Goal.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/interfaces/IAgentConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 - }, + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + } + ], + "reviews": [ { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "author": "odilitime", + "state": "APPROVED", + "body": "" }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 - }, + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "state": "OPEN", + "created_at": "2024-12-18T08:59:15Z", + "updated_at": "2024-12-18T08:59:15Z", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", + "labels": [ { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, - "deletions": 18 + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1152?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tomguluson92", + "score": 17, + "summary": "tomguluson92 is primarily focused on updating the \"CN README\" documentation with more details, as indicated by the recent merged pull request. There have been no new commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1150, - "title": "feat: update packages version script", + "number": 1196, + "title": "docs: Update \"CN README\" with more details", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T03:04:12Z", - "updated_at": "2024-12-17T03:09:02Z", - "body": "", + "created_at": "2024-12-18T06:12:33Z", + "updated_at": "2024-12-18T17:29:45Z", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "scripts/update-versions.js", - "additions": 82, - "deletions": 0 + "path": "README_CN.md", + "additions": 58, + "deletions": 6 } ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1150?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1149, - "title": "chore: import fomo action", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T02:22:03Z", - "updated_at": "2024-12-17T02:26:28Z", - "body": "", - "files": [ + "reviews": [ { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], - "comments": [] - }, - { - "number": 1143, - "title": "chore: remove comment", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T00:37:44Z", - "updated_at": "2024-12-17T00:38:08Z", - "body": "", - "files": [ + "comments": [ { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } - ], - "reviews": [], - "comments": [] + ] } ] }, @@ -874,773 +618,818 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "odilitime", - "score": 84, - "summary": "odilitime is currently working on enhancing the fomo integration and fixing issues related to the direct-client ability to start agents. They have also been actively contributing to REST API improvements, updating URLs and example responses, and merging various branches to maintain code quality and consistency.", - "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "contributor": "ileana-pr", + "score": 17, + "summary": "ileana-pr is currently working on documentation by fixing the CONTRIBUTING.md file in the docs section. In the last 90 days, they have submitted 1 pull request, which has been successfully merged.", + "avatar_url": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4", "activity": { "code": { - "total_commits": 11, - "total_prs": 5, - "commits": [ - { - "sha": "79cf0dfe61675e4faa809f675fce32209d55ea6d", - "message": "fix directClient", - "created_at": "2024-12-17T03:31:01Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "6542085148e31cc4914e1e8579f3f3aa1221037a", - "message": "Merge pull request #1144 from ai16z/develop\n\nchore: Merge monday, merging develop into main", - "created_at": "2024-12-17T02:33:22Z", - "additions": 55032, - "deletions": 26261, - "changed_files": 552 - }, + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "sha": "0a1f55df11220c103815d86d4ab9c3635dc20669", - "message": "Merge branch 'develop' of https://github.com/ai16z/eliza into fix-lint", - "created_at": "2024-12-17T02:17:43Z", - "additions": 0, - "deletions": 0, - "changed_files": 0 - }, - { - "sha": "8a8b69f0e11e8cc2fc76768438ad917710e2de3b", - "message": "update URLs and example response", - "created_at": "2024-12-17T02:08:49Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b6af59eb544c5bee24a09ab029e60b1ac94778dc", - "message": "include fomo", - "created_at": "2024-12-17T02:08:26Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "dac55c5e4a59d6129fc7aa094f7e7555f8036df2", - "message": "improve on fomo plugin and distingush it from pump.fun's plugin", - "created_at": "2024-12-17T01:54:21Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "2e9bcbef2c1b0dbd7890c3cdcc9972cedbe06c82", - "message": "update lockfile for PR1135", - "created_at": "2024-12-17T00:35:29Z", - "additions": 22686, - "deletions": 17677, - "changed_files": 1 - }, - { - "sha": "c4d4a0a9f2185ce690cb8e306ca660a23b927d3d", - "message": "Merge pull request #1135 from fomoTon/fomo-token-plugin\n\nfeat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana", - "created_at": "2024-12-17T00:28:50Z", - "additions": 632, - "deletions": 0, - "changed_files": 3 - }, - { - "sha": "ca5edca37f7ea3f500ca2910eccd1354d92ad730", - "message": "Merge pull request #965 from FWangZil/fix/plugin-evm\n\nfix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash", - "created_at": "2024-12-16T23:59:26Z", - "additions": 45, - "deletions": 20, - "changed_files": 2 - }, - { - "sha": "2263d767721d463b2575892fb6c2ec879c800a39", - "message": "fix merge: remove double improve, adjust params to various calls, use initWalletProvider", - "created_at": "2024-12-16T23:55:57Z", - "additions": 10, - "deletions": 13, - "changed_files": 1 - }, - { - "sha": "d2c1d93321f9d172b5e50b6c854dca8362d76983", - "message": "Merge branch 'develop' into fix/plugin-evm", - "created_at": "2024-12-16T22:54:27Z", - "additions": 77035, - "deletions": 48588, - "changed_files": 658 - } - ], - "pull_requests": [ - { - "number": 1187, - "title": "feat: REST POST /agents/:agentId/memory/add", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T19:21:40Z", - "updated_at": "2024-12-17T19:30:11Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- Adds a new route to add new memories to a running agent\r\n- improved speed of loading knowledge from a character file (though now risks using too much resources, batching version to come later)\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nopens integration possibilities, path for command line utility to dump files into memory\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes require a change to the project documentation.", - "files": [ - { - "path": "packages/client-direct/src/api.ts", - "additions": 27, - "deletions": 2 - }, - { - "path": "packages/core/src/memory.ts", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/core/src/runtime.ts", - "additions": 51, - "deletions": 8 - } - ], - "reviews": [], - "comments": [] - }, - { - "number": 1154, - "title": "fix: fix direct-client ability to start agents", + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T03:32:14Z", - "updated_at": "2024-12-17T03:41:50Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFixes direct-client behavior\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nTo restore previous behavior\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.", + "created_at": "2024-12-18T00:10:51Z", + "updated_at": "2024-12-18T02:00:30Z", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "agent/src/index.ts", + "path": "docs/docs/contributing.md", "additions": 5, - "deletions": 0 + "deletions": 5 } ], "reviews": [ { "author": "monilpat", "state": "APPROVED", - "body": "LGTM!" + "body": "LGTM - thanks :) " } ], "comments": [ { "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1154?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1154/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] - }, + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ai16z-demirix", + "score": 17, + "summary": "ai16z-demirix is currently working on adding tests for runtime.ts and updating the README to reflect the switch to vitest in the packages code area. They have made 1 merged pull request in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1148, - "title": "chore: fix PR #1147", + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T02:10:35Z", - "updated_at": "2024-12-17T02:26:39Z", - "body": "ShakkerNerd said to directly commit", + "created_at": "2024-12-17T22:45:37Z", + "updated_at": "2024-12-18T02:07:57Z", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 2, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/index.ts", + "path": "packages/core/README-TESTS.md", "additions": 1, "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 } ], "reviews": [ { "author": "monilpat", "state": "APPROVED", - "body": "LGTM!" + "body": "LGTM thanks for doing this :) " } ], "comments": [ { - "author": "monilpat", - "body": "Looks like the smoke test failed " + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" } ] - }, + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "marcNY", + "score": 15, + "summary": "marcNY is currently updating the README.md file in the project's documentation. This is the only recent activity, with one pull request successfully merged. There have been no new commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1147, - "title": "fix: improve fomo integration", + "number": 1209, + "title": "docs: Update README.md", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T01:56:31Z", - "updated_at": "2024-12-17T02:04:33Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nenables fomo action\r\n\r\n## What kind of change is this?\r\n\r\nUpdates (new versions of included code)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nimprove code quality instead of removing fomo\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n", + "created_at": "2024-12-18T16:46:43Z", + "updated_at": "2024-12-18T17:21:57Z", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\t\u2022\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\t\u2022\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 4, - "deletions": 7 - }, - { - "path": "packages/plugin-solana/src/actions/pumpfun.ts", - "additions": 2, + "path": "README.md", + "additions": 1, "deletions": 2 - }, + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "v1xingyue", + "score": 14, + "summary": "v1xingyue is currently focused on fixing a Gitpod CI/CD bug, with one pull request successfully merged in the last 90 days. There have been no new commits or code changes during this period.", + "avatar_url": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1207, + "title": "fix: gitpod cicd bug", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T15:06:25Z", + "updated_at": "2024-12-18T19:43:00Z", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", + "files": [ { - "path": "packages/plugin-solana/src/index.ts", + "path": ".gitpod.yml", "additions": 1, "deletions": 0 } ], "reviews": [ { - "author": "shakkernerd", + "author": "odilitime", "state": "APPROVED", "body": "" } ], - "comments": [] - }, + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "9547", + "score": 14, + "summary": "9547 is currently working on adding documentation for Python 3.7 in Chinese. This is the only recent activity, with one pull request successfully merged. No other commits or code changes have been made in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1144, - "title": "chore: Merge monday, merging develop into main", + "number": 1201, + "title": "docs(cn): add python 3.7", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T00:46:47Z", - "updated_at": "2024-12-17T02:34:41Z", - "body": "Bring tested develop into main\r\n\r\nIncludes the following PR merges:\r\n\r\n- #1148\r\n- #1147\r\n- #1143 \r\n- #1135\r\n- #965\r\n- #1140\r\n- #1141\r\n- #1125\r\n- #796\r\n- #1136\r\n- #1131\r\n- #1133\r\n- #1124\r\n- #1120\r\n- #1032\r\n- #1033\r\n- #957\r\n- #853\r\n- #814\r\n- #837\r\n- #1009\r\n- #1095\r\n- #1115\r\n- #1114\r\n- #1112\r\n- #1111\r\n- #852\r\n- #1030\r\n- #934\r\n- #1107\r\n- #1011\r\n- #1098\r\n- #897\r\n- #1091\r\n- #1104\r\n- #1070\r\n- #1103\r\n- #1102\r\n- #1036\r\n- #1101\r\n- #998\r\n- #1097\r\n- #1094\r\n- #1093\r\n- #1092\r\n- #1088\r\n- #1086\r\n- #1085\r\n- #1084\r\n- #1083\r\n- #1082\r\n- #1081\r\n- #1080\r\n- #1079\r\n- #906\r\n- #1078\r\n- #859\r\n- #1077\r\n- #1076\r\n- #1056\r\n- #1031\r\n- #1075\r\n- #1039\r\n- #1074\r\n- #1073\r\n- #847\r\n- #860\r\n- #1034\r\n- #1053\r\n- #856\r\n- #1057\r\n- #1040\r\n- #1054\r\n- #1055\r\n- #1052\r\n- #913\r\n- #889\r\n- #1046\r\n- #1050\r\n", + "created_at": "2024-12-18T09:00:53Z", + "updated_at": "2024-12-18T17:39:58Z", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", "files": [ { - "path": ".env.example", - "additions": 160, - "deletions": 109 - }, + "path": "README_CN.md", + "additions": 2, + "deletions": 3 + } + ], + "reviews": [ { - "path": ".github/workflows/ci.yaml", - "additions": 1, - "deletions": 1 - }, + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ { - "path": ".gitignore", - "additions": 4, - "deletions": 1 - }, + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "monilpat", + "score": 10, + "summary": "monilpat is currently working on enhancing logging in the /packages/plugin-coinbase/src/plugins directory using elizaLogger. They have also been focusing on integrating contextualized actions and addressing bug fixes in their recent pull request.", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T05:26:54Z", + "updated_at": "2024-12-18T05:27:15Z", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", + "files": [ { - "path": ".gitpod.yml", - "additions": 1, - "deletions": 2 + "path": ".env.example", + "additions": 2, + "deletions": 7 }, { - "path": ".npmrc", - "additions": 1, + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, "deletions": 0 }, { - "path": ".vscode/settings.json", - "additions": 1, + "path": ".gitignore", + "additions": 5, "deletions": 1 }, { - "path": "CHANGELOG.md", - "additions": 1, + "path": "agent/package.json", + "additions": 3, "deletions": 1 }, { - "path": "CONTRIBUTING.md", - "additions": 1, - "deletions": 1 + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 }, { - "path": "README.md", - "additions": 1, - "deletions": 1 + "path": "characters/chronis.character.json", + "additions": 321, + "deletions": 0 }, { - "path": "README_HE.md", - "additions": 189, + "path": "characters/logging-addict.character.json", + "additions": 262, "deletions": 0 }, { - "path": "README_VI.md", - "additions": 129, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 10, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 105, - "deletions": 91 - }, - { - "path": "characters/c3po.character.json", - "additions": 98, - "deletions": 0 - }, - { - "path": "characters/dobby.character.json", - "additions": 98, - "deletions": 0 - }, - { - "path": "docker-compose.yaml", - "additions": 0, - "deletions": 1 - }, - { - "path": "docs/README.md", - "additions": 4, - "deletions": 0 - }, - { - "path": "docs/README_TH.md", - "additions": 178, - "deletions": 0 - }, - { - "path": "docs/api/classes/AgentRuntime.md", - "additions": 81, - "deletions": 52 + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 }, { "path": "docs/api/classes/CacheManager.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/classes/DatabaseAdapter.md", - "additions": 42, - "deletions": 42 + "additions": 41, + "deletions": 41 }, { "path": "docs/api/classes/DbCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/classes/FsCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/classes/MemoryCacheAdapter.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/classes/MemoryManager.md", - "additions": 14, - "deletions": 14 + "additions": 13, + "deletions": 13 }, { "path": "docs/api/classes/Service.md", - "additions": 7, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/enumerations/Clients.md", - "additions": 45, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/enumerations/GoalStatus.md", - "additions": 4, - "deletions": 4 + "additions": 3, + "deletions": 3 }, { "path": "docs/api/enumerations/LoggingLevel.md", - "additions": 4, - "deletions": 4 + "additions": 3, + "deletions": 3 }, { "path": "docs/api/enumerations/ModelClass.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/enumerations/ModelProviderName.md", - "additions": 64, - "deletions": 44 + "additions": 76, + "deletions": 0 }, { "path": "docs/api/enumerations/ServiceType.md", - "additions": 39, - "deletions": 9 + "additions": 8, + "deletions": 8 }, { "path": "docs/api/functions/addHeader.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/composeActionExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/composeContext.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/configureSettings.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/embed.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/findNearestEnvFile.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActionNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActors.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluators.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatGoalsAsString.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatMessages.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatPosts.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatTimestamp.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateCaption.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateImage.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateMessageResponse.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObject.md", - "additions": 13, - "deletions": 9 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObjectArray.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/generateObjectDeprecated.md", - "additions": 23, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObjectV2.md", - "additions": 0, - "deletions": 27 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateShouldRespond.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTextArray.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTrueOrFalse.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/generateTweetActions.md", - "additions": 23, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateWebSearch.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getActorDetails.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingConfig.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingType.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingZeroVector.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEndpoint.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getGoals.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getModel.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getProviders.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/handleProvider.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/hasEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/loadEnvConfig.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/parseActionResponseFromText.md", - "additions": 21, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseBooleanFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJSONObjectFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJsonArrayFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseShouldRespondFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/splitChunks.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/stringToUuid.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/trimTokens.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/updateGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ActionExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/functions/validateEnv.md", + "path": "docs/api/interfaces/Actor.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/index.md", - "additions": 10, + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/Account.md", + "path": "docs/api/interfaces/Evaluator.md", "additions": 7, "deletions": 7 }, { - "path": "docs/api/interfaces/Action.md", - "additions": 7, - "deletions": 7 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 }, { - "path": "docs/api/interfaces/ActionExample.md", + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/ActionResponse.md", - "additions": 43, - "deletions": 0 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/interfaces/Actor.md", - "additions": 5, - "deletions": 5 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 }, { - "path": "docs/api/interfaces/Content.md", - "additions": 7, - "deletions": 7 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/interfaces/ConversationExample.md", + "path": "docs/api/interfaces/IImageDescriptionService.md", "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/EvaluationExample.md", + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/interfaces/IPdfService.md", "additions": 4, "deletions": 4 }, { - "path": "docs/api/interfaces/Evaluator.md", - "additions": 8, - "deletions": 8 - } - ], - "reviews": [ + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 + }, { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1144?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 17 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1144/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 } - ] + ], + "reviews": [], + "comments": [] } ] }, "issues": { - "total_opened": 1, + "total_opened": 2, "opened": [ { - "number": 1186, - "title": "request: databaseAdapter.getMemoryByIds", + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", "state": "OPEN", - "created_at": "2024-12-17T19:13:16Z", - "updated_at": "2024-12-17T19:13:16Z", - "body": "Need databaseAdapter.getMemoryByIds for all current database adapters", + "created_at": "2024-12-18T04:16:18Z", + "updated_at": "2024-12-18T08:38:48Z", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", "labels": [ { "name": "enhancement", @@ -1651,6 +1440,32 @@ "name": "good first issue", "color": "7057ff", "description": "Good for newcomers" + }, + { + "name": "logging", + "color": "ededed", + "description": null + } + ], + "comments": [ + { + "author": "9547", + "body": "@monilpat may I take this one?" + } + ] + }, + { + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", + "state": "CLOSED", + "created_at": "2024-12-18T01:45:28Z", + "updated_at": "2024-12-18T01:46:15Z", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], "comments": [] @@ -1658,423 +1473,414 @@ ] }, "engagement": { - "total_comments": 0, - "total_reviews": 4, + "total_comments": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "YoungPhlo", - "score": 31, - "summary": "YoungPhlo is currently updating the spaces notes in the \"What Did You Get Done This Week? 5\" documentation. This is the only recent activity, with 1 pull request merged in the docs code area.", - "avatar_url": "https://avatars.githubusercontent.com/u/90307961?u=2e7b36c41a4576a4720529da97a57280df102b28&v=4", + "contributor": "Longame208", + "score": 10, + "summary": "Longame208 is currently working on addressing an issue related to being unable to chat in the terminal. The issue falls under the bug category, with no code changes or commits made in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/79878000?v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 1, + "total_prs": 0, "commits": [], - "pull_requests": [ + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ { - "number": 1174, - "title": "docs: Update \"What Did You Get Done This Week? 5\" spaces notes", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T11:09:55Z", - "updated_at": "2024-12-17T16:36:48Z", - "body": "# Relates to:\r\nDocumentation updates for \"What Did You Get Done This Week? 5\" community stream\r\n\r\n# Risks\r\nLow - This is a documentation update that adds structure and improves readability of an existing community stream summary.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n- Converts raw notes into structured documentation with proper markdown formatting\r\n- Adds sidebar positioning and metadata\r\n- Adds timestamps with direct links\r\n- Organizes content into clear sections (Timestamps, Summary, Hot Takes)\r\n- Improves readability with proper headers and formatting\r\n- Adds description and title metadata\r\n\r\n## What kind of change is this?\r\nImprovements (restructuring and enhancing existing documentation)\r\n\r\n# Documentation changes needed?\r\nMy changes are documentation changes themselves, and are complete.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Check the formatted timestamps section to ensure all links are valid\r\n2. Verify the summary section accurately reflects the stream content\r\n3. Review the \"Hot Takes\" section for accuracy of quotes and timestamps\r\n\r\n## Detailed testing steps\r\n- Verify all timestamp links are functional\r\n- Ensure markdown formatting renders correctly\r\n- Check that sidebar position (5) is correct in the sequence\r\n- Validate that all speaker names and timestamps match the original content\r\n\r\n\r\n\r\n", - "files": [ + "number": 1204, + "title": "unable to chat in terminal", + "state": "OPEN", + "created_at": "2024-12-18T11:19:12Z", + "updated_at": "2024-12-18T12:41:24Z", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "labels": [ { - "path": "docs/community/Streams/12-2024/2024-12-13.md", - "additions": 130, - "deletions": 161 + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], - "reviews": [ + "comments": [ { - "author": "odilitime", - "state": "CHANGES_REQUESTED", - "body": "" + "author": "jaycoolh", + "body": "Same error here" }, { - "author": "YoungPhlo", - "state": "COMMENTED", - "body": "" + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" + "author": "jaycoolh", + "body": "[\"\u25ce Visit the following URL to chat with your agents:\"]\r\n\r\n [\"\u25ce http://localhost:5173\"]\r\n\r\n [\"\u2713 REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" }, { - "author": "odilitime", - "state": "COMMENTED", - "body": "" + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" } - ], - "comments": [] + ] } ] }, - "issues": { - "total_opened": 0, - "opened": [] - }, "engagement": { - "total_comments": 0, - "total_reviews": 4, + "total_comments": 4, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "yang-han", - "score": 28, - "summary": "yang-han is currently working on updating the commands to start the client and removing unused flags in the agent, client, scripts, and docs sections of the project. They have submitted 3 pull requests related to this task, with 1 already merged.", - "avatar_url": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4", + "contributor": "tekspirit", + "score": 8, + "summary": "tekspirit is currently working on addressing a bug related to double backslashes when posting to X. This is the only issue they have been actively involved in over the last 90 days, with no code changes or commits recorded during this period.", + "avatar_url": "https://avatars.githubusercontent.com/u/1505004?u=59283365bced9a568f4a3ea86310ee38f4b5003c&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 3, + "total_prs": 0, "commits": [], - "pull_requests": [ + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ { - "number": 1163, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T08:23:52Z", - "updated_at": "2024-12-17T08:35:18Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 - } - ], - "reviews": [ + "number": 1206, + "title": "double backslash when posting to X", + "state": "OPEN", + "created_at": "2024-12-18T14:02:01Z", + "updated_at": "2024-12-18T18:29:36Z", + "body": "**Describe the bug**\r\nEliza is posting an '\\\\n\\\\n' to X instead of two carriage returns. This is using CLAUDE_VERTEX.\r\n\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", + "labels": [ { - "author": "monilpat", - "state": "APPROVED", - "body": "This has been there from the beginning thanks for doing this :) " + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], - "comments": [] - }, - { - "number": 1162, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T08:17:55Z", - "updated_at": "2024-12-17T08:18:12Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "CHANGELOG.md", - "additions": 186, - "deletions": 3 - }, + "comments": [ { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" }, { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 - }, - { - "path": "agent/src/index.ts", - "additions": 8, - "deletions": 7 - }, + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." + } + ] + } + ] + }, + "engagement": { + "total_comments": 2, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "odilitime", + "score": 7, + "summary": "odilitime is currently working on implementing client secrets validation and loading characters from a database at both load time and runtime in the agent, scripts, and packages code areas. These changes are reflected in two pull requests, with conflicts resolved for the character loading feature.", + "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 2, + "commits": [], + "pull_requests": [ + { + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T18:10:29Z", + "updated_at": "2024-12-18T18:25:06Z", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ { - "path": "client/package.json", - "additions": 45, - "deletions": 45 + "path": ".env.example", + "additions": 7, + "deletions": 0 }, { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 }, { - "path": "lerna.json", + "path": "packages/adapter-postgres/schema.sql", "additions": 9, - "deletions": 3 + "deletions": 0 }, { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, + "deletions": 1 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 }, { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/adapter-sqlite/src/sqliteTables.ts", + "additions": 10, + "deletions": 0 }, { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 }, { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 }, { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/core/src/index.ts", + "additions": 1, + "deletions": 0 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "packages/core/src/types.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 }, { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 }, { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 }, { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 }, { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 - }, + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "number": 1198, + "title": "feat: Client secrets validation", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T07:17:10Z", + "updated_at": "2024-12-18T22:33:35Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "files": [ { - "path": "packages/client-twitter/package.json", + "path": "agent/src/index.ts", "additions": 22, - "deletions": 22 - }, - { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - }, - { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 - }, - { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 - }, - { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 + "deletions": 9 }, { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 }, { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/client-telegram/package.json", + "additions": 1, + "deletions": 0 }, { - "path": "packages/plugin-coinbase/package.json", + "path": "packages/client-telegram/src/index.ts", "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 + "deletions": 0 }, { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 + "path": "packages/client-twitter/src/base.ts", + "additions": 14, + "deletions": 7 }, { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "path": "packages/client-twitter/src/index.ts", + "additions": 17, + "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 - }, + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + } + ], + "reviews": [ { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 - }, + "author": "cygaar", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AbdelStark", + "score": 6, + "summary": "AbdelStark is currently working on implementing the Nostr client, with a focus on the agent and packages code areas. This contribution includes a single pull request that has not been merged yet, with no additional commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1203, + "title": "feat: Implement Nostr client", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:55:14Z", + "updated_at": "2024-12-18T20:52:26Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "files": [ { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": ".env.example", + "additions": 14, + "deletions": 0 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "agent/package.json", + "additions": 60, + "deletions": 59 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "agent/src/index.ts", + "additions": 18, + "deletions": 8 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, "deletions": 18 }, { "path": "pnpm-lock.yaml", - "additions": 17935, - "deletions": 22902 - }, - { - "path": "scripts/update-versions.js", - "additions": 82, + "additions": 146, "deletions": 0 } ], - "reviews": [], - "comments": [] - }, - { - "number": 1160, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T07:22:21Z", - "updated_at": "2024-12-17T08:24:38Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, + "reviews": [ { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "author": "odilitime", + "state": "COMMENTED", + "body": "" } ], - "reviews": [], "comments": [ { - "author": "HashWarlock", - "body": "LGTM, but @yang-han you need to target the `develop` branch instead of main" - }, - { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nok, will do" + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" }, { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nin #1163 " + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." } ] } @@ -2093,10 +1899,10 @@ } }, { - "contributor": "tcm390", - "score": 23, - "summary": "tcm390 is currently addressing issues related to media parameter errors and long tweets in the main branch of the project. Additionally, they have contributed a pull request enabling multiple bots to join Discord voice channels in the packages code area.", - "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4", + "contributor": "chefron", + "score": 5, + "summary": "chefron is currently working on modifying Twitter interaction rules and creating a SoundCloud plugin. The main focus of their recent activity is in the documentation code areas.", + "avatar_url": "https://avatars.githubusercontent.com/u/98501301?v=4", "activity": { "code": { "total_commits": 0, @@ -2104,1145 +1910,517 @@ "commits": [], "pull_requests": [ { - "number": 1156, - "title": "fix: Enable multiple bots to join Discord voice channels", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T04:17:21Z", - "updated_at": "2024-12-17T07:56:09Z", - "body": "related: https://github.com/ai16z/eliza/issues/1145\r\n\r\nreference: \r\nhttps://github.com/discordjs/voice/issues/206#issuecomment-924551194\r\nhttps://stackoverflow.com/questions/71446777/how-do-i-manage-voice-connections-from-multiple-bots-in-one-code", + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T22:13:34Z", + "updated_at": "2024-12-18T22:14:37Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 - } - ], - "reviews": [ + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 + }, { - "author": "shakkernerd", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1156?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1156/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1183, - "title": "media parameter is missing Error on Main Branch", - "state": "OPEN", - "created_at": "2024-12-17T17:56:49Z", - "updated_at": "2024-12-17T20:15:37Z", - "body": "Description\r\nWhen attempting to call the image-generation on Twitter, the following error occurs on the main branch:\r\n\r\n```\r\nError: {\"errors\":[{\"code\":38,\"message\":\"media parameter is missing.\"}]}\r\n at uploadMedia (node_modules/agent-twitter-client/dist/node/esm/index.mjs:2211:13)\r\n at async createCreateTweetRequest (node_modules/agent-twitter-client/dist/node/esm/index.mjs:1954:22)\r\n```\r\n\r\nHowever, it works as expected on the `tcm-twitter-image` branch.", - "labels": [ + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1178, - "title": "Long tweets fail with error Tweet needs to be a bit shorter (Code 186)", - "state": "OPEN", - "created_at": "2024-12-17T13:20:41Z", - "updated_at": "2024-12-17T15:18:46Z", - "body": "When attempting to send tweets longer than 280 characters using the Eliza Twitter client, the API responds with an error:\n\n```\nError sending tweet; Bad response: {\n errors: [\n {\n message: 'Authorization: Tweet needs to be a bit shorter. (186)',\n locations: [Array],\n path: [Array],\n extensions: [Object],\n code: 186,\n kind: 'Permissions',\n name: 'AuthorizationError',\n source: 'Client',\n tracing: [Object]\n }\n ],\n data: {}\n} \n```\n\nhttps://discord.com/channels/1253563208833433701/1300025221834739744/1318559898312904745\n\n\"Screenshot\n", - "labels": [ + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 }, { - "name": "src: Discord", - "color": "C5DEF5", - "description": "" - } - ], - "comments": [ + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 + }, { - "author": "shakkernerd", - "body": "Hi @tcm390 could you add a direct link to the message for all issues gotten from discord. \r\nThis is to help with investigation since there might have been some conversation around it." + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "author": "tcm390", - "body": "> Hi [@tcm390](https://github.com/tcm390) could you add a direct link to the message for all issues gotten from discord. This is to help with investigation since there might have been some conversation around it.\n\nyes, updated." - } - ] - } - ] - }, - "engagement": { - "total_comments": 2, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "BalanaguYashwanth", - "score": 18, - "summary": "BalanaguYashwanth is currently working on creating an account for Farcaster to launch an agent and developing a plugin create command. Their recent activity has focused on enhancing these specific features within the project.", - "avatar_url": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1166, - "title": "Plugin Create Command", - "state": "OPEN", - "created_at": "2024-12-17T09:13:33Z", - "updated_at": "2024-12-17T10:08:10Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nUsing with single command to create plugin using plugin example or template under packages\r\n\r\n", - "labels": [ + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [ + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 + }, { - "author": "BalanaguYashwanth", - "body": "@odilitime Let me know, Is this command already exists in the repo ?\r\n\r\nCC: @shakkernerd " + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 }, { - "author": "shakkernerd", - "body": "Hi @BalanaguYashwanth No, we current do not have a \"create plugin\" command." + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 }, { - "author": "BalanaguYashwanth", - "body": "So it is useful feature to work on ?" + "path": "docs/api/enumerations/ModelClass.md", + "additions": 6, + "deletions": 6 }, { - "author": "shakkernerd", - "body": "It is not a priority at the moment but if you want to take a crack at it, feel free." + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 }, { - "author": "BalanaguYashwanth", - "body": "ok" - } - ] - }, - { - "number": 1164, - "title": "Farcaster Account Creation to launch agent", - "state": "OPEN", - "created_at": "2024-12-17T08:52:22Z", - "updated_at": "2024-12-17T09:07:49Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThis feature will allow, \r\n\r\n- Launching an agent in farcaster by creating the dedicated farcaster account\r\n\r\nExisting repo, won't support to launch agent in farcaster by creating farcaster account.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nWe can achieve creating account in multiple ways,\r\n\r\n- Interactive CLI\r\n- API\r\n\r\nWhen launching each agent, It will create dedicated farcaster account and store those farcaster details into DB and perform activites like\r\n\r\n- Post casts\r\n- ReCasts\r\n- etc\r\n\r\n**Describe alternatives you've considered**\r\n\r\nWe need to run seperate server and create the farcaster account and those details we need to pass for agents to run on warpcast (farcaster).\r\n\r\n\r\n", - "labels": [ + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [ + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, { - "author": "BalanaguYashwanth", - "body": "Let me know, Is it good feature to addon eliza ?\r\n\r\nCC: @odilitime @tcm390 " - } - ] - } - ] - }, - "engagement": { - "total_comments": 6, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "thomasWos", - "score": 14, - "summary": "thomasWos is currently working on fixing a typo in the multiversx plugin prompt for creating a token in the 'packages' code area. This work resulted in one pull request being merged in the last 45 days, with no new commits or issues opened.", - "avatar_url": "https://avatars.githubusercontent.com/u/785740?u=58240e787ae69665ebb4813bd3472e528fc6a00b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1170, - "title": "fix: Fix typo in multiversx plugin prompt for creating token", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T10:28:15Z", - "updated_at": "2024-12-17T16:10:49Z", - "body": "Fix tiny typo", - "files": [ + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/plugin-multiversx/src/actions/createToken.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "monilpat", - "score": 12, - "summary": "monilpat is currently working on resolving code linting issues and fixing Docker-related problems. They are also focusing on enhancing logging in the plugin-coinbase package and integrating a feature called o1.", - "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", - "activity": { - "code": { - "total_commits": 3, - "total_prs": 1, - "commits": [ - { - "sha": "94d374afa3b3b011b7b2030419315b120c7253f6", - "message": "Merge pull request #1154 from odilitime/fix-lint\n\nfix: fix direct-client ability to start agents", - "created_at": "2024-12-17T03:41:50Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "284f38a09123d20a8a24d9374eff6991a28a4c25", - "message": "Merge pull request #1139 from rarepepi/docker-fixes\n\nfix: remove docker compose command since Docker file already runs", - "created_at": "2024-12-17T01:49:33Z", - "additions": 0, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "7d6d121ec9d07be91c5afd2e54d0c4626abd9873", - "message": "Merge pull request #1140 from azep-ninja/fix/duplicate-tg-funtions\n\nfix: telegram client duplicate function removal", - "created_at": "2024-12-16T22:58:02Z", - "additions": 5, - "deletions": 18, - "changed_files": 1 - } - ], - "pull_requests": [ - { - "number": 1184, - "title": "feat: integrate o1", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T18:58:13Z", - "updated_at": "2024-12-17T19:20:57Z", - "body": "Relates to: o1: https://github.com/ai16z/eliza/issues/1185\r\n\r\nRisks: Low - Integrating o1 is a minimal, low-impact change. The primary risk is minor code confusion if not documented clearly.\r\n\r\nBackground\r\n\r\nWhat does this PR do? This PR integrates o1 functionality into the existing codebase. It ensures that o1 is properly linked, documented, and accessible for future reference.\r\n\r\nWhat kind of change is this? Improvements (misc. changes to existing features)\r\n\r\nDocumentation changes needed? My changes require a change to the project documentation. I have updated the documentation accordingly.\r\n\r\nTesting\r\n\r\nWhere should a reviewer start? Begin by reviewing the integration points in code where o1 references have been added. Check the documentation updates to confirm consistent explanations.\r\n\r\nDetailed testing steps:\r\n\r\nReview the codebase changes where o1 is introduced.\r\nConfirm that references to o1 are correct, properly linked, and that no compilation or runtime errors occur.\r\nReview the updated documentation to ensure it reflects the new o1 integration context and instructions for usage.", - "files": [ + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/core/src/generation.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/models.ts", - "additions": 3, - "deletions": 3 + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/tests/models.test.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 }, { - "path": "pnpm-lock.yaml", - "additions": 21929, - "deletions": 16979 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 + }, { - "author": "monilpat", - "body": "Waiting on tiktoken model to update to include o1 :)" - } - ] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1189, - "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", - "state": "CLOSED", - "created_at": "2024-12-17T21:19:29Z", - "updated_at": "2024-12-17T21:24:30Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nThe current logging mechanism in the /packages/plugin-coinbase/src/plugins is not providing sufficient detail for debugging and monitoring purposes.\r\n\r\n**Describe the solution you'd like**\r\n\r\nEnhance the logging framework to include more comprehensive log messages, including error details, transaction states, and API request/response data.\r\n\r\n**Describe alternatives you've considered**\r\n\r\nConsidered using third-party logging libraries that can be integrated into the existing setup for better log management and analysis.\r\n\r\n**Additional context**\r\n\r\nImproved logging can help in quicker issue resolution and provide better insights into the plugin's performance and behavior during both development and production stages.", - "labels": [ + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - }, - { - "number": 1185, - "title": "integrate o1", - "state": "OPEN", - "created_at": "2024-12-17T19:00:42Z", - "updated_at": "2024-12-17T19:00:42Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nIntegrate o1 https://openai.com/index/o1-and-new-tools-for-developers/\r\n", - "labels": [ + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "santekotturi", - "score": 10, - "summary": "santekotturi is currently addressing a bug related to pnpm installation failures on M1 Macs, which has been resolved by reinstalling xcode-select. Their recent activity has primarily focused on troubleshooting and fixing this issue within the project.", - "avatar_url": "https://avatars.githubusercontent.com/u/4960284?u=bd2843c83a0f02a40a1375b264e6609a5444c08a&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1146, - "title": "pnpm install fails on m1 mac [Fixed with xcode-select reinstall]", - "state": "CLOSED", - "created_at": "2024-12-17T01:28:52Z", - "updated_at": "2024-12-17T05:43:56Z", - "body": "I've spent the last 6 hours trying to get around this\r\n\r\nsame error with both: \r\n`pnpm install` and `pnpm install -w --include=optional sharp`\r\n\r\n```\r\n\u2502 LIBTOOL-STATIC Release/opus.a\r\n\u2502 CXX(target) Release/obj.target/opus/src/node-opus.o\r\n\u2502 In file included from :495:\r\n\u2502 :19:14: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]\r\n\u2502 19 | #define POSIX,__STDC_FORMAT_MACROS 1\r\n\u2502 | ^\r\n\u2502 In file included from ../src/node-opus.cc:1:\r\n\u2502 /Users/santekotturi/Developer/forecast/eliza/node_modules/node-addon-api/napi.h:14:10: fatal error: 'functional' \u2026\r\n\u2502 14 | #include \r\n\u2502 | ^~~~~~~~~~~~\r\n\u2502 1 warning and 1 error generated.\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/santekotturi/.local/share/pnpm/global/5/.pnpm/pnpm@9.9.0/node_\u2026\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/.local/share/pnpm\u2026\r\n\u2502 gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v23.4.0\r\n\u2502 gyp ERR! node-gyp -v v10.1.0\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node /Users/\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/santekotturi/Developer/forecast/eliza/node_module\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/Develope\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v23.4.0\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\nalways using `rm -rf node_modules & rm pnpm-lock.yaml` between each try.\r\n\r\nnode v23.4.0\r\ntried downgrading to v20.x \r\npnpm v9.9.0\r\n\r\nalso tried `brew install opus`\r\nmacOS 15.1 \r\nXCode 16.2\r\n\r\non:\r\n`% git status >> HEAD detached at v0.1.6-alpha.1`\r\n\r\nPotentially related to:\r\nhttps://github.com/ai16z/eliza/issues/1041\r\nhttps://github.com/ai16z/eliza/issues/215\r\n", - "labels": [ + "path": "docs/api/functions/formatActors.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 + }, { - "author": "oxSaturn", - "body": "Have you tried `xcode-select --install` to have C++ compiler installed? I'm on m2, thought I ran into a similar issue (don't remember the exact issue) when I was trying eliza first time, and running `xcode-select --install` got it fixed for me as far as I can remember." + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "Yea, I ran that, I've got a macos 15.2 update waiting for me, maybe that plays better with Xcode 16.2... will report back \r\n" + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "macos 15.2 updated, all xcode tool updates made. still same error. \r\n\r\nThis discordjs/opus connects having homebrew python3.12 in your path (which I do) https://github.com/discordjs/opus/issues/145#issuecomment-2250719870\r\n\r\nCurious what anyone else has for \r\n\r\n```\r\npython3 --version\r\nwhich python3\r\n```\r\n" + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "Had to uninstall xcode-select and reinstall \u00af\\_(\u30c4)_/\u00af \r\n```\r\nsudo rm -rf /Library/Developer/CommandLineTools\r\nxcode-select --install\r\n```\r\n\r\nthat gets us: `node_modules/@discordjs/opus: Running install script, done in 30.1s`" - } - ] - } - ] - }, - "engagement": { - "total_comments": 4, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "qizhou", - "score": 9, - "summary": "qizhou is currently addressing an issue related to the inability to run `pnpm install --no-frozen-lockfile` on version 0.1.6-alpha.4. The issue falls under the bug category, with no associated pull requests, commits, or code changes in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/2541286?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1167, - "title": "Unable to run `pnpm install --no-frozen-lockfile` on v0.1.6-alpha.4", - "state": "OPEN", - "created_at": "2024-12-17T09:30:31Z", - "updated_at": "2024-12-17T21:04:37Z", - "body": "**Describe the bug**\r\n\r\nI found the following error on a fresh checkout:\r\n\r\n```\r\n# set variable identifying the chroot you work in (used in the prompt below)\r\n# set a fancy prompt (non-color, unless we know we \"want\" color)\r\n\u2502 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n\u2502 node-pre-gyp info check checked for \"/root/github/eliza/node_modules/@discordjs/opus/prebuild/node-v131-napi-v3-linux-x64-glibc-2.39/opus.node\" (not found)\r\n\u2502 node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp ERR! install response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp WARN Pre-built binaries not installable for @discordjs/opus@0.9.0 and node@23.4.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp)\r\n\u2502 node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 gyp info it worked if it ends with ok\r\n\u2502 gyp info using node-gyp@10.3.1\r\n\u2502 gyp info using node@23.4.0 | linux | x64\r\n\u2502 gyp info ok\r\n```\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 + }, { - "author": "ateett12ue", - "body": "I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me." + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 }, { - "author": "nhtera", - "body": "> I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me.\r\n\r\nWhat pnpm version you are using?" + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 }, { - "author": "ateett12ue", - "body": "v9.15.0\r\n" - } - ] - } - ] - }, - "engagement": { - "total_comments": 3, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tcotten-scrypted", - "score": 9, - "summary": "tcotten-scrypted is currently addressing a bug related to the issue \"REQUIRED_NODE_VERSION: No such file\" on GitHub. This individual has not made any pull requests or commits in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/113052533?u=23e62842485a8c6647acdecb62cb97b898299ad3&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1151, - "title": "REQUIRED_NODE_VERSION: No such file", - "state": "CLOSED", - "created_at": "2024-12-17T03:04:39Z", - "updated_at": "2024-12-17T13:24:57Z", - "body": "**Describe the bug**\r\n\r\nFollowing directions in README.md with `sh scripts/start.sh` on Ubuntu causes an error:\r\n\r\nscripts/start.sh: 6: cannot open REQUIRED_NODE_VERSION: No such file\r\n\r\n**To Reproduce**\r\n\r\nEnvironment: Ubuntu 24.04 LTS\r\n1. `sh scripts/start.sh`\r\n\r\n**Expected behavior**\r\n\r\nNo error regarding the variable \"REQUIRED_NODE_VERSION\"\r\n\r\n**Screenshots**\r\n\r\n\"image\"\r\n\r\n**Additional context**\r\n\r\nThis is a simple issue caused by the shell script being executed with dash instead of bash.\r\n", - "labels": [ + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, { - "author": "tcotten-scrypted", - "body": "On Ubuntu, executing with bash directly instead of dash solves the issue; despite the sample command from the README.md" + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 }, { - "author": "shakkernerd", - "body": "Hi @tcotten-scrypted I just updated the start script, it should fix the issue.\r\nThanks for reporting!" + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 2, + "deletions": 2 }, { - "author": "tcotten-scrypted", - "body": "Confirmed resolved for Ubuntu environment." - } - ] - } - ] - }, - "engagement": { - "total_comments": 3, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "lessuselesss", - "score": 8, - "summary": "lessuselesss is currently working on adding support for building a monorepo with git dependencies using pnpm and nix. This involves adding nix flake support through pull request 1142. The main code areas being touched are docs, packages, and agent, with a focus on enhancing the existing functionality.", - "avatar_url": "https://avatars.githubusercontent.com/u/179788364?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1157, - "title": "1142 add nix flake support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T05:54:35Z", - "updated_at": "2024-12-17T17:25:05Z", - "body": "# Relates to:\r\n[Issue #1142](https://github.com/ai16z/eliza/issues/1142)\r\n\r\n# Risks\r\nLow - This change:\r\n- Only affects development environment setup\r\n- Doesn't modify runtime code\r\n- Is optional (developers can still use traditional npm/pnpm setup)\r\n- Can be easily reverted if issues arise\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds Nix Flake support to provide a reproducible development environment with:\r\n- Correct Node.js and pnpm versions\r\n- Helpful welcome message showing common commands\r\n- Integration with existing monorepo structure\r\n\r\n## What kind of change is this?\r\nImprovements (adds optional development tooling without changing existing functionality)\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation.\r\nI will update the local development guide to include:\r\n1. Installation of Nix using [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)\r\n2. Instructions for using the development environment\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Install Nix using Determinate Nix Installer:\r\n```bash\r\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\r\n```\r\n\r\n2. Clone the PR and enter the development environment:\r\n```bash\r\ngit clone https://github.com/ai16z/eliza.git\r\ncd eliza\r\nnix develop\r\n```\r\n\r\n3. Verify the welcome message appears with instructions for:\r\n - pnpm i\r\n - pnpm build\r\n - pnpm clean\r\n\r\n## Detailed testing steps\r\n1. Prerequisites:\r\n - Install Nix following the steps above\r\n - Verify flakes are enabled by default\r\n\r\n2. Test environment setup:\r\n ```bash\r\n git clone https://github.com/ai16z/eliza.git\r\n cd eliza\r\n nix develop\r\n ```\r\n - Verify welcome message appears\r\n - Verify Node.js version matches project requirements\r\n - Verify pnpm is available\r\n\r\n3. Test build process:\r\n ```bash\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify all dependencies install correctly\r\n - Verify build completes successfully\r\n\r\n4. Test clean process:\r\n ```bash\r\n pnpm clean\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify clean removes build artifacts\r\n - Verify rebuild works after clean\r\n\r\n## Discord username\r\nAdam Turner | lessuseless\r\nar4s_45979", - "files": [ + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "README.md", - "additions": 10, - "deletions": 0 + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 }, { - "path": "docs/docs/guides/local-development.md", - "additions": 10, + "path": "docs/api/functions/generateText.md", + "additions": 2, "deletions": 2 }, { - "path": "flake.nix", - "additions": 76, - "deletions": 0 + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1157?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 }, { - "author": "HashWarlock", - "body": "@lessuselesss love this PR, but there are some weird problems that will cause a NixOS user to fail when building the codebase with nix flakes enabled.\r\n\r\nFor example, I built this on my NixOS machine and we see this error:\r\n```\r\nWARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\ndocs | \u2009WARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\n```\r\n\r\nWe may think...what?! No Way...But how?? The pkgs specifically lists `nodejs_23` and when I run `node version` I will see the `v23.2.0`, but that still does not equal `v20.18.1`.\r\n\r\nSo I did some digging bc Nix can be a pain in the ass at times with weird dependencies errors. So I checked the `pnpm` pkgs source code and found this line https://github.com/NixOS/nixpkgs/blob/394571358ce82dff7411395829aa6a3aad45b907/pkgs/development/tools/pnpm/generic.nix#L28\r\n\r\nAnd `nodejs` pkg points to:\r\n![image](https://github.com/user-attachments/assets/1e258b67-924e-4471-a590-d7bde3ac7c64)\r\n\r\nSo this here is the culprit for why a NixOS user will hit this weird error even though we declaratively chose the right node version." + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 }, { - "author": "lessuselesss", - "body": "Hello, \r\n\r\nThank you so much for the valuable feedback. I'm excited to contribute and am happy (and was hoping!!) to have someone from the nix community overseeing contributions here! \r\n\r\nNice catch on finding the culprit, I'll investigate some workarounds \ud83d\ude47 " + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 }, { - "author": "odilitime", - "body": "I don't like the hardcoded versions, maybe another dev can offer a better suggestions on how to get the latest version\r\n\r\nlike `git describe --tags --abbrev=0`" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1142, - "title": "Support for building monorepo with git dependencies using pnpm and nix", - "state": "OPEN", - "created_at": "2024-12-16T23:53:28Z", - "updated_at": "2024-12-16T23:53:28Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nWhen trying to build a pnpm monorepo using Nix's buildNpmPackage that includes git dependencies (specifically @discordjs/opus), the build fails due to git access restrictions in the Nix build environment. The current workarounds involve either modifying package.json or pre-fetching git dependencies, both of which are not ideal solutions for maintaining the project.\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nA built-in way to handle git dependencies in buildNpmPackage that:\r\n\r\n 1. Automatically fetches git dependencies using fetchgit during the build process\r\n 2. Maintains compatibility with pnpm workspaces and monorepo structure\r\n 3. Preserves the original package.json without requiring modifications\r\n 4. Works with trusted dependencies in pnpm\r\n\r\n**Describe alternatives you've considered**\r\n\r\n1. Manually pre-fetching git dependencies and placing them in node_modules\r\n2. Modifying package.json to use published versions instead of git dependencies\r\n3. Using mkDerivation instead of buildNpmPackage to handle the build process manually\r\n4. Creating a custom derivation to handle git dependencies before the main build\r\n\r\n**Additional context**\r\n\r\nThis issue particularly affects projects using Discord.js and similar packages that rely on git dependencies for native modules. The current workarounds either break the development workflow or require maintaining separate package configurations for Nix builds.\r\nExample of a failing build: \r\n\r\n`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current \"overrides\" configuration doesn't match the value found in the lockfile`\r\n", - "labels": [ + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "whgreate", - "score": 8, - "summary": "whgreate is currently working on resolving a bug related to the issue \"pnpm start --character=\"characters/trump.character.json\". No code changes have been made yet, with no PRs merged or commits pushed in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/811644?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1161, - "title": "pnpm start --character=\"characters/trump.character.json\"", - "state": "CLOSED", - "created_at": "2024-12-17T08:10:26Z", - "updated_at": "2024-12-17T16:10:21Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n1. add \"clients\": [\"twitter\"], to trump.character.json\r\n2. pnpm start --character=\"characters/trump.character.json\"\r\n3. error: `Killed\r\n/workspaces/eliza_1/agent:\r\n\u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @ai16z/agent@0.1.5-alpha.6 start: `node --loader ts-node/esm src/index.ts \"--isRoot\" \"--character=characters/trump.character.json\"`\r\nExit status 137\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 137.`\r\n\r\n", - "labels": [ + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, { - "author": "shakkernerd", - "body": "Hi there, you seem to be using an older version (`0.1.5-alpha.6`).\r\nKindly update to latest (`0.1.6-alpha.4`)." + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "author": "whgreate", - "body": "don't understand how to do that, I'm on develop branch." - } - ] - } - ] - }, - "engagement": { - "total_comments": 2, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "vincentskele", - "score": 7, - "summary": "vincentskele is currently working on addressing an issue related to Discord agents knocking each other out of voice chat. This issue falls under the categories of \"Need Feedback\" and \"bug,\" with no code changes or commits made in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/147941271?u=7d01a4b50ee427df19e9b31bb0273500b71f72d0&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1145, - "title": "Discord agents knock each other out of VC", - "state": "OPEN", - "created_at": "2024-12-17T00:58:56Z", - "updated_at": "2024-12-17T09:25:18Z", - "body": "**Describe the bug**\r\n\r\nWhen running two agents in the same client one will join the discord voice channel and then when 2nd agent joins it kicks the first agent out of discord\r\n\r\n**Additional context**\r\n\r\n- whichever character is listed last is the one that stays in the voice channel\r\n- the same thing happens even if sending the agents to different voice channels. \r\n- only tested from 1 discord server, 2 unique servers may produce a different outcome", - "labels": [ + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 }, { - "name": "Need Feedback", - "color": "2365DD", - "description": "" - } - ], - "comments": [ + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 + }, { - "author": "shakkernerd", - "body": "Hi @vincentskele there is a potential fix in #1156 that is already merged into `develop` branch.\r\nKindly try that and give feedback." - } - ] - } - ] - }, - "engagement": { - "total_comments": 1, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "actions-user", - "score": 6, - "summary": "actions-user is primarily focused on updating the changelog, with three recent commits dedicated to this task. The code changes show a net addition of 186 lines and deletion of 3 lines. No pull requests or issues have been addressed during this period.", - "avatar_url": null, - "activity": { - "code": { - "total_commits": 3, - "total_prs": 0, - "commits": [ - { - "sha": "ea14167a66da4d892802fffa94b474d61daf63bc", - "message": "chore: update changelog", - "created_at": "2024-12-17T07:18:55Z", - "additions": 13, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "ed33650a236d3799ba881020ceefcc7f27eb3579", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:49:03Z", - "additions": 12, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "2f85c744b45b4d0d8d5e0eb5333cf98c59611a53", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:00:32Z", - "additions": 161, - "deletions": 3, - "changed_files": 1 - } - ], - "pull_requests": [] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "aeither", - "score": 6, - "summary": "aeither is currently working on updating the environment for the plugin-goat in the agent code area. This involves a single pull request with no merged changes, indicating ongoing development and potential future enhancements to the plugin-goat functionality.", - "avatar_url": "https://avatars.githubusercontent.com/u/36173828?u=48e2376ab68607483916e3fe69a98a597f3a25a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1180, - "title": "chore: update env for plugin-goat", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T14:59:06Z", - "updated_at": "2024-12-17T17:32:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nUpdate ALCHEMY_API_KEY to EVM_PROVIDER_URL for plugin-goat\r\nwhich is more accurate as user can provide any rpc URL. it is not an alchemy api key what needs to be provided\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 + }, { - "path": "agent/src/index.ts", + "path": "docs/api/functions/getRelationships.md", "additions": 2, "deletions": 2 - } - ], - "reviews": [ + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "Will need to update the documentation" - } - ], - "comments": [ + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, { - "author": "aeither", - "body": "> Will need to update the documentation\n\nWhere?" + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "author": "odilitime", - "body": "search the repo for any mention of ALCHEMY_API_KEY\r\n\r\nif none, at a bare minimum include the instructions of the plugin README" + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, + "deletions": 2 }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1180?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "ai16z-demirix", - "score": 5, - "summary": "ai16z-demirix is currently working on adding tests for runtime.ts in the test package. They have also updated the README to reflect the switch to vitest.", - "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1190, - "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T22:45:37Z", - "updated_at": "2024-12-17T22:46:12Z", - "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/core/README-TESTS.md", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/tests/runtime.test.ts", - "additions": 139, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "AbdelStark", - "score": 5, - "summary": "AbdelStark is currently working on implementing the Nostr client feature in the packages and agent code areas. This includes a single pull request for the new feature, with no code changes merged yet in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1181, - "title": "Feature: Implement Nostr client", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T17:33:34Z", - "updated_at": "2024-12-17T17:39:42Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", - "files": [ + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 + }, { - "path": ".env.example", - "additions": 14, - "deletions": 0 + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 39, - "deletions": 14 + "path": "docs/api/functions/stringToUuid.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/package.json", - "additions": 18, - "deletions": 0 + "path": "docs/api/functions/trimTokens.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/actions.ts", - "additions": 37, - "deletions": 0 + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/client.ts", - "additions": 66, - "deletions": 0 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/index.ts", - "additions": 61, - "deletions": 0 + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/interactions.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-nostr/src/memory.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/src/post.ts", - "additions": 188, - "deletions": 0 + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/src/prompts.ts", - "additions": 88, - "deletions": 0 + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-nostr/src/types.ts", - "additions": 9, - "deletions": 0 + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/client-nostr/src/utils.ts", - "additions": 143, - "deletions": 0 + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/tsconfig.json", - "additions": 12, - "deletions": 0 + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-nostr/tsup.config.ts", - "additions": 20, - "deletions": 0 + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/core/src/types.ts", - "additions": 13, + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, "deletions": 5 }, { - "path": "pnpm-lock.yaml", - "additions": 146, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "mradian1", - "score": 5, - "summary": "mradian1 is currently working on a pull request for an AI Companion to the CRASH game, focusing on characters and agent code areas. This is the only recent activity in the last 45 days, with no commits or code changes reported.", - "avatar_url": "https://avatars.githubusercontent.com/u/160105867?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1179, - "title": "AI Companion to CRASH game", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T13:40:36Z", - "updated_at": "2024-12-17T13:42:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 + }, { - "path": ".gitignore", - "additions": 0, - "deletions": 2 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 3 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 }, { - "path": "agent/src/crash/actions/taunt.ts", - "additions": 56, - "deletions": 0 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 }, { - "path": "agent/src/index.ts", - "additions": 3, - "deletions": 1 + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 }, { - "path": "characters/tate.character.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "characters/taunting.character.json", - "additions": 108, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "salmanpot", - "score": 5, - "summary": "salmanpot is currently working on a feature branch for the \"km eliza bot\" in the characters, packages, agent, and eliza_client code areas. The pull request for this feature is still open and has not been merged yet.", - "avatar_url": "https://avatars.githubusercontent.com/u/112885964?u=6dcca073ed5cbc8301794a79e2011472335f45a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1169, - "title": "Feat/km eliza bot", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T10:01:32Z", - "updated_at": "2024-12-17T16:02:29Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 8 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 }, { - "path": "agent/src/index.ts", - "additions": 11, - "deletions": 34 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/providers/twitter.ts", - "additions": 18, - "deletions": 0 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/game.pdf", - "additions": 0, - "deletions": 0 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/services.ts", - "additions": 71, - "deletions": 0 + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "eliza_client/eliza_client.py", - "additions": 180, - "deletions": 0 + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 }, { - "path": "eliza_client/requirements.txt", - "additions": 2, - "deletions": 0 + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-direct/src/index.ts", - "additions": 14, + "path": "docs/api/interfaces/Provider.md", + "additions": 2, "deletions": 2 }, { - "path": "packages/client-twitter/src/post.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 } ], "reviews": [], - "comments": [ - { - "author": "odilitime", - "body": "no documentation, weird changes, doesn't look like you meant to PR it to the main repo" - } - ] + "comments": [] } ] }, @@ -3259,10 +2437,10 @@ } }, { - "contributor": "SumeetChougule", - "score": 4, - "summary": "SumeetChougule is currently working on fixing an issue with client.push and updating the README for Slack client verification in the characters, packages, and agent code areas. This work includes a single pull request that has not yet been merged, with no additional commits or code changes in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/101477214?u=7dddb5b1120e21b1c481bd7186d68d3fe76db437&v=4", + "contributor": "vpavlin", + "score": 5, + "summary": "vpavlin is currently working on a pull request to fix an issue related to generating text and adding Akash to the switch. The code changes are focused on the agent and packages code areas.", + "avatar_url": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4", "activity": { "code": { "total_commits": 0, @@ -3270,57 +2448,32 @@ "commits": [], "pull_requests": [ { - "number": 1182, - "title": "Fix client.push issue and update README for Slack client verification", + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T17:53:28Z", - "updated_at": "2024-12-17T17:53:28Z", - "body": "Relates to:\r\nNo specific issue linked.\r\n\r\nRisks\r\nLow. The changes primarily involve bug fixes and documentation updates, which should not affect other parts of the system.\r\n\r\nBackground\r\nWhat does this PR do?\r\nThis pull request fixes a critical issue in the client initialization process by addressing the clients.push error. It also updates the README for the Slack client to include instructions on verifying event subscriptions.\r\n\r\nWhat kind of change is this?\r\nBug fixes\r\nDocumentation updates\r\nDocumentation changes needed?\r\nMy changes require a change to the project documentation. The README has been updated accordingly.\r\n\r\nTesting\r\nWhere should a reviewer start?\r\nReview the changes in agent/src/index.ts for the client initialization fix and the updated README.md in the packages/client-slack directory.\r\n\r\nDetailed testing steps\r\nVerify that the client initialization process does not produce errors.\r\nEnsure the Slack client README includes the new section on event subscription verification.", + "created_at": "2024-12-18T21:21:53Z", + "updated_at": "2024-12-18T21:28:14Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", "files": [ - { - "path": ".gitignore", - "additions": 1, - "deletions": 0 - }, { "path": "agent/src/index.ts", - "additions": 6, - "deletions": 3 - }, - { - "path": "characters/trump.character.json", - "additions": 1, - "deletions": 1 - }, - { - "path": "ngrok.log", - "additions": 10, - "deletions": 0 - }, - { - "path": "package.json", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/client-slack/README.md", - "additions": 9, + "additions": 4, "deletions": 0 }, { - "path": "packages/client-slack/src/environment.ts", - "additions": 1, + "path": "packages/core/src/generation.ts", + "additions": 2, "deletions": 1 - }, - { - "path": "pnpm-lock.yaml", - "additions": 22174, - "deletions": 16933 } ], "reviews": [], - "comments": [] + "comments": [ + { + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" + } + ] } ] }, @@ -3337,10 +2490,10 @@ } }, { - "contributor": "jzvikart", - "score": 4, - "summary": "jzvikart is currently working on fixing integration tests and making improvements to the library in the areas of tests, .github, packages, and agent. This includes a single pull request for the integration tests fixes and library enhancements, with no merged changes in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/7929905?u=d54ea7bb2ef0bc7fae6f010f70decfaa559cbc30&v=4", + "contributor": "netdragonx", + "score": 5, + "summary": "netdragonx is currently working on fixing optional chaining on search to prevent startup errors when search is not enabled. This work is focused on the packages code area, with one pull request submitted but not yet merged in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4", "activity": { "code": { "total_commits": 0, @@ -3348,48 +2501,18 @@ "commits": [], "pull_requests": [ { - "number": 1177, - "title": "feat: integration tests fixes + library improvements", + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T11:55:32Z", - "updated_at": "2024-12-17T15:56:20Z", - "body": "# Risks\r\nVery low. Worst case this could break the tests or introduce problems with dependencies.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis builds on top of previous changes that introduced the first version of integration tests framework. These changes:\r\n- fix some existing issues with smoke and integration tests failing (esp. giving agent a fixed time to start that was not always sufficient)\r\n- extend integration test library with a full wrapper for setting up / tearing down a test\r\n- refactor existing integration test (\"Hello Trump\") to use new library\r\n- fix a potential issue with possible leak of API keys (not related to integration tests themselves)\r\n- remove a dependency that was previously added but is no longer required\r\n\r\n## What kind of change is this?\r\nImprovement + bug fix + feature\r\n\r\n## Why are we doing this? Any context or related work?\r\nThis is to improve overall project quality via better testing..\r\n\r\n# Documentation changes needed?\r\nNone\r\n\r\n# Testing\r\nTo test the tests, these changes need to be run in CI workflow.\r\nIf either smoke or integration tests fail, the PR should NOT be merged. In that case we will check the logs and update the PR as necessary.\r\n\r\n# Deploy Notes\r\nNone\r\n\r\n## Database changes\r\nNone\r\n\r\n## Deployment instructions\r\nNone\r\n\r\n## Discord username\r\nuser98634", + "created_at": "2024-12-18T09:52:31Z", + "updated_at": "2024-12-18T10:11:57Z", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": ".github/workflows/integrationTests.yaml", - "additions": 1, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 1 - }, - { - "path": "package.json", - "additions": 1, - "deletions": 2 - }, - { - "path": "packages/core/src/logger.ts", - "additions": 0, - "deletions": 1 - }, - { - "path": "pnpm-lock.yaml", - "additions": 709, - "deletions": 783 - }, - { - "path": "tests/test1.mjs", + "path": "packages/client-twitter/src/index.ts", "additions": 14, - "deletions": 23 - }, - { - "path": "tests/testLibrary.mjs", - "additions": 81, - "deletions": 36 + "deletions": 17 } ], "reviews": [], @@ -3410,10 +2533,10 @@ } }, { - "contributor": "tripluca", - "score": 4, - "summary": "tripluca is currently working on a pull request to fix a language issue in the logger, specifically changing 'INFORMATIONS' to 'INFORMATION' for correct English usage. The work is focused on the 'packages' code area, with no other recent activity in terms of commits, code changes, or issues.", - "avatar_url": "https://avatars.githubusercontent.com/u/78784902?v=4", + "contributor": "Hdpbilly", + "score": 5, + "summary": "Hdpbilly is currently working on adding 12 new routes for runtime parameters in the packages code area, with a recent pull request reflecting this ongoing effort.", + "avatar_url": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4", "activity": { "code": { "total_commits": 0, @@ -3421,18 +2544,18 @@ "commits": [], "pull_requests": [ { - "number": 1176, - "title": "fix: Change 'INFORMATIONS' to 'INFORMATION' to use correct English in logger", - "state": "CLOSED", + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", + "state": "OPEN", "merged": false, - "created_at": "2024-12-17T11:40:20Z", - "updated_at": "2024-12-17T16:32:43Z", - "body": "# Relates to:\r\nN/A - grammatical fix\r\n\r\n# Risks\r\nLow - Simple text change correcting English grammar in logging output\r\n\r\n# Background\r\n## What does this PR do?\r\nFixes incorrect English usage in logger.ts by changing \"INFORMATIONS\" to \"INFORMATION\", as \"information\" is an uncountable noun in English that doesn't have a plural form.\r\n\r\n## What kind of change is this?\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n## Where should a reviewer start?\r\nCheck packages/core/src/logger.ts - the change is a single word modification.\r\n\r\n## Detailed testing steps\r\nNone, automated tests are fine.\r\n\r\nNote: This PR is based on v0.1.6-alpha.1", + "created_at": "2024-12-18T08:04:22Z", + "updated_at": "2024-12-18T17:23:19Z", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/core/src/logger.ts", - "additions": 1, - "deletions": 1 + "path": "packages/client-direct/src/api.ts", + "additions": 259, + "deletions": 0 } ], "reviews": [ @@ -3442,12 +2565,7 @@ "body": "" } ], - "comments": [ - { - "author": "odilitime", - "body": "Informations is a collection of information-tagged items. It is correct in this context" - } - ] + "comments": [] } ] }, @@ -3464,10 +2582,10 @@ } }, { - "contributor": "nicky-ru", - "score": 4, - "summary": "nicky-ru is currently working on a pull request to add a lint script for the plugin evm and fix lint errors in the 'packages' code area. This is the only recent activity in the last 45 days, with no commits or merged pull requests.", - "avatar_url": "https://avatars.githubusercontent.com/u/64008830?u=d26f4e5c9c07625bb42f8f4b3154df60a8ca5527&v=4", + "contributor": "cwrage77", + "score": 5, + "summary": "cwrage77 is currently working on a feature/news plugin, with a focus on code areas such as characters, agent, and packages. This includes one open pull request, but no merged changes, commits, or reported issues in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4", "activity": { "code": { "total_commits": 0, @@ -3475,67 +2593,101 @@ "commits": [], "pull_requests": [ { - "number": 1171, - "title": "fix: add lint script for plugin evm and fix lint errors", - "state": "OPEN", + "number": 1193, + "title": "Feature/news plugin", + "state": "CLOSED", "merged": false, - "created_at": "2024-12-17T10:31:16Z", - "updated_at": "2024-12-17T17:59:25Z", - "body": "# Risks\r\n\r\nNone\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nImprovements:\r\n1. Fixed Chain Name Formatting:\r\n- Object generation sometimes returned the chain name without quotes, causing the transfer action to fail.\r\n- Improved this behavior by ensuring quotes are added in the constraint:\r\n```ts\r\nchains.map((item) => `\"${item}\"`).join(\"|\")\r\n```\r\n2. Added Linting Script:\r\n- Introduced a linting script to the project and fixed the linting errors.\r\n3. Restored Transfer Action Logic:\r\n- The merge of #965 degraded the transfer action by ignoring the buildTransferDetails() function.\r\n- This function has been reintegrated into the transfer action.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Try initiate a transfer action with on the evm chain of your choice, the agent should correctly pick the chain.\r\n\r\nThe rest of the changes rely on automated tests.\r\n\r\n## Discord username\r\n\r\nnikita_zhou\r\n", + "created_at": "2024-12-18T02:55:07Z", + "updated_at": "2024-12-18T02:55:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 + "path": ".gitignore", + "additions": 56, + "deletions": 54 }, { - "path": "packages/plugin-evm/eslint.config.mjs", - "additions": 3, + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-evm/package.json", + "path": "agent/src/index.ts", "additions": 2, - "deletions": 1 + "deletions": 0 }, { - "path": "packages/plugin-evm/src/actions/swap.ts", - "additions": 0, - "deletions": 1 + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/actions/transfer.ts", - "additions": 11, - "deletions": 24 + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/providers/wallet.ts", - "additions": 2, - "deletions": 2 + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/tests/transfer.test.ts", - "additions": 2, - "deletions": 2 + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/tests/wallet.test.ts", - "additions": 39, - "deletions": 35 + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/types/index.ts", + "path": "packages/plugin-news/src/actions/index.ts", "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "deletions": 0 + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please add a screengrab or test of this working thanks:) " + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 } ], + "reviews": [], "comments": [] } ] @@ -3546,49 +2698,127 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "snobbee", - "score": 2, - "summary": "snobbee is currently working on addressing critical bugs related to the application crashing on startup, with a focus on resolving these issues to ensure the stability of the software. Despite no code changes or commits in the last 45 days, snobbee's attention is directed towards actively engaging with and resolving reported issues.", - "avatar_url": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4", + "contributor": "BlockchainCake", + "score": 3, + "summary": "BlockchainCake is currently working on adding an EVM Client for blockchain event monitoring, focusing on code areas such as agent and packages. This work includes a single pull request with no merged changes within the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1173, - "title": "Bug: Application crashes on startup", - "state": "CLOSED", - "created_at": "2024-12-17T10:43:05Z", - "updated_at": "2024-12-17T10:43:17Z", - "body": "The application crashes on startup. No additional context or error messages have been provided.", - "labels": [], - "comments": [] - }, + "pull_requests": [ { - "number": 1172, - "title": "Bug: Application crashes on startup", - "state": "CLOSED", - "created_at": "2024-12-17T10:34:58Z", - "updated_at": "2024-12-17T10:36:32Z", - "body": "The application crashes upon startup. Please investigate the error codes and any relevant stack traces to diagnose the issue.", - "labels": [], + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T20:54:14Z", + "updated_at": "2024-12-18T20:54:14Z", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", + "files": [ + { + "path": "agent/package.json", + "additions": 2, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 32, + "deletions": 1 + }, + { + "path": "packages/client-evm/README.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 + }, + { + "path": "packages/client-evm/package.json", + "additions": 21, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/types.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-evm/tsconfig.json", + "additions": 23, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 + }, + { + "path": "tsconfig.json", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], "comments": [] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, "total_reviews": 0, @@ -3598,38 +2828,45 @@ } }, { - "contributor": "Semfoxm", - "score": 1, - "summary": "Semfoxm is currently addressing a bug reported in the GitHub issue tracker, with no pull requests or commits made in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/114817283?v=4", + "contributor": "tobbelobb", + "score": 3, + "summary": "tobbelobb is currently working on fixing an issue related to writing a summary file before attempting to cache it in the \"packages\" code area. This is reflected in a recent pull request, with no commits or code changes reported in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ + "pull_requests": [ { - "number": 1188, - "title": "semfoxm", + "number": 1205, + "title": "fix: write summary file before trying to cache it", "state": "OPEN", - "created_at": "2024-12-17T21:11:03Z", - "updated_at": "2024-12-17T21:11:03Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "merged": false, + "created_at": "2024-12-18T12:28:33Z", + "updated_at": "2024-12-18T17:17:36Z", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", + "files": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 } ], - "comments": [] + "reviews": [], + "comments": [ + { + "author": "odilitime", + "body": "code looks good will test later" + } + ] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, "total_reviews": 0, @@ -3639,10 +2876,10 @@ } }, { - "contributor": "ilmari-h", + "contributor": "sam-coffey", "score": 1, - "summary": "ilmari-h is currently working on an enhancement to allow requiring an API key for calling the direct client. This involves addressing a specific issue related to API key authentication within the project.", - "avatar_url": "https://avatars.githubusercontent.com/u/52321471?u=839cd428eb4798d5dd5235a01eb4148128995d0f&v=4", + "summary": "sam-coffey is currently addressing a bug related to a chat stuck in an infinite loop, as indicated by the single open issue in the last 90 days. There have been no pull requests or commits made during this period.", + "avatar_url": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4", "activity": { "code": { "total_commits": 0, @@ -3654,17 +2891,17 @@ "total_opened": 1, "opened": [ { - "number": 1175, - "title": "Allow requiring API key for calling direct client", + "number": 1213, + "title": "chat stuck in infinite loop", "state": "OPEN", - "created_at": "2024-12-17T11:27:50Z", - "updated_at": "2024-12-17T11:27:50Z", - "body": "I would like to be able to require an API key for communicating with my agent via the direct client rest API.\r\nI did not find a built in way to do this.\r\n\r\nI would propose adding an optional `DirectClientOptions` parameter to the `DirectClient` constructor that contains property API-key.\r\nThe direct client would then return 401 to any request that does not have the header `Authorization: Bearer YOUR_API_KEY`\r\n\r\nI will gladly implement this myself if it makes sense as a feature to others", + "created_at": "2024-12-18T21:19:34Z", + "updated_at": "2024-12-18T21:19:34Z", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", "labels": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], "comments": [] @@ -3680,10 +2917,10 @@ } }, { - "contributor": "Ninoambaraa", + "contributor": "AntonioTF5", "score": 1, - "summary": "Ninoambaraa is currently addressing an issue related to errors encountered when attempting to deploy using a Dockerfile. The focus of their recent work has been on resolving this bug, with no new code changes or commits made in the last 45 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/151893355?v=4", + "summary": "AntonioTF5 is currently working on addressing a bug related to multiple mentions on Twitter/X when replying, as indicated by their recent activity of opening one issue in the last 90 days. There have been no pull requests, commits, or code changes associated with this issue so far.", + "avatar_url": "https://avatars.githubusercontent.com/u/32102018?u=ca0cfc6fafa99720cba35ad22ba7e31738c399b9&v=4", "activity": { "code": { "total_commits": 0, @@ -3695,12 +2932,12 @@ "total_opened": 1, "opened": [ { - "number": 1168, - "title": "Error when trying deploy using dockerfile", + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", "state": "OPEN", - "created_at": "2024-12-17T09:43:05Z", - "updated_at": "2024-12-17T09:43:05Z", - "body": "I'm trying deploy using docker file \r\n```\r\n# Use stable Node.js LTS version\r\nFROM node:22-slim\r\n\r\n# Install system dependencies\r\nRUN apt-get update && apt-get install -y \\\r\n build-essential \\\r\n python3 \\\r\n git \\\r\n ca-certificates \\\r\n sqlite3 \\\r\n libsqlite3-dev \\\r\n && apt-get clean && rm -rf /var/lib/apt/lists/*\r\n\r\n# Install pnpm\r\nRUN npm install -g pnpm@9.4.0\r\n\r\n# Set working directory\r\nWORKDIR /app\r\n\r\n# Copy package files\r\nCOPY package.json pnpm-lock.yaml ./\r\n\r\n# Install dependencies\r\nRUN pnpm install --frozen-lockfile\r\n\r\n# Rebuild native modules\r\nRUN pnpm rebuild better-sqlite3\r\n\r\n# Copy application files\r\nCOPY . .\r\n\r\n# Expose application port\r\nEXPOSE 3000\r\n\r\n# Start the application with debugging\r\nCMD [\"pnpm\" , \"start\"]\r\n\r\n```\r\n\r\nand i get this error \r\n```\r\n\u26d4 ERRORS\r\n Unhandled error in startAgents: \r\n {\"code\":\"ERR_USE_AFTER_CLOSE\"} \r\n```", + "created_at": "2024-12-18T16:44:13Z", + "updated_at": "2024-12-18T19:28:41Z", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b)\r\n\r\n", + "files": [ + { + "path": "docs/community/Streams/12-2024/2024-12-13.md", + "additions": 130, + "deletions": 161 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "CHANGES_REQUESTED", + "body": "" + }, + { + "author": "YoungPhlo", + "state": "COMMENTED", + "body": "" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + }, + { + "author": "odilitime", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 4, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "yang-han", + "score": 28, + "summary": "yang-han is currently working on updating the commands to start the client and removing unused flags in the agent, client, scripts, and docs sections of the project. They have submitted 3 pull requests related to this task, with 1 already merged.", + "avatar_url": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 3, + "commits": [], + "pull_requests": [ + { + "number": 1163, + "title": "chore: print commands to start the client and remove unused --non-itera\u2026", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-17T08:23:52Z", + "updated_at": "2024-12-17T08:35:18Z", + "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "Dockerfile", + "additions": 1, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 5 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "This has been there from the beginning thanks for doing this :) " + } + ], + "comments": [] + }, + { + "number": 1162, + "title": "chore: print commands to start the client and remove unused --non-itera\u2026", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-17T08:17:55Z", + "updated_at": "2024-12-17T08:18:12Z", + "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "CHANGELOG.md", + "additions": 186, + "deletions": 3 + }, + { + "path": "Dockerfile", + "additions": 1, + "deletions": 1 + }, + { + "path": "agent/package.json", + "additions": 59, + "deletions": 59 + }, + { + "path": "agent/src/index.ts", + "additions": 8, + "deletions": 7 + }, + { + "path": "client/package.json", + "additions": 45, + "deletions": 45 + }, + { + "path": "docs/package.json", + "additions": 53, + "deletions": 53 + }, + { + "path": "lerna.json", + "additions": 9, + "deletions": 3 + }, + { + "path": "packages/adapter-postgres/package.json", + "additions": 18, + "deletions": 18 + }, + { + "path": "packages/adapter-sqlite/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/adapter-sqljs/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/adapter-supabase/package.json", + "additions": 20, + "deletions": 20 + }, + { + "path": "packages/client-auto/package.json", + "additions": 25, + "deletions": 25 + }, + { + "path": "packages/client-direct/package.json", + "additions": 28, + "deletions": 28 + }, + { + "path": "packages/client-discord/package.json", + "additions": 31, + "deletions": 31 + }, + { + "path": "packages/client-farcaster/package.json", + "additions": 16, + "deletions": 16 + }, + { + "path": "packages/client-github/package.json", + "additions": 21, + "deletions": 21 + }, + { + "path": "packages/client-lens/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/client-slack/package.json", + "additions": 43, + "deletions": 43 + }, + { + "path": "packages/client-telegram/package.json", + "additions": 19, + "deletions": 19 + }, + { + "path": "packages/client-twitter/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/client-twitter/src/base.ts", + "additions": 77, + "deletions": 54 + }, + { + "path": "packages/core/package.json", + "additions": 77, + "deletions": 77 + }, + { + "path": "packages/create-eliza-app/package.json", + "additions": 29, + "deletions": 29 + }, + { + "path": "packages/plugin-0g/package.json", + "additions": 16, + "deletions": 16 + }, + { + "path": "packages/plugin-aptos/package.json", + "additions": 24, + "deletions": 24 + }, + { + "path": "packages/plugin-bootstrap/package.json", + "additions": 17, + "deletions": 17 + }, + { + "path": "packages/plugin-coinbase/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/plugin-conflux/package.json", + "additions": 13, + "deletions": 13 + }, + { + "path": "packages/plugin-echochambers/package.json", + "additions": 15, + "deletions": 15 + }, + { + "path": "packages/plugin-evm/package.json", + "additions": 21, + "deletions": 21 + }, + { + "path": "packages/plugin-flow/package.json", + "additions": 34, + "deletions": 34 + }, + { + "path": "packages/plugin-goat/package.json", + "additions": 21, + "deletions": 21 + }, + { + "path": "packages/plugin-icp/package.json", + "additions": 22, + "deletions": 22 + }, + { + "path": "packages/plugin-image-generation/package.json", + "additions": 17, + "deletions": 17 + }, + { + "path": "packages/plugin-intiface/package.json", + "additions": 19, + "deletions": 19 + }, + { + "path": "packages/plugin-multiversx/package.json", + "additions": 24, + "deletions": 24 + }, + { + "path": "packages/plugin-near/package.json", + "additions": 23, + "deletions": 23 + }, + { + "path": "packages/plugin-nft-generation/package.json", + "additions": 28, + "deletions": 28 + }, + { + "path": "packages/plugin-node/package.json", + "additions": 87, + "deletions": 87 + }, + { + "path": "packages/plugin-solana/package.json", + "additions": 31, + "deletions": 31 + }, + { + "path": "packages/plugin-starknet/package.json", + "additions": 25, + "deletions": 25 + }, + { + "path": "packages/plugin-story/package.json", + "additions": 24, + "deletions": 24 + }, + { + "path": "packages/plugin-sui/package.json", + "additions": 24, + "deletions": 24 + }, + { + "path": "packages/plugin-tee/package.json", + "additions": 26, + "deletions": 26 + }, + { + "path": "packages/plugin-ton/package.json", + "additions": 23, + "deletions": 23 + }, + { + "path": "packages/plugin-trustdb/package.json", + "additions": 25, + "deletions": 25 + }, + { + "path": "packages/plugin-video-generation/package.json", + "additions": 17, + "deletions": 17 + }, + { + "path": "packages/plugin-web-search/package.json", + "additions": 16, + "deletions": 16 + }, + { + "path": "packages/plugin-whatsapp/package.json", + "additions": 24, + "deletions": 24 + }, + { + "path": "packages/plugin-zksync-era/package.json", + "additions": 18, + "deletions": 18 + }, + { + "path": "pnpm-lock.yaml", + "additions": 17935, + "deletions": 22902 + }, + { + "path": "scripts/update-versions.js", + "additions": 82, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "number": 1160, + "title": "chore: print commands to start the client and remove unused --non-itera\u2026", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-17T07:22:21Z", + "updated_at": "2024-12-17T08:24:38Z", + "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "Dockerfile", + "additions": 1, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 5 + } + ], + "reviews": [], + "comments": [ + { + "author": "HashWarlock", + "body": "LGTM, but @yang-han you need to target the `develop` branch instead of main" + }, + { + "author": "yang-han", + "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nok, will do" + }, + { + "author": "yang-han", + "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nin #1163 " + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tcm390", + "score": 23, + "summary": "tcm390 is currently addressing issues related to media parameter errors and long tweets in the main branch of the project. Additionally, they have contributed a pull request enabling multiple bots to join Discord voice channels in the packages code area.", + "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1156, + "title": "fix: Enable multiple bots to join Discord voice channels", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-17T04:17:21Z", + "updated_at": "2024-12-17T07:56:09Z", + "body": "related: https://github.com/ai16z/eliza/issues/1145\r\n\r\nreference: \r\nhttps://github.com/discordjs/voice/issues/206#issuecomment-924551194\r\nhttps://stackoverflow.com/questions/71446777/how-do-i-manage-voice-connections-from-multiple-bots-in-one-code", + "files": [ + { + "path": "packages/client-discord/src/voice.ts", + "additions": 18, + "deletions": 4 + } + ], + "reviews": [ + { + "author": "shakkernerd", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1156?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1156/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1183, + "title": "media parameter is missing Error on Main Branch", + "state": "OPEN", + "created_at": "2024-12-17T17:56:49Z", + "updated_at": "2024-12-17T20:15:37Z", + "body": "Description\r\nWhen attempting to call the image-generation on Twitter, the following error occurs on the main branch:\r\n\r\n```\r\nError: {\"errors\":[{\"code\":38,\"message\":\"media parameter is missing.\"}]}\r\n at uploadMedia (node_modules/agent-twitter-client/dist/node/esm/index.mjs:2211:13)\r\n at async createCreateTweetRequest (node_modules/agent-twitter-client/dist/node/esm/index.mjs:1954:22)\r\n```\r\n\r\nHowever, it works as expected on the `tcm-twitter-image` branch.", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + }, + { + "number": 1178, + "title": "Long tweets fail with error Tweet needs to be a bit shorter (Code 186)", + "state": "OPEN", + "created_at": "2024-12-17T13:20:41Z", + "updated_at": "2024-12-17T15:18:46Z", + "body": "When attempting to send tweets longer than 280 characters using the Eliza Twitter client, the API responds with an error:\n\n```\nError sending tweet; Bad response: {\n errors: [\n {\n message: 'Authorization: Tweet needs to be a bit shorter. (186)',\n locations: [Array],\n path: [Array],\n extensions: [Object],\n code: 186,\n kind: 'Permissions',\n name: 'AuthorizationError',\n source: 'Client',\n tracing: [Object]\n }\n ],\n data: {}\n} \n```\n\nhttps://discord.com/channels/1253563208833433701/1300025221834739744/1318559898312904745\n\n\"Screenshot\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + }, + { + "name": "src: Discord", + "color": "C5DEF5", + "description": "" + } + ], + "comments": [ + { + "author": "shakkernerd", + "body": "Hi @tcm390 could you add a direct link to the message for all issues gotten from discord. \r\nThis is to help with investigation since there might have been some conversation around it." + }, + { + "author": "tcm390", + "body": "> Hi [@tcm390](https://github.com/tcm390) could you add a direct link to the message for all issues gotten from discord. This is to help with investigation since there might have been some conversation around it.\n\nyes, updated." + } + ] + } + ] + }, + "engagement": { + "total_comments": 2, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "BalanaguYashwanth", + "score": 18, + "summary": "BalanaguYashwanth is currently working on creating an account for Farcaster to launch an agent and developing a plugin create command. Their recent activity has focused on enhancing these specific features within the project.", + "avatar_url": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1166, + "title": "Plugin Create Command", + "state": "OPEN", + "created_at": "2024-12-17T09:13:33Z", + "updated_at": "2024-12-17T10:08:10Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nUsing with single command to create plugin using plugin example or template under packages\r\n\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [ + { + "author": "BalanaguYashwanth", + "body": "@odilitime Let me know, Is this command already exists in the repo ?\r\n\r\nCC: @shakkernerd " + }, + { + "author": "shakkernerd", + "body": "Hi @BalanaguYashwanth No, we current do not have a \"create plugin\" command." + }, + { + "author": "BalanaguYashwanth", + "body": "So it is useful feature to work on ?" + }, + { + "author": "shakkernerd", + "body": "It is not a priority at the moment but if you want to take a crack at it, feel free." + }, + { + "author": "BalanaguYashwanth", + "body": "ok" + } + ] + }, + { + "number": 1164, + "title": "Farcaster Account Creation to launch agent", + "state": "OPEN", + "created_at": "2024-12-17T08:52:22Z", + "updated_at": "2024-12-17T09:07:49Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThis feature will allow, \r\n\r\n- Launching an agent in farcaster by creating the dedicated farcaster account\r\n\r\nExisting repo, won't support to launch agent in farcaster by creating farcaster account.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nWe can achieve creating account in multiple ways,\r\n\r\n- Interactive CLI\r\n- API\r\n\r\nWhen launching each agent, It will create dedicated farcaster account and store those farcaster details into DB and perform activites like\r\n\r\n- Post casts\r\n- ReCasts\r\n- etc\r\n\r\n**Describe alternatives you've considered**\r\n\r\nWe need to run seperate server and create the farcaster account and those details we need to pass for agents to run on warpcast (farcaster).\r\n\r\n\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [ + { + "author": "BalanaguYashwanth", + "body": "Let me know, Is it good feature to addon eliza ?\r\n\r\nCC: @odilitime @tcm390 " + } + ] + } + ] + }, + "engagement": { + "total_comments": 6, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "thomasWos", + "score": 14, + "summary": "thomasWos is currently working on fixing a typo in the multiversx plugin prompt for creating a token in the 'packages' code area. This work resulted in one pull request being merged in the last 45 days, with no new commits or issues opened.", + "avatar_url": "https://avatars.githubusercontent.com/u/785740?u=58240e787ae69665ebb4813bd3472e528fc6a00b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1170, + "title": "fix: Fix typo in multiversx plugin prompt for creating token", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-17T10:28:15Z", + "updated_at": "2024-12-17T16:10:49Z", + "body": "Fix tiny typo", + "files": [ + { + "path": "packages/plugin-multiversx/src/actions/createToken.ts", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "monilpat", + "score": 12, + "summary": "monilpat is currently working on resolving code linting issues and fixing Docker-related problems. They are also focusing on enhancing logging in the plugin-coinbase package and integrating a feature called o1.", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", + "activity": { + "code": { + "total_commits": 3, + "total_prs": 1, + "commits": [ + { + "sha": "94d374afa3b3b011b7b2030419315b120c7253f6", + "message": "Merge pull request #1154 from odilitime/fix-lint\n\nfix: fix direct-client ability to start agents", + "created_at": "2024-12-17T03:41:50Z", + "additions": 5, + "deletions": 0, + "changed_files": 1 + }, + { + "sha": "284f38a09123d20a8a24d9374eff6991a28a4c25", + "message": "Merge pull request #1139 from rarepepi/docker-fixes\n\nfix: remove docker compose command since Docker file already runs", + "created_at": "2024-12-17T01:49:33Z", + "additions": 0, + "deletions": 1, + "changed_files": 1 + }, + { + "sha": "7d6d121ec9d07be91c5afd2e54d0c4626abd9873", + "message": "Merge pull request #1140 from azep-ninja/fix/duplicate-tg-funtions\n\nfix: telegram client duplicate function removal", + "created_at": "2024-12-16T22:58:02Z", + "additions": 5, + "deletions": 18, + "changed_files": 1 + } + ], + "pull_requests": [ + { + "number": 1184, + "title": "feat: integrate o1", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T18:58:13Z", + "updated_at": "2024-12-17T19:20:57Z", + "body": "Relates to: o1: https://github.com/ai16z/eliza/issues/1185\r\n\r\nRisks: Low - Integrating o1 is a minimal, low-impact change. The primary risk is minor code confusion if not documented clearly.\r\n\r\nBackground\r\n\r\nWhat does this PR do? This PR integrates o1 functionality into the existing codebase. It ensures that o1 is properly linked, documented, and accessible for future reference.\r\n\r\nWhat kind of change is this? Improvements (misc. changes to existing features)\r\n\r\nDocumentation changes needed? My changes require a change to the project documentation. I have updated the documentation accordingly.\r\n\r\nTesting\r\n\r\nWhere should a reviewer start? Begin by reviewing the integration points in code where o1 references have been added. Check the documentation updates to confirm consistent explanations.\r\n\r\nDetailed testing steps:\r\n\r\nReview the codebase changes where o1 is introduced.\r\nConfirm that references to o1 are correct, properly linked, and that no compilation or runtime errors occur.\r\nReview the updated documentation to ensure it reflects the new o1 integration context and instructions for usage.", + "files": [ + { + "path": "packages/core/src/generation.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/models.ts", + "additions": 3, + "deletions": 3 + }, + { + "path": "packages/core/src/tests/models.test.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "pnpm-lock.yaml", + "additions": 21929, + "deletions": 16979 + } + ], + "reviews": [], + "comments": [ + { + "author": "monilpat", + "body": "Waiting on tiktoken model to update to include o1 :)" + } + ] + } + ] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1189, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", + "state": "CLOSED", + "created_at": "2024-12-17T21:19:29Z", + "updated_at": "2024-12-17T21:24:30Z", + "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nThe current logging mechanism in the /packages/plugin-coinbase/src/plugins is not providing sufficient detail for debugging and monitoring purposes.\r\n\r\n**Describe the solution you'd like**\r\n\r\nEnhance the logging framework to include more comprehensive log messages, including error details, transaction states, and API request/response data.\r\n\r\n**Describe alternatives you've considered**\r\n\r\nConsidered using third-party logging libraries that can be integrated into the existing setup for better log management and analysis.\r\n\r\n**Additional context**\r\n\r\nImproved logging can help in quicker issue resolution and provide better insights into the plugin's performance and behavior during both development and production stages.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + }, + { + "number": 1185, + "title": "integrate o1", + "state": "OPEN", + "created_at": "2024-12-17T19:00:42Z", + "updated_at": "2024-12-17T19:00:42Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nIntegrate o1 https://openai.com/index/o1-and-new-tools-for-developers/\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "santekotturi", + "score": 10, + "summary": "santekotturi is currently addressing a bug related to pnpm installation failures on M1 Macs, which has been resolved by reinstalling xcode-select. Their recent activity has primarily focused on troubleshooting and fixing this issue within the project.", + "avatar_url": "https://avatars.githubusercontent.com/u/4960284?u=bd2843c83a0f02a40a1375b264e6609a5444c08a&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1146, + "title": "pnpm install fails on m1 mac [Fixed with xcode-select reinstall]", + "state": "CLOSED", + "created_at": "2024-12-17T01:28:52Z", + "updated_at": "2024-12-17T05:43:56Z", + "body": "I've spent the last 6 hours trying to get around this\r\n\r\nsame error with both: \r\n`pnpm install` and `pnpm install -w --include=optional sharp`\r\n\r\n```\r\n\u2502 LIBTOOL-STATIC Release/opus.a\r\n\u2502 CXX(target) Release/obj.target/opus/src/node-opus.o\r\n\u2502 In file included from :495:\r\n\u2502 :19:14: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]\r\n\u2502 19 | #define POSIX,__STDC_FORMAT_MACROS 1\r\n\u2502 | ^\r\n\u2502 In file included from ../src/node-opus.cc:1:\r\n\u2502 /Users/santekotturi/Developer/forecast/eliza/node_modules/node-addon-api/napi.h:14:10: fatal error: 'functional' \u2026\r\n\u2502 14 | #include \r\n\u2502 | ^~~~~~~~~~~~\r\n\u2502 1 warning and 1 error generated.\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/santekotturi/.local/share/pnpm/global/5/.pnpm/pnpm@9.9.0/node_\u2026\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/.local/share/pnpm\u2026\r\n\u2502 gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v23.4.0\r\n\u2502 gyp ERR! node-gyp -v v10.1.0\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node /Users/\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/santekotturi/Developer/forecast/eliza/node_module\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/Develope\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v23.4.0\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\nalways using `rm -rf node_modules & rm pnpm-lock.yaml` between each try.\r\n\r\nnode v23.4.0\r\ntried downgrading to v20.x \r\npnpm v9.9.0\r\n\r\nalso tried `brew install opus`\r\nmacOS 15.1 \r\nXCode 16.2\r\n\r\non:\r\n`% git status >> HEAD detached at v0.1.6-alpha.1`\r\n\r\nPotentially related to:\r\nhttps://github.com/ai16z/eliza/issues/1041\r\nhttps://github.com/ai16z/eliza/issues/215\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "oxSaturn", + "body": "Have you tried `xcode-select --install` to have C++ compiler installed? I'm on m2, thought I ran into a similar issue (don't remember the exact issue) when I was trying eliza first time, and running `xcode-select --install` got it fixed for me as far as I can remember." + }, + { + "author": "santekotturi", + "body": "Yea, I ran that, I've got a macos 15.2 update waiting for me, maybe that plays better with Xcode 16.2... will report back \r\n" + }, + { + "author": "santekotturi", + "body": "macos 15.2 updated, all xcode tool updates made. still same error. \r\n\r\nThis discordjs/opus connects having homebrew python3.12 in your path (which I do) https://github.com/discordjs/opus/issues/145#issuecomment-2250719870\r\n\r\nCurious what anyone else has for \r\n\r\n```\r\npython3 --version\r\nwhich python3\r\n```\r\n" + }, + { + "author": "santekotturi", + "body": "Had to uninstall xcode-select and reinstall \u00af\\_(\u30c4)_/\u00af \r\n```\r\nsudo rm -rf /Library/Developer/CommandLineTools\r\nxcode-select --install\r\n```\r\n\r\nthat gets us: `node_modules/@discordjs/opus: Running install script, done in 30.1s`" + } + ] + } + ] + }, + "engagement": { + "total_comments": 4, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "qizhou", + "score": 9, + "summary": "qizhou is currently addressing an issue related to the inability to run `pnpm install --no-frozen-lockfile` on version 0.1.6-alpha.4. The issue falls under the bug category, with no associated pull requests, commits, or code changes in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/2541286?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1167, + "title": "Unable to run `pnpm install --no-frozen-lockfile` on v0.1.6-alpha.4", + "state": "OPEN", + "created_at": "2024-12-17T09:30:31Z", + "updated_at": "2024-12-17T21:04:37Z", + "body": "**Describe the bug**\r\n\r\nI found the following error on a fresh checkout:\r\n\r\n```\r\n# set variable identifying the chroot you work in (used in the prompt below)\r\n# set a fancy prompt (non-color, unless we know we \"want\" color)\r\n\u2502 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n\u2502 node-pre-gyp info check checked for \"/root/github/eliza/node_modules/@discordjs/opus/prebuild/node-v131-napi-v3-linux-x64-glibc-2.39/opus.node\" (not found)\r\n\u2502 node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp ERR! install response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp WARN Pre-built binaries not installable for @discordjs/opus@0.9.0 and node@23.4.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp)\r\n\u2502 node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 gyp info it worked if it ends with ok\r\n\u2502 gyp info using node-gyp@10.3.1\r\n\u2502 gyp info using node@23.4.0 | linux | x64\r\n\u2502 gyp info ok\r\n```\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "ateett12ue", + "body": "I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me." + }, + { + "author": "nhtera", + "body": "> I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me.\r\n\r\nWhat pnpm version you are using?" + }, + { + "author": "ateett12ue", + "body": "v9.15.0\r\n" + } + ] + } + ] + }, + "engagement": { + "total_comments": 3, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tcotten-scrypted", + "score": 9, + "summary": "tcotten-scrypted is currently addressing a bug related to the issue \"REQUIRED_NODE_VERSION: No such file\" on GitHub. This individual has not made any pull requests or commits in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/113052533?u=23e62842485a8c6647acdecb62cb97b898299ad3&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1151, + "title": "REQUIRED_NODE_VERSION: No such file", + "state": "CLOSED", + "created_at": "2024-12-17T03:04:39Z", + "updated_at": "2024-12-17T13:24:57Z", + "body": "**Describe the bug**\r\n\r\nFollowing directions in README.md with `sh scripts/start.sh` on Ubuntu causes an error:\r\n\r\nscripts/start.sh: 6: cannot open REQUIRED_NODE_VERSION: No such file\r\n\r\n**To Reproduce**\r\n\r\nEnvironment: Ubuntu 24.04 LTS\r\n1. `sh scripts/start.sh`\r\n\r\n**Expected behavior**\r\n\r\nNo error regarding the variable \"REQUIRED_NODE_VERSION\"\r\n\r\n**Screenshots**\r\n\r\n\"image\"\r\n\r\n**Additional context**\r\n\r\nThis is a simple issue caused by the shell script being executed with dash instead of bash.\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "tcotten-scrypted", + "body": "On Ubuntu, executing with bash directly instead of dash solves the issue; despite the sample command from the README.md" + }, + { + "author": "shakkernerd", + "body": "Hi @tcotten-scrypted I just updated the start script, it should fix the issue.\r\nThanks for reporting!" + }, + { + "author": "tcotten-scrypted", + "body": "Confirmed resolved for Ubuntu environment." + } + ] + } + ] + }, + "engagement": { + "total_comments": 3, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "lessuselesss", + "score": 8, + "summary": "lessuselesss is currently working on adding support for building a monorepo with git dependencies using pnpm and nix. This involves adding nix flake support through pull request 1142. The main code areas being touched are docs, packages, and agent, with a focus on enhancing the existing functionality.", + "avatar_url": "https://avatars.githubusercontent.com/u/179788364?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1157, + "title": "1142 add nix flake support", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T05:54:35Z", + "updated_at": "2024-12-17T17:25:05Z", + "body": "# Relates to:\r\n[Issue #1142](https://github.com/ai16z/eliza/issues/1142)\r\n\r\n# Risks\r\nLow - This change:\r\n- Only affects development environment setup\r\n- Doesn't modify runtime code\r\n- Is optional (developers can still use traditional npm/pnpm setup)\r\n- Can be easily reverted if issues arise\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds Nix Flake support to provide a reproducible development environment with:\r\n- Correct Node.js and pnpm versions\r\n- Helpful welcome message showing common commands\r\n- Integration with existing monorepo structure\r\n\r\n## What kind of change is this?\r\nImprovements (adds optional development tooling without changing existing functionality)\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation.\r\nI will update the local development guide to include:\r\n1. Installation of Nix using [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)\r\n2. Instructions for using the development environment\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Install Nix using Determinate Nix Installer:\r\n```bash\r\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\r\n```\r\n\r\n2. Clone the PR and enter the development environment:\r\n```bash\r\ngit clone https://github.com/ai16z/eliza.git\r\ncd eliza\r\nnix develop\r\n```\r\n\r\n3. Verify the welcome message appears with instructions for:\r\n - pnpm i\r\n - pnpm build\r\n - pnpm clean\r\n\r\n## Detailed testing steps\r\n1. Prerequisites:\r\n - Install Nix following the steps above\r\n - Verify flakes are enabled by default\r\n\r\n2. Test environment setup:\r\n ```bash\r\n git clone https://github.com/ai16z/eliza.git\r\n cd eliza\r\n nix develop\r\n ```\r\n - Verify welcome message appears\r\n - Verify Node.js version matches project requirements\r\n - Verify pnpm is available\r\n\r\n3. Test build process:\r\n ```bash\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify all dependencies install correctly\r\n - Verify build completes successfully\r\n\r\n4. Test clean process:\r\n ```bash\r\n pnpm clean\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify clean removes build artifacts\r\n - Verify rebuild works after clean\r\n\r\n## Discord username\r\nAdam Turner | lessuseless\r\nar4s_45979", + "files": [ + { + "path": "Dockerfile", + "additions": 1, + "deletions": 1 + }, + { + "path": "README.md", + "additions": 10, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 5 + }, + { + "path": "docs/docs/guides/local-development.md", + "additions": 10, + "deletions": 2 + }, + { + "path": "flake.nix", + "additions": 76, + "deletions": 0 + }, + { + "path": "packages/client-discord/src/voice.ts", + "additions": 18, + "deletions": 4 + } + ], + "reviews": [], + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1157?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + }, + { + "author": "HashWarlock", + "body": "@lessuselesss love this PR, but there are some weird problems that will cause a NixOS user to fail when building the codebase with nix flakes enabled.\r\n\r\nFor example, I built this on my NixOS machine and we see this error:\r\n```\r\nWARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\ndocs | \u2009WARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\n```\r\n\r\nWe may think...what?! No Way...But how?? The pkgs specifically lists `nodejs_23` and when I run `node version` I will see the `v23.2.0`, but that still does not equal `v20.18.1`.\r\n\r\nSo I did some digging bc Nix can be a pain in the ass at times with weird dependencies errors. So I checked the `pnpm` pkgs source code and found this line https://github.com/NixOS/nixpkgs/blob/394571358ce82dff7411395829aa6a3aad45b907/pkgs/development/tools/pnpm/generic.nix#L28\r\n\r\nAnd `nodejs` pkg points to:\r\n![image](https://github.com/user-attachments/assets/1e258b67-924e-4471-a590-d7bde3ac7c64)\r\n\r\nSo this here is the culprit for why a NixOS user will hit this weird error even though we declaratively chose the right node version." + }, + { + "author": "lessuselesss", + "body": "Hello, \r\n\r\nThank you so much for the valuable feedback. I'm excited to contribute and am happy (and was hoping!!) to have someone from the nix community overseeing contributions here! \r\n\r\nNice catch on finding the culprit, I'll investigate some workarounds \ud83d\ude47 " + }, + { + "author": "odilitime", + "body": "I don't like the hardcoded versions, maybe another dev can offer a better suggestions on how to get the latest version\r\n\r\nlike `git describe --tags --abbrev=0`" + } + ] + } + ] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1142, + "title": "Support for building monorepo with git dependencies using pnpm and nix", + "state": "OPEN", + "created_at": "2024-12-16T23:53:28Z", + "updated_at": "2024-12-16T23:53:28Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nWhen trying to build a pnpm monorepo using Nix's buildNpmPackage that includes git dependencies (specifically @discordjs/opus), the build fails due to git access restrictions in the Nix build environment. The current workarounds involve either modifying package.json or pre-fetching git dependencies, both of which are not ideal solutions for maintaining the project.\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nA built-in way to handle git dependencies in buildNpmPackage that:\r\n\r\n 1. Automatically fetches git dependencies using fetchgit during the build process\r\n 2. Maintains compatibility with pnpm workspaces and monorepo structure\r\n 3. Preserves the original package.json without requiring modifications\r\n 4. Works with trusted dependencies in pnpm\r\n\r\n**Describe alternatives you've considered**\r\n\r\n1. Manually pre-fetching git dependencies and placing them in node_modules\r\n2. Modifying package.json to use published versions instead of git dependencies\r\n3. Using mkDerivation instead of buildNpmPackage to handle the build process manually\r\n4. Creating a custom derivation to handle git dependencies before the main build\r\n\r\n**Additional context**\r\n\r\nThis issue particularly affects projects using Discord.js and similar packages that rely on git dependencies for native modules. The current workarounds either break the development workflow or require maintaining separate package configurations for Nix builds.\r\nExample of a failing build: \r\n\r\n`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current \"overrides\" configuration doesn't match the value found in the lockfile`\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "whgreate", + "score": 8, + "summary": "whgreate is currently working on resolving a bug related to the issue \"pnpm start --character=\"characters/trump.character.json\". No code changes have been made yet, with no PRs merged or commits pushed in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/811644?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1161, + "title": "pnpm start --character=\"characters/trump.character.json\"", + "state": "CLOSED", + "created_at": "2024-12-17T08:10:26Z", + "updated_at": "2024-12-17T16:10:21Z", + "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n1. add \"clients\": [\"twitter\"], to trump.character.json\r\n2. pnpm start --character=\"characters/trump.character.json\"\r\n3. error: `Killed\r\n/workspaces/eliza_1/agent:\r\n\u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @ai16z/agent@0.1.5-alpha.6 start: `node --loader ts-node/esm src/index.ts \"--isRoot\" \"--character=characters/trump.character.json\"`\r\nExit status 137\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 137.`\r\n\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "author": "shakkernerd", + "body": "Hi there, you seem to be using an older version (`0.1.5-alpha.6`).\r\nKindly update to latest (`0.1.6-alpha.4`)." + }, + { + "author": "whgreate", + "body": "don't understand how to do that, I'm on develop branch." + } + ] + } + ] + }, + "engagement": { + "total_comments": 2, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "vincentskele", + "score": 7, + "summary": "vincentskele is currently working on addressing an issue related to Discord agents knocking each other out of voice chat. This issue falls under the categories of \"Need Feedback\" and \"bug,\" with no code changes or commits made in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/147941271?u=7d01a4b50ee427df19e9b31bb0273500b71f72d0&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1145, + "title": "Discord agents knock each other out of VC", + "state": "OPEN", + "created_at": "2024-12-17T00:58:56Z", + "updated_at": "2024-12-17T09:25:18Z", + "body": "**Describe the bug**\r\n\r\nWhen running two agents in the same client one will join the discord voice channel and then when 2nd agent joins it kicks the first agent out of discord\r\n\r\n**Additional context**\r\n\r\n- whichever character is listed last is the one that stays in the voice channel\r\n- the same thing happens even if sending the agents to different voice channels. \r\n- only tested from 1 discord server, 2 unique servers may produce a different outcome", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + }, + { + "name": "Need Feedback", + "color": "2365DD", + "description": "" + } + ], + "comments": [ + { + "author": "shakkernerd", + "body": "Hi @vincentskele there is a potential fix in #1156 that is already merged into `develop` branch.\r\nKindly try that and give feedback." + } + ] + } + ] + }, + "engagement": { + "total_comments": 1, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "actions-user", + "score": 6, + "summary": "actions-user is primarily focused on updating the changelog, with three recent commits dedicated to this task. The code changes show a net addition of 186 lines and deletion of 3 lines. No pull requests or issues have been addressed during this period.", + "avatar_url": null, + "activity": { + "code": { + "total_commits": 3, + "total_prs": 0, + "commits": [ + { + "sha": "ea14167a66da4d892802fffa94b474d61daf63bc", + "message": "chore: update changelog", + "created_at": "2024-12-17T07:18:55Z", + "additions": 13, + "deletions": 0, + "changed_files": 1 + }, + { + "sha": "ed33650a236d3799ba881020ceefcc7f27eb3579", + "message": "chore: update changelog", + "created_at": "2024-12-17T03:49:03Z", + "additions": 12, + "deletions": 0, + "changed_files": 1 + }, + { + "sha": "2f85c744b45b4d0d8d5e0eb5333cf98c59611a53", + "message": "chore: update changelog", + "created_at": "2024-12-17T03:00:32Z", + "additions": 161, + "deletions": 3, + "changed_files": 1 + } + ], + "pull_requests": [] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "aeither", + "score": 6, + "summary": "aeither is currently working on updating the environment for the plugin-goat in the agent code area. This involves a single pull request with no merged changes, indicating ongoing development and potential future enhancements to the plugin-goat functionality.", + "avatar_url": "https://avatars.githubusercontent.com/u/36173828?u=48e2376ab68607483916e3fe69a98a597f3a25a9&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1180, + "title": "chore: update env for plugin-goat", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T14:59:06Z", + "updated_at": "2024-12-17T17:32:01Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nUpdate ALCHEMY_API_KEY to EVM_PROVIDER_URL for plugin-goat\r\nwhich is more accurate as user can provide any rpc URL. it is not an alchemy api key what needs to be provided\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "agent/src/index.ts", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "Will need to update the documentation" + } + ], + "comments": [ + { + "author": "aeither", + "body": "> Will need to update the documentation\n\nWhere?" + }, + { + "author": "odilitime", + "body": "search the repo for any mention of ALCHEMY_API_KEY\r\n\r\nif none, at a bare minimum include the instructions of the plugin README" + }, + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1180?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ai16z-demirix", + "score": 5, + "summary": "ai16z-demirix is currently working on adding tests for runtime.ts in the test package. They have also updated the README to reflect the switch to vitest.", + "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T22:45:37Z", + "updated_at": "2024-12-17T22:46:12Z", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/core/README-TESTS.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AbdelStark", + "score": 5, + "summary": "AbdelStark is currently working on implementing the Nostr client feature in the packages and agent code areas. This includes a single pull request for the new feature, with no code changes merged yet in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1181, + "title": "Feature: Implement Nostr client", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T17:33:34Z", + "updated_at": "2024-12-17T17:39:42Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "files": [ + { + "path": ".env.example", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 39, + "deletions": 14 + }, + { + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 13, + "deletions": 5 + }, + { + "path": "pnpm-lock.yaml", + "additions": 146, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "mradian1", + "score": 5, + "summary": "mradian1 is currently working on a pull request for an AI Companion to the CRASH game, focusing on characters and agent code areas. This is the only recent activity in the last 45 days, with no commits or code changes reported.", + "avatar_url": "https://avatars.githubusercontent.com/u/160105867?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1179, + "title": "AI Companion to CRASH game", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-17T13:40:36Z", + "updated_at": "2024-12-17T13:42:01Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": ".gitignore", + "additions": 0, + "deletions": 2 + }, + { + "path": "agent/.gitignore", + "additions": 0, + "deletions": 3 + }, + { + "path": "agent/src/crash/actions/taunt.ts", + "additions": 56, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 3, + "deletions": 1 + }, + { + "path": "characters/tate.character.json", + "additions": 1, + "deletions": 1 + }, + { + "path": "characters/taunting.character.json", + "additions": 108, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "salmanpot", + "score": 5, + "summary": "salmanpot is currently working on a feature branch for the \"km eliza bot\" in the characters, packages, agent, and eliza_client code areas. The pull request for this feature is still open and has not been merged yet.", + "avatar_url": "https://avatars.githubusercontent.com/u/112885964?u=6dcca073ed5cbc8301794a79e2011472335f45a9&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1169, + "title": "Feat/km eliza bot", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-17T10:01:32Z", + "updated_at": "2024-12-17T16:02:29Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "agent/.gitignore", + "additions": 0, + "deletions": 8 + }, + { + "path": "agent/src/index.ts", + "additions": 11, + "deletions": 34 + }, + { + "path": "agent/src/providers/twitter.ts", + "additions": 18, + "deletions": 0 + }, + { + "path": "agent/src/services/twitter/game.pdf", + "additions": 0, + "deletions": 0 + }, + { + "path": "agent/src/services/twitter/services.ts", + "additions": 71, + "deletions": 0 + }, + { + "path": "characters/trump.character.json", + "additions": 0, + "deletions": 350 + }, + { + "path": "eliza_client/eliza_client.py", + "additions": 180, + "deletions": 0 + }, + { + "path": "eliza_client/requirements.txt", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/client-direct/src/index.ts", + "additions": 14, + "deletions": 2 + }, + { + "path": "packages/client-twitter/src/post.ts", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [], + "comments": [ + { + "author": "odilitime", + "body": "no documentation, weird changes, doesn't look like you meant to PR it to the main repo" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "SumeetChougule", + "score": 4, + "summary": "SumeetChougule is currently working on fixing an issue with client.push and updating the README for Slack client verification in the characters, packages, and agent code areas. This work includes a single pull request that has not yet been merged, with no additional commits or code changes in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/101477214?u=7dddb5b1120e21b1c481bd7186d68d3fe76db437&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1182, + "title": "Fix client.push issue and update README for Slack client verification", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T17:53:28Z", + "updated_at": "2024-12-17T17:53:28Z", + "body": "Relates to:\r\nNo specific issue linked.\r\n\r\nRisks\r\nLow. The changes primarily involve bug fixes and documentation updates, which should not affect other parts of the system.\r\n\r\nBackground\r\nWhat does this PR do?\r\nThis pull request fixes a critical issue in the client initialization process by addressing the clients.push error. It also updates the README for the Slack client to include instructions on verifying event subscriptions.\r\n\r\nWhat kind of change is this?\r\nBug fixes\r\nDocumentation updates\r\nDocumentation changes needed?\r\nMy changes require a change to the project documentation. The README has been updated accordingly.\r\n\r\nTesting\r\nWhere should a reviewer start?\r\nReview the changes in agent/src/index.ts for the client initialization fix and the updated README.md in the packages/client-slack directory.\r\n\r\nDetailed testing steps\r\nVerify that the client initialization process does not produce errors.\r\nEnsure the Slack client README includes the new section on event subscription verification.", + "files": [ + { + "path": ".gitignore", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 3 + }, + { + "path": "characters/trump.character.json", + "additions": 1, + "deletions": 1 + }, + { + "path": "ngrok.log", + "additions": 10, + "deletions": 0 + }, + { + "path": "package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/client-slack/README.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/client-slack/src/environment.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "pnpm-lock.yaml", + "additions": 22174, + "deletions": 16933 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "jzvikart", + "score": 4, + "summary": "jzvikart is currently working on fixing integration tests and making improvements to the library in the areas of tests, .github, packages, and agent. This includes a single pull request for the integration tests fixes and library enhancements, with no merged changes in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/7929905?u=d54ea7bb2ef0bc7fae6f010f70decfaa559cbc30&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1177, + "title": "feat: integration tests fixes + library improvements", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T11:55:32Z", + "updated_at": "2024-12-17T15:56:20Z", + "body": "# Risks\r\nVery low. Worst case this could break the tests or introduce problems with dependencies.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis builds on top of previous changes that introduced the first version of integration tests framework. These changes:\r\n- fix some existing issues with smoke and integration tests failing (esp. giving agent a fixed time to start that was not always sufficient)\r\n- extend integration test library with a full wrapper for setting up / tearing down a test\r\n- refactor existing integration test (\"Hello Trump\") to use new library\r\n- fix a potential issue with possible leak of API keys (not related to integration tests themselves)\r\n- remove a dependency that was previously added but is no longer required\r\n\r\n## What kind of change is this?\r\nImprovement + bug fix + feature\r\n\r\n## Why are we doing this? Any context or related work?\r\nThis is to improve overall project quality via better testing..\r\n\r\n# Documentation changes needed?\r\nNone\r\n\r\n# Testing\r\nTo test the tests, these changes need to be run in CI workflow.\r\nIf either smoke or integration tests fail, the PR should NOT be merged. In that case we will check the logs and update the PR as necessary.\r\n\r\n# Deploy Notes\r\nNone\r\n\r\n## Database changes\r\nNone\r\n\r\n## Deployment instructions\r\nNone\r\n\r\n## Discord username\r\nuser98634", + "files": [ + { + "path": ".github/workflows/integrationTests.yaml", + "additions": 1, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 2, + "deletions": 1 + }, + { + "path": "package.json", + "additions": 1, + "deletions": 2 + }, + { + "path": "packages/core/src/logger.ts", + "additions": 0, + "deletions": 1 + }, + { + "path": "pnpm-lock.yaml", + "additions": 709, + "deletions": 783 + }, + { + "path": "tests/test1.mjs", + "additions": 14, + "deletions": 23 + }, + { + "path": "tests/testLibrary.mjs", + "additions": 81, + "deletions": 36 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tripluca", + "score": 4, + "summary": "tripluca is currently working on a pull request to fix a language issue in the logger, specifically changing 'INFORMATIONS' to 'INFORMATION' for correct English usage. The work is focused on the 'packages' code area, with no other recent activity in terms of commits, code changes, or issues.", + "avatar_url": "https://avatars.githubusercontent.com/u/78784902?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1176, + "title": "fix: Change 'INFORMATIONS' to 'INFORMATION' to use correct English in logger", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-17T11:40:20Z", + "updated_at": "2024-12-17T16:32:43Z", + "body": "# Relates to:\r\nN/A - grammatical fix\r\n\r\n# Risks\r\nLow - Simple text change correcting English grammar in logging output\r\n\r\n# Background\r\n## What does this PR do?\r\nFixes incorrect English usage in logger.ts by changing \"INFORMATIONS\" to \"INFORMATION\", as \"information\" is an uncountable noun in English that doesn't have a plural form.\r\n\r\n## What kind of change is this?\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n## Where should a reviewer start?\r\nCheck packages/core/src/logger.ts - the change is a single word modification.\r\n\r\n## Detailed testing steps\r\nNone, automated tests are fine.\r\n\r\nNote: This PR is based on v0.1.6-alpha.1", + "files": [ + { + "path": "packages/core/src/logger.ts", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "odilitime", + "body": "Informations is a collection of information-tagged items. It is correct in this context" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "nicky-ru", + "score": 4, + "summary": "nicky-ru is currently working on a pull request to add a lint script for the plugin evm and fix lint errors in the 'packages' code area. This is the only recent activity in the last 45 days, with no commits or merged pull requests.", + "avatar_url": "https://avatars.githubusercontent.com/u/64008830?u=d26f4e5c9c07625bb42f8f4b3154df60a8ca5527&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1171, + "title": "fix: add lint script for plugin evm and fix lint errors", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-17T10:31:16Z", + "updated_at": "2024-12-17T17:59:25Z", + "body": "# Risks\r\n\r\nNone\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nImprovements:\r\n1. Fixed Chain Name Formatting:\r\n- Object generation sometimes returned the chain name without quotes, causing the transfer action to fail.\r\n- Improved this behavior by ensuring quotes are added in the constraint:\r\n```ts\r\nchains.map((item) => `\"${item}\"`).join(\"|\")\r\n```\r\n2. Added Linting Script:\r\n- Introduced a linting script to the project and fixed the linting errors.\r\n3. Restored Transfer Action Logic:\r\n- The merge of #965 degraded the transfer action by ignoring the buildTransferDetails() function.\r\n- This function has been reintegrated into the transfer action.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Try initiate a transfer action with on the evm chain of your choice, the agent should correctly pick the chain.\r\n\r\nThe rest of the changes rely on automated tests.\r\n\r\n## Discord username\r\n\r\nnikita_zhou\r\n", + "files": [ + { + "path": "packages/client-discord/src/voice.ts", + "additions": 18, + "deletions": 4 + }, + { + "path": "packages/plugin-evm/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-evm/package.json", + "additions": 2, + "deletions": 1 + }, + { + "path": "packages/plugin-evm/src/actions/swap.ts", + "additions": 0, + "deletions": 1 + }, + { + "path": "packages/plugin-evm/src/actions/transfer.ts", + "additions": 11, + "deletions": 24 + }, + { + "path": "packages/plugin-evm/src/providers/wallet.ts", + "additions": 2, + "deletions": 2 + }, + { + "path": "packages/plugin-evm/src/tests/transfer.test.ts", + "additions": 2, + "deletions": 2 + }, + { + "path": "packages/plugin-evm/src/tests/wallet.test.ts", + "additions": 39, + "deletions": 35 + }, + { + "path": "packages/plugin-evm/src/types/index.ts", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "CHANGES_REQUESTED", + "body": "Thanks for doing this please add a screengrab or test of this working thanks:) " + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "snobbee", + "score": 2, + "summary": "snobbee is currently working on addressing critical bugs related to the application crashing on startup, with a focus on resolving these issues to ensure the stability of the software. Despite no code changes or commits in the last 45 days, snobbee's attention is directed towards actively engaging with and resolving reported issues.", + "avatar_url": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1173, + "title": "Bug: Application crashes on startup", + "state": "CLOSED", + "created_at": "2024-12-17T10:43:05Z", + "updated_at": "2024-12-17T10:43:17Z", + "body": "The application crashes on startup. No additional context or error messages have been provided.", + "labels": [], + "comments": [] + }, + { + "number": 1172, + "title": "Bug: Application crashes on startup", + "state": "CLOSED", + "created_at": "2024-12-17T10:34:58Z", + "updated_at": "2024-12-17T10:36:32Z", + "body": "The application crashes upon startup. Please investigate the error codes and any relevant stack traces to diagnose the issue.", + "labels": [], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Semfoxm", + "score": 1, + "summary": "Semfoxm is currently addressing a bug reported in the GitHub issue tracker, with no pull requests or commits made in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/114817283?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1188, + "title": "semfoxm", + "state": "OPEN", + "created_at": "2024-12-17T21:11:03Z", + "updated_at": "2024-12-17T21:11:03Z", + "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ilmari-h", + "score": 1, + "summary": "ilmari-h is currently working on an enhancement to allow requiring an API key for calling the direct client. This involves addressing a specific issue related to API key authentication within the project.", + "avatar_url": "https://avatars.githubusercontent.com/u/52321471?u=839cd428eb4798d5dd5235a01eb4148128995d0f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1175, + "title": "Allow requiring API key for calling direct client", + "state": "OPEN", + "created_at": "2024-12-17T11:27:50Z", + "updated_at": "2024-12-17T11:27:50Z", + "body": "I would like to be able to require an API key for communicating with my agent via the direct client rest API.\r\nI did not find a built in way to do this.\r\n\r\nI would propose adding an optional `DirectClientOptions` parameter to the `DirectClient` constructor that contains property API-key.\r\nThe direct client would then return 401 to any request that does not have the header `Authorization: Bearer YOUR_API_KEY`\r\n\r\nI will gladly implement this myself if it makes sense as a feature to others", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Ninoambaraa", + "score": 1, + "summary": "Ninoambaraa is currently addressing an issue related to errors encountered when attempting to deploy using a Dockerfile. The focus of their recent work has been on resolving this bug, with no new code changes or commits made in the last 45 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/151893355?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1168, + "title": "Error when trying deploy using dockerfile", + "state": "OPEN", + "created_at": "2024-12-17T09:43:05Z", + "updated_at": "2024-12-17T09:43:05Z", + "body": "I'm trying deploy using docker file \r\n```\r\n# Use stable Node.js LTS version\r\nFROM node:22-slim\r\n\r\n# Install system dependencies\r\nRUN apt-get update && apt-get install -y \\\r\n build-essential \\\r\n python3 \\\r\n git \\\r\n ca-certificates \\\r\n sqlite3 \\\r\n libsqlite3-dev \\\r\n && apt-get clean && rm -rf /var/lib/apt/lists/*\r\n\r\n# Install pnpm\r\nRUN npm install -g pnpm@9.4.0\r\n\r\n# Set working directory\r\nWORKDIR /app\r\n\r\n# Copy package files\r\nCOPY package.json pnpm-lock.yaml ./\r\n\r\n# Install dependencies\r\nRUN pnpm install --frozen-lockfile\r\n\r\n# Rebuild native modules\r\nRUN pnpm rebuild better-sqlite3\r\n\r\n# Copy application files\r\nCOPY . .\r\n\r\n# Expose application port\r\nEXPOSE 3000\r\n\r\n# Start the application with debugging\r\nCMD [\"pnpm\" , \"start\"]\r\n\r\n```\r\n\r\nand i get this error \r\n```\r\n\u26d4 ERRORS\r\n Unhandled error in startAgents: \r\n {\"code\":\"ERR_USE_AFTER_CLOSE\"} \r\n```", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + } +] \ No newline at end of file diff --git a/data/daily/history/issues_2024_12_18.json b/data/daily/history/issues_2024_12_18.json new file mode 100644 index 0000000..be4e410 --- /dev/null +++ b/data/daily/history/issues_2024_12_18.json @@ -0,0 +1,212 @@ +[ + { + "id": "I_kwDOMT5cIs6j1uaX", + "number": 1213, + "title": "chat stuck in infinite loop", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", + "state": "OPEN", + "createdAt": "2024-12-18T21:19:34Z", + "updatedAt": "2024-12-18T21:19:34Z", + "author": { + "login": "sam-coffey", + "avatarUrl": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWA", + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + }, + { + "id": "I_kwDOMT5cIs6jz6gl", + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b)\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", + "state": "OPEN", + "createdAt": "2024-12-18T14:02:01Z", + "updatedAt": "2024-12-18T18:29:36Z", + "author": { + "login": "tekspirit", + "avatarUrl": "https://avatars.githubusercontent.com/u/1505004?u=59283365bced9a568f4a3ea86310ee38f4b5003c&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWA", + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YG7Hb", + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" + }, + { + "id": "IC_kwDOMT5cIs6YHH_r", + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." + } + ] + }, + { + "id": "I_kwDOMT5cIs6jxA-5", + "number": 1204, + "title": "unable to chat in terminal", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "state": "OPEN", + "createdAt": "2024-12-18T11:19:12Z", + "updatedAt": "2024-12-18T12:41:24Z", + "author": { + "login": "Longame208", + "avatarUrl": "https://avatars.githubusercontent.com/u/79878000?v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWA", + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YEFix", + "author": "jaycoolh", + "body": "Same error here" + }, + { + "id": "IC_kwDOMT5cIs6YEGQE", + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" + }, + { + "id": "IC_kwDOMT5cIs6YEHCF", + "author": "jaycoolh", + "body": "[\"โ—Ž Visit the following URL to chat with your agents:\"]\r\n\r\n [\"โ—Ž http://localhost:5173\"]\r\n\r\n [\"โœ“ REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" + }, + { + "id": "IC_kwDOMT5cIs6YEIsG", + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" + } + ] + }, + { + "id": "I_kwDOMT5cIs6jvwwA", + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", + "state": "OPEN", + "createdAt": "2024-12-18T08:59:15Z", + "updatedAt": "2024-12-18T08:59:15Z", + "author": { + "login": "madjin", + "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWw", + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" + }, + { + "id": "LA_kwDOMT5cIs8AAAABrA0qYA", + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + }, + { + "id": "I_kwDOMT5cIs6jt6h0", + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", + "state": "OPEN", + "createdAt": "2024-12-18T04:16:18Z", + "updatedAt": "2024-12-18T08:38:48Z", + "author": { + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qYA", + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + }, + { + "id": "LA_kwDOMT5cIs8AAAABrA0qYg", + "name": "good first issue", + "color": "7057ff", + "description": "Good for newcomers" + }, + { + "id": "LA_kwDOMT5cIs8AAAAB1sfhyA", + "name": "logging", + "color": "ededed", + "description": null + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YCIDm", + "author": "9547", + "body": "@monilpat may I take this one?" + } + ] + }, + { + "id": "I_kwDOMT5cIs6jtKs0", + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "state": "CLOSED", + "createdAt": "2024-12-18T01:45:28Z", + "updatedAt": "2024-12-18T01:46:15Z", + "author": { + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qYA", + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } +] diff --git a/data/daily/history/prs_2024_12_18.json b/data/daily/history/prs_2024_12_18.json new file mode 100644 index 0000000..3489eb4 --- /dev/null +++ b/data/daily/history/prs_2024_12_18.json @@ -0,0 +1,2437 @@ +[ + { + "id": "PR_kwDOMT5cIs6FtFmV", + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-18T22:13:34Z", + "updatedAt": "2024-12-18T22:14:37Z", + "author": { + "login": "chefron", + "avatarUrl": "https://avatars.githubusercontent.com/u/98501301?v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Provider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6Fs0q3", + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T21:21:53Z", + "updatedAt": "2024-12-18T21:28:14Z", + "author": { + "login": "vpavlin", + "avatarUrl": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4" + }, + "labels": [], + "files": [ + { + "path": "agent/src/index.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/core/src/generation.ts", + "additions": 2, + "deletions": 1 + } + ], + "reviews": [], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YIQFz", + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6Fsrin", + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T20:54:14Z", + "updatedAt": "2024-12-18T20:54:14Z", + "author": { + "login": "BlockchainCake", + "avatarUrl": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4" + }, + "labels": [], + "files": [ + { + "path": "agent/package.json", + "additions": 2, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 32, + "deletions": 1 + }, + { + "path": "packages/client-evm/README.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 + }, + { + "path": "packages/client-evm/package.json", + "additions": 21, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/types.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-evm/tsconfig.json", + "additions": 23, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 + }, + { + "path": "tsconfig.json", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FsC8P", + "number": 1211, + "title": "chore: New docs", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T19:04:47Z", + "updatedAt": "2024-12-18T20:26:44Z", + "author": { + "login": "madjin", + "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 33, + "deletions": 23 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 12, + "deletions": 12 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 12, + "deletions": 6 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectDeprecated.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTweetActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseActionResponseFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ActionResponse.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/IAgentConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6Vw_fL", + "author": "odilitime", + "body": "", + "state": "APPROVED" + }, + { + "id": "PRR_kwDOMT5cIs6VxkIZ", + "author": "monilpat", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FrtRJ", + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T18:10:29Z", + "updatedAt": "2024-12-18T18:25:06Z", + "author": { + "login": "odilitime", + "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + }, + { + "id": "LA_kwDOMT5cIs8AAAAB1qz4XA", + "name": "needs_documentation", + "color": "C93F64", + "description": "" + } + ], + "files": [ + { + "path": ".env.example", + "additions": 7, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/schema.sql", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, + "deletions": 1 + }, + { + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 + }, + { + "path": "packages/adapter-sqlite/src/sqliteTables.ts", + "additions": 10, + "deletions": 0 + }, + { + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 + }, + { + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 + }, + { + "path": "packages/core/src/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FrMNE", + "number": 1209, + "title": "docs: Update README.md", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\tโ€ข\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\tโ€ข\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T16:46:43Z", + "updatedAt": "2024-12-18T17:21:57Z", + "author": { + "login": "marcNY", + "avatarUrl": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4" + }, + "labels": [], + "files": [ + { + "path": "README.md", + "additions": 1, + "deletions": 2 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwNkS", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FqYwJ", + "number": 1207, + "title": "fix: gitpod cicd bug", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T15:06:25Z", + "updatedAt": "2024-12-18T19:43:00Z", + "author": { + "login": "v1xingyue", + "avatarUrl": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4" + }, + "labels": [], + "files": [ + { + "path": ".gitpod.yml", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwMVG", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YFfh1", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6FpD6y", + "number": 1205, + "title": "fix: write summary file before trying to cache it", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T12:28:33Z", + "updatedAt": "2024-12-18T17:17:36Z", + "author": { + "login": "tobbelobb", + "avatarUrl": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 + } + ], + "reviews": [], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YGofA", + "author": "odilitime", + "body": "code looks good will test later" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6Fn4Fn", + "number": 1203, + "title": "feat: Implement Nostr client", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\nย  - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\nย  - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T09:55:14Z", + "updatedAt": "2024-12-18T20:52:26Z", + "author": { + "login": "AbdelStark", + "avatarUrl": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ + { + "path": ".env.example", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 60, + "deletions": 59 + }, + { + "path": "agent/src/index.ts", + "additions": 18, + "deletions": 8 + }, + { + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 + }, + { + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, + "deletions": 18 + }, + { + "path": "pnpm-lock.yaml", + "additions": 146, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6Vxt9a", + "author": "odilitime", + "body": "", + "state": "COMMENTED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YGnDF", + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" + }, + { + "id": "IC_kwDOMT5cIs6YGrTG", + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." + } + ] + }, + { + "id": "PR_kwDOMT5cIs6Fn2lU", + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T09:52:31Z", + "updatedAt": "2024-12-18T10:11:57Z", + "author": { + "login": "netdragonx", + "avatarUrl": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/client-twitter/src/index.ts", + "additions": 14, + "deletions": 17 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FnbCY", + "number": 1201, + "title": "docs(cn): add python 3.7", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T09:00:53Z", + "updatedAt": "2024-12-18T17:39:58Z", + "author": { + "login": "9547", + "avatarUrl": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4" + }, + "labels": [], + "files": [ + { + "path": "README_CN.md", + "additions": 2, + "deletions": 3 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwGx3", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YGyJ3", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6FnACK", + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T08:04:22Z", + "updatedAt": "2024-12-18T17:23:19Z", + "author": { + "login": "Hdpbilly", + "avatarUrl": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1qz4XA", + "name": "needs_documentation", + "color": "C93F64", + "description": "" + } + ], + "files": [ + { + "path": "packages/client-direct/src/api.ts", + "additions": 259, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwGVf", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FmrMc", + "number": 1198, + "title": "feat: Client secrets validation", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T07:17:10Z", + "updatedAt": "2024-12-18T22:33:35Z", + "author": { + "login": "odilitime", + "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + } + ], + "files": [ + { + "path": "agent/src/index.ts", + "additions": 22, + "deletions": 9 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 + }, + { + "path": "packages/client-telegram/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/client-telegram/src/index.ts", + "additions": 22, + "deletions": 0 + }, + { + "path": "packages/client-twitter/src/base.ts", + "additions": 14, + "deletions": 7 + }, + { + "path": "packages/client-twitter/src/index.ts", + "additions": 17, + "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VyTBl", + "author": "cygaar", + "body": "", + "state": "COMMENTED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FmTty", + "number": 1196, + "title": "docs: Update \"CN README\" with more details", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T06:12:33Z", + "updatedAt": "2024-12-18T17:29:45Z", + "author": { + "login": "tomguluson92", + "avatarUrl": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4" + }, + "labels": [], + "files": [ + { + "path": "README_CN.md", + "additions": 58, + "deletions": 6 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwQXT", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YBMMa", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6FmD-X", + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-18T05:26:54Z", + "updatedAt": "2024-12-18T05:27:15Z", + "author": { + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" + }, + "labels": [], + "files": [ + { + "path": ".env.example", + "additions": 2, + "deletions": 7 + }, + { + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 + }, + { + "path": ".gitignore", + "additions": 5, + "deletions": 1 + }, + { + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 + }, + { + "path": "characters/chronis.character.json", + "additions": 321, + "deletions": 0 + }, + { + "path": "characters/logging-addict.character.json", + "additions": 262, + "deletions": 0 + }, + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 76, + "deletions": 0 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/composeContext.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/configureSettings.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatPosts.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateCaption.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObject.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateObjectV2.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ActionExample.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/Actor.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FlZcs", + "number": 1193, + "title": "Feature/news plugin", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-18T02:55:07Z", + "updatedAt": "2024-12-18T02:55:44Z", + "author": { + "login": "cwrage77", + "avatarUrl": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4" + }, + "labels": [], + "files": [ + { + "path": ".gitignore", + "additions": 56, + "deletions": 54 + }, + { + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 + }, + { + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 + }, + { + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6Fkph3", + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T00:10:51Z", + "updatedAt": "2024-12-18T02:00:30Z", + "author": { + "login": "ileana-pr", + "avatarUrl": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/docs/contributing.md", + "additions": 5, + "deletions": 5 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VpJxF", + "author": "monilpat", + "body": "LGTM - thanks :) ", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6X_8Px", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6FkN7C", + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-17T22:45:37Z", + "updatedAt": "2024-12-18T02:07:57Z", + "author": { + "login": "ai16z-demirix", + "avatarUrl": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/core/README-TESTS.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VpMxo", + "author": "monilpat", + "body": "LGTM thanks for doing this :) ", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6X-yCF", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + } + ] + } +] diff --git a/data/daily/history/summary_2024_12_18.json b/data/daily/history/summary_2024_12_18.json new file mode 100644 index 0000000..281c815 --- /dev/null +++ b/data/daily/history/summary_2024_12_18.json @@ -0,0 +1,76 @@ +{ + "title": "ai16z Eliza (2024-12-17)", + "version": "bump version to 0.1.6-alpha.4", + "overview": "Development focused on package improvements (client twitter login and auth handler), new features (make script dash compatible), 6 bug fixes, with 28 contributors merging 16 PRs. Major work included shakkernerd is currently working on merging pull requests related to fixing issues with the start script, client twitter, and fetching logs debug.", + "metrics": { + "contributors": 28, + "merged_prs": 16, + "new_issues": 18, + "lines_changed": 5402 + }, + "changes": { + "features": [ + "make script dash compatible", + "update packages version script" + ], + "fixes": [ + "client twitter login and auth handler", + "fetch log level to debug", + "fix direct-client ability to start agents" + ], + "chores": [ + "bump version to 0.1.6-alpha.4", + "develop into main", + "bump version to 0.1.6-alpha.3" + ] + }, + "areas": [ + { + "name": "packages", + "files": 93, + "additions": 1220, + "deletions": 1185 + }, + { + "name": "docs", + "files": 87, + "additions": 980, + "deletions": 614 + }, + { + "name": "root", + "files": 13, + "additions": 498, + "deletions": 121 + } + ], + "issues_summary": "working on 9 bugs including 'media parameter is missing Error on Main Branch', 'Long tweets fail with error Tweet needs to be a bit shorter (Code 186)' and implementing 7 feature requests including 'request: databaseAdapter.getMemoryByIds', 'Plugin Create Command'", + "questions": [], + "top_contributors": [ + { + "name": "shakkernerd", + "summary": "shakkernerd is currently working on merging pull requests related to fixing issues with the start script, client Twitter, and fetching logs debug", + "areas": [ + "agent", + "client", + "lerna.json" + ] + }, + { + "name": "odilitime", + "summary": "odilitime is currently working on enhancing the fomo integration and fixing issues related to the direct-client ability to start agents", + "areas": [ + ".npmrc", + "agent", + "characters" + ] + }, + { + "name": "YoungPhlo", + "summary": "YoungPhlo is currently updating the spaces notes in the \"What Did You Get Done This Week? 5\" documentation", + "areas": [ + "docs" + ] + } + ] +} \ No newline at end of file diff --git a/data/daily/history/summary_2024_12_18.md b/data/daily/history/summary_2024_12_18.md new file mode 100644 index 0000000..9b930e4 --- /dev/null +++ b/data/daily/history/summary_2024_12_18.md @@ -0,0 +1,44 @@ +# ai16z Eliza (2024-12-17) + +## ๐Ÿ“Š Overview +Development focused on package improvements (client twitter login and auth handler), new features (make script dash compatible), 6 bug fixes, with 28 contributors merging 16 PRs. Major work included shakkernerd is currently working on merging pull requests related to fixing issues with the start script, client twitter, and fetching logs debug. + +## ๐Ÿ“ˆ Key Metrics +| Metric | Count | +|---------|--------| +| ๐Ÿ‘ฅ Contributors | 28 | +| ๐Ÿ“ Commits | 43 | +| ๐Ÿ”„ Merged PRs | 16 | +| โš ๏ธ New Issues | 18 | + +## ๐Ÿ”„ Pull Request Summary +- ๐Ÿงน **Chores**: 7 +- ๐Ÿ› **Fixes**: 6 +- โœจ **Features**: 2 + +## ๐Ÿ“ File Changes +- **packages**: 93 files (+1220/-1185 lines) +- **docs**: 87 files (+980/-614 lines) +- **root**: 13 files (+498/-121 lines) +- **agent**: 8 files (+193/-159 lines) +- **characters**: 2 files (+196/-0 lines) + +## ๐Ÿ”ฅ Notable Changes +- feat: make script dash compatible +- chore: bump version to 0.1.6-alpha.4 +- fix: client twitter login and auth handler + +## ๐Ÿ‘ฅ Top Contributors +- **shakkernerd**: shakkernerd is currently working on merging pull requests related to fixing issues with the start script, client Twitter, and fetching logs debug +- **odilitime**: odilitime is currently working on enhancing the fomo integration and fixing issues related to the direct-client ability to start agents +- **YoungPhlo**: YoungPhlo is currently updating the spaces notes in the "What Did You Get Done This Week? 5" documentation + +## โš ๏ธ Issues +- **New Issues**: 18 +- **Labels**: `bug` (9), `enhancement` (7), `good first issue` (1) +- **Summary**: 9 bugs reported (including 'media parameter is missing Error on Main Branch', 'Long tweets fail with error Tweet needs to be a bit shorter (Code 186)') 7 feature requests (including 'request: databaseAdapter.getMemoryByIds', 'Plugin Create Command'). + +## Top Contributors +- **shakkernerd**: feat: make script dash compatible +- **odilitime**: fix: fix direct-client ability to start agents +- **YoungPhlo**: docs: Update "What Did You Get Done This Week? 5" spaces notes \ No newline at end of file diff --git a/data/daily/issues.json b/data/daily/issues.json index 1f73b32..be4e410 100644 --- a/data/daily/issues.json +++ b/data/daily/issues.json @@ -1,37 +1,15 @@ [ { - "id": "I_kwDOMT5cIs6jrhcb", - "number": 1189, - "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nThe current logging mechanism in the /packages/plugin-coinbase/src/plugins is not providing sufficient detail for debugging and monitoring purposes.\r\n\r\n**Describe the solution you'd like**\r\n\r\nEnhance the logging framework to include more comprehensive log messages, including error details, transaction states, and API request/response data.\r\n\r\n**Describe alternatives you've considered**\r\n\r\nConsidered using third-party logging libraries that can be integrated into the existing setup for better log management and analysis.\r\n\r\n**Additional context**\r\n\r\nImproved logging can help in quicker issue resolution and provide better insights into the plugin's performance and behavior during both development and production stages.", - "state": "CLOSED", - "createdAt": "2024-12-17T21:19:29Z", - "updatedAt": "2024-12-17T21:24:30Z", - "author": { - "login": "monilpat", - "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qYA", - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6jrbxS", - "number": 1188, - "title": "semfoxm", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "id": "I_kwDOMT5cIs6j1uaX", + "number": 1213, + "title": "chat stuck in infinite loop", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", "state": "OPEN", - "createdAt": "2024-12-17T21:11:03Z", - "updatedAt": "2024-12-17T21:11:03Z", + "createdAt": "2024-12-18T21:19:34Z", + "updatedAt": "2024-12-18T21:19:34Z", "author": { - "login": "Semfoxm", - "avatarUrl": "https://avatars.githubusercontent.com/u/114817283?v=4" + "login": "sam-coffey", + "avatarUrl": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4" }, "labels": [ { @@ -44,66 +22,16 @@ "comments": [] }, { - "id": "I_kwDOMT5cIs6jqdfh", - "number": 1186, - "title": "request: databaseAdapter.getMemoryByIds", - "body": "Need databaseAdapter.getMemoryByIds for all current database adapters", + "id": "I_kwDOMT5cIs6jz6gl", + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b)\n", + "id": "I_kwDOMT5cIs6jyb5q", + "number": 1206, + "title": "double backslash when posting to X", + "body": "**Describe the bug**\r\nEliza is posting an '\\\\n\\\\n' to X instead of two carriage returns. This is using CLAUDE_VERTEX.\r\n\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", "state": "OPEN", - "createdAt": "2024-12-17T13:20:41Z", - "updatedAt": "2024-12-17T15:18:46Z", + "createdAt": "2024-12-18T14:02:01Z", + "updatedAt": "2024-12-18T18:29:36Z", "author": { - "login": "tcm390", - "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4" + "login": "tekspirit", + "avatarUrl": "https://avatars.githubusercontent.com/u/1505004?u=59283365bced9a568f4a3ea86310ee38f4b5003c&v=4" }, "labels": [ { @@ -133,112 +61,32 @@ "name": "bug", "color": "d73a4a", "description": "Something isn't working" - }, - { - "id": "LA_kwDOMT5cIs8AAAAB1p4EPg", - "name": "src: Discord", - "color": "C5DEF5", - "description": "" } ], "comments": [ { - "id": "IC_kwDOMT5cIs6X5si2", - "author": "shakkernerd", - "body": "Hi @tcm390 could you add a direct link to the message for all issues gotten from discord. \r\nThis is to help with investigation since there might have been some conversation around it." + "id": "IC_kwDOMT5cIs6YG7Hb", + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" }, { - "id": "IC_kwDOMT5cIs6X51_X", - "author": "tcm390", - "body": "> Hi [@tcm390](https://github.com/tcm390) could you add a direct link to the message for all issues gotten from discord. This is to help with investigation since there might have been some conversation around it.\n\nyes, updated." + "id": "IC_kwDOMT5cIs6YHH_r", + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." } ] }, { - "id": "I_kwDOMT5cIs6jmHTa", - "number": 1175, - "title": "Allow requiring API key for calling direct client", - "body": "I would like to be able to require an API key for communicating with my agent via the direct client rest API.\r\nI did not find a built in way to do this.\r\n\r\nI would propose adding an optional `DirectClientOptions` parameter to the `DirectClient` constructor that contains property API-key.\r\nThe direct client would then return 401 to any request that does not have the header `Authorization: Bearer YOUR_API_KEY`\r\n\r\nI will gladly implement this myself if it makes sense as a feature to others", - "state": "OPEN", - "createdAt": "2024-12-17T11:27:50Z", - "updatedAt": "2024-12-17T11:27:50Z", - "author": { - "login": "ilmari-h", - "avatarUrl": "https://avatars.githubusercontent.com/u/52321471?u=839cd428eb4798d5dd5235a01eb4148128995d0f&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qYA", - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6jlt1I", - "number": 1173, - "title": "Bug: Application crashes on startup", - "body": "The application crashes on startup. No additional context or error messages have been provided.", - "state": "CLOSED", - "createdAt": "2024-12-17T10:43:05Z", - "updatedAt": "2024-12-17T10:43:17Z", - "author": { - "login": "snobbee", - "avatarUrl": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4" - }, - "labels": [], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6jlpZM", - "number": 1172, - "title": "Bug: Application crashes on startup", - "body": "The application crashes upon startup. Please investigate the error codes and any relevant stack traces to diagnose the issue.", - "state": "CLOSED", - "createdAt": "2024-12-17T10:34:58Z", - "updatedAt": "2024-12-17T10:36:32Z", - "author": { - "login": "snobbee", - "avatarUrl": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4" - }, - "labels": [], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6jlJ4w", - "number": 1168, - "title": "Error when trying deploy using dockerfile", - "body": "I'm trying deploy using docker file \r\n```\r\n# Use stable Node.js LTS version\r\nFROM node:22-slim\r\n\r\n# Install system dependencies\r\nRUN apt-get update && apt-get install -y \\\r\n build-essential \\\r\n python3 \\\r\n git \\\r\n ca-certificates \\\r\n sqlite3 \\\r\n libsqlite3-dev \\\r\n && apt-get clean && rm -rf /var/lib/apt/lists/*\r\n\r\n# Install pnpm\r\nRUN npm install -g pnpm@9.4.0\r\n\r\n# Set working directory\r\nWORKDIR /app\r\n\r\n# Copy package files\r\nCOPY package.json pnpm-lock.yaml ./\r\n\r\n# Install dependencies\r\nRUN pnpm install --frozen-lockfile\r\n\r\n# Rebuild native modules\r\nRUN pnpm rebuild better-sqlite3\r\n\r\n# Copy application files\r\nCOPY . .\r\n\r\n# Expose application port\r\nEXPOSE 3000\r\n\r\n# Start the application with debugging\r\nCMD [\"pnpm\" , \"start\"]\r\n\r\n```\r\n\r\nand i get this error \r\n```\r\nโ›” ERRORS\r\n Unhandled error in startAgents: \r\n {\"code\":\"ERR_USE_AFTER_CLOSE\"} \r\n```", + "id": "I_kwDOMT5cIs6jxA-5", + "number": 1204, + "title": "unable to chat in terminal", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "state": "OPEN", - "createdAt": "2024-12-17T09:43:05Z", - "updatedAt": "2024-12-17T09:43:05Z", + "createdAt": "2024-12-18T11:19:12Z", + "updatedAt": "2024-12-18T12:41:24Z", "author": { - "login": "Ninoambaraa", - "avatarUrl": "https://avatars.githubusercontent.com/u/151893355?v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6jlCWI", - "number": 1167, - "title": "Unable to run `pnpm install --no-frozen-lockfile` on v0.1.6-alpha.4", - "body": "**Describe the bug**\r\n\r\nI found the following error on a fresh checkout:\r\n\r\n```\r\n# set variable identifying the chroot you work in (used in the prompt below)\r\n# set a fancy prompt (non-color, unless we know we \"want\" color)\r\nโ”‚ (Use `node --trace-deprecation ...` to show where the warning was created)\r\nโ”‚ node-pre-gyp info check checked for \"/root/github/eliza/node_modules/@discordjs/opus/prebuild/node-v131-napi-v3-linux-x64-glibc-2.39/opus.node\" (not found)\r\nโ”‚ node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\nโ”‚ node-pre-gyp ERR! install response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\nโ”‚ node-pre-gyp WARN Pre-built binaries not installable for @discordjs/opus@0.9.0 and node@23.4.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp)\r\nโ”‚ node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\nโ”‚ gyp info it worked if it ends with ok\r\nโ”‚ gyp info using node-gyp@10.3.1\r\nโ”‚ gyp info using node@23.4.0 | linux | x64\r\nโ”‚ gyp info ok\r\n```\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "state": "OPEN", - "createdAt": "2024-12-17T09:30:31Z", - "updatedAt": "2024-12-17T21:04:37Z", - "author": { - "login": "qizhou", - "avatarUrl": "https://avatars.githubusercontent.com/u/2541286?v=4" + "login": "Longame208", + "avatarUrl": "https://avatars.githubusercontent.com/u/79878000?v=4" }, "labels": [ { @@ -250,35 +98,46 @@ ], "comments": [ { - "id": "IC_kwDOMT5cIs6X5lk4", - "author": "ateett12ue", - "body": "I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me." + "id": "IC_kwDOMT5cIs6YEFix", + "author": "jaycoolh", + "body": "Same error here" }, { - "id": "IC_kwDOMT5cIs6X9Vwt", - "author": "nhtera", - "body": "> I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me.\r\n\r\nWhat pnpm version you are using?" + "id": "IC_kwDOMT5cIs6YEGQE", + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" }, { - "id": "IC_kwDOMT5cIs6X-DcM", - "author": "ateett12ue", - "body": "v9.15.0\r\n" + "id": "IC_kwDOMT5cIs6YEHCF", + "author": "jaycoolh", + "body": "[\"โ—Ž Visit the following URL to chat with your agents:\"]\r\n\r\n [\"โ—Ž http://localhost:5173\"]\r\n\r\n [\"โœ“ REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" + }, + { + "id": "IC_kwDOMT5cIs6YEIsG", + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" } ] }, { - "id": "I_kwDOMT5cIs6jk4Bg", - "number": 1166, - "title": "Plugin Create Command", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nUsing with single command to create plugin using plugin example or template under packages\r\n\r\n", + "id": "I_kwDOMT5cIs6jvwwA", + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", "state": "OPEN", - "createdAt": "2024-12-17T09:13:33Z", - "updatedAt": "2024-12-17T10:08:10Z", + "createdAt": "2024-12-18T08:59:15Z", + "updatedAt": "2024-12-18T08:59:15Z", "author": { - "login": "BalanaguYashwanth", - "avatarUrl": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4" + "login": "madjin", + "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4" }, "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWw", + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" + }, { "id": "LA_kwDOMT5cIs8AAAABrA0qYA", "name": "enhancement", @@ -286,45 +145,19 @@ "description": "New feature or request" } ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X3cVi", - "author": "BalanaguYashwanth", - "body": "@odilitime Let me know, Is this command already exists in the repo ?\r\n\r\nCC: @shakkernerd " - }, - { - "id": "IC_kwDOMT5cIs6X3e9q", - "author": "shakkernerd", - "body": "Hi @BalanaguYashwanth No, we current do not have a \"create plugin\" command." - }, - { - "id": "IC_kwDOMT5cIs6X3fdz", - "author": "BalanaguYashwanth", - "body": "So it is useful feature to work on ?" - }, - { - "id": "IC_kwDOMT5cIs6X3hTj", - "author": "shakkernerd", - "body": "It is not a priority at the moment but if you want to take a crack at it, feel free." - }, - { - "id": "IC_kwDOMT5cIs6X378b", - "author": "BalanaguYashwanth", - "body": "ok" - } - ] + "comments": [] }, { - "id": "I_kwDOMT5cIs6jkr1X", - "number": 1164, - "title": "Farcaster Account Creation to launch agent", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThis feature will allow, \r\n\r\n- Launching an agent in farcaster by creating the dedicated farcaster account\r\n\r\nExisting repo, won't support to launch agent in farcaster by creating farcaster account.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nWe can achieve creating account in multiple ways,\r\n\r\n- Interactive CLI\r\n- API\r\n\r\nWhen launching each agent, It will create dedicated farcaster account and store those farcaster details into DB and perform activites like\r\n\r\n- Post casts\r\n- ReCasts\r\n- etc\r\n\r\n**Describe alternatives you've considered**\r\n\r\nWe need to run seperate server and create the farcaster account and those details we need to pass for agents to run on warpcast (farcaster).\r\n\r\n\r\n", + "id": "I_kwDOMT5cIs6jt6h0", + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", "state": "OPEN", - "createdAt": "2024-12-17T08:52:22Z", - "updatedAt": "2024-12-17T09:07:49Z", + "createdAt": "2024-12-18T04:16:18Z", + "updatedAt": "2024-12-18T08:38:48Z", "author": { - "login": "BalanaguYashwanth", - "avatarUrl": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4" + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" }, "labels": [ { @@ -332,175 +165,39 @@ "name": "enhancement", "color": "a2eeef", "description": "New feature or request" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X3R7M", - "author": "BalanaguYashwanth", - "body": "Let me know, Is it good feature to addon eliza ?\r\n\r\nCC: @odilitime @tcm390 " - } - ] - }, - { - "id": "I_kwDOMT5cIs6jkVWV", - "number": 1161, - "title": "pnpm start --character=\"characters/trump.character.json\"", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n1. add \"clients\": [\"twitter\"], to trump.character.json\r\n2. pnpm start --character=\"characters/trump.character.json\"\r\n3. error: `Killed\r\n/workspaces/eliza_1/agent:\r\nโ€‰ERR_PNPM_RECURSIVE_RUN_FIRST_FAILโ€‰ @ai16z/agent@0.1.5-alpha.6 start: `node --loader ts-node/esm src/index.ts \"--isRoot\" \"--character=characters/trump.character.json\"`\r\nExit status 137\r\nโ€‰ELIFECYCLEโ€‰ Command failed with exit code 137.`\r\n\r\n", - "state": "CLOSED", - "createdAt": "2024-12-17T08:10:26Z", - "updatedAt": "2024-12-17T16:10:21Z", - "author": { - "login": "whgreate", - "avatarUrl": "https://avatars.githubusercontent.com/u/811644?v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X3NoO", - "author": "shakkernerd", - "body": "Hi there, you seem to be using an older version (`0.1.5-alpha.6`).\r\nKindly update to latest (`0.1.6-alpha.4`)." - }, - { - "id": "IC_kwDOMT5cIs6X3rKv", - "author": "whgreate", - "body": "don't understand how to do that, I'm on develop branch." - } - ] - }, - { - "id": "I_kwDOMT5cIs6ji1o-", - "number": 1151, - "title": "REQUIRED_NODE_VERSION: No such file", - "body": "**Describe the bug**\r\n\r\nFollowing directions in README.md with `sh scripts/start.sh` on Ubuntu causes an error:\r\n\r\nscripts/start.sh: 6: cannot open REQUIRED_NODE_VERSION: No such file\r\n\r\n**To Reproduce**\r\n\r\nEnvironment: Ubuntu 24.04 LTS\r\n1. `sh scripts/start.sh`\r\n\r\n**Expected behavior**\r\n\r\nNo error regarding the variable \"REQUIRED_NODE_VERSION\"\r\n\r\n**Screenshots**\r\n\r\n\"image\"\r\n\r\n**Additional context**\r\n\r\nThis is a simple issue caused by the shell script being executed with dash instead of bash.\r\n", - "state": "CLOSED", - "createdAt": "2024-12-17T03:04:39Z", - "updatedAt": "2024-12-17T13:24:57Z", - "author": { - "login": "tcotten-scrypted", - "avatarUrl": "https://avatars.githubusercontent.com/u/113052533?u=23e62842485a8c6647acdecb62cb97b898299ad3&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X1pxq", - "author": "tcotten-scrypted", - "body": "On Ubuntu, executing with bash directly instead of dash solves the issue; despite the sample command from the README.md" - }, - { - "id": "IC_kwDOMT5cIs6X3ZtX", - "author": "shakkernerd", - "body": "Hi @tcotten-scrypted I just updated the start script, it should fix the issue.\r\nThanks for reporting!" - }, - { - "id": "IC_kwDOMT5cIs6X5haQ", - "author": "tcotten-scrypted", - "body": "Confirmed resolved for Ubuntu environment." - } - ] - }, - { - "id": "I_kwDOMT5cIs6jifw9", - "number": 1146, - "title": "pnpm install fails on m1 mac [Fixed with xcode-select reinstall]", - "body": "I've spent the last 6 hours trying to get around this\r\n\r\nsame error with both: \r\n`pnpm install` and `pnpm install -w --include=optional sharp`\r\n\r\n```\r\nโ”‚ LIBTOOL-STATIC Release/opus.a\r\nโ”‚ CXX(target) Release/obj.target/opus/src/node-opus.o\r\nโ”‚ In file included from :495:\r\nโ”‚ :19:14: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]\r\nโ”‚ 19 | #define POSIX,__STDC_FORMAT_MACROS 1\r\nโ”‚ | ^\r\nโ”‚ In file included from ../src/node-opus.cc:1:\r\nโ”‚ /Users/santekotturi/Developer/forecast/eliza/node_modules/node-addon-api/napi.h:14:10: fatal error: 'functional' โ€ฆ\r\nโ”‚ 14 | #include \r\nโ”‚ | ^~~~~~~~~~~~\r\nโ”‚ 1 warning and 1 error generated.\r\nโ”‚ make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\nโ”‚ gyp ERR! build error \r\nโ”‚ gyp ERR! stack Error: `make` failed with exit code: 2\r\nโ”‚ gyp ERR! stack at ChildProcess. (/Users/santekotturi/.local/share/pnpm/global/5/.pnpm/pnpm@9.9.0/node_โ€ฆ\r\nโ”‚ gyp ERR! System Darwin 24.1.0\r\nโ”‚ gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/.local/share/pnpmโ€ฆ\r\nโ”‚ gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\nโ”‚ gyp ERR! node -v v23.4.0\r\nโ”‚ gyp ERR! node-gyp -v v10.1.0\r\nโ”‚ gyp ERR! not ok \r\nโ”‚ node-pre-gyp ERR! build error \r\nโ”‚ node-pre-gyp ERR! stack Error: Failed to execute '/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node /Users/โ€ฆ\r\nโ”‚ node-pre-gyp ERR! stack at ChildProcess. (/Users/santekotturi/Developer/forecast/eliza/node_moduleโ€ฆ\r\nโ”‚ node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)\r\nโ”‚ node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)\r\nโ”‚ node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)\r\nโ”‚ node-pre-gyp ERR! System Darwin 24.1.0\r\nโ”‚ node-pre-gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/Developeโ€ฆ\r\nโ”‚ node-pre-gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\nโ”‚ node-pre-gyp ERR! node -v v23.4.0\r\nโ”‚ node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\nโ”‚ node-pre-gyp ERR! not ok \r\n```\r\n\r\nalways using `rm -rf node_modules & rm pnpm-lock.yaml` between each try.\r\n\r\nnode v23.4.0\r\ntried downgrading to v20.x \r\npnpm v9.9.0\r\n\r\nalso tried `brew install opus`\r\nmacOS 15.1 \r\nXCode 16.2\r\n\r\non:\r\n`% git status >> HEAD detached at v0.1.6-alpha.1`\r\n\r\nPotentially related to:\r\nhttps://github.com/ai16z/eliza/issues/1041\r\nhttps://github.com/ai16z/eliza/issues/215\r\n", - "state": "CLOSED", - "createdAt": "2024-12-17T01:28:52Z", - "updatedAt": "2024-12-17T05:43:56Z", - "author": { - "login": "santekotturi", - "avatarUrl": "https://avatars.githubusercontent.com/u/4960284?u=bd2843c83a0f02a40a1375b264e6609a5444c08a&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X1UvO", - "author": "oxSaturn", - "body": "Have you tried `xcode-select --install` to have C++ compiler installed? I'm on m2, thought I ran into a similar issue (don't remember the exact issue) when I was trying eliza first time, and running `xcode-select --install` got it fixed for me as far as I can remember." }, { - "id": "IC_kwDOMT5cIs6X1y2O", - "author": "santekotturi", - "body": "Yea, I ran that, I've got a macos 15.2 update waiting for me, maybe that plays better with Xcode 16.2... will report back \r\n" - }, - { - "id": "IC_kwDOMT5cIs6X2B7Q", - "author": "santekotturi", - "body": "macos 15.2 updated, all xcode tool updates made. still same error. \r\n\r\nThis discordjs/opus connects having homebrew python3.12 in your path (which I do) https://github.com/discordjs/opus/issues/145#issuecomment-2250719870\r\n\r\nCurious what anyone else has for \r\n\r\n```\r\npython3 --version\r\nwhich python3\r\n```\r\n" - }, - { - "id": "IC_kwDOMT5cIs6X2Jbz", - "author": "santekotturi", - "body": "Had to uninstall xcode-select and reinstall ยฏ\\_(ใƒ„)_/ยฏ \r\n```\r\nsudo rm -rf /Library/Developer/CommandLineTools\r\nxcode-select --install\r\n```\r\n\r\nthat gets us: `node_modules/@discordjs/opus: Running install script, done in 30.1s`" - } - ] - }, - { - "id": "I_kwDOMT5cIs6jiYy4", - "number": 1145, - "title": "Discord agents knock each other out of VC", - "body": "**Describe the bug**\r\n\r\nWhen running two agents in the same client one will join the discord voice channel and then when 2nd agent joins it kicks the first agent out of discord\r\n\r\n**Additional context**\r\n\r\n- whichever character is listed last is the one that stays in the voice channel\r\n- the same thing happens even if sending the agents to different voice channels. \r\n- only tested from 1 discord server, 2 unique servers may produce a different outcome", - "state": "OPEN", - "createdAt": "2024-12-17T00:58:56Z", - "updatedAt": "2024-12-17T09:25:18Z", - "author": { - "login": "vincentskele", - "avatarUrl": "https://avatars.githubusercontent.com/u/147941271?u=7d01a4b50ee427df19e9b31bb0273500b71f72d0&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "id": "LA_kwDOMT5cIs8AAAABrA0qYg", + "name": "good first issue", + "color": "7057ff", + "description": "Good for newcomers" }, { - "id": "LA_kwDOMT5cIs8AAAAB1o4rCg", - "name": "Need Feedback", - "color": "2365DD", - "description": "" + "id": "LA_kwDOMT5cIs8AAAAB1sfhyA", + "name": "logging", + "color": "ededed", + "description": null } ], "comments": [ { - "id": "IC_kwDOMT5cIs6X211B", - "author": "shakkernerd", - "body": "Hi @vincentskele there is a potential fix in #1156 that is already merged into `develop` branch.\r\nKindly try that and give feedback." + "id": "IC_kwDOMT5cIs6YCIDm", + "author": "9547", + "body": "@monilpat may I take this one?" } ] }, { - "id": "I_kwDOMT5cIs6jiH9M", - "number": 1142, - "title": "Support for building monorepo with git dependencies using pnpm and nix", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nWhen trying to build a pnpm monorepo using Nix's buildNpmPackage that includes git dependencies (specifically @discordjs/opus), the build fails due to git access restrictions in the Nix build environment. The current workarounds involve either modifying package.json or pre-fetching git dependencies, both of which are not ideal solutions for maintaining the project.\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nA built-in way to handle git dependencies in buildNpmPackage that:\r\n\r\n 1. Automatically fetches git dependencies using fetchgit during the build process\r\n 2. Maintains compatibility with pnpm workspaces and monorepo structure\r\n 3. Preserves the original package.json without requiring modifications\r\n 4. Works with trusted dependencies in pnpm\r\n\r\n**Describe alternatives you've considered**\r\n\r\n1. Manually pre-fetching git dependencies and placing them in node_modules\r\n2. Modifying package.json to use published versions instead of git dependencies\r\n3. Using mkDerivation instead of buildNpmPackage to handle the build process manually\r\n4. Creating a custom derivation to handle git dependencies before the main build\r\n\r\n**Additional context**\r\n\r\nThis issue particularly affects projects using Discord.js and similar packages that rely on git dependencies for native modules. The current workarounds either break the development workflow or require maintaining separate package configurations for Nix builds.\r\nExample of a failing build: \r\n\r\n`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current \"overrides\" configuration doesn't match the value found in the lockfile`\r\n", - "state": "OPEN", - "createdAt": "2024-12-16T23:53:28Z", - "updatedAt": "2024-12-16T23:53:28Z", + "id": "I_kwDOMT5cIs6jtKs0", + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "state": "CLOSED", + "createdAt": "2024-12-18T01:45:28Z", + "updatedAt": "2024-12-18T01:46:15Z", "author": { - "login": "lessuselesss", - "avatarUrl": "https://avatars.githubusercontent.com/u/179788364?v=4" + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" }, "labels": [ { diff --git a/data/daily/prs.json b/data/daily/prs.json index 590cdab..3489eb4 100644 --- a/data/daily/prs.json +++ b/data/daily/prs.json @@ -1,2534 +1,2437 @@ [ { - "id": "PR_kwDOMT5cIs6FkN7C", - "number": 1190, - "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", - "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "OPEN", + "id": "PR_kwDOMT5cIs6FtFmV", + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "CLOSED", "merged": false, - "createdAt": "2024-12-17T22:45:37Z", - "updatedAt": "2024-12-17T22:46:12Z", + "createdAt": "2024-12-18T22:13:34Z", + "updatedAt": "2024-12-18T22:14:37Z", "author": { - "login": "ai16z-demirix", - "avatarUrl": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4" + "login": "chefron", + "avatarUrl": "https://avatars.githubusercontent.com/u/98501301?v=4" }, "labels": [], "files": [ { - "path": "packages/core/README-TESTS.md", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 }, { - "path": "packages/core/src/tests/runtime.test.ts", - "additions": 139, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FitqT", - "number": 1187, - "title": "feat: REST POST /agents/:agentId/memory/add", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- Adds a new route to add new memories to a running agent\r\n- improved speed of loading knowledge from a character file (though now risks using too much resources, batching version to come later)\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nopens integration possibilities, path for command line utility to dump files into memory\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes require a change to the project documentation.", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T19:21:40Z", - "updatedAt": "2024-12-17T19:30:11Z", - "author": { - "login": "odilitime", - "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 + }, { - "path": "packages/client-direct/src/api.ts", - "additions": 27, - "deletions": 2 + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 }, { - "path": "packages/core/src/memory.ts", - "additions": 6, - "deletions": 0 + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/core/src/runtime.ts", - "additions": 51, - "deletions": 8 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6Fih6I", - "number": 1184, - "title": "feat: integrate o1", - "body": "Relates to: o1: https://github.com/ai16z/eliza/issues/1185\r\n\r\nRisks: Low - Integrating o1 is a minimal, low-impact change. The primary risk is minor code confusion if not documented clearly.\r\n\r\nBackground\r\n\r\nWhat does this PR do? This PR integrates o1 functionality into the existing codebase. It ensures that o1 is properly linked, documented, and accessible for future reference.\r\n\r\nWhat kind of change is this? Improvements (misc. changes to existing features)\r\n\r\nDocumentation changes needed? My changes require a change to the project documentation. I have updated the documentation accordingly.\r\n\r\nTesting\r\n\r\nWhere should a reviewer start? Begin by reviewing the integration points in code where o1 references have been added. Check the documentation updates to confirm consistent explanations.\r\n\r\nDetailed testing steps:\r\n\r\nReview the codebase changes where o1 is introduced.\r\nConfirm that references to o1 are correct, properly linked, and that no compilation or runtime errors occur.\r\nReview the updated documentation to ensure it reflects the new o1 integration context and instructions for usage.", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T18:58:13Z", - "updatedAt": "2024-12-17T19:20:57Z", - "author": { - "login": "monilpat", - "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, { - "path": "packages/core/src/generation.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 }, { - "path": "packages/core/src/models.ts", - "additions": 3, - "deletions": 3 + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "packages/core/src/tests/models.test.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "pnpm-lock.yaml", - "additions": 21929, - "deletions": 16979 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 + }, { - "id": "IC_kwDOMT5cIs6X9OhM", - "author": "monilpat", - "body": "Waiting on tiktoken model to update to include o1 :)" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6FiAjk", - "number": 1182, - "title": "Fix client.push issue and update README for Slack client verification", - "body": "Relates to:\r\nNo specific issue linked.\r\n\r\nRisks\r\nLow. The changes primarily involve bug fixes and documentation updates, which should not affect other parts of the system.\r\n\r\nBackground\r\nWhat does this PR do?\r\nThis pull request fixes a critical issue in the client initialization process by addressing the clients.push error. It also updates the README for the Slack client to include instructions on verifying event subscriptions.\r\n\r\nWhat kind of change is this?\r\nBug fixes\r\nDocumentation updates\r\nDocumentation changes needed?\r\nMy changes require a change to the project documentation. The README has been updated accordingly.\r\n\r\nTesting\r\nWhere should a reviewer start?\r\nReview the changes in agent/src/index.ts for the client initialization fix and the updated README.md in the packages/client-slack directory.\r\n\r\nDetailed testing steps\r\nVerify that the client initialization process does not produce errors.\r\nEnsure the Slack client README includes the new section on event subscription verification.", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T17:53:28Z", - "updatedAt": "2024-12-17T17:53:28Z", - "author": { - "login": "SumeetChougule", - "avatarUrl": "https://avatars.githubusercontent.com/u/101477214?u=7dddb5b1120e21b1c481bd7186d68d3fe76db437&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 + }, { - "path": ".gitignore", - "additions": 1, - "deletions": 0 + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 }, { - "path": "agent/src/index.ts", + "path": "docs/api/enumerations/ModelClass.md", "additions": 6, - "deletions": 3 + "deletions": 6 }, { - "path": "characters/trump.character.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 }, { - "path": "ngrok.log", - "additions": 10, - "deletions": 0 + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 }, { - "path": "package.json", - "additions": 1, - "deletions": 0 + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-slack/README.md", - "additions": 9, - "deletions": 0 + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-slack/src/environment.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 }, { - "path": "pnpm-lock.yaml", - "additions": 22174, - "deletions": 16933 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6Fh1gq", - "number": 1181, - "title": "Feature: Implement Nostr client", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\nย  - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\nย  - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T17:33:34Z", - "updatedAt": "2024-12-17T17:39:42Z", - "author": { - "login": "AbdelStark", - "avatarUrl": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 + }, { - "path": ".env.example", - "additions": 14, - "deletions": 0 + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 39, - "deletions": 14 + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/package.json", - "additions": 18, - "deletions": 0 + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/actions.ts", - "additions": 37, - "deletions": 0 + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/client.ts", - "additions": 66, - "deletions": 0 + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/index.ts", - "additions": 61, - "deletions": 0 + "path": "docs/api/functions/formatActors.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/interactions.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/memory.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/post.ts", - "additions": 188, - "deletions": 0 + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/prompts.ts", - "additions": 88, - "deletions": 0 + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/types.ts", - "additions": 9, - "deletions": 0 + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/utils.ts", - "additions": 143, - "deletions": 0 + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/tsconfig.json", - "additions": 12, - "deletions": 0 + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/tsup.config.ts", - "additions": 20, - "deletions": 0 + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/types.ts", - "additions": 13, - "deletions": 5 + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 }, { - "path": "pnpm-lock.yaml", - "additions": 146, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FgXk_", - "number": 1180, - "title": "chore: update env for plugin-goat", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nUpdate ALCHEMY_API_KEY to EVM_PROVIDER_URL for plugin-goat\r\nwhich is more accurate as user can provide any rpc URL. it is not an alchemy api key what needs to be provided\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T14:59:06Z", - "updatedAt": "2024-12-17T17:32:01Z", - "author": { - "login": "aeither", - "avatarUrl": "https://avatars.githubusercontent.com/u/36173828?u=48e2376ab68607483916e3fe69a98a597f3a25a9&v=4" - }, - "labels": [ + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, { - "id": "LA_kwDOMT5cIs8AAAAB1qz4XA", - "name": "needs_documentation", - "color": "C93F64", - "description": "" - } - ], - "files": [ + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 + }, { - "path": "agent/src/index.ts", + "path": "docs/api/functions/generateMessageResponse.md", "additions": 2, "deletions": 2 - } - ], - "reviews": [ + }, { - "id": "PRR_kwDOMT5cIs6Vkjof", - "author": "odilitime", - "body": "Will need to update the documentation", - "state": "APPROVED" - } - ], - "comments": [ + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, { - "id": "IC_kwDOMT5cIs6X7Zok", - "author": "aeither", - "body": "> Will need to update the documentation\n\nWhere?" + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 }, { - "id": "IC_kwDOMT5cIs6X7gLR", - "author": "odilitime", - "body": "search the repo for any mention of ALCHEMY_API_KEY\r\n\r\nif none, at a bare minimum include the instructions of the plugin README" + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 }, { - "id": "IC_kwDOMT5cIs6X7kY-", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1180?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6Ffvck", - "number": 1179, - "title": "AI Companion to CRASH game", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "CLOSED", - "merged": false, - "createdAt": "2024-12-17T13:40:36Z", - "updatedAt": "2024-12-17T13:42:01Z", - "author": { - "login": "mradian1", - "avatarUrl": "https://avatars.githubusercontent.com/u/160105867?v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 + }, { - "path": ".gitignore", - "additions": 0, + "path": "docs/api/functions/generateText.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getRelationships.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, "deletions": 2 }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 3 + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/crash/actions/taunt.ts", - "additions": 56, - "deletions": 0 + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 3, - "deletions": 1 + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "characters/tate.character.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "characters/taunting.character.json", - "additions": 108, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6Fe63x", - "number": 1177, - "title": "feat: integration tests fixes + library improvements", - "body": "# Risks\r\nVery low. Worst case this could break the tests or introduce problems with dependencies.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis builds on top of previous changes that introduced the first version of integration tests framework. These changes:\r\n- fix some existing issues with smoke and integration tests failing (esp. giving agent a fixed time to start that was not always sufficient)\r\n- extend integration test library with a full wrapper for setting up / tearing down a test\r\n- refactor existing integration test (\"Hello Trump\") to use new library\r\n- fix a potential issue with possible leak of API keys (not related to integration tests themselves)\r\n- remove a dependency that was previously added but is no longer required\r\n\r\n## What kind of change is this?\r\nImprovement + bug fix + feature\r\n\r\n## Why are we doing this? Any context or related work?\r\nThis is to improve overall project quality via better testing..\r\n\r\n# Documentation changes needed?\r\nNone\r\n\r\n# Testing\r\nTo test the tests, these changes need to be run in CI workflow.\r\nIf either smoke or integration tests fail, the PR should NOT be merged. In that case we will check the logs and update the PR as necessary.\r\n\r\n# Deploy Notes\r\nNone\r\n\r\n## Database changes\r\nNone\r\n\r\n## Deployment instructions\r\nNone\r\n\r\n## Discord username\r\nuser98634", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T11:55:32Z", - "updatedAt": "2024-12-17T15:56:20Z", - "author": { - "login": "jzvikart", - "avatarUrl": "https://avatars.githubusercontent.com/u/7929905?u=d54ea7bb2ef0bc7fae6f010f70decfaa559cbc30&v=4" - }, - "labels": [], - "files": [ - { - "path": ".github/workflows/integrationTests.yaml", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", + "path": "docs/api/functions/stringToUuid.md", "additions": 2, - "deletions": 1 + "deletions": 2 }, { - "path": "package.json", - "additions": 1, + "path": "docs/api/functions/trimTokens.md", + "additions": 2, "deletions": 2 }, { - "path": "packages/core/src/logger.ts", - "additions": 0, - "deletions": 1 + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "pnpm-lock.yaml", - "additions": 709, - "deletions": 783 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "tests/test1.mjs", - "additions": 14, - "deletions": 23 + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 }, { - "path": "tests/testLibrary.mjs", - "additions": 81, - "deletions": 36 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6Fezu-", - "number": 1176, - "title": "fix: Change 'INFORMATIONS' to 'INFORMATION' to use correct English in logger", - "body": "# Relates to:\r\nN/A - grammatical fix\r\n\r\n# Risks\r\nLow - Simple text change correcting English grammar in logging output\r\n\r\n# Background\r\n## What does this PR do?\r\nFixes incorrect English usage in logger.ts by changing \"INFORMATIONS\" to \"INFORMATION\", as \"information\" is an uncountable noun in English that doesn't have a plural form.\r\n\r\n## What kind of change is this?\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n## Where should a reviewer start?\r\nCheck packages/core/src/logger.ts - the change is a single word modification.\r\n\r\n## Detailed testing steps\r\nNone, automated tests are fine.\r\n\r\nNote: This PR is based on v0.1.6-alpha.1", - "state": "CLOSED", - "merged": false, - "createdAt": "2024-12-17T11:40:20Z", - "updatedAt": "2024-12-17T16:32:43Z", - "author": { - "login": "tripluca", - "avatarUrl": "https://avatars.githubusercontent.com/u/78784902?v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/core/src/logger.ts", + "path": "docs/api/index.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6VkrbK", - "author": "odilitime", - "body": "", - "state": "APPROVED" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X7iCq", - "author": "odilitime", - "body": "Informations is a collection of information-tagged items. It is correct in this context" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6FelON", - "number": 1174, - "title": "docs: Update \"What Did You Get Done This Week? 5\" spaces notes", - "body": "# Relates to:\r\nDocumentation updates for \"What Did You Get Done This Week? 5\" community stream\r\n\r\n# Risks\r\nLow - This is a documentation update that adds structure and improves readability of an existing community stream summary.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n- Converts raw notes into structured documentation with proper markdown formatting\r\n- Adds sidebar positioning and metadata\r\n- Adds timestamps with direct links\r\n- Organizes content into clear sections (Timestamps, Summary, Hot Takes)\r\n- Improves readability with proper headers and formatting\r\n- Adds description and title metadata\r\n\r\n## What kind of change is this?\r\nImprovements (restructuring and enhancing existing documentation)\r\n\r\n# Documentation changes needed?\r\nMy changes are documentation changes themselves, and are complete.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Check the formatted timestamps section to ensure all links are valid\r\n2. Verify the summary section accurately reflects the stream content\r\n3. Review the \"Hot Takes\" section for accuracy of quotes and timestamps\r\n\r\n## Detailed testing steps\r\n- Verify all timestamp links are functional\r\n- Ensure markdown formatting renders correctly\r\n- Check that sidebar position (5) is correct in the sequence\r\n- Validate that all speaker names and timestamps match the original content\r\n\r\n\r\n\r\n", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T11:09:55Z", - "updatedAt": "2024-12-17T16:36:48Z", - "author": { - "login": "YoungPhlo", - "avatarUrl": "https://avatars.githubusercontent.com/u/90307961?u=2e7b36c41a4576a4720529da97a57280df102b28&v=4" - }, - "labels": [], - "files": [ + }, { - "path": "docs/community/Streams/12-2024/2024-12-13.md", - "additions": 130, - "deletions": 161 - } - ], - "reviews": [ + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, { - "id": "PRR_kwDOMT5cIs6Vkhq7", - "author": "odilitime", - "body": "", - "state": "CHANGES_REQUESTED" + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 }, { - "id": "PRR_kwDOMT5cIs6Vks_R", - "author": "YoungPhlo", - "body": "", - "state": "COMMENTED" + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 }, { - "id": "PRR_kwDOMT5cIs6VkyCH", - "author": "odilitime", - "body": "", - "state": "APPROVED" + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 }, { - "id": "PRR_kwDOMT5cIs6VkyNa", - "author": "odilitime", - "body": "", - "state": "COMMENTED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FeQ6b", - "number": 1171, - "title": "fix: add lint script for plugin evm and fix lint errors", - "body": "# Risks\r\n\r\nNone\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nImprovements:\r\n1. Fixed Chain Name Formatting:\r\n- Object generation sometimes returned the chain name without quotes, causing the transfer action to fail.\r\n- Improved this behavior by ensuring quotes are added in the constraint:\r\n```ts\r\nchains.map((item) => `\"${item}\"`).join(\"|\")\r\n```\r\n2. Added Linting Script:\r\n- Introduced a linting script to the project and fixed the linting errors.\r\n3. Restored Transfer Action Logic:\r\n- The merge of #965 degraded the transfer action by ignoring the buildTransferDetails() function.\r\n- This function has been reintegrated into the transfer action.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Try initiate a transfer action with on the evm chain of your choice, the agent should correctly pick the chain.\r\n\r\nThe rest of the changes rely on automated tests.\r\n\r\n## Discord username\r\n\r\nnikita_zhou\r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-17T10:31:16Z", - "updatedAt": "2024-12-17T17:59:25Z", - "author": { - "login": "nicky-ru", - "avatarUrl": "https://avatars.githubusercontent.com/u/64008830?u=d26f4e5c9c07625bb42f8f4b3154df60a8ca5527&v=4" - }, - "labels": [ + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 + }, { - "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", - "name": "Needs Testing", - "color": "84C035", - "description": "" - } - ], - "files": [ + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 + }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, "deletions": 4 }, { - "path": "packages/plugin-evm/eslint.config.mjs", - "additions": 3, - "deletions": 0 + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 }, { - "path": "packages/plugin-evm/package.json", - "additions": 2, - "deletions": 1 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 }, { - "path": "packages/plugin-evm/src/actions/swap.ts", - "additions": 0, - "deletions": 1 + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-evm/src/actions/transfer.ts", - "additions": 11, - "deletions": 24 + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 }, { - "path": "packages/plugin-evm/src/providers/wallet.ts", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-evm/src/tests/transfer.test.ts", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-evm/src/tests/wallet.test.ts", - "additions": 39, - "deletions": 35 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, { - "id": "PRR_kwDOMT5cIs6VloJ2", - "author": "monilpat", - "body": "Thanks for doing this please add a screengrab or test of this working thanks:) ", - "state": "CHANGES_REQUESTED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FePTh", - "number": 1170, - "title": "fix: Fix typo in multiversx plugin prompt for creating token", - "body": "Fix tiny typo", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T10:28:15Z", - "updatedAt": "2024-12-17T16:10:49Z", - "author": { - "login": "thomasWos", - "avatarUrl": "https://avatars.githubusercontent.com/u/785740?u=58240e787ae69665ebb4813bd3472e528fc6a00b&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, { - "path": "packages/plugin-multiversx/src/actions/createToken.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, { - "id": "PRR_kwDOMT5cIs6VkdoO", - "author": "odilitime", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FeACs", - "number": 1169, - "title": "Feat/km eliza bot", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "CLOSED", - "merged": false, - "createdAt": "2024-12-17T10:01:32Z", - "updatedAt": "2024-12-17T16:02:29Z", - "author": { - "login": "salmanpot", - "avatarUrl": "https://avatars.githubusercontent.com/u/112885964?u=6dcca073ed5cbc8301794a79e2011472335f45a9&v=4" - }, - "labels": [ + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, { - "id": "LA_kwDOMT5cIs8AAAAB0yW8_A", - "name": "Needs Refactor", - "color": "C97326", - "description": "" - } - ], - "files": [ + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 8 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 }, { - "path": "agent/src/index.ts", - "additions": 11, - "deletions": 34 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/providers/twitter.ts", - "additions": 18, - "deletions": 0 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/game.pdf", - "additions": 0, - "deletions": 0 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/services.ts", - "additions": 71, - "deletions": 0 + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "eliza_client/eliza_client.py", - "additions": 180, - "deletions": 0 + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 }, { - "path": "eliza_client/requirements.txt", + "path": "docs/api/interfaces/Provider.md", "additions": 2, - "deletions": 0 + "deletions": 2 }, { - "path": "packages/client-direct/src/index.ts", - "additions": 14, - "deletions": 2 + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 }, { - "path": "packages/client-twitter/src/post.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 } ], "reviews": [], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X7LRt", - "author": "odilitime", - "body": "no documentation, weird changes, doesn't look like you meant to PR it to the main repo" - } - ] + "comments": [] }, { - "id": "PR_kwDOMT5cIs6Fdils", - "number": 1165, - "title": "feat: make script dash compatible", - "body": "Related to #1151 ", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T09:08:00Z", - "updatedAt": "2024-12-17T09:13:05Z", + "id": "PR_kwDOMT5cIs6Fs0q3", + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T21:21:53Z", + "updatedAt": "2024-12-18T21:28:14Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "vpavlin", + "avatarUrl": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4" }, "labels": [], "files": [ { - "path": "scripts/start.sh", - "additions": 34, - "deletions": 24 + "path": "agent/src/index.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/core/src/generation.ts", + "additions": 2, + "deletions": 1 } ], "reviews": [], "comments": [ { - "id": "IC_kwDOMT5cIs6X3brL", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1165?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "id": "IC_kwDOMT5cIs6YIQFz", + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" } ] }, { - "id": "PR_kwDOMT5cIs6FdN6y", - "number": 1163, - "title": "chore: print commands to start the client and remove unused --non-iteraโ€ฆ", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T08:23:52Z", - "updatedAt": "2024-12-17T08:35:18Z", - "author": { - "login": "yang-han", - "avatarUrl": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4" - }, - "labels": [], - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6Vf8CD", - "author": "monilpat", - "body": "This has been there from the beginning thanks for doing this :) ", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6FdKMs", - "number": 1162, - "title": "chore: print commands to start the client and remove unused --non-iteraโ€ฆ", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "CLOSED", + "id": "PR_kwDOMT5cIs6Fsrin", + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", + "state": "OPEN", "merged": false, - "createdAt": "2024-12-17T08:17:55Z", - "updatedAt": "2024-12-17T08:18:12Z", + "createdAt": "2024-12-18T20:54:14Z", + "updatedAt": "2024-12-18T20:54:14Z", "author": { - "login": "yang-han", - "avatarUrl": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4" + "login": "BlockchainCake", + "avatarUrl": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4" }, "labels": [], "files": [ - { - "path": "CHANGELOG.md", - "additions": 186, - "deletions": 3 - }, - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, { "path": "agent/package.json", - "additions": 59, - "deletions": 59 + "additions": 2, + "deletions": 0 }, { "path": "agent/src/index.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "client/package.json", - "additions": 45, - "deletions": 45 - }, - { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 - }, - { - "path": "lerna.json", - "additions": 9, - "deletions": 3 - }, - { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 + "additions": 6, + "deletions": 0 }, { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-discord/src/index.ts", + "additions": 32, + "deletions": 1 }, { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/client-evm/README.md", + "additions": 78, + "deletions": 0 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 }, { - "path": "packages/client-github/package.json", + "path": "packages/client-evm/package.json", "additions": 21, - "deletions": 21 - }, - { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 - }, - { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 - }, - { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 + "deletions": 0 }, { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 }, { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, + "deletions": 0 }, { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, + "deletions": 0 }, { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 }, { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 }, { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/client-evm/src/types.ts", + "additions": 66, + "deletions": 0 }, { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/client-evm/tsconfig.json", + "additions": 23, + "deletions": 0 }, { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 }, { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 }, { - "path": "packages/plugin-evm/package.json", + "path": "tsconfig.json", "additions": 21, - "deletions": 21 - }, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FsC8P", + "number": 1211, + "title": "chore: New docs", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T19:04:47Z", + "updatedAt": "2024-12-18T20:26:44Z", + "author": { + "login": "madjin", + "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4" + }, + "labels": [], + "files": [ { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "path": "docs/api/classes/AgentRuntime.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/classes/CacheManager.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/classes/MemoryManager.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "docs/api/enumerations/Clients.md", + "additions": 9, + "deletions": 9 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/enumerations/ModelClass.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 33, + "deletions": 23 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "docs/api/enumerations/ServiceType.md", + "additions": 12, + "deletions": 12 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/functions/composeActionExamples.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/functions/composeContext.md", + "additions": 12, + "deletions": 6 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/configureSettings.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, - "deletions": 18 + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 }, { - "path": "pnpm-lock.yaml", - "additions": 17935, - "deletions": 22902 + "path": "docs/api/functions/embed.md", + "additions": 1, + "deletions": 1 }, { - "path": "scripts/update-versions.js", - "additions": 82, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6Fc1NZ", - "number": 1160, - "title": "chore: print commands to start the client and remove unused --non-iteraโ€ฆ", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "CLOSED", - "merged": false, - "createdAt": "2024-12-17T07:22:21Z", - "updatedAt": "2024-12-17T08:24:38Z", - "author": { - "login": "yang-han", - "avatarUrl": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 + }, { - "path": "Dockerfile", + "path": "docs/api/functions/formatActionNames.md", "additions": 1, "deletions": 1 }, { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 - } - ], - "reviews": [], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X22HA", - "author": "HashWarlock", - "body": "LGTM, but @yang-han you need to target the `develop` branch instead of main" + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 }, { - "id": "IC_kwDOMT5cIs6X29fL", - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nok, will do" + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 }, { - "id": "IC_kwDOMT5cIs6X3CF-", - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nin #1163 " - } - ] - }, - { - "id": "PR_kwDOMT5cIs6FczYb", - "number": 1159, - "title": "chore: bump version to 0.1.6-alpha.4", - "body": "", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T07:17:05Z", - "updatedAt": "2024-12-17T13:17:52Z", - "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/package.json", + "path": "docs/api/functions/formatEvaluatorExamples.md", "additions": 1, "deletions": 1 }, { - "path": "client/package.json", + "path": "docs/api/functions/formatEvaluatorNames.md", "additions": 1, "deletions": 1 }, { - "path": "docs/package.json", + "path": "docs/api/functions/formatEvaluators.md", "additions": 1, "deletions": 1 }, { - "path": "lerna.json", + "path": "docs/api/functions/formatGoalsAsString.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-postgres/package.json", + "path": "docs/api/functions/formatMessages.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqlite/package.json", + "path": "docs/api/functions/formatPosts.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqljs/package.json", + "path": "docs/api/functions/formatRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-supabase/package.json", + "path": "docs/api/functions/formatTimestamp.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-auto/package.json", + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-direct/package.json", + "path": "docs/api/functions/generateMessageResponse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-discord/package.json", + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-farcaster/package.json", + "path": "docs/api/functions/generateObjectDeprecated.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-github/package.json", + "path": "docs/api/functions/generateShouldRespond.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-lens/package.json", + "path": "docs/api/functions/generateText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-slack/package.json", + "path": "docs/api/functions/generateTextArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-telegram/package.json", + "path": "docs/api/functions/generateTrueOrFalse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-twitter/package.json", + "path": "docs/api/functions/generateTweetActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", "additions": 1, "deletions": 1 }, { - "path": "packages/core/package.json", + "path": "docs/api/functions/getEmbeddingConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/create-eliza-app/package.json", + "path": "docs/api/functions/getEmbeddingType.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", + "path": "docs/api/functions/getEmbeddingZeroVector.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-aptos/package.json", + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-bootstrap/package.json", + "path": "docs/api/functions/getGoals.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-coinbase/package.json", + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-conflux/package.json", + "path": "docs/api/functions/getRelationship.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-echochambers/package.json", + "path": "docs/api/functions/getRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-flow/package.json", + "path": "docs/api/functions/loadEnvConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", + "path": "docs/api/functions/parseActionResponseFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-icp/package.json", + "path": "docs/api/functions/parseBooleanFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-image-generation/package.json", + "path": "docs/api/functions/parseJSONObjectFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", + "path": "docs/api/functions/parseJsonArrayFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-multiversx/package.json", + "path": "docs/api/functions/parseShouldRespondFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-near/package.json", + "path": "docs/api/functions/splitChunks.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-nft-generation/package.json", + "path": "docs/api/functions/stringToUuid.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-node/package.json", + "path": "docs/api/functions/trimTokens.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-solana/package.json", + "path": "docs/api/functions/updateGoal.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-starknet/package.json", + "path": "docs/api/functions/validateCharacterConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-story/package.json", + "path": "docs/api/functions/validateEnv.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-sui/package.json", + "path": "docs/api/index.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-tee/package.json", + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ActionExample.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-ton/package.json", + "path": "docs/api/interfaces/ActionResponse.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/Actor.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-trustdb/package.json", + "path": "docs/api/interfaces/Content.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-video-generation/package.json", + "path": "docs/api/interfaces/ConversationExample.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-web-search/package.json", + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-whatsapp/package.json", + "path": "docs/api/interfaces/IAgentConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-zksync-era/package.json", + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [], - "comments": [ + }, { - "id": "IC_kwDOMT5cIs6X2nzn", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1159?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6FcxcY", - "number": 1158, - "title": "fix: client twitter login and auth handler", - "body": "", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T07:11:43Z", - "updatedAt": "2024-12-17T07:16:49Z", - "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" - }, - "labels": [], - "files": [ + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 + }, { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 + }, + { + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 + }, + { + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 } ], - "reviews": [], - "comments": [ + "reviews": [ { - "id": "IC_kwDOMT5cIs6X2mLy", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1158?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "id": "PRR_kwDOMT5cIs6Vw_fL", + "author": "odilitime", + "body": "", + "state": "APPROVED" + }, + { + "id": "PRR_kwDOMT5cIs6VxkIZ", + "author": "monilpat", + "body": "", + "state": "APPROVED" } - ] + ], + "comments": [] }, { - "id": "PR_kwDOMT5cIs6FcYlB", - "number": 1157, - "title": "1142 add nix flake support", - "body": "# Relates to:\r\n[Issue #1142](https://github.com/ai16z/eliza/issues/1142)\r\n\r\n# Risks\r\nLow - This change:\r\n- Only affects development environment setup\r\n- Doesn't modify runtime code\r\n- Is optional (developers can still use traditional npm/pnpm setup)\r\n- Can be easily reverted if issues arise\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds Nix Flake support to provide a reproducible development environment with:\r\n- Correct Node.js and pnpm versions\r\n- Helpful welcome message showing common commands\r\n- Integration with existing monorepo structure\r\n\r\n## What kind of change is this?\r\nImprovements (adds optional development tooling without changing existing functionality)\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation.\r\nI will update the local development guide to include:\r\n1. Installation of Nix using [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)\r\n2. Instructions for using the development environment\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Install Nix using Determinate Nix Installer:\r\n```bash\r\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\r\n```\r\n\r\n2. Clone the PR and enter the development environment:\r\n```bash\r\ngit clone https://github.com/ai16z/eliza.git\r\ncd eliza\r\nnix develop\r\n```\r\n\r\n3. Verify the welcome message appears with instructions for:\r\n - pnpm i\r\n - pnpm build\r\n - pnpm clean\r\n\r\n## Detailed testing steps\r\n1. Prerequisites:\r\n - Install Nix following the steps above\r\n - Verify flakes are enabled by default\r\n\r\n2. Test environment setup:\r\n ```bash\r\n git clone https://github.com/ai16z/eliza.git\r\n cd eliza\r\n nix develop\r\n ```\r\n - Verify welcome message appears\r\n - Verify Node.js version matches project requirements\r\n - Verify pnpm is available\r\n\r\n3. Test build process:\r\n ```bash\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify all dependencies install correctly\r\n - Verify build completes successfully\r\n\r\n4. Test clean process:\r\n ```bash\r\n pnpm clean\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify clean removes build artifacts\r\n - Verify rebuild works after clean\r\n\r\n## Discord username\r\nAdam Turner | lessuseless\r\nar4s_45979", + "id": "PR_kwDOMT5cIs6FrtRJ", + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "state": "OPEN", "merged": false, - "createdAt": "2024-12-17T05:54:35Z", - "updatedAt": "2024-12-17T17:25:05Z", + "createdAt": "2024-12-18T18:10:29Z", + "updatedAt": "2024-12-18T18:25:06Z", "author": { - "login": "lessuselesss", - "avatarUrl": "https://avatars.githubusercontent.com/u/179788364?v=4" + "login": "odilitime", + "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" }, - "labels": [], + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + }, + { + "id": "LA_kwDOMT5cIs8AAAAB1qz4XA", + "name": "needs_documentation", + "color": "C93F64", + "description": "" + } + ], "files": [ { - "path": "Dockerfile", - "additions": 1, + "path": ".env.example", + "additions": 7, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/schema.sql", + "additions": 9, + "deletions": 0 + }, + { + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, "deletions": 1 }, { - "path": "README.md", + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 + }, + { + "path": "packages/adapter-sqlite/src/sqliteTables.ts", "additions": 10, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 }, { - "path": "docs/docs/guides/local-development.md", - "additions": 10, - "deletions": 2 + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 }, { - "path": "flake.nix", - "additions": 76, + "path": "packages/core/src/index.ts", + "additions": 1, "deletions": 0 }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 - } - ], - "reviews": [], - "comments": [ + "path": "packages/core/src/types.ts", + "additions": 20, + "deletions": 0 + }, { - "id": "IC_kwDOMT5cIs6X2Nej", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1157?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6X2o32", - "author": "HashWarlock", - "body": "@lessuselesss love this PR, but there are some weird problems that will cause a NixOS user to fail when building the codebase with nix flakes enabled.\r\n\r\nFor example, I built this on my NixOS machine and we see this error:\r\n```\r\nWARNโ€‰ Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\ndocs | โ€‰WARNโ€‰ Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\n```\r\n\r\nWe may think...what?! No Way...But how?? The pkgs specifically lists `nodejs_23` and when I run `node version` I will see the `v23.2.0`, but that still does not equal `v20.18.1`.\r\n\r\nSo I did some digging bc Nix can be a pain in the ass at times with weird dependencies errors. So I checked the `pnpm` pkgs source code and found this line https://github.com/NixOS/nixpkgs/blob/394571358ce82dff7411395829aa6a3aad45b907/pkgs/development/tools/pnpm/generic.nix#L28\r\n\r\nAnd `nodejs` pkg points to:\r\n![image](https://github.com/user-attachments/assets/1e258b67-924e-4471-a590-d7bde3ac7c64)\r\n\r\nSo this here is the culprit for why a NixOS user will hit this weird error even though we declaratively chose the right node version." + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6X4Hcm", - "author": "lessuselesss", - "body": "Hello, \r\n\r\nThank you so much for the valuable feedback. I'm excited to contribute and am happy (and was hoping!!) to have someone from the nix community overseeing contributions here! \r\n\r\nNice catch on finding the culprit, I'll investigate some workarounds ๐Ÿ™‡ " + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6X8D9Q", - "author": "odilitime", - "body": "I don't like the hardcoded versions, maybe another dev can offer a better suggestions on how to get the latest version\r\n\r\nlike `git describe --tags --abbrev=0`" + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 + }, + { + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 } - ] + ], + "reviews": [], + "comments": [] }, { - "id": "PR_kwDOMT5cIs6FcAi0", - "number": 1156, - "title": "fix: Enable multiple bots to join Discord voice channels", - "body": "related: https://github.com/ai16z/eliza/issues/1145\r\n\r\nreference: \r\nhttps://github.com/discordjs/voice/issues/206#issuecomment-924551194\r\nhttps://stackoverflow.com/questions/71446777/how-do-i-manage-voice-connections-from-multiple-bots-in-one-code", + "id": "PR_kwDOMT5cIs6FrMNE", + "number": 1209, + "title": "docs: Update README.md", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\tโ€ข\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\tโ€ข\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", "state": "MERGED", "merged": true, - "createdAt": "2024-12-17T04:17:21Z", - "updatedAt": "2024-12-17T07:56:09Z", + "createdAt": "2024-12-18T16:46:43Z", + "updatedAt": "2024-12-18T17:21:57Z", "author": { - "login": "tcm390", - "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4" + "login": "marcNY", + "avatarUrl": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4" }, "labels": [], "files": [ { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 + "path": "README.md", + "additions": 1, + "deletions": 2 } ], "reviews": [ { - "id": "PRR_kwDOMT5cIs6VfmmB", - "author": "shakkernerd", + "id": "PRR_kwDOMT5cIs6VwNkS", + "author": "odilitime", "body": "", "state": "APPROVED" } ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X12kR", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1156?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1156/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6Fb5bI", - "number": 1155, - "title": "chore: develop into main", - "body": "", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T03:44:24Z", - "updatedAt": "2024-12-17T04:07:13Z", - "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" - }, - "labels": [], - "files": [ - { - "path": "agent/src/index.ts", - "additions": 5, - "deletions": 0 - } - ], - "reviews": [], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X1vUA", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1155?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] + "comments": [] }, { - "id": "PR_kwDOMT5cIs6Fb24X", - "number": 1154, - "title": "fix: fix direct-client ability to start agents", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFixes direct-client behavior\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nTo restore previous behavior\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.", + "id": "PR_kwDOMT5cIs6FqYwJ", + "number": 1207, + "title": "fix: gitpod cicd bug", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", "state": "MERGED", "merged": true, - "createdAt": "2024-12-17T03:32:14Z", - "updatedAt": "2024-12-17T03:41:50Z", + "createdAt": "2024-12-18T15:06:25Z", + "updatedAt": "2024-12-18T19:43:00Z", "author": { - "login": "odilitime", - "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" + "login": "v1xingyue", + "avatarUrl": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4" }, "labels": [], "files": [ { - "path": "agent/src/index.ts", - "additions": 5, + "path": ".gitpod.yml", + "additions": 1, "deletions": 0 } ], "reviews": [ { - "id": "PRR_kwDOMT5cIs6VeZ4V", - "author": "monilpat", - "body": "LGTM!", + "id": "PRR_kwDOMT5cIs6VwMVG", + "author": "odilitime", + "body": "", "state": "APPROVED" } ], "comments": [ { - "id": "IC_kwDOMT5cIs6X1s2E", + "id": "IC_kwDOMT5cIs6YFfh1", "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1154?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1154/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] }, { - "id": "PR_kwDOMT5cIs6Fb2QT", - "number": 1153, - "title": "fix: fetch log level to debug", - "body": "", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T03:29:05Z", - "updatedAt": "2024-12-17T03:33:33Z", + "id": "PR_kwDOMT5cIs6FpD6y", + "number": 1205, + "title": "fix: write summary file before trying to cache it", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T12:28:33Z", + "updatedAt": "2024-12-18T17:17:36Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "tobbelobb", + "avatarUrl": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4" }, "labels": [], "files": [ { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 2 + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 } ], "reviews": [], "comments": [ { - "id": "IC_kwDOMT5cIs6X1sKi", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1153?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "id": "IC_kwDOMT5cIs6YGofA", + "author": "odilitime", + "body": "code looks good will test later" } ] }, { - "id": "PR_kwDOMT5cIs6FbyaS", - "number": 1152, - "title": "chore: bump version to 0.1.6-alpha.3", - "body": "", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T03:10:01Z", - "updatedAt": "2024-12-17T03:14:33Z", + "id": "PR_kwDOMT5cIs6Fn4Fn", + "number": 1203, + "title": "feat: Implement Nostr client", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\nย  - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\nย  - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T09:55:14Z", + "updatedAt": "2024-12-18T20:52:26Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "AbdelStark", + "avatarUrl": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4" }, - "labels": [], - "files": [ - { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 - }, + "labels": [ { - "path": "client/package.json", - "additions": 45, - "deletions": 45 - }, + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 + "path": ".env.example", + "additions": 14, + "deletions": 0 }, { - "path": "lerna.json", - "additions": 9, - "deletions": 3 + "path": "agent/package.json", + "additions": 60, + "deletions": 59 }, { - "path": "packages/adapter-postgres/package.json", + "path": "agent/src/index.ts", "additions": 18, - "deletions": 18 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 - }, - { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 - }, - { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 - }, - { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 - }, - { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 - }, - { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 - }, - { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 - }, - { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 - }, - { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 - }, - { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 - }, - { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 - }, - { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 - }, - { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 - }, - { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 - }, - { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "deletions": 8 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, + "deletions": 18 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 - }, + "path": "pnpm-lock.yaml", + "additions": 146, + "deletions": 0 + } + ], + "reviews": [ { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, - "deletions": 18 + "id": "PRR_kwDOMT5cIs6Vxt9a", + "author": "odilitime", + "body": "", + "state": "COMMENTED" } ], - "reviews": [], "comments": [ { - "id": "IC_kwDOMT5cIs6X1n5l", - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1152?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "id": "IC_kwDOMT5cIs6YGnDF", + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" + }, + { + "id": "IC_kwDOMT5cIs6YGrTG", + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." } ] }, { - "id": "PR_kwDOMT5cIs6FbxR-", - "number": 1150, - "title": "feat: update packages version script", - "body": "", + "id": "PR_kwDOMT5cIs6Fn2lU", + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T09:52:31Z", + "updatedAt": "2024-12-18T10:11:57Z", + "author": { + "login": "netdragonx", + "avatarUrl": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/client-twitter/src/index.ts", + "additions": 14, + "deletions": 17 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FnbCY", + "number": 1201, + "title": "docs(cn): add python 3.7", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", "state": "MERGED", "merged": true, - "createdAt": "2024-12-17T03:04:12Z", - "updatedAt": "2024-12-17T03:09:02Z", + "createdAt": "2024-12-18T09:00:53Z", + "updatedAt": "2024-12-18T17:39:58Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "9547", + "avatarUrl": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4" }, "labels": [], "files": [ { - "path": "scripts/update-versions.js", - "additions": 82, - "deletions": 0 + "path": "README_CN.md", + "additions": 2, + "deletions": 3 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwGx3", + "author": "odilitime", + "body": "", + "state": "APPROVED" } ], - "reviews": [], "comments": [ { - "id": "IC_kwDOMT5cIs6X1mj7", + "id": "IC_kwDOMT5cIs6YGyJ3", "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1150?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] }, { - "id": "PR_kwDOMT5cIs6Fbou-", - "number": 1149, - "title": "chore: import fomo action", - "body": "", - "state": "CLOSED", + "id": "PR_kwDOMT5cIs6FnACK", + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", "merged": false, - "createdAt": "2024-12-17T02:22:03Z", - "updatedAt": "2024-12-17T02:26:28Z", + "createdAt": "2024-12-18T08:04:22Z", + "updatedAt": "2024-12-18T17:23:19Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "Hdpbilly", + "avatarUrl": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4" }, - "labels": [], + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1qz4XA", + "name": "needs_documentation", + "color": "C93F64", + "description": "" + } + ], "files": [ { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "path": "packages/client-direct/src/api.ts", + "additions": 259, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VwGVf", + "author": "odilitime", + "body": "", + "state": "APPROVED" } ], - "reviews": [], "comments": [] }, { - "id": "PR_kwDOMT5cIs6Fbmbc", - "number": 1148, - "title": "chore: fix PR #1147", - "body": "ShakkerNerd said to directly commit", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T02:10:35Z", - "updatedAt": "2024-12-17T02:26:39Z", + "id": "PR_kwDOMT5cIs6FmrMc", + "number": 1198, + "title": "feat: Client secrets validation", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-18T07:17:10Z", + "updatedAt": "2024-12-18T22:33:35Z", "author": { "login": "odilitime", "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" }, - "labels": [], + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + } + ], "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 2, - "deletions": 2 + "path": "agent/src/index.ts", + "additions": 22, + "deletions": 9 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 }, { - "path": "packages/plugin-solana/src/index.ts", + "path": "packages/client-telegram/package.json", "additions": 1, + "deletions": 0 + }, + { + "path": "packages/client-telegram/src/index.ts", + "additions": 22, + "deletions": 0 + }, + { + "path": "packages/client-twitter/src/base.ts", + "additions": 14, + "deletions": 7 + }, + { + "path": "packages/client-twitter/src/index.ts", + "additions": 17, "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 } ], "reviews": [ { - "id": "PRR_kwDOMT5cIs6VeJkx", - "author": "monilpat", - "body": "LGTM!", - "state": "APPROVED" + "id": "PRR_kwDOMT5cIs6VyTBl", + "author": "cygaar", + "body": "", + "state": "COMMENTED" } ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6X1Y9D", - "author": "monilpat", - "body": "Looks like the smoke test failed " - } - ] + "comments": [] }, { - "id": "PR_kwDOMT5cIs6Fbjvp", - "number": 1147, - "title": "fix: improve fomo integration", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nenables fomo action\r\n\r\n## What kind of change is this?\r\n\r\nUpdates (new versions of included code)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nimprove code quality instead of removing fomo\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n", + "id": "PR_kwDOMT5cIs6FmTty", + "number": 1196, + "title": "docs: Update \"CN README\" with more details", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "state": "MERGED", "merged": true, - "createdAt": "2024-12-17T01:56:31Z", - "updatedAt": "2024-12-17T02:04:33Z", + "createdAt": "2024-12-18T06:12:33Z", + "updatedAt": "2024-12-18T17:29:45Z", "author": { - "login": "odilitime", - "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" + "login": "tomguluson92", + "avatarUrl": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4" }, "labels": [], "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 4, - "deletions": 7 - }, - { - "path": "packages/plugin-solana/src/actions/pumpfun.ts", - "additions": 2, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 0 + "path": "README_CN.md", + "additions": 58, + "deletions": 6 } ], "reviews": [ { - "id": "PRR_kwDOMT5cIs6VeH8d", - "author": "shakkernerd", + "id": "PRR_kwDOMT5cIs6VwQXT", + "author": "odilitime", "body": "", "state": "APPROVED" } ], - "comments": [] + "comments": [ + { + "id": "IC_kwDOMT5cIs6YBMMa", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] }, { - "id": "PR_kwDOMT5cIs6FbV4y", - "number": 1144, - "title": "chore: Merge monday, merging develop into main", - "body": "Bring tested develop into main\r\n\r\nIncludes the following PR merges:\r\n\r\n- #1148\r\n- #1147\r\n- #1143 \r\n- #1135\r\n- #965\r\n- #1140\r\n- #1141\r\n- #1125\r\n- #796\r\n- #1136\r\n- #1131\r\n- #1133\r\n- #1124\r\n- #1120\r\n- #1032\r\n- #1033\r\n- #957\r\n- #853\r\n- #814\r\n- #837\r\n- #1009\r\n- #1095\r\n- #1115\r\n- #1114\r\n- #1112\r\n- #1111\r\n- #852\r\n- #1030\r\n- #934\r\n- #1107\r\n- #1011\r\n- #1098\r\n- #897\r\n- #1091\r\n- #1104\r\n- #1070\r\n- #1103\r\n- #1102\r\n- #1036\r\n- #1101\r\n- #998\r\n- #1097\r\n- #1094\r\n- #1093\r\n- #1092\r\n- #1088\r\n- #1086\r\n- #1085\r\n- #1084\r\n- #1083\r\n- #1082\r\n- #1081\r\n- #1080\r\n- #1079\r\n- #906\r\n- #1078\r\n- #859\r\n- #1077\r\n- #1076\r\n- #1056\r\n- #1031\r\n- #1075\r\n- #1039\r\n- #1074\r\n- #1073\r\n- #847\r\n- #860\r\n- #1034\r\n- #1053\r\n- #856\r\n- #1057\r\n- #1040\r\n- #1054\r\n- #1055\r\n- #1052\r\n- #913\r\n- #889\r\n- #1046\r\n- #1050\r\n", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-17T00:46:47Z", - "updatedAt": "2024-12-17T02:34:41Z", + "id": "PR_kwDOMT5cIs6FmD-X", + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-18T05:26:54Z", + "updatedAt": "2024-12-18T05:27:15Z", "author": { - "login": "odilitime", - "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4" + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" }, "labels": [], "files": [ { "path": ".env.example", - "additions": 160, - "deletions": 109 + "additions": 2, + "deletions": 7 }, { - "path": ".github/workflows/ci.yaml", - "additions": 1, - "deletions": 1 + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 }, { "path": ".gitignore", - "additions": 4, + "additions": 5, "deletions": 1 }, { - "path": ".gitpod.yml", - "additions": 1, - "deletions": 2 + "path": "agent/package.json", + "additions": 3, + "deletions": 1 }, { - "path": ".npmrc", - "additions": 1, + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 + }, + { + "path": "characters/chronis.character.json", + "additions": 321, + "deletions": 0 + }, + { + "path": "characters/logging-addict.character.json", + "additions": 262, + "deletions": 0 + }, + { + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 + }, + { + "path": "docs/api/classes/CacheManager.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 41, + "deletions": 41 + }, + { + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/classes/MemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/classes/Service.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 3, + "deletions": 3 + }, + { + "path": "docs/api/enumerations/ModelClass.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 76, "deletions": 0 }, { - "path": ".vscode/settings.json", + "path": "docs/api/enumerations/ServiceType.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/functions/addHeader.md", "additions": 1, "deletions": 1 }, { - "path": "CHANGELOG.md", + "path": "docs/api/functions/composeActionExamples.md", "additions": 1, "deletions": 1 }, { - "path": "CONTRIBUTING.md", + "path": "docs/api/functions/composeContext.md", "additions": 1, "deletions": 1 }, { - "path": "README.md", + "path": "docs/api/functions/configureSettings.md", "additions": 1, "deletions": 1 }, { - "path": "README_HE.md", - "additions": 189, - "deletions": 0 + "path": "docs/api/functions/createGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "README_VI.md", - "additions": 129, - "deletions": 0 + "path": "docs/api/functions/createRelationship.md", + "additions": 1, + "deletions": 1 }, { - "path": "agent/package.json", - "additions": 10, + "path": "docs/api/functions/embed.md", + "additions": 1, "deletions": 1 }, { - "path": "agent/src/index.ts", - "additions": 105, - "deletions": 91 + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 1, + "deletions": 1 }, { - "path": "characters/c3po.character.json", - "additions": 98, - "deletions": 0 + "path": "docs/api/functions/formatActionNames.md", + "additions": 1, + "deletions": 1 }, { - "path": "characters/dobby.character.json", - "additions": 98, - "deletions": 0 + "path": "docs/api/functions/formatActions.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/formatActors.md", + "additions": 1, + "deletions": 1 }, { - "path": "docker-compose.yaml", - "additions": 0, + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 1, "deletions": 1 }, { - "path": "docs/README.md", - "additions": 4, - "deletions": 0 + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/README_TH.md", - "additions": 178, - "deletions": 0 + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/AgentRuntime.md", - "additions": 81, - "deletions": 52 + "path": "docs/api/functions/formatEvaluators.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/CacheManager.md", - "additions": 6, - "deletions": 6 + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/DatabaseAdapter.md", - "additions": 42, - "deletions": 42 + "path": "docs/api/functions/formatMessages.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/DbCacheAdapter.md", - "additions": 5, - "deletions": 5 + "path": "docs/api/functions/formatPosts.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/FsCacheAdapter.md", - "additions": 5, - "deletions": 5 + "path": "docs/api/functions/formatRelationships.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/MemoryCacheAdapter.md", - "additions": 6, - "deletions": 6 + "path": "docs/api/functions/formatTimestamp.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/MemoryManager.md", - "additions": 14, - "deletions": 14 + "path": "docs/api/functions/generateCaption.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/classes/Service.md", - "additions": 7, - "deletions": 5 + "path": "docs/api/functions/generateImage.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/Clients.md", - "additions": 45, - "deletions": 5 + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/GoalStatus.md", - "additions": 4, - "deletions": 4 + "path": "docs/api/functions/generateObject.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/LoggingLevel.md", - "additions": 4, - "deletions": 4 + "path": "docs/api/functions/generateObjectArray.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/ModelClass.md", - "additions": 6, - "deletions": 6 + "path": "docs/api/functions/generateObjectV2.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/ModelProviderName.md", - "additions": 64, - "deletions": 44 + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/enumerations/ServiceType.md", - "additions": 39, - "deletions": 9 + "path": "docs/api/functions/generateText.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/addHeader.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/generateTextArray.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/composeActionExamples.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/composeContext.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/generateWebSearch.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/configureSettings.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getActorDetails.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/createGoal.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/createRelationship.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/embed.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/findNearestEnvFile.md", - "additions": 5, - "deletions": 5 + "path": "docs/api/functions/getEndpoint.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatActionNames.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getEnvVariable.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatActions.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getGoals.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatActors.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getModel.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getProviders.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatEvaluatorExamples.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getRelationship.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatEvaluatorNames.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/getRelationships.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatEvaluators.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/handleProvider.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatGoalsAsString.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatMessages.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatPosts.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatRelationships.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/formatTimestamp.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateCaption.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateImage.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateMessageResponse.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateObject.md", - "additions": 13, - "deletions": 9 + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateObjectArray.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateObjectDeprecated.md", - "additions": 23, - "deletions": 0 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateObjectV2.md", - "additions": 0, - "deletions": 27 + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 }, { - "path": "docs/api/functions/generateShouldRespond.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/Account.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/generateText.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/generateTextArray.md", + "path": "docs/api/interfaces/ActionExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/functions/generateTrueOrFalse.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/Actor.md", + "additions": 4, + "deletions": 4 }, { - "path": "docs/api/functions/generateTweetActions.md", - "additions": 23, - "deletions": 0 + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/generateWebSearch.md", + "path": "docs/api/interfaces/ConversationExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/functions/getActorDetails.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/functions/getEmbeddingConfig.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/Evaluator.md", + "additions": 7, + "deletions": 7 }, { - "path": "docs/api/functions/getEmbeddingType.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 }, { - "path": "docs/api/functions/getEmbeddingZeroVector.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/getEndpoint.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 }, { - "path": "docs/api/functions/getEnvVariable.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, + "deletions": 4 }, { - "path": "docs/api/functions/getGoals.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/functions/getModel.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/functions/getProviders.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 }, { - "path": "docs/api/functions/getRelationship.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/functions/getRelationships.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/functions/handleProvider.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 }, { - "path": "docs/api/functions/hasEnvVariable.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IPdfService.md", + "additions": 4, + "deletions": 4 }, { - "path": "docs/api/functions/loadEnvConfig.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 }, { - "path": "docs/api/functions/parseActionResponseFromText.md", - "additions": 21, - "deletions": 0 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/parseBooleanFromText.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/parseJSONObjectFromText.md", - "additions": 2, - "deletions": 2 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 }, { - "path": "docs/api/functions/parseJsonArrayFromText.md", - "additions": 2, - "deletions": 2 - }, + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6FlZcs", + "number": 1193, + "title": "Feature/news plugin", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-18T02:55:07Z", + "updatedAt": "2024-12-18T02:55:44Z", + "author": { + "login": "cwrage77", + "avatarUrl": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4" + }, + "labels": [], + "files": [ { - "path": "docs/api/functions/parseShouldRespondFromText.md", - "additions": 2, - "deletions": 2 + "path": ".gitignore", + "additions": 56, + "deletions": 54 }, { - "path": "docs/api/functions/splitChunks.md", - "additions": 2, - "deletions": 2 + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 }, { - "path": "docs/api/functions/stringToUuid.md", - "additions": 2, - "deletions": 2 + "path": "agent/package.json", + "additions": 1, + "deletions": 0 }, { - "path": "docs/api/functions/trimTokens.md", + "path": "agent/src/index.ts", "additions": 2, - "deletions": 2 + "deletions": 0 }, { - "path": "docs/api/functions/updateGoal.md", - "additions": 2, - "deletions": 2 + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 }, { - "path": "docs/api/functions/validateCharacterConfig.md", - "additions": 2, - "deletions": 2 + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 }, { - "path": "docs/api/functions/validateEnv.md", - "additions": 2, - "deletions": 2 + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 }, { - "path": "docs/api/index.md", - "additions": 10, - "deletions": 3 + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 }, { - "path": "docs/api/interfaces/Account.md", - "additions": 7, - "deletions": 7 + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 }, { - "path": "docs/api/interfaces/Action.md", - "additions": 7, - "deletions": 7 + "path": "packages/plugin-news/src/actions/index.ts", + "additions": 2, + "deletions": 0 }, { - "path": "docs/api/interfaces/ActionExample.md", - "additions": 3, - "deletions": 3 + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 }, { - "path": "docs/api/interfaces/ActionResponse.md", - "additions": 43, + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, "deletions": 0 }, { - "path": "docs/api/interfaces/Actor.md", - "additions": 5, - "deletions": 5 + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 }, { - "path": "docs/api/interfaces/Content.md", - "additions": 7, - "deletions": 7 + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 }, { - "path": "docs/api/interfaces/ConversationExample.md", - "additions": 3, - "deletions": 3 + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 }, { - "path": "docs/api/interfaces/EvaluationExample.md", - "additions": 4, - "deletions": 4 + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 }, { - "path": "docs/api/interfaces/Evaluator.md", - "additions": 8, - "deletions": 8 + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6Fkph3", + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-18T00:10:51Z", + "updatedAt": "2024-12-18T02:00:30Z", + "author": { + "login": "ileana-pr", + "avatarUrl": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/docs/contributing.md", + "additions": 5, + "deletions": 5 } ], "reviews": [ { - "id": "PRR_kwDOMT5cIs6VeEgW", + "id": "PRR_kwDOMT5cIs6VpJxF", "author": "monilpat", - "body": "", - "state": "DISMISSED" + "body": "LGTM - thanks :) ", + "state": "APPROVED" } ], "comments": [ { - "id": "IC_kwDOMT5cIs6X1Rn-", + "id": "IC_kwDOMT5cIs6X_8Px", "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1144?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 17 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1144/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] }, { - "id": "PR_kwDOMT5cIs6FbUD3", - "number": 1143, - "title": "chore: remove comment", - "body": "", + "id": "PR_kwDOMT5cIs6FkN7C", + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "state": "MERGED", "merged": true, - "createdAt": "2024-12-17T00:37:44Z", - "updatedAt": "2024-12-17T00:38:08Z", + "createdAt": "2024-12-17T22:45:37Z", + "updatedAt": "2024-12-18T02:07:57Z", "author": { - "login": "shakkernerd", - "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4" + "login": "ai16z-demirix", + "avatarUrl": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4" }, "labels": [], "files": [ { - "path": "packages/plugin-solana/src/index.ts", + "path": "packages/core/README-TESTS.md", "additions": 1, "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, + "deletions": 0 } ], - "reviews": [], - "comments": [] + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6VpMxo", + "author": "monilpat", + "body": "LGTM thanks for doing this :) ", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6X-yCF", + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + } + ] } ] diff --git a/data/daily/scored.json b/data/daily/scored.json index 25071f6..2555563 100644 --- a/data/daily/scored.json +++ b/data/daily/scored.json @@ -1,870 +1,614 @@ [ { - "contributor": "shakkernerd", - "score": 129, + "contributor": "madjin", + "score": 23, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4", "activity": { "code": { - "total_commits": 26, - "total_prs": 9, - "commits": [ - { - "sha": "81d027327ebba82ef3ed473d0e914c90e18e362d", - "message": "Merge pull request #1165 from ai16z/fix/start_script\n\nfeat: make script dash compatible", - "created_at": "2024-12-17T09:08:56Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "a2a079510c0a9f5cd0471b37fbca206fbf42bc90", - "message": "feat: make script dash compatible", - "created_at": "2024-12-17T09:06:49Z", - "additions": 34, - "deletions": 24, - "changed_files": 1 - }, - { - "sha": "2216ae868b37bcb78f83e8f362f59178a3b478b7", - "message": "Merge pull request #1159 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:17:15Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "2e44768f31f38e0abac443f22fbd0819c6a485a9", - "message": "chore: bump version to 0.1.6-alpha.4", - "created_at": "2024-12-17T07:16:37Z", - "additions": 46, - "deletions": 46, - "changed_files": 46 - }, - { - "sha": "798d34c4af979754b88d83d3f354bdbc742af26d", - "message": "Merge pull request #1158 from ai16z/fix/client-twitter\n\nfix: client twitter login and auth handler", - "created_at": "2024-12-17T07:15:16Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "4111f3f557a109464b41b1533cbba2bd7106035e", - "message": "fix: client twitter login and auth handler", - "created_at": "2024-12-17T07:11:12Z", - "additions": 77, - "deletions": 54, - "changed_files": 1 - }, - { - "sha": "65ba827b034508310e7e0c368fc7f9e1b6da46aa", - "message": "chore: fix broken pnpm lockfile", - "created_at": "2024-12-17T04:16:22Z", - "additions": 17935, - "deletions": 22902, - "changed_files": 1 - }, - { - "sha": "c34ff57ae7ef5e60e9e35088e611a87bd94165e4", - "message": "Merge pull request #1155 from ai16z/develop\n\nchore: develop into main", - "created_at": "2024-12-17T03:44:57Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "c08d0a2a019070b1a6724d9852be7a506caa4414", - "message": "Merge pull request #1153 from ai16z/fetch_logs_debug\n\nfix: fetch log level to debug", - "created_at": "2024-12-17T03:29:17Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "29ce2f946f7c34bc54de3abad9c530334a33bae5", - "message": "fix: fetch log level to debug", - "created_at": "2024-12-17T03:28:00Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b9f8970f3b96c46d65e78de3931da6167dbbfa6a", - "message": "Merge pull request #1152 from ai16z/new_version\n\nchore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:10:42Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "34136e159b7713fc40ecd8e15c1c2df3958f7cdf", - "message": "chore: bump version to 0.1.6-alpha.3", - "created_at": "2024-12-17T03:09:33Z", - "additions": 1237, - "deletions": 1231, - "changed_files": 46 - }, - { - "sha": "bd1057aa8d8fb9ed000c145f833da44bbd221c68", - "message": "Merge pull request #1150 from ai16z/update-version\n\nfeat: update packages version script", - "created_at": "2024-12-17T03:04:22Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "7c493f2749fb140d256c02ca3a9161495bf8ef13", - "message": "feat: update packages version script", - "created_at": "2024-12-17T03:03:45Z", - "additions": 82, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "0a23d6d2b32cafd47e53da89454cb8b36c045432", - "message": "Merge pull request #1148 from odilitime/fix-lint\n\nchore: fix PR #1147", - "created_at": "2024-12-17T02:26:39Z", - "additions": 3, - "deletions": 3, - "changed_files": 2 - }, - { - "sha": "0e337c3ad9b9918647f990dcd9fdc9eaadd16d92", - "message": "Merge pull request #1147 from odilitime/fix-lint\n\nfix: improve fomo integration", - "created_at": "2024-12-17T02:04:33Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "83bd4873e3bbdaf4bc2dd7b90000f3965ea28d3c", - "message": "chore: delete client-whatsapp folder", - "created_at": "2024-12-17T01:42:53Z", - "additions": 0, - "deletions": 75, - "changed_files": 5 - }, - { - "sha": "5fcdcffcdb660d7dd1a2eb6af990bea037d5fe1e", - "message": "chore: add eslint config", - "created_at": "2024-12-17T01:33:31Z", - "additions": 3, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "018f95221c75b2afe4c16124829062fb01aec39c", - "message": "chore: lint command", - "created_at": "2024-12-17T01:32:37Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "90be9ecc20d0570daf027edbaac1060fd453e7c2", - "message": "fix: remove unused variable", - "created_at": "2024-12-17T01:32:25Z", - "additions": 29, - "deletions": 9, - "changed_files": 1 - }, - { - "sha": "c56f60c3ca21ce08d559ec72123cc850ae413b81", - "message": "chore: comment out unused imports", - "created_at": "2024-12-17T01:28:14Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "06a1b00152d87598c0957e58aef86e62dc2dd2d4", - "message": "fix: use of let instead of const", - "created_at": "2024-12-17T01:26:59Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "257d3e42e8a6f14587635b7d238655702915bb50", - "message": "fix: Expected an assignment or function call and instead saw an expression", - "created_at": "2024-12-17T01:26:08Z", - "additions": 7, - "deletions": 7, - "changed_files": 1 - }, - { - "sha": "30665843e637dc8837effa25acd8b99e8599d33d", - "message": "fix: remove unused import", - "created_at": "2024-12-17T01:24:10Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "2d5617120810b5356261ab86b0a600c3c7d8b6a5", - "message": "Merge pull request #1143 from ai16z/remove-comment\n\nchore: remove comment", - "created_at": "2024-12-17T00:38:06Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "fa878418df76325719bb4ea4d14d2f20dad0ffdb", - "message": "chore: remove comment", - "created_at": "2024-12-17T00:36:11Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - } - ], + "total_commits": 0, + "total_prs": 1, + "commits": [], "pull_requests": [ { - "number": 1165, - "title": "feat: make script dash compatible", + "number": 1211, + "title": "chore: New docs", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T09:08:00Z", - "updated_at": "2024-12-17T09:13:05Z", - "body": "Related to #1151 ", + "created_at": "2024-12-18T19:04:47Z", + "updated_at": "2024-12-18T20:26:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "scripts/start.sh", - "additions": 34, - "deletions": 24 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/classes/AgentRuntime.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1165?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1159, - "title": "chore: bump version to 0.1.6-alpha.4", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:17:05Z", - "updated_at": "2024-12-17T13:17:52Z", - "body": "", - "files": [ + "path": "docs/api/classes/CacheManager.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/package.json", + "path": "docs/api/classes/DatabaseAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "client/package.json", + "path": "docs/api/classes/DbCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "docs/package.json", + "path": "docs/api/classes/FsCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "lerna.json", + "path": "docs/api/classes/MemoryCacheAdapter.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-postgres/package.json", + "path": "docs/api/classes/MemoryManager.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqlite/package.json", + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, + { + "path": "docs/api/enumerations/Clients.md", + "additions": 9, + "deletions": 9 + }, + { + "path": "docs/api/enumerations/GoalStatus.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-sqljs/package.json", + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/enumerations/ModelClass.md", "additions": 1, "deletions": 1 }, { - "path": "packages/adapter-supabase/package.json", + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 33, + "deletions": 23 + }, + { + "path": "docs/api/enumerations/ServiceType.md", + "additions": 12, + "deletions": 12 + }, + { + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/composeActionExamples.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-auto/package.json", + "path": "docs/api/functions/composeContext.md", + "additions": 12, + "deletions": 6 + }, + { + "path": "docs/api/functions/configureSettings.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-direct/package.json", + "path": "docs/api/functions/createGoal.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-discord/package.json", + "path": "docs/api/functions/createRelationship.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-farcaster/package.json", + "path": "docs/api/functions/embed.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-github/package.json", + "path": "docs/api/functions/findNearestEnvFile.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-lens/package.json", + "path": "docs/api/functions/formatActionNames.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-slack/package.json", + "path": "docs/api/functions/formatActions.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-telegram/package.json", + "path": "docs/api/functions/formatActors.md", "additions": 1, "deletions": 1 }, { - "path": "packages/client-twitter/package.json", + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", "additions": 1, "deletions": 1 }, { - "path": "packages/core/package.json", + "path": "docs/api/functions/formatEvaluatorExamples.md", "additions": 1, "deletions": 1 }, { - "path": "packages/create-eliza-app/package.json", + "path": "docs/api/functions/formatEvaluatorNames.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", + "path": "docs/api/functions/formatEvaluators.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-aptos/package.json", + "path": "docs/api/functions/formatGoalsAsString.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-bootstrap/package.json", + "path": "docs/api/functions/formatMessages.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-coinbase/package.json", + "path": "docs/api/functions/formatPosts.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-conflux/package.json", + "path": "docs/api/functions/formatRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-echochambers/package.json", + "path": "docs/api/functions/formatTimestamp.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateImage.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-flow/package.json", + "path": "docs/api/functions/generateMessageResponse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateObjectArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-icp/package.json", + "path": "docs/api/functions/generateObjectDeprecated.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-image-generation/package.json", + "path": "docs/api/functions/generateShouldRespond.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", + "path": "docs/api/functions/generateText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-multiversx/package.json", + "path": "docs/api/functions/generateTextArray.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-near/package.json", + "path": "docs/api/functions/generateTrueOrFalse.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-nft-generation/package.json", + "path": "docs/api/functions/generateTweetActions.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getActorDetails.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-node/package.json", + "path": "docs/api/functions/getEmbeddingConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-solana/package.json", + "path": "docs/api/functions/getEmbeddingType.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-starknet/package.json", + "path": "docs/api/functions/getEmbeddingZeroVector.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-story/package.json", + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-sui/package.json", + "path": "docs/api/functions/getGoals.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-tee/package.json", + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/getProviders.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-ton/package.json", + "path": "docs/api/functions/getRelationship.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-trustdb/package.json", + "path": "docs/api/functions/getRelationships.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-video-generation/package.json", + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, + { + "path": "docs/api/functions/hasEnvVariable.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-web-search/package.json", + "path": "docs/api/functions/loadEnvConfig.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-whatsapp/package.json", + "path": "docs/api/functions/parseActionResponseFromText.md", "additions": 1, "deletions": 1 }, { - "path": "packages/plugin-zksync-era/package.json", + "path": "docs/api/functions/parseBooleanFromText.md", "additions": 1, "deletions": 1 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1159?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1158, - "title": "fix: client twitter login and auth handler", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T07:11:43Z", - "updated_at": "2024-12-17T07:16:49Z", - "body": "", - "files": [ + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 1, + "deletions": 1 + }, { - "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1158?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1155, - "title": "chore: develop into main", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:44:24Z", - "updated_at": "2024-12-17T04:07:13Z", - "body": "", - "files": [ + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/src/index.ts", - "additions": 5, - "deletions": 0 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/splitChunks.md", + "additions": 1, + "deletions": 1 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1155?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1153, - "title": "fix: fetch log level to debug", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:29:05Z", - "updated_at": "2024-12-17T03:33:33Z", - "body": "", - "files": [ + "path": "docs/api/functions/stringToUuid.md", + "additions": 1, + "deletions": 1 + }, { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1153?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1152, - "title": "chore: bump version to 0.1.6-alpha.3", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T03:10:01Z", - "updated_at": "2024-12-17T03:14:33Z", - "body": "", - "files": [ - { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 - }, - { - "path": "client/package.json", - "additions": 45, - "deletions": 45 - }, - { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 - }, - { - "path": "lerna.json", - "additions": 9, - "deletions": 3 - }, - { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/adapter-supabase/package.json", - "additions": 20, - "deletions": 20 - }, - { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 - }, - { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/functions/trimTokens.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/functions/updateGoal.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-lens/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-twitter/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/ActionExample.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 + "path": "docs/api/interfaces/ActionResponse.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 + "path": "docs/api/interfaces/Actor.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 + "path": "docs/api/interfaces/Content.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-bootstrap/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 }, { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 }, { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 + "path": "docs/api/interfaces/Goal.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/interfaces/IAgentConfig.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 38, + "deletions": 38 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 + "path": "docs/api/interfaces/IAwsS3Service.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "docs/api/interfaces/ISlackService.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 - }, + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 + } + ], + "reviews": [ { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "author": "odilitime", + "state": "APPROVED", + "body": "" }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 - }, + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1200, + "title": "chore: Document Missing Plugin Documentation and Examples", + "state": "OPEN", + "created_at": "2024-12-18T08:59:15Z", + "updated_at": "2024-12-18T08:59:15Z", + "body": "**Overview**\r\nSeveral plugins in the Eliza framework lack comprehensive documentation. This makes it harder for new developers to understand and utilize these components.\r\n\r\nMissing Plugin Documentation:\r\n- [ ] plugin-0g - File storage plugin\r\n- [ ] plugin-aptos - Aptos blockchain integration\r\n- [ ] plugin-conflux - Conflux blockchain integration \r\n- [ ] plugin-echochambers - Echo chamber client\r\n- [ ] plugin-flow - Flow blockchain integration\r\n- [ ] plugin-goat - GOAT functionality\r\n- [ ] plugin-icp - Internet Computer integration\r\n- [ ] plugin-image-generation - Image generation capabilities\r\n- [ ] plugin-intiface - Intiface integration\r\n- [ ] plugin-multiversx - MultiversX blockchain \r\n- [ ] plugin-near - NEAR Protocol integration\r\n- [ ] plugin-nft-generation - NFT creation functionality\r\n- [ ] plugin-story - Story/IP management\r\n- [ ] plugin-sui - Sui blockchain integration\r\n- [ ] plugin-ton - TON blockchain integration\r\n- [ ] plugin-trustdb - Trust database functionality\r\n- [ ] plugin-video-generation - Video generation features\r\n- [ ] plugin-web-search - Web search capabilities\r\n- [ ] plugin-whatsapp - WhatsApp integration\r\n- [ ] plugin-zksync-era - zkSync Era integration\r\n\r\n**Proposed Documentation Structure**\r\nFor each plugin, we need:\r\n1. Overview and purpose\r\n2. Installation instructions\r\n3. Configuration requirements\r\n4. Usage examples\r\n5. API reference\r\n6. Common issues/troubleshooting\r\n\r\n**Additional Missing Docs**\r\n- Examples folder documentation\r\n- Testing guide expansion\r\n- Plugin development guide\r\n- Security best practices\r\n- Performance optimization guide\r\n\r\n**Value Add**\r\nThis documentation will:\r\n- Improve developer onboarding\r\n- Reduce support questions\r\n- Enable faster plugin adoption\r\n- Help maintain code quality", + "labels": [ { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "name": "documentation", + "color": "0075ca", + "description": "Improvements or additions to documentation" }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, - "deletions": 18 + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1152?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tomguluson92", + "score": 17, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1150, - "title": "feat: update packages version script", + "number": 1196, + "title": "docs: Update \"CN README\" with more details", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T03:04:12Z", - "updated_at": "2024-12-17T03:09:02Z", - "body": "", + "created_at": "2024-12-18T06:12:33Z", + "updated_at": "2024-12-18T17:29:45Z", + "body": "Add more details in the CN version of README\r\n\r\n\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFix the old CN readme, since old version do not have a complete launch information.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nYes, I change the readme chinese version.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "scripts/update-versions.js", - "additions": 82, - "deletions": 0 + "path": "README_CN.md", + "additions": 58, + "deletions": 6 } ], - "reviews": [], - "comments": [ - { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1150?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - }, - { - "number": 1149, - "title": "chore: import fomo action", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T02:22:03Z", - "updated_at": "2024-12-17T02:26:28Z", - "body": "", - "files": [ + "reviews": [ { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], - "comments": [] - }, - { - "number": 1143, - "title": "chore: remove comment", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T00:37:44Z", - "updated_at": "2024-12-17T00:38:08Z", - "body": "", - "files": [ + "comments": [ { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 1 + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1196?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } - ], - "reviews": [], - "comments": [] + ] } ] }, @@ -874,152 +618,94 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "odilitime", - "score": 84, + "contributor": "ileana-pr", + "score": 17, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/103957712?u=e0f8d1e80ea177088c7f03dc45da54e7994ccd7c&v=4", "activity": { "code": { - "total_commits": 11, - "total_prs": 5, - "commits": [ - { - "sha": "79cf0dfe61675e4faa809f675fce32209d55ea6d", - "message": "fix directClient", - "created_at": "2024-12-17T03:31:01Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "6542085148e31cc4914e1e8579f3f3aa1221037a", - "message": "Merge pull request #1144 from ai16z/develop\n\nchore: Merge monday, merging develop into main", - "created_at": "2024-12-17T02:33:22Z", - "additions": 55032, - "deletions": 26261, - "changed_files": 552 - }, + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "sha": "0a1f55df11220c103815d86d4ab9c3635dc20669", - "message": "Merge branch 'develop' of https://github.com/ai16z/eliza into fix-lint", - "created_at": "2024-12-17T02:17:43Z", - "additions": 0, - "deletions": 0, - "changed_files": 0 - }, - { - "sha": "8a8b69f0e11e8cc2fc76768438ad917710e2de3b", - "message": "update URLs and example response", - "created_at": "2024-12-17T02:08:49Z", - "additions": 2, - "deletions": 2, - "changed_files": 1 - }, - { - "sha": "b6af59eb544c5bee24a09ab029e60b1ac94778dc", - "message": "include fomo", - "created_at": "2024-12-17T02:08:26Z", - "additions": 1, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "dac55c5e4a59d6129fc7aa094f7e7555f8036df2", - "message": "improve on fomo plugin and distingush it from pump.fun's plugin", - "created_at": "2024-12-17T01:54:21Z", - "additions": 7, - "deletions": 9, - "changed_files": 3 - }, - { - "sha": "2e9bcbef2c1b0dbd7890c3cdcc9972cedbe06c82", - "message": "update lockfile for PR1135", - "created_at": "2024-12-17T00:35:29Z", - "additions": 22686, - "deletions": 17677, - "changed_files": 1 - }, - { - "sha": "c4d4a0a9f2185ce690cb8e306ca660a23b927d3d", - "message": "Merge pull request #1135 from fomoTon/fomo-token-plugin\n\nfeat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana", - "created_at": "2024-12-17T00:28:50Z", - "additions": 632, - "deletions": 0, - "changed_files": 3 - }, - { - "sha": "ca5edca37f7ea3f500ca2910eccd1354d92ad730", - "message": "Merge pull request #965 from FWangZil/fix/plugin-evm\n\nfix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash", - "created_at": "2024-12-16T23:59:26Z", - "additions": 45, - "deletions": 20, - "changed_files": 2 - }, - { - "sha": "2263d767721d463b2575892fb6c2ec879c800a39", - "message": "fix merge: remove double improve, adjust params to various calls, use initWalletProvider", - "created_at": "2024-12-16T23:55:57Z", - "additions": 10, - "deletions": 13, - "changed_files": 1 - }, - { - "sha": "d2c1d93321f9d172b5e50b6c854dca8362d76983", - "message": "Merge branch 'develop' into fix/plugin-evm", - "created_at": "2024-12-16T22:54:27Z", - "additions": 77035, - "deletions": 48588, - "changed_files": 658 - } - ], - "pull_requests": [ - { - "number": 1187, - "title": "feat: REST POST /agents/:agentId/memory/add", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T19:21:40Z", - "updated_at": "2024-12-17T19:30:11Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n- Adds a new route to add new memories to a running agent\r\n- improved speed of loading knowledge from a character file (though now risks using too much resources, batching version to come later)\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nopens integration possibilities, path for command line utility to dump files into memory\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes require a change to the project documentation.", + "number": 1191, + "title": "docs: fixed CONTRIBUTING.md file Issue: 1048", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T00:10:51Z", + "updated_at": "2024-12-18T02:00:30Z", + "body": "\r\n\r\n# Relates to:\r\nIssue #1048 Fixed \r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/client-direct/src/api.ts", - "additions": 27, - "deletions": 2 - }, - { - "path": "packages/core/src/memory.ts", - "additions": 6, - "deletions": 0 - }, + "path": "docs/docs/contributing.md", + "additions": 5, + "deletions": 5 + } + ], + "reviews": [ { - "path": "packages/core/src/runtime.ts", - "additions": 51, - "deletions": 8 + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM - thanks :) " } ], - "reviews": [], - "comments": [] - }, + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1191?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "ai16z-demirix", + "score": 17, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1154, - "title": "fix: fix direct-client ability to start agents", + "number": 1190, + "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T03:32:14Z", - "updated_at": "2024-12-17T03:41:50Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nFixes direct-client behavior\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nTo restore previous behavior\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.", + "created_at": "2024-12-17T22:45:37Z", + "updated_at": "2024-12-18T02:07:57Z", + "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "agent/src/index.ts", - "additions": 5, + "path": "packages/core/README-TESTS.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/tests/runtime.test.ts", + "additions": 139, "deletions": 0 } ], @@ -1027,620 +713,723 @@ { "author": "monilpat", "state": "APPROVED", - "body": "LGTM!" + "body": "LGTM thanks for doing this :) " } ], "comments": [ { "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1154?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1154/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1190?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 8 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1190/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" } ] - }, + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "marcNY", + "score": 15, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/8562443?u=734e3f5504e627ba44eec27c72ce0263cfe0a0ab&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1148, - "title": "chore: fix PR #1147", + "number": 1209, + "title": "docs: Update README.md", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T02:10:35Z", - "updated_at": "2024-12-17T02:26:39Z", - "body": "ShakkerNerd said to directly commit", + "created_at": "2024-12-18T16:46:43Z", + "updated_at": "2024-12-18T17:21:57Z", + "body": "Relates to:\r\n\r\nNo issue; I created the pull request directly.\r\n\r\nRisks:\r\n\r\nLow\r\n\r\nBackground:\r\n\r\nThe starter script was not working because it did not include a cd command to navigate into the eliza-starter directory. This caused the script to fail when executed from the root of the project.\r\n\r\nWhat does this PR do?\r\n\r\nThis PR updates the starter script by adding a cd command to ensure it correctly navigates into the eliza-starter directory before executing any subsequent steps.\r\n\r\nWhat kind of change is this?\r\n\t\u2022\tBug fixes (non-breaking change which fixes an issue)\r\n\r\nDocumentation changes needed?\r\n\t\u2022\tMy changes do not require a change to the project documentation.\r\n\r\nTesting:\r\n\r\nWhere should a reviewer start?\r\n\r\nStart by reviewing the changes made to the starter script file.\r\n\r\nDetailed testing steps:\r\n\t1.\tRun the updated starter script from the root directory.\r\n\t2.\tConfirm that the script correctly navigates into the eliza-starter directory and proceeds without errors.", "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 2, + "path": "README.md", + "additions": 1, "deletions": 2 - }, + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "v1xingyue", + "score": 14, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/974169?u=96c6a113a91978c041e5cf90965d7b66c5540af4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1207, + "title": "fix: gitpod cicd bug", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-18T15:06:25Z", + "updated_at": "2024-12-18T19:43:00Z", + "body": "Sometimes we can't fetch tags, so let's fetch tags before.\r\n", + "files": [ { - "path": "packages/plugin-solana/src/index.ts", + "path": ".gitpod.yml", "additions": 1, - "deletions": 1 + "deletions": 0 } ], "reviews": [ { - "author": "monilpat", + "author": "odilitime", "state": "APPROVED", - "body": "LGTM!" + "body": "" } ], "comments": [ { - "author": "monilpat", - "body": "Looks like the smoke test failed " + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1207?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" } ] - }, + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "9547", + "score": 14, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/29431502?u=def2043f3c532d18cae388fcec8d24a21e08d044&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1147, - "title": "fix: improve fomo integration", + "number": 1201, + "title": "docs(cn): add python 3.7", "state": "MERGED", "merged": true, - "created_at": "2024-12-17T01:56:31Z", - "updated_at": "2024-12-17T02:04:33Z", - "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nenables fomo action\r\n\r\n## What kind of change is this?\r\n\r\nUpdates (new versions of included code)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nimprove code quality instead of removing fomo\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n", + "created_at": "2024-12-18T09:00:53Z", + "updated_at": "2024-12-18T17:39:58Z", + "body": "\r\n## What does this PR do?\r\n\r\nAdd python2.7 to the requirements\r\n\r\n", "files": [ { - "path": "packages/plugin-solana/src/actions/fomo.ts", - "additions": 4, - "deletions": 7 - }, - { - "path": "packages/plugin-solana/src/actions/pumpfun.ts", + "path": "README_CN.md", "additions": 2, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/index.ts", - "additions": 1, - "deletions": 0 + "deletions": 3 } ], "reviews": [ { - "author": "shakkernerd", + "author": "odilitime", "state": "APPROVED", "body": "" } ], - "comments": [] - }, + "comments": [ + { + "author": "codecov", + "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1201?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "monilpat", + "score": 10, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ { - "number": 1144, - "title": "chore: Merge monday, merging develop into main", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T00:46:47Z", - "updated_at": "2024-12-17T02:34:41Z", - "body": "Bring tested develop into main\r\n\r\nIncludes the following PR merges:\r\n\r\n- #1148\r\n- #1147\r\n- #1143 \r\n- #1135\r\n- #965\r\n- #1140\r\n- #1141\r\n- #1125\r\n- #796\r\n- #1136\r\n- #1131\r\n- #1133\r\n- #1124\r\n- #1120\r\n- #1032\r\n- #1033\r\n- #957\r\n- #853\r\n- #814\r\n- #837\r\n- #1009\r\n- #1095\r\n- #1115\r\n- #1114\r\n- #1112\r\n- #1111\r\n- #852\r\n- #1030\r\n- #934\r\n- #1107\r\n- #1011\r\n- #1098\r\n- #897\r\n- #1091\r\n- #1104\r\n- #1070\r\n- #1103\r\n- #1102\r\n- #1036\r\n- #1101\r\n- #998\r\n- #1097\r\n- #1094\r\n- #1093\r\n- #1092\r\n- #1088\r\n- #1086\r\n- #1085\r\n- #1084\r\n- #1083\r\n- #1082\r\n- #1081\r\n- #1080\r\n- #1079\r\n- #906\r\n- #1078\r\n- #859\r\n- #1077\r\n- #1076\r\n- #1056\r\n- #1031\r\n- #1075\r\n- #1039\r\n- #1074\r\n- #1073\r\n- #847\r\n- #860\r\n- #1034\r\n- #1053\r\n- #856\r\n- #1057\r\n- #1040\r\n- #1054\r\n- #1055\r\n- #1052\r\n- #913\r\n- #889\r\n- #1046\r\n- #1050\r\n", + "number": 1195, + "title": "feat: integrate contextualized actions + bug fixes ", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T05:26:54Z", + "updated_at": "2024-12-18T05:27:15Z", + "body": "Integrate memories (files) + character details to in actions plus a few bug fixes", "files": [ { "path": ".env.example", - "additions": 160, - "deletions": 109 + "additions": 2, + "deletions": 7 }, { - "path": ".github/workflows/ci.yaml", - "additions": 1, - "deletions": 1 + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 }, { "path": ".gitignore", - "additions": 4, + "additions": 5, "deletions": 1 }, { - "path": ".gitpod.yml", - "additions": 1, - "deletions": 2 + "path": "agent/package.json", + "additions": 3, + "deletions": 1 }, { - "path": ".npmrc", - "additions": 1, - "deletions": 0 + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 12 }, { - "path": ".vscode/settings.json", - "additions": 1, - "deletions": 1 + "path": "characters/chronis.character.json", + "additions": 321, + "deletions": 0 }, { - "path": "CHANGELOG.md", - "additions": 1, - "deletions": 1 + "path": "characters/logging-addict.character.json", + "additions": 262, + "deletions": 0 }, { - "path": "CONTRIBUTING.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README_HE.md", - "additions": 189, - "deletions": 0 - }, - { - "path": "README_VI.md", - "additions": 129, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 10, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 105, - "deletions": 91 - }, - { - "path": "characters/c3po.character.json", - "additions": 98, - "deletions": 0 - }, - { - "path": "characters/dobby.character.json", - "additions": 98, - "deletions": 0 - }, - { - "path": "docker-compose.yaml", - "additions": 0, - "deletions": 1 - }, - { - "path": "docs/README.md", - "additions": 4, - "deletions": 0 - }, - { - "path": "docs/README_TH.md", - "additions": 178, - "deletions": 0 - }, - { - "path": "docs/api/classes/AgentRuntime.md", - "additions": 81, - "deletions": 52 + "path": "docs/api/classes/AgentRuntime.md", + "additions": 40, + "deletions": 40 }, { "path": "docs/api/classes/CacheManager.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/classes/DatabaseAdapter.md", - "additions": 42, - "deletions": 42 + "additions": 41, + "deletions": 41 }, { "path": "docs/api/classes/DbCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/classes/FsCacheAdapter.md", - "additions": 5, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/classes/MemoryCacheAdapter.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/classes/MemoryManager.md", - "additions": 14, - "deletions": 14 + "additions": 13, + "deletions": 13 }, { "path": "docs/api/classes/Service.md", - "additions": 7, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/enumerations/Clients.md", - "additions": 45, - "deletions": 5 + "additions": 4, + "deletions": 4 }, { "path": "docs/api/enumerations/GoalStatus.md", - "additions": 4, - "deletions": 4 + "additions": 3, + "deletions": 3 }, { "path": "docs/api/enumerations/LoggingLevel.md", - "additions": 4, - "deletions": 4 + "additions": 3, + "deletions": 3 }, { "path": "docs/api/enumerations/ModelClass.md", - "additions": 6, - "deletions": 6 + "additions": 5, + "deletions": 5 }, { "path": "docs/api/enumerations/ModelProviderName.md", - "additions": 64, - "deletions": 44 + "additions": 76, + "deletions": 0 }, { "path": "docs/api/enumerations/ServiceType.md", - "additions": 39, - "deletions": 9 + "additions": 8, + "deletions": 8 }, { "path": "docs/api/functions/addHeader.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/composeActionExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/composeContext.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/configureSettings.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/createRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/embed.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/findNearestEnvFile.md", - "additions": 5, - "deletions": 5 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActionNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatActors.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorExamples.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluatorNames.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatEvaluators.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatGoalsAsString.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatMessages.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatPosts.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/formatTimestamp.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateCaption.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateImage.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateMessageResponse.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObject.md", - "additions": 13, - "deletions": 9 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObjectArray.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/generateObjectDeprecated.md", - "additions": 23, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateObjectV2.md", - "additions": 0, - "deletions": 27 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateShouldRespond.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTextArray.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateTrueOrFalse.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/generateTweetActions.md", - "additions": 23, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/generateWebSearch.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getActorDetails.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingConfig.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingType.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEmbeddingZeroVector.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEndpoint.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getGoals.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getModel.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getProviders.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationship.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/getRelationships.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/handleProvider.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/hasEnvVariable.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/loadEnvConfig.md", - "additions": 2, - "deletions": 2 - }, - { - "path": "docs/api/functions/parseActionResponseFromText.md", - "additions": 21, - "deletions": 0 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseBooleanFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJSONObjectFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseJsonArrayFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/parseShouldRespondFromText.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/splitChunks.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/stringToUuid.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/trimTokens.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/updateGoal.md", - "additions": 2, - "deletions": 2 + "additions": 1, + "deletions": 1 }, { "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/functions/validateEnv.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/api/interfaces/Account.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Action.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ActionExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/functions/validateEnv.md", + "path": "docs/api/interfaces/Actor.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/Content.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/ConversationExample.md", "additions": 2, "deletions": 2 }, { - "path": "docs/api/index.md", - "additions": 10, + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/Account.md", + "path": "docs/api/interfaces/Evaluator.md", "additions": 7, "deletions": 7 }, { - "path": "docs/api/interfaces/Action.md", - "additions": 7, - "deletions": 7 + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 9, + "deletions": 9 }, { - "path": "docs/api/interfaces/ActionExample.md", + "path": "docs/api/interfaces/Goal.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 35, + "deletions": 35 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 4, + "deletions": 4 + }, + { + "path": "docs/api/interfaces/ICacheAdapter.md", "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/ActionResponse.md", - "additions": 43, - "deletions": 0 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/interfaces/Actor.md", - "additions": 5, - "deletions": 5 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 37, + "deletions": 37 }, { - "path": "docs/api/interfaces/Content.md", - "additions": 7, - "deletions": 7 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 3, + "deletions": 3 }, { - "path": "docs/api/interfaces/ConversationExample.md", + "path": "docs/api/interfaces/IImageDescriptionService.md", "additions": 3, "deletions": 3 }, { - "path": "docs/api/interfaces/EvaluationExample.md", + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 13, + "deletions": 13 + }, + { + "path": "docs/api/interfaces/IPdfService.md", "additions": 4, "deletions": 4 }, { - "path": "docs/api/interfaces/Evaluator.md", - "additions": 8, - "deletions": 8 - } - ], - "reviews": [ + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 4, + "deletions": 4 + }, { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 6, + "deletions": 6 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1144?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 17 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1144/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/IVideoService.md", + "additions": 6, + "deletions": 6 + }, + { + "path": "docs/api/interfaces/Memory.md", + "additions": 9, + "deletions": 9 } - ] + ], + "reviews": [], + "comments": [] } ] }, "issues": { - "total_opened": 1, + "total_opened": 2, "opened": [ { - "number": 1186, - "title": "request: databaseAdapter.getMemoryByIds", + "number": 1194, + "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", "state": "OPEN", - "created_at": "2024-12-17T19:13:16Z", - "updated_at": "2024-12-17T19:13:16Z", - "body": "Need databaseAdapter.getMemoryByIds for all current database adapters", + "created_at": "2024-12-18T04:16:18Z", + "updated_at": "2024-12-18T08:38:48Z", + "body": "**Is your feature request related to a problem? Please describe.**\n\nThe current logging mechanism in the `/packages/plugin-coinbase/src/plugins` directory lacks consistency and detail, making it challenging to debug and monitor the plugin's behavior effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to standardize logging across the plugin. This should include:\n- Consistent log levels (INFO, DEBUG, ERROR) for different operations.\n- Detailed log messages that include context such as function names and parameters.\n- Examples of how to implement `elizaLogger` in existing functions for better clarity.\n\n**Describe alternatives you've considered**\n\n- Continuing with the current ad-hoc logging approach.\n- Using a third-party logging library, though this may introduce unnecessary dependencies.\n\n**Additional context**\n\nPlease refer to existing examples in the `/packages/plugin-coinbase/src/plugins` directory and extend them where possible. Ensure that the new logging strategy aligns with the overall architecture of the `eliza` project.", "labels": [ { "name": "enhancement", @@ -1651,6 +1440,32 @@ "name": "good first issue", "color": "7057ff", "description": "Good for newcomers" + }, + { + "name": "logging", + "color": "ededed", + "description": null + } + ], + "comments": [ + { + "author": "9547", + "body": "@monilpat may I take this one?" + } + ] + }, + { + "number": 1192, + "title": "Enhance Logging in /packages/plugin-coinbase/src/plugins Using elizaLogger", + "state": "CLOSED", + "created_at": "2024-12-18T01:45:28Z", + "updated_at": "2024-12-18T01:46:15Z", + "body": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: \"\"\nlabels: \"enhancement\"\nassignees: \"\"\n---\n\n**Is your feature request related to a problem? Please describe.**\n\nCurrently, the logging mechanism in `/packages/plugin-coinbase/src/plugins` lacks detailed output, making it difficult to trace issues and monitor performance effectively.\n\n**Describe the solution you'd like**\n\nIntegrate the `elizaLogger` construct to provide more comprehensive logging throughout the codebase. This would involve:\n- Adding entry and exit logs for key functions.\n- Including detailed error logging with stack traces.\n- Logging significant state changes and data processing steps.\n\n**Describe alternatives you've considered**\n\nConsidered using a third-party logging library, but `elizaLogger` offers a more integrated solution with existing infrastructure.\n\n**Additional context**\n\nUtilize existing examples of `elizaLogger` usage in other parts of the codebase as a reference. Extend these examples to cover more complex scenarios within the `/packages/plugin-coinbase/src/plugins` path.", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], "comments": [] @@ -1658,423 +1473,414 @@ ] }, "engagement": { - "total_comments": 0, - "total_reviews": 4, + "total_comments": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "YoungPhlo", - "score": 31, + "contributor": "Longame208", + "score": 10, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/90307961?u=2e7b36c41a4576a4720529da97a57280df102b28&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/79878000?v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 1, + "total_prs": 0, "commits": [], - "pull_requests": [ + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ { - "number": 1174, - "title": "docs: Update \"What Did You Get Done This Week? 5\" spaces notes", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T11:09:55Z", - "updated_at": "2024-12-17T16:36:48Z", - "body": "# Relates to:\r\nDocumentation updates for \"What Did You Get Done This Week? 5\" community stream\r\n\r\n# Risks\r\nLow - This is a documentation update that adds structure and improves readability of an existing community stream summary.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n- Converts raw notes into structured documentation with proper markdown formatting\r\n- Adds sidebar positioning and metadata\r\n- Adds timestamps with direct links\r\n- Organizes content into clear sections (Timestamps, Summary, Hot Takes)\r\n- Improves readability with proper headers and formatting\r\n- Adds description and title metadata\r\n\r\n## What kind of change is this?\r\nImprovements (restructuring and enhancing existing documentation)\r\n\r\n# Documentation changes needed?\r\nMy changes are documentation changes themselves, and are complete.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Check the formatted timestamps section to ensure all links are valid\r\n2. Verify the summary section accurately reflects the stream content\r\n3. Review the \"Hot Takes\" section for accuracy of quotes and timestamps\r\n\r\n## Detailed testing steps\r\n- Verify all timestamp links are functional\r\n- Ensure markdown formatting renders correctly\r\n- Check that sidebar position (5) is correct in the sequence\r\n- Validate that all speaker names and timestamps match the original content\r\n\r\n\r\n\r\n", - "files": [ + "number": 1204, + "title": "unable to chat in terminal", + "state": "OPEN", + "created_at": "2024-12-18T11:19:12Z", + "updated_at": "2024-12-18T12:41:24Z", + "body": "run pnpm start / pnpm start:client and not able to have chat in terminal with agent was working before now it takes to local host page browser and nothing happens\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "labels": [ { - "path": "docs/community/Streams/12-2024/2024-12-13.md", - "additions": 130, - "deletions": 161 + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], - "reviews": [ + "comments": [ { - "author": "odilitime", - "state": "CHANGES_REQUESTED", - "body": "" + "author": "jaycoolh", + "body": "Same error here" }, { - "author": "YoungPhlo", - "state": "COMMENTED", - "body": "" + "author": "jaycoolh", + "body": "I am using: v0.1.6-alpha.4\r\n\r\nnode --version \r\nv23.3.0\r\n\r\npnpm --version \r\n9.15.0\r\n\r\n pnpm start --character=\"characters/trump.character.json\"" }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" + "author": "jaycoolh", + "body": "[\"\u25ce Visit the following URL to chat with your agents:\"]\r\n\r\n [\"\u25ce http://localhost:5173\"]\r\n\r\n [\"\u2713 REST API bound to 0.0.0.0:3000. If running locally, access it at http://localhost:3000.\"]\r\n \r\n \r\n 'http://localhost:5173' is just a dead link" }, { - "author": "odilitime", - "state": "COMMENTED", - "body": "" + "author": "jaycoolh", + "body": "@Longame208 \r\n\r\nin the package.json there is a script `pnpm start:client`\r\n\r\nthis spins up the app http://localhost:5173\r\n\r\nNeed to include this in the quickstart guide https://ai16z.github.io/eliza/docs/quickstart/#next-steps\r\n\r\n(or even better, include the `pnpm start:client` in the `pnpm start` command" } - ], - "comments": [] + ] } ] }, - "issues": { - "total_opened": 0, - "opened": [] - }, "engagement": { - "total_comments": 0, - "total_reviews": 4, + "total_comments": 4, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "yang-han", - "score": 28, + "contributor": "tekspirit", + "score": 8, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/14780887?u=144ea79017cea257e72f805a4532d889b19108fe&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/1505004?u=59283365bced9a568f4a3ea86310ee38f4b5003c&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 3, + "total_prs": 0, "commits": [], - "pull_requests": [ + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ { - "number": 1163, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T08:23:52Z", - "updated_at": "2024-12-17T08:35:18Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, + "number": 1206, + "title": "double backslash when posting to X", + "state": "OPEN", + "created_at": "2024-12-18T14:02:01Z", + "updated_at": "2024-12-18T18:29:36Z", + "body": "**Describe the bug**\r\nEliza is posting an '\\\\n\\\\n' to X instead of two carriage returns. This is using CLAUDE_VERTEX.\r\n\r\nIt appears every post has this symptom.\r\n**To Reproduce**\r\nI run on a mac, so compiled eliza with settings for mac. Example: https://x.com/waggyhappytail/status/1869352624656716210\r\n\r\nI run with pnpm tsx agent/src/index.ts\r\n**Expected behavior**\r\nIt should post carriage returns.\r\n\r\n\r\n**Screenshots**\r\nhttps://imgur.com/a/BFJ2RlH\r\n\r\n\r\n**Additional context**\r\nIf I exit eliza and restart, it doesn't always reproduce the issue. The only filed edited is the character file.\r\n\r\n", + "labels": [ { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], - "reviews": [ + "comments": [ { - "author": "monilpat", - "state": "APPROVED", - "body": "This has been there from the beginning thanks for doing this :) " + "author": "usama-saeed831", + "body": "@tekspirit I fix this by adding following line in\r\npacakages -> client-twitter -> src -> post.js\r\nin \"generateNewTweet()\" function\r\n\r\nafter\r\n**cleanedContent = removeQuotes(content);**\r\n\r\n`cleanedContent = cleanedContent.replace(/\\\\n/g, '\\n');`" + }, + { + "author": "owlcode", + "body": "I think `.replaceAll` is more appropriate. I fixed it here https://github.com/ai16z/eliza/pull/1141. I guess it waits for a release." } - ], - "comments": [] - }, + ] + } + ] + }, + "engagement": { + "total_comments": 2, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "odilitime", + "score": 7, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 2, + "commits": [], + "pull_requests": [ { - "number": 1162, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", + "number": 1210, + "title": "feat: loading characters from db at load and runtime (conflicts resolved)", + "state": "OPEN", "merged": false, - "created_at": "2024-12-17T08:17:55Z", - "updated_at": "2024-12-17T08:18:12Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-18T18:10:29Z", + "updated_at": "2024-12-18T18:25:06Z", + "body": "Originally #551, this is a resubmission\r\n\r\n\r\n\r\n# Relates to:\r\nLoading Characters from db(sqlite/postgres) during runtime (via a REST API call) and\r\nduring start/load time.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n_Medium_\r\nNone of these changes will affect existing workflow as its handled by env variables\r\nFETCH_FROM_DB (bool) - default: null/false - For loading characters from DB\r\nAGENT_RUNTIME_MANAGEMENT (bool) - default: null/false - For loading characters from Db at runtime\r\n\r\nFrom security standpoint, all character specific secrets (EG: TWITTER_PASSWORD or OPENAI_API_KEY) is AES-256 encrypted and stored in DB\r\n\r\n\r\n\r\n# Background\r\nFor a production ready - multi-character Eliza setup, we want to load new characters in runtime via API calls.\r\nWe do not want to restart the Eliza server for each new character.\r\n\r\n_ASSUMPTION:_ \r\nAn api or script exists to store the characters in DB.\r\nThe api uses the same stringToUUID method to create consistent UUIDs for a character and store in DB.\r\n\r\n## What does this PR do?\r\n- Allows loading characters from DB during start\r\n- Allows loading characters via REST API from DB during runtime\r\n- The characters are stored in TEXT/JSONB format - similar to the character Agent file in sqlite and postgres respectively\r\n- Securely encrypts each character's secrets using AES-256 encryption and then stores in DB (Decrypt after fetch)\r\n- Proper error handling for all scenarios \r\n - Character already loaded in runtime\r\n - Character does not exist in db\r\n\r\n## What kind of change is this?\r\nThis is a new Feature\r\n\r\nWhy?\r\nCurrently \r\n1) For adding any new agent, we need to restart the Eliza server => All the agents and its clients are loaded again - All previous tweets (incase of twitter client), interactions are processed again. Any existing direct or telegram conversation is lost. \r\n2) Not a straight-forward mechanism to add new agents - Now with a REST API - load new agents.\r\n\r\nWhy are we doing this?\r\nTo take a step towards multi-character production setup\r\n\r\n### Code Changes made and why?\r\n1. **Created a new table in postgres and sqlite** - Added in the seed file/script of both DBs\r\n`\r\nexport type CharacterTable = {\r\n id: UUID; // created from stringToUUID - unique and consistent for name\r\n name: string;\r\n characterState: Character; // A JSONB or TEXT - that maps the character\r\n secretsIV?: Secrets; // Initialisation Vector for each secrets\r\n};\r\n`\r\n**Also added the above in packages/core/src/types.ts**\r\n2. **in SqliteAdapter and PostgresAdapter** - created a new function to load from this characters table\r\n3. **in Agents/src/index.ts** -> \r\n- Assign Directclient to a global variable - along with set and get methods. This is to allow the same direct client be used for character(agent) runtime creation\r\n- A function loadCharactersFromDb loadCharactersFromDb(\r\n characterNames?: string\r\n ): Promise \r\n - if any characterNames argument received, it fetches only those characters from db\r\n - else fetches all characters\r\n - This handles encryption and decryption of secrets if secrets are present in a character\r\n - uses env.ENCRYPTION_KEY\r\n- An express server\r\n - The server starts only when the env AGENT_RUNTIME_MANAGEMENT == true\r\n - _Why not use the same express server in DirectClient?_ DirectClient does not have access to the DB methods and all the agent-specific handling methods\r\n - ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - PORT: default. - 3001, overwritten by env AGENT_PORT\r\n4. **in packages/client-direct/src/index.ts**\r\n- Added ENDPOINT: \"/load/:agentName\" METHOD: Post\r\n - This endpoint (is a proxy) that routes request to the agent server's route\r\n - Before proxying, checks if AGENT_RUNTIME_MANAGEMENT ==true and if agents already in runtime\r\n5. created a file **packages/core/src/crypt.ts**\r\n- This handles the encryption and decryption methods\r\n6. created scripts that parses a character json file or all files in a folder and inserts in DB\r\n- Location: scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js\r\nRequires env variable\r\n`\r\nPOSTGRES_URL= # if postgres\r\nENCRYPTION_KEY=\"\"\r\nINPUT_PATH=characters # the folder path to load the characters from\r\nSQLITE_DB_PATH= #if you want to change db path Default: agent/data/db.sqlite\r\n`\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNot needed necessarily.\r\nNew ENV variables and explanations are added in .env.example\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\nI have tested the scenarios in detailed testing steps in both sqlite and postgres.\r\n\r\n## Where should a reviewer start?\r\n- agent/src/index.js \r\n- Line 418 and 531\r\npackages/client-direct/src/index.js\r\n- Line 271\r\n\r\n## Detailed testing steps\r\n**INIT STEP:** \r\n1. creating character table(use the schema.sql or sqliteTables.ts ) \r\n2. loading characters in DB (used the above mentioned scripts in `scripts/importCharactersInDB/[postgres/sqlite]/insertInDb.js` - \r\n - also added to the characters tate and trump - TWITTER_USERNAME, TWITTER_PASSWORD, TWITTER_EMAIL to its settings.secrets and twitter to client) to test secrets encryption and decryption\r\n\r\n**I have tested the following scenarios**\r\n1. Fetching from database during start\r\n- set env FETCH_FROM_DB=true\r\n- `pnpm start`\r\n- Will function as usual\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n2. Loading an agent during runtime\r\n- set env FETCH_FROM_DB=false #if true, we can't test load as all characters in db will be loaded\r\n- set env AGENT_RUNTIME_MANAGEMENT=true\r\n- set env ENCRYPTION_KEY= #use the same encryption key used in insertInDB.js script\r\n- set env AGENT_PORT=4000 #can be empty if we want to pick default port 3001\r\n`pnpm start`\r\n- This will load with the default character Eliza\r\n- `curl --location --request POST 'http://localhost:3000/load/trump'` - replace port and character name if using different characters\r\n- SUB SCENARIO 1: agent is loaded and we get success code 200\r\n- SUB SCENARIO 2: agent is already loaded and we get error code 409\r\n- SUB SCENARIO 3: agent does not exist in db and we get error code 404\r\n- SUB SCENARIO 4: Error during agent load - like incorrect twitter - error code 500\r\n- if we want to test postgres, set env POSTGRES_URL=''\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "CHANGELOG.md", - "additions": 186, - "deletions": 3 - }, - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 + "path": ".env.example", + "additions": 7, + "deletions": 0 }, { - "path": "agent/package.json", - "additions": 59, - "deletions": 59 + "path": "agent/src/index.ts", + "additions": 199, + "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 8, - "deletions": 7 + "path": "packages/adapter-postgres/schema.sql", + "additions": 9, + "deletions": 0 }, { - "path": "client/package.json", - "additions": 45, - "deletions": 45 + "path": "packages/adapter-postgres/src/index.ts", + "additions": 48, + "deletions": 1 }, { - "path": "docs/package.json", - "additions": 53, - "deletions": 53 + "path": "packages/adapter-sqlite/src/index.ts", + "additions": 56, + "deletions": 0 }, { - "path": "lerna.json", - "additions": 9, - "deletions": 3 + "path": "packages/adapter-sqlite/src/sqliteTables.ts", + "additions": 10, + "deletions": 0 }, { - "path": "packages/adapter-postgres/package.json", - "additions": 18, - "deletions": 18 + "path": "packages/client-direct/src/index.ts", + "additions": 45, + "deletions": 4 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/core/src/crypt.ts", + "additions": 63, + "deletions": 0 }, { - "path": "packages/adapter-sqljs/package.json", - "additions": 22, - "deletions": 22 + "path": "packages/core/src/index.ts", + "additions": 1, + "deletions": 0 }, { - "path": "packages/adapter-supabase/package.json", + "path": "packages/core/src/types.ts", "additions": 20, - "deletions": 20 + "deletions": 0 }, { - "path": "packages/client-auto/package.json", - "additions": 25, - "deletions": 25 + "path": "scripts/importCharactersInDB/crypt.js", + "additions": 112, + "deletions": 0 }, { - "path": "packages/client-direct/package.json", - "additions": 28, - "deletions": 28 + "path": "scripts/importCharactersInDB/postgres/FetchFromDb.js", + "additions": 143, + "deletions": 0 }, { - "path": "packages/client-discord/package.json", - "additions": 31, - "deletions": 31 + "path": "scripts/importCharactersInDB/postgres/insertInDb.js", + "additions": 223, + "deletions": 0 }, { - "path": "packages/client-farcaster/package.json", - "additions": 16, - "deletions": 16 + "path": "scripts/importCharactersInDB/sqlite/fetchFromDb.js", + "additions": 111, + "deletions": 0 }, { - "path": "packages/client-github/package.json", - "additions": 21, - "deletions": 21 - }, + "path": "scripts/importCharactersInDB/sqlite/insertInDb.js", + "additions": 188, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "number": 1198, + "title": "feat: Client secrets validation", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T07:17:10Z", + "updated_at": "2024-12-18T22:33:35Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nChecks that secrets are valid before adding client\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nMake the daemon not crash when REST API is adding/updating/deleting agents\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n", + "files": [ { - "path": "packages/client-lens/package.json", + "path": "agent/src/index.ts", "additions": 22, - "deletions": 22 + "deletions": 9 }, { - "path": "packages/client-slack/package.json", - "additions": 43, - "deletions": 43 + "path": "packages/client-discord/src/index.ts", + "additions": 30, + "deletions": 3 }, { "path": "packages/client-telegram/package.json", - "additions": 19, - "deletions": 19 + "additions": 1, + "deletions": 0 }, { - "path": "packages/client-twitter/package.json", + "path": "packages/client-telegram/src/index.ts", "additions": 22, - "deletions": 22 + "deletions": 0 }, { "path": "packages/client-twitter/src/base.ts", - "additions": 77, - "deletions": 54 - }, - { - "path": "packages/core/package.json", - "additions": 77, - "deletions": 77 - }, - { - "path": "packages/create-eliza-app/package.json", - "additions": 29, - "deletions": 29 - }, - { - "path": "packages/plugin-0g/package.json", - "additions": 16, - "deletions": 16 - }, - { - "path": "packages/plugin-aptos/package.json", - "additions": 24, - "deletions": 24 + "additions": 14, + "deletions": 7 }, { - "path": "packages/plugin-bootstrap/package.json", + "path": "packages/client-twitter/src/index.ts", "additions": 17, - "deletions": 17 - }, - { - "path": "packages/plugin-coinbase/package.json", - "additions": 22, - "deletions": 22 - }, - { - "path": "packages/plugin-conflux/package.json", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-echochambers/package.json", - "additions": 15, - "deletions": 15 - }, - { - "path": "packages/plugin-evm/package.json", - "additions": 21, - "deletions": 21 - }, - { - "path": "packages/plugin-flow/package.json", - "additions": 34, - "deletions": 34 + "deletions": 1 }, { - "path": "packages/plugin-goat/package.json", - "additions": 21, - "deletions": 21 - }, + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + } + ], + "reviews": [ { - "path": "packages/plugin-icp/package.json", - "additions": 22, - "deletions": 22 - }, + "author": "cygaar", + "state": "COMMENTED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "AbdelStark", + "score": 6, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1203, + "title": "feat: Implement Nostr client", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T09:55:14Z", + "updated_at": "2024-12-18T20:52:26Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", + "files": [ { - "path": "packages/plugin-image-generation/package.json", - "additions": 17, - "deletions": 17 + "path": ".env.example", + "additions": 14, + "deletions": 0 }, { - "path": "packages/plugin-intiface/package.json", - "additions": 19, - "deletions": 19 + "path": "agent/package.json", + "additions": 60, + "deletions": 59 }, { - "path": "packages/plugin-multiversx/package.json", - "additions": 24, - "deletions": 24 + "path": "agent/src/index.ts", + "additions": 18, + "deletions": 8 }, { - "path": "packages/plugin-near/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/package.json", + "additions": 18, + "deletions": 0 }, { - "path": "packages/plugin-nft-generation/package.json", - "additions": 28, - "deletions": 28 + "path": "packages/client-nostr/src/actions.ts", + "additions": 37, + "deletions": 0 }, { - "path": "packages/plugin-node/package.json", - "additions": 87, - "deletions": 87 + "path": "packages/client-nostr/src/client.ts", + "additions": 66, + "deletions": 0 }, { - "path": "packages/plugin-solana/package.json", - "additions": 31, - "deletions": 31 + "path": "packages/client-nostr/src/index.ts", + "additions": 61, + "deletions": 0 }, { - "path": "packages/plugin-starknet/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/interactions.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-story/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/memory.ts", + "additions": 36, + "deletions": 0 }, { - "path": "packages/plugin-sui/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/client-nostr/src/post.ts", + "additions": 188, + "deletions": 0 }, { - "path": "packages/plugin-tee/package.json", - "additions": 26, - "deletions": 26 + "path": "packages/client-nostr/src/prompts.ts", + "additions": 88, + "deletions": 0 }, { - "path": "packages/plugin-ton/package.json", - "additions": 23, - "deletions": 23 + "path": "packages/client-nostr/src/types.ts", + "additions": 9, + "deletions": 0 }, { - "path": "packages/plugin-trustdb/package.json", - "additions": 25, - "deletions": 25 + "path": "packages/client-nostr/src/utils.ts", + "additions": 143, + "deletions": 0 }, { - "path": "packages/plugin-video-generation/package.json", - "additions": 17, - "deletions": 17 + "path": "packages/client-nostr/tsconfig.json", + "additions": 12, + "deletions": 0 }, { - "path": "packages/plugin-web-search/package.json", - "additions": 16, - "deletions": 16 + "path": "packages/client-nostr/tsup.config.ts", + "additions": 20, + "deletions": 0 }, { - "path": "packages/plugin-whatsapp/package.json", - "additions": 24, - "deletions": 24 + "path": "packages/core/src/types.ts", + "additions": 8, + "deletions": 4 }, { - "path": "packages/plugin-zksync-era/package.json", - "additions": 18, + "path": "packages/plugin-node/src/services/awsS3.ts", + "additions": 42, "deletions": 18 }, { "path": "pnpm-lock.yaml", - "additions": 17935, - "deletions": 22902 - }, - { - "path": "scripts/update-versions.js", - "additions": 82, + "additions": 146, "deletions": 0 } ], - "reviews": [], - "comments": [] - }, - { - "number": 1160, - "title": "chore: print commands to start the client and remove unused --non-itera\u2026", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T07:22:21Z", - "updated_at": "2024-12-17T08:24:38Z", - "body": "print commands to start the client and remove unused --non-iteractive in dockerfile\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAs the `pnpm start` command will not start the web client in localhost:5173 but the log says visit it, so I changed the output log.\r\n\r\nAlso removed the `--non-iteractive` args in Dockerfile as it is no longer read by the agent.\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 - }, + "reviews": [ { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "author": "odilitime", + "state": "COMMENTED", + "body": "" } ], - "reviews": [], "comments": [ { - "author": "HashWarlock", - "body": "LGTM, but @yang-han you need to target the `develop` branch instead of main" + "author": "odilitime", + "body": "S3 changes trip me up for a second but I think I get it now" }, { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nok, will do" - }, - { - "author": "yang-han", - "body": "> LGTM, but @yang-han you need to target the `develop` branch instead of main\r\n\r\nin #1163 " + "author": "AbdelStark", + "body": "> S3 changes trip me up for a second but I think I get it now\r\n\r\nYeah this is not related to the Nostr client, but for some reasons there was an error because of a mismatch of interface for the S3 service, and I had to fix it." } ] } @@ -2093,10 +1899,10 @@ } }, { - "contributor": "tcm390", - "score": 23, + "contributor": "chefron", + "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/98501301?v=4", "activity": { "code": { "total_commits": 0, @@ -2104,1145 +1910,517 @@ "commits": [], "pull_requests": [ { - "number": 1156, - "title": "fix: Enable multiple bots to join Discord voice channels", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T04:17:21Z", - "updated_at": "2024-12-17T07:56:09Z", - "body": "related: https://github.com/ai16z/eliza/issues/1145\r\n\r\nreference: \r\nhttps://github.com/discordjs/voice/issues/206#issuecomment-924551194\r\nhttps://stackoverflow.com/questions/71446777/how-do-i-manage-voice-connections-from-multiple-bots-in-one-code", + "number": 1215, + "title": "modify Twitter interaction rules, create SoundCloud plugin", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-18T22:13:34Z", + "updated_at": "2024-12-18T22:14:37Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 - } - ], - "reviews": [ + "path": "docs/api/classes/AgentRuntime.md", + "additions": 41, + "deletions": 41 + }, { - "author": "shakkernerd", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ + "path": "docs/api/classes/CacheManager.md", + "additions": 6, + "deletions": 6 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1156?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n\n[see 6 files with indirect coverage changes](https://app.codecov.io/gh/ai16z/eliza/pull/1156/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z)\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1183, - "title": "media parameter is missing Error on Main Branch", - "state": "OPEN", - "created_at": "2024-12-17T17:56:49Z", - "updated_at": "2024-12-17T20:15:37Z", - "body": "Description\r\nWhen attempting to call the image-generation on Twitter, the following error occurs on the main branch:\r\n\r\n```\r\nError: {\"errors\":[{\"code\":38,\"message\":\"media parameter is missing.\"}]}\r\n at uploadMedia (node_modules/agent-twitter-client/dist/node/esm/index.mjs:2211:13)\r\n at async createCreateTweetRequest (node_modules/agent-twitter-client/dist/node/esm/index.mjs:1954:22)\r\n```\r\n\r\nHowever, it works as expected on the `tcm-twitter-image` branch.", - "labels": [ + "path": "docs/api/classes/DatabaseAdapter.md", + "additions": 42, + "deletions": 42 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1178, - "title": "Long tweets fail with error Tweet needs to be a bit shorter (Code 186)", - "state": "OPEN", - "created_at": "2024-12-17T13:20:41Z", - "updated_at": "2024-12-17T15:18:46Z", - "body": "When attempting to send tweets longer than 280 characters using the Eliza Twitter client, the API responds with an error:\n\n```\nError sending tweet; Bad response: {\n errors: [\n {\n message: 'Authorization: Tweet needs to be a bit shorter. (186)',\n locations: [Array],\n path: [Array],\n extensions: [Object],\n code: 186,\n kind: 'Permissions',\n name: 'AuthorizationError',\n source: 'Client',\n tracing: [Object]\n }\n ],\n data: {}\n} \n```\n\nhttps://discord.com/channels/1253563208833433701/1300025221834739744/1318559898312904745\n\n\"Screenshot\n", - "labels": [ + "path": "docs/api/classes/DbCacheAdapter.md", + "additions": 5, + "deletions": 5 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/api/classes/FsCacheAdapter.md", + "additions": 5, + "deletions": 5 }, { - "name": "src: Discord", - "color": "C5DEF5", - "description": "" - } - ], - "comments": [ + "path": "docs/api/classes/MemoryCacheAdapter.md", + "additions": 6, + "deletions": 6 + }, { - "author": "shakkernerd", - "body": "Hi @tcm390 could you add a direct link to the message for all issues gotten from discord. \r\nThis is to help with investigation since there might have been some conversation around it." + "path": "docs/api/classes/MemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "author": "tcm390", - "body": "> Hi [@tcm390](https://github.com/tcm390) could you add a direct link to the message for all issues gotten from discord. This is to help with investigation since there might have been some conversation around it.\n\nyes, updated." - } - ] - } - ] - }, - "engagement": { - "total_comments": 2, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "BalanaguYashwanth", - "score": 18, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36238382?u=feb08af29e749ab7cdd4b6e43798cd75c04648e8&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1166, - "title": "Plugin Create Command", - "state": "OPEN", - "created_at": "2024-12-17T09:13:33Z", - "updated_at": "2024-12-17T10:08:10Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nUsing with single command to create plugin using plugin example or template under packages\r\n\r\n", - "labels": [ + "path": "docs/api/classes/Service.md", + "additions": 5, + "deletions": 5 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [ + "path": "docs/api/enumerations/Clients.md", + "additions": 15, + "deletions": 5 + }, { - "author": "BalanaguYashwanth", - "body": "@odilitime Let me know, Is this command already exists in the repo ?\r\n\r\nCC: @shakkernerd " + "path": "docs/api/enumerations/GoalStatus.md", + "additions": 4, + "deletions": 4 }, { - "author": "shakkernerd", - "body": "Hi @BalanaguYashwanth No, we current do not have a \"create plugin\" command." + "path": "docs/api/enumerations/LoggingLevel.md", + "additions": 4, + "deletions": 4 }, { - "author": "BalanaguYashwanth", - "body": "So it is useful feature to work on ?" + "path": "docs/api/enumerations/ModelClass.md", + "additions": 6, + "deletions": 6 }, { - "author": "shakkernerd", - "body": "It is not a priority at the moment but if you want to take a crack at it, feel free." + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 20, + "deletions": 20 }, { - "author": "BalanaguYashwanth", - "body": "ok" - } - ] - }, - { - "number": 1164, - "title": "Farcaster Account Creation to launch agent", - "state": "OPEN", - "created_at": "2024-12-17T08:52:22Z", - "updated_at": "2024-12-17T09:07:49Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThis feature will allow, \r\n\r\n- Launching an agent in farcaster by creating the dedicated farcaster account\r\n\r\nExisting repo, won't support to launch agent in farcaster by creating farcaster account.\r\n\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nWe can achieve creating account in multiple ways,\r\n\r\n- Interactive CLI\r\n- API\r\n\r\nWhen launching each agent, It will create dedicated farcaster account and store those farcaster details into DB and perform activites like\r\n\r\n- Post casts\r\n- ReCasts\r\n- etc\r\n\r\n**Describe alternatives you've considered**\r\n\r\nWe need to run seperate server and create the farcaster account and those details we need to pass for agents to run on warpcast (farcaster).\r\n\r\n\r\n", - "labels": [ + "path": "docs/api/enumerations/ServiceType.md", + "additions": 9, + "deletions": 9 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [ + "path": "docs/api/functions/addHeader.md", + "additions": 2, + "deletions": 2 + }, { - "author": "BalanaguYashwanth", - "body": "Let me know, Is it good feature to addon eliza ?\r\n\r\nCC: @odilitime @tcm390 " - } - ] - } - ] - }, - "engagement": { - "total_comments": 6, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "thomasWos", - "score": 14, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/785740?u=58240e787ae69665ebb4813bd3472e528fc6a00b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1170, - "title": "fix: Fix typo in multiversx plugin prompt for creating token", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-17T10:28:15Z", - "updated_at": "2024-12-17T16:10:49Z", - "body": "Fix tiny typo", - "files": [ + "path": "docs/api/functions/composeActionExamples.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/plugin-multiversx/src/actions/createToken.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ + "path": "docs/api/functions/composeContext.md", + "additions": 2, + "deletions": 2 + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "monilpat", - "score": 12, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", - "activity": { - "code": { - "total_commits": 3, - "total_prs": 1, - "commits": [ - { - "sha": "94d374afa3b3b011b7b2030419315b120c7253f6", - "message": "Merge pull request #1154 from odilitime/fix-lint\n\nfix: fix direct-client ability to start agents", - "created_at": "2024-12-17T03:41:50Z", - "additions": 5, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "284f38a09123d20a8a24d9374eff6991a28a4c25", - "message": "Merge pull request #1139 from rarepepi/docker-fixes\n\nfix: remove docker compose command since Docker file already runs", - "created_at": "2024-12-17T01:49:33Z", - "additions": 0, - "deletions": 1, - "changed_files": 1 - }, - { - "sha": "7d6d121ec9d07be91c5afd2e54d0c4626abd9873", - "message": "Merge pull request #1140 from azep-ninja/fix/duplicate-tg-funtions\n\nfix: telegram client duplicate function removal", - "created_at": "2024-12-16T22:58:02Z", - "additions": 5, - "deletions": 18, - "changed_files": 1 - } - ], - "pull_requests": [ - { - "number": 1184, - "title": "feat: integrate o1", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T18:58:13Z", - "updated_at": "2024-12-17T19:20:57Z", - "body": "Relates to: o1: https://github.com/ai16z/eliza/issues/1185\r\n\r\nRisks: Low - Integrating o1 is a minimal, low-impact change. The primary risk is minor code confusion if not documented clearly.\r\n\r\nBackground\r\n\r\nWhat does this PR do? This PR integrates o1 functionality into the existing codebase. It ensures that o1 is properly linked, documented, and accessible for future reference.\r\n\r\nWhat kind of change is this? Improvements (misc. changes to existing features)\r\n\r\nDocumentation changes needed? My changes require a change to the project documentation. I have updated the documentation accordingly.\r\n\r\nTesting\r\n\r\nWhere should a reviewer start? Begin by reviewing the integration points in code where o1 references have been added. Check the documentation updates to confirm consistent explanations.\r\n\r\nDetailed testing steps:\r\n\r\nReview the codebase changes where o1 is introduced.\r\nConfirm that references to o1 are correct, properly linked, and that no compilation or runtime errors occur.\r\nReview the updated documentation to ensure it reflects the new o1 integration context and instructions for usage.", - "files": [ + "path": "docs/api/functions/configureSettings.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/core/src/generation.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/createGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/models.ts", - "additions": 3, - "deletions": 3 + "path": "docs/api/functions/createRelationship.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/tests/models.test.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/embed.md", + "additions": 2, + "deletions": 2 }, { - "path": "pnpm-lock.yaml", - "additions": 21929, - "deletions": 16979 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/findNearestEnvFile.md", + "additions": 2, + "deletions": 2 + }, { - "author": "monilpat", - "body": "Waiting on tiktoken model to update to include o1 :)" - } - ] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1189, - "title": "Improve Logging in /packages/plugin-coinbase/src/plugins", - "state": "CLOSED", - "created_at": "2024-12-17T21:19:29Z", - "updated_at": "2024-12-17T21:24:30Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nThe current logging mechanism in the /packages/plugin-coinbase/src/plugins is not providing sufficient detail for debugging and monitoring purposes.\r\n\r\n**Describe the solution you'd like**\r\n\r\nEnhance the logging framework to include more comprehensive log messages, including error details, transaction states, and API request/response data.\r\n\r\n**Describe alternatives you've considered**\r\n\r\nConsidered using third-party logging libraries that can be integrated into the existing setup for better log management and analysis.\r\n\r\n**Additional context**\r\n\r\nImproved logging can help in quicker issue resolution and provide better insights into the plugin's performance and behavior during both development and production stages.", - "labels": [ + "path": "docs/api/functions/formatActionNames.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - }, - { - "number": 1185, - "title": "integrate o1", - "state": "OPEN", - "created_at": "2024-12-17T19:00:42Z", - "updated_at": "2024-12-17T19:00:42Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nIntegrate o1 https://openai.com/index/o1-and-new-tools-for-developers/\r\n", - "labels": [ + "path": "docs/api/functions/formatActions.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "santekotturi", - "score": 10, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/4960284?u=bd2843c83a0f02a40a1375b264e6609a5444c08a&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1146, - "title": "pnpm install fails on m1 mac [Fixed with xcode-select reinstall]", - "state": "CLOSED", - "created_at": "2024-12-17T01:28:52Z", - "updated_at": "2024-12-17T05:43:56Z", - "body": "I've spent the last 6 hours trying to get around this\r\n\r\nsame error with both: \r\n`pnpm install` and `pnpm install -w --include=optional sharp`\r\n\r\n```\r\n\u2502 LIBTOOL-STATIC Release/opus.a\r\n\u2502 CXX(target) Release/obj.target/opus/src/node-opus.o\r\n\u2502 In file included from :495:\r\n\u2502 :19:14: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions]\r\n\u2502 19 | #define POSIX,__STDC_FORMAT_MACROS 1\r\n\u2502 | ^\r\n\u2502 In file included from ../src/node-opus.cc:1:\r\n\u2502 /Users/santekotturi/Developer/forecast/eliza/node_modules/node-addon-api/napi.h:14:10: fatal error: 'functional' \u2026\r\n\u2502 14 | #include \r\n\u2502 | ^~~~~~~~~~~~\r\n\u2502 1 warning and 1 error generated.\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/santekotturi/.local/share/pnpm/global/5/.pnpm/pnpm@9.9.0/node_\u2026\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/.local/share/pnpm\u2026\r\n\u2502 gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v23.4.0\r\n\u2502 gyp ERR! node-gyp -v v10.1.0\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node /Users/\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/santekotturi/Developer/forecast/eliza/node_module\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:513:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/santekotturi/.nvm/versions/node/v23.4.0/bin/node\" \"/Users/santekotturi/Develope\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/santekotturi/Developer/forecast/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v23.4.0\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\nalways using `rm -rf node_modules & rm pnpm-lock.yaml` between each try.\r\n\r\nnode v23.4.0\r\ntried downgrading to v20.x \r\npnpm v9.9.0\r\n\r\nalso tried `brew install opus`\r\nmacOS 15.1 \r\nXCode 16.2\r\n\r\non:\r\n`% git status >> HEAD detached at v0.1.6-alpha.1`\r\n\r\nPotentially related to:\r\nhttps://github.com/ai16z/eliza/issues/1041\r\nhttps://github.com/ai16z/eliza/issues/215\r\n", - "labels": [ + "path": "docs/api/functions/formatActors.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md", + "additions": 2, + "deletions": 2 + }, { - "author": "oxSaturn", - "body": "Have you tried `xcode-select --install` to have C++ compiler installed? I'm on m2, thought I ran into a similar issue (don't remember the exact issue) when I was trying eliza first time, and running `xcode-select --install` got it fixed for me as far as I can remember." + "path": "docs/api/functions/formatEvaluatorExamples.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "Yea, I ran that, I've got a macos 15.2 update waiting for me, maybe that plays better with Xcode 16.2... will report back \r\n" + "path": "docs/api/functions/formatEvaluatorNames.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "macos 15.2 updated, all xcode tool updates made. still same error. \r\n\r\nThis discordjs/opus connects having homebrew python3.12 in your path (which I do) https://github.com/discordjs/opus/issues/145#issuecomment-2250719870\r\n\r\nCurious what anyone else has for \r\n\r\n```\r\npython3 --version\r\nwhich python3\r\n```\r\n" + "path": "docs/api/functions/formatEvaluators.md", + "additions": 2, + "deletions": 2 }, { - "author": "santekotturi", - "body": "Had to uninstall xcode-select and reinstall \u00af\\_(\u30c4)_/\u00af \r\n```\r\nsudo rm -rf /Library/Developer/CommandLineTools\r\nxcode-select --install\r\n```\r\n\r\nthat gets us: `node_modules/@discordjs/opus: Running install script, done in 30.1s`" - } - ] - } - ] - }, - "engagement": { - "total_comments": 4, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "qizhou", - "score": 9, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/2541286?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1167, - "title": "Unable to run `pnpm install --no-frozen-lockfile` on v0.1.6-alpha.4", - "state": "OPEN", - "created_at": "2024-12-17T09:30:31Z", - "updated_at": "2024-12-17T21:04:37Z", - "body": "**Describe the bug**\r\n\r\nI found the following error on a fresh checkout:\r\n\r\n```\r\n# set variable identifying the chroot you work in (used in the prompt below)\r\n# set a fancy prompt (non-color, unless we know we \"want\" color)\r\n\u2502 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n\u2502 node-pre-gyp info check checked for \"/root/github/eliza/node_modules/@discordjs/opus/prebuild/node-v131-napi-v3-linux-x64-glibc-2.39/opus.node\" (not found)\r\n\u2502 node-pre-gyp http GET https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp ERR! install response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 node-pre-gyp WARN Pre-built binaries not installable for @discordjs/opus@0.9.0 and node@23.4.0 (node-v131 ABI, glibc) (falling back to source compile with node-gyp)\r\n\u2502 node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/discordjs/opus/releases/download/v0.9.0/opus-v0.9.0-node-v131-napi-v3-linux-x64-glibc-2.39.tar.gz\r\n\u2502 gyp info it worked if it ends with ok\r\n\u2502 gyp info using node-gyp@10.3.1\r\n\u2502 gyp info using node@23.4.0 | linux | x64\r\n\u2502 gyp info ok\r\n```\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "path": "docs/api/functions/formatGoalsAsString.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/formatMessages.md", + "additions": 2, + "deletions": 2 + }, { - "author": "ateett12ue", - "body": "I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me." + "path": "docs/api/functions/formatPosts.md", + "additions": 2, + "deletions": 2 }, { - "author": "nhtera", - "body": "> I faced the same issue while installing Discord dependencies. Then, I updated my Pnpm version to the latest, and it worked for me.\r\n\r\nWhat pnpm version you are using?" + "path": "docs/api/functions/formatRelationships.md", + "additions": 2, + "deletions": 2 }, { - "author": "ateett12ue", - "body": "v9.15.0\r\n" - } - ] - } - ] - }, - "engagement": { - "total_comments": 3, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tcotten-scrypted", - "score": 9, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/113052533?u=23e62842485a8c6647acdecb62cb97b898299ad3&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1151, - "title": "REQUIRED_NODE_VERSION: No such file", - "state": "CLOSED", - "created_at": "2024-12-17T03:04:39Z", - "updated_at": "2024-12-17T13:24:57Z", - "body": "**Describe the bug**\r\n\r\nFollowing directions in README.md with `sh scripts/start.sh` on Ubuntu causes an error:\r\n\r\nscripts/start.sh: 6: cannot open REQUIRED_NODE_VERSION: No such file\r\n\r\n**To Reproduce**\r\n\r\nEnvironment: Ubuntu 24.04 LTS\r\n1. `sh scripts/start.sh`\r\n\r\n**Expected behavior**\r\n\r\nNo error regarding the variable \"REQUIRED_NODE_VERSION\"\r\n\r\n**Screenshots**\r\n\r\n\"image\"\r\n\r\n**Additional context**\r\n\r\nThis is a simple issue caused by the shell script being executed with dash instead of bash.\r\n", - "labels": [ + "path": "docs/api/functions/formatTimestamp.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/generateCaption.md", + "additions": 2, + "deletions": 2 + }, { - "author": "tcotten-scrypted", - "body": "On Ubuntu, executing with bash directly instead of dash solves the issue; despite the sample command from the README.md" + "path": "docs/api/functions/generateImage.md", + "additions": 2, + "deletions": 2 }, { - "author": "shakkernerd", - "body": "Hi @tcotten-scrypted I just updated the start script, it should fix the issue.\r\nThanks for reporting!" + "path": "docs/api/functions/generateMessageResponse.md", + "additions": 2, + "deletions": 2 }, { - "author": "tcotten-scrypted", - "body": "Confirmed resolved for Ubuntu environment." - } - ] - } - ] - }, - "engagement": { - "total_comments": 3, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "lessuselesss", - "score": 8, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/179788364?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1157, - "title": "1142 add nix flake support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T05:54:35Z", - "updated_at": "2024-12-17T17:25:05Z", - "body": "# Relates to:\r\n[Issue #1142](https://github.com/ai16z/eliza/issues/1142)\r\n\r\n# Risks\r\nLow - This change:\r\n- Only affects development environment setup\r\n- Doesn't modify runtime code\r\n- Is optional (developers can still use traditional npm/pnpm setup)\r\n- Can be easily reverted if issues arise\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds Nix Flake support to provide a reproducible development environment with:\r\n- Correct Node.js and pnpm versions\r\n- Helpful welcome message showing common commands\r\n- Integration with existing monorepo structure\r\n\r\n## What kind of change is this?\r\nImprovements (adds optional development tooling without changing existing functionality)\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation.\r\nI will update the local development guide to include:\r\n1. Installation of Nix using [Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)\r\n2. Instructions for using the development environment\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Install Nix using Determinate Nix Installer:\r\n```bash\r\ncurl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install\r\n```\r\n\r\n2. Clone the PR and enter the development environment:\r\n```bash\r\ngit clone https://github.com/ai16z/eliza.git\r\ncd eliza\r\nnix develop\r\n```\r\n\r\n3. Verify the welcome message appears with instructions for:\r\n - pnpm i\r\n - pnpm build\r\n - pnpm clean\r\n\r\n## Detailed testing steps\r\n1. Prerequisites:\r\n - Install Nix following the steps above\r\n - Verify flakes are enabled by default\r\n\r\n2. Test environment setup:\r\n ```bash\r\n git clone https://github.com/ai16z/eliza.git\r\n cd eliza\r\n nix develop\r\n ```\r\n - Verify welcome message appears\r\n - Verify Node.js version matches project requirements\r\n - Verify pnpm is available\r\n\r\n3. Test build process:\r\n ```bash\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify all dependencies install correctly\r\n - Verify build completes successfully\r\n\r\n4. Test clean process:\r\n ```bash\r\n pnpm clean\r\n pnpm i\r\n pnpm build\r\n ```\r\n - Verify clean removes build artifacts\r\n - Verify rebuild works after clean\r\n\r\n## Discord username\r\nAdam Turner | lessuseless\r\nar4s_45979", - "files": [ + "path": "docs/api/functions/generateObject.md", + "additions": 2, + "deletions": 2 + }, { - "path": "Dockerfile", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/generateObjectArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "README.md", - "additions": 10, - "deletions": 0 + "path": "docs/api/functions/generateObjectV2.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 6, - "deletions": 5 + "path": "docs/api/functions/generateShouldRespond.md", + "additions": 2, + "deletions": 2 }, { - "path": "docs/docs/guides/local-development.md", - "additions": 10, + "path": "docs/api/functions/generateText.md", + "additions": 2, "deletions": 2 }, { - "path": "flake.nix", - "additions": 76, - "deletions": 0 + "path": "docs/api/functions/generateTextArray.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 - } - ], - "reviews": [], - "comments": [ + "path": "docs/api/functions/generateTrueOrFalse.md", + "additions": 2, + "deletions": 2 + }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1157?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" + "path": "docs/api/functions/generateWebSearch.md", + "additions": 2, + "deletions": 2 }, { - "author": "HashWarlock", - "body": "@lessuselesss love this PR, but there are some weird problems that will cause a NixOS user to fail when building the codebase with nix flakes enabled.\r\n\r\nFor example, I built this on my NixOS machine and we see this error:\r\n```\r\nWARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\ndocs | \u2009WARN\u2009 Unsupported engine: wanted: {\"node\":\"23.3.0\"} (current: {\"node\":\"v20.18.1\",\"pnpm\":\"9.15.0\"})\r\n```\r\n\r\nWe may think...what?! No Way...But how?? The pkgs specifically lists `nodejs_23` and when I run `node version` I will see the `v23.2.0`, but that still does not equal `v20.18.1`.\r\n\r\nSo I did some digging bc Nix can be a pain in the ass at times with weird dependencies errors. So I checked the `pnpm` pkgs source code and found this line https://github.com/NixOS/nixpkgs/blob/394571358ce82dff7411395829aa6a3aad45b907/pkgs/development/tools/pnpm/generic.nix#L28\r\n\r\nAnd `nodejs` pkg points to:\r\n![image](https://github.com/user-attachments/assets/1e258b67-924e-4471-a590-d7bde3ac7c64)\r\n\r\nSo this here is the culprit for why a NixOS user will hit this weird error even though we declaratively chose the right node version." + "path": "docs/api/functions/getActorDetails.md", + "additions": 2, + "deletions": 2 }, { - "author": "lessuselesss", - "body": "Hello, \r\n\r\nThank you so much for the valuable feedback. I'm excited to contribute and am happy (and was hoping!!) to have someone from the nix community overseeing contributions here! \r\n\r\nNice catch on finding the culprit, I'll investigate some workarounds \ud83d\ude47 " + "path": "docs/api/functions/getEmbeddingConfig.md", + "additions": 2, + "deletions": 2 }, { - "author": "odilitime", - "body": "I don't like the hardcoded versions, maybe another dev can offer a better suggestions on how to get the latest version\r\n\r\nlike `git describe --tags --abbrev=0`" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1142, - "title": "Support for building monorepo with git dependencies using pnpm and nix", - "state": "OPEN", - "created_at": "2024-12-16T23:53:28Z", - "updated_at": "2024-12-16T23:53:28Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nWhen trying to build a pnpm monorepo using Nix's buildNpmPackage that includes git dependencies (specifically @discordjs/opus), the build fails due to git access restrictions in the Nix build environment. The current workarounds involve either modifying package.json or pre-fetching git dependencies, both of which are not ideal solutions for maintaining the project.\r\n\r\n\r\n**Describe the solution you'd like**\r\n\r\nA built-in way to handle git dependencies in buildNpmPackage that:\r\n\r\n 1. Automatically fetches git dependencies using fetchgit during the build process\r\n 2. Maintains compatibility with pnpm workspaces and monorepo structure\r\n 3. Preserves the original package.json without requiring modifications\r\n 4. Works with trusted dependencies in pnpm\r\n\r\n**Describe alternatives you've considered**\r\n\r\n1. Manually pre-fetching git dependencies and placing them in node_modules\r\n2. Modifying package.json to use published versions instead of git dependencies\r\n3. Using mkDerivation instead of buildNpmPackage to handle the build process manually\r\n4. Creating a custom derivation to handle git dependencies before the main build\r\n\r\n**Additional context**\r\n\r\nThis issue particularly affects projects using Discord.js and similar packages that rely on git dependencies for native modules. The current workarounds either break the development workflow or require maintaining separate package configurations for Nix builds.\r\nExample of a failing build: \r\n\r\n`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH Cannot proceed with the frozen installation. The current \"overrides\" configuration doesn't match the value found in the lockfile`\r\n", - "labels": [ + "path": "docs/api/functions/getEmbeddingType.md", + "additions": 2, + "deletions": 2 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "whgreate", - "score": 8, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/811644?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1161, - "title": "pnpm start --character=\"characters/trump.character.json\"", - "state": "CLOSED", - "created_at": "2024-12-17T08:10:26Z", - "updated_at": "2024-12-17T16:10:21Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n1. add \"clients\": [\"twitter\"], to trump.character.json\r\n2. pnpm start --character=\"characters/trump.character.json\"\r\n3. error: `Killed\r\n/workspaces/eliza_1/agent:\r\n\u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @ai16z/agent@0.1.5-alpha.6 start: `node --loader ts-node/esm src/index.ts \"--isRoot\" \"--character=characters/trump.character.json\"`\r\nExit status 137\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 137.`\r\n\r\n", - "labels": [ + "path": "docs/api/functions/getEmbeddingZeroVector.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [ + "path": "docs/api/functions/getEndpoint.md", + "additions": 2, + "deletions": 2 + }, { - "author": "shakkernerd", - "body": "Hi there, you seem to be using an older version (`0.1.5-alpha.6`).\r\nKindly update to latest (`0.1.6-alpha.4`)." + "path": "docs/api/functions/getEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "author": "whgreate", - "body": "don't understand how to do that, I'm on develop branch." - } - ] - } - ] - }, - "engagement": { - "total_comments": 2, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "vincentskele", - "score": 7, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/147941271?u=7d01a4b50ee427df19e9b31bb0273500b71f72d0&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 0, - "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1145, - "title": "Discord agents knock each other out of VC", - "state": "OPEN", - "created_at": "2024-12-17T00:58:56Z", - "updated_at": "2024-12-17T09:25:18Z", - "body": "**Describe the bug**\r\n\r\nWhen running two agents in the same client one will join the discord voice channel and then when 2nd agent joins it kicks the first agent out of discord\r\n\r\n**Additional context**\r\n\r\n- whichever character is listed last is the one that stays in the voice channel\r\n- the same thing happens even if sending the agents to different voice channels. \r\n- only tested from 1 discord server, 2 unique servers may produce a different outcome", - "labels": [ + "path": "docs/api/functions/getGoals.md", + "additions": 2, + "deletions": 2 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "docs/api/functions/getModel.md", + "additions": 2, + "deletions": 2 }, { - "name": "Need Feedback", - "color": "2365DD", - "description": "" - } - ], - "comments": [ + "path": "docs/api/functions/getProviders.md", + "additions": 2, + "deletions": 2 + }, { - "author": "shakkernerd", - "body": "Hi @vincentskele there is a potential fix in #1156 that is already merged into `develop` branch.\r\nKindly try that and give feedback." - } - ] - } - ] - }, - "engagement": { - "total_comments": 1, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "actions-user", - "score": 6, - "summary": "", - "avatar_url": null, - "activity": { - "code": { - "total_commits": 3, - "total_prs": 0, - "commits": [ - { - "sha": "ea14167a66da4d892802fffa94b474d61daf63bc", - "message": "chore: update changelog", - "created_at": "2024-12-17T07:18:55Z", - "additions": 13, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "ed33650a236d3799ba881020ceefcc7f27eb3579", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:49:03Z", - "additions": 12, - "deletions": 0, - "changed_files": 1 - }, - { - "sha": "2f85c744b45b4d0d8d5e0eb5333cf98c59611a53", - "message": "chore: update changelog", - "created_at": "2024-12-17T03:00:32Z", - "additions": 161, - "deletions": 3, - "changed_files": 1 - } - ], - "pull_requests": [] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "aeither", - "score": 6, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36173828?u=48e2376ab68607483916e3fe69a98a597f3a25a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1180, - "title": "chore: update env for plugin-goat", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T14:59:06Z", - "updated_at": "2024-12-17T17:32:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nUpdate ALCHEMY_API_KEY to EVM_PROVIDER_URL for plugin-goat\r\nwhich is more accurate as user can provide any rpc URL. it is not an alchemy api key what needs to be provided\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/getRelationship.md", + "additions": 2, + "deletions": 2 + }, { - "path": "agent/src/index.ts", + "path": "docs/api/functions/getRelationships.md", "additions": 2, "deletions": 2 - } - ], - "reviews": [ + }, { - "author": "odilitime", - "state": "APPROVED", - "body": "Will need to update the documentation" - } - ], - "comments": [ + "path": "docs/api/functions/handleProvider.md", + "additions": 2, + "deletions": 2 + }, { - "author": "aeither", - "body": "> Will need to update the documentation\n\nWhere?" + "path": "docs/api/functions/hasEnvVariable.md", + "additions": 2, + "deletions": 2 }, { - "author": "odilitime", - "body": "search the repo for any mention of ALCHEMY_API_KEY\r\n\r\nif none, at a bare minimum include the instructions of the plugin README" + "path": "docs/api/functions/loadEnvConfig.md", + "additions": 2, + "deletions": 2 }, { - "author": "codecov", - "body": "## [Codecov](https://app.codecov.io/gh/ai16z/eliza/pull/1180?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ai16z) Report\nAll modified and coverable lines are covered by tests :white_check_mark:\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "ai16z-demirix", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/188117230?u=424cd5b834584b3799da288712b3c4158c8032a1&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1190, - "title": "test: adding tests for runtime.ts. Modified README since we switched to vitest", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T22:45:37Z", - "updated_at": "2024-12-17T22:46:12Z", - "body": "\r\n\r\n\r\n\r\n# Relates to:\r\nhttps://github.com/ai16z/eliza/issues/187\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\nLow: adding tests for runtime.ts\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR adds tests for runtime.ts\r\n## What kind of change is this?\r\nAdding new tests.\r\n\r\n\r\n\r\n\r\nContributing to have stable and good SDEC.\r\n\r\n# Documentation changes needed?\r\nMinimal: Edited tests README file since we switched to vitests from jest.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\npackages/core/\r\n## Detailed testing steps\r\nnavigate to directory and run pnpm install and pnpm test\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/functions/parseBooleanFromText.md", + "additions": 2, + "deletions": 2 + }, { - "path": "packages/core/README-TESTS.md", - "additions": 1, - "deletions": 1 + "path": "docs/api/functions/parseJSONObjectFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/core/src/tests/runtime.test.ts", - "additions": 139, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "AbdelStark", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/45264458?u=6ea3a3cec4fd224af9afe756466df041687486a2&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1181, - "title": "Feature: Implement Nostr client", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-17T17:33:34Z", - "updated_at": "2024-12-17T17:39:42Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. It's an optional client to use. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nNostr is the simplest open protocol that is able to create a censorship-resistant global \"social\" network once and for all.\r\n\r\nIt's nature and strong focus on censorship-resistance makes it a perfect fit for the Eliza agent framework.\r\n\r\n## Configuration\r\n\r\nHere are the env variables that need to be set in the `.env` file:\r\n\r\n| Variable | Description | Example |\r\n| ---------------------- | ------------------------------------------------------ | ------------------------------------------- |\r\n| NOSTR_RELAYS | The list of Nostr relays to connect to | wss://relay.damus.io,wss://relay.primal.net |\r\n| NOSTR_NSEC_KEY | Nostr Private Key (starts with nsec) | nsec1... |\r\n| NOSTR_NPUB_KEY | Nostr Public Key (starts with npub) | npub1... |\r\n| NOSTR_POLL_INTERVAL | How often (in seconds) to check for Nostr interactions | 120 |\r\n| NOSTR_POST_IMMEDIATELY | Whether to post immediately or not | false |\r\n| NOSTR_DRY_RUN | Whether to dry run or not | false |\r\n\r\nSample configuration:\r\n\r\n```bash\r\n# The list of Nostr relays to connect to.\r\nNOSTR_RELAYS=\"wss://relay.damus.io,wss://relay.primal.net\"\r\n# Nostr Private Key (starts with nsec)\r\nNOSTR_NSEC_KEY=\"nsec1...\"\r\n# Nostr Public Key (starts with npub)\r\nNOSTR_NPUB_KEY=\"npub1...\"\r\n# How often (in seconds) the bot should check for Nostr interactions (default: 2 minutes)\r\nNOSTR_POLL_INTERVAL=120\r\n# Whether to post immediately or not\r\nNOSTR_POST_IMMEDIATELY=false\r\n# Whether to dry run or not\r\nNOSTR_DRY_RUN=false\r\n```\r\n\r\nNote: The `nsec` configured key is used as the default signer when instantiating the `NDK` instance.\r\n\r\nNostr client must be set in the Character definition, example:\r\n```json\r\n{\r\n \"name\": \"goku\",\r\n \"clients\": [\"nostr\"],\r\n \"modelProvider\": \"anthropic\"\r\n \r\n}\r\n```\r\n\r\n## Changes summary\r\n\r\n- Add env variables for Nostr in `.env.example`.\r\n- Introduce [Nostr NDK](https://github.com/nostr-dev-kit/ndk) for Nostr client.\r\n- Implement Nostr client in Eliza (in `packages/client-nostr`).\r\n - Implement `NostrClient` class.\r\n - Implement `NostrInteractionManager` in `packages/client-nostr/src/interactions.ts`. For now it's a no op service.\r\n - Implement `NostrPostManager` in `packages/client-nostr/src/post.ts`.\r\n\r\n## Resources\r\n\r\n- [Nostr Github](https://github.com/nostr-protocol/nostr)\r\n- [What is Nostr ?](https://nostr.org/)\r\n- [Nostr online dev tools](https://nostrtool.com/)\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n- As anon\r\n\u00a0 - run `pnpm run dev --characters=\"characters/goku.character.json\"` \r\n\u00a0 - verify that Nostr notes are posted\r\n\r\n## Screenshots\r\n\r\nScreenshot of Nostr notes posted by the agent:\r\n\r\n![Screenshot 2024-12-17 at 18 34 11](https://github.com/user-attachments/assets/e0977daa-8f6d-4943-837e-d6426a575443)\r\n\r\nScreenshot of terminal of the running agent with logs:\r\n\r\n![Screenshot 2024-12-17 at 18 34 27](https://github.com/user-attachments/assets/a1ec8c99-b544-468e-94e2-d72f55521157)\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n\r\nabdel.stark\r\n", - "files": [ + "path": "docs/api/functions/parseJsonArrayFromText.md", + "additions": 2, + "deletions": 2 + }, { - "path": ".env.example", - "additions": 14, - "deletions": 0 + "path": "docs/api/functions/parseShouldRespondFromText.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 + "path": "docs/api/functions/splitChunks.md", + "additions": 2, + "deletions": 2 }, { - "path": "agent/src/index.ts", - "additions": 39, - "deletions": 14 + "path": "docs/api/functions/stringToUuid.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/package.json", - "additions": 18, - "deletions": 0 + "path": "docs/api/functions/trimTokens.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/actions.ts", - "additions": 37, - "deletions": 0 + "path": "docs/api/functions/updateGoal.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/client.ts", - "additions": 66, - "deletions": 0 + "path": "docs/api/functions/validateCharacterConfig.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/index.ts", - "additions": 61, - "deletions": 0 + "path": "docs/api/functions/validateEnv.md", + "additions": 2, + "deletions": 2 }, { - "path": "packages/client-nostr/src/interactions.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/index.md", + "additions": 1, + "deletions": 1 }, { - "path": "packages/client-nostr/src/memory.ts", - "additions": 36, - "deletions": 0 + "path": "docs/api/interfaces/Account.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/src/post.ts", - "additions": 188, - "deletions": 0 + "path": "docs/api/interfaces/Action.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/src/prompts.ts", - "additions": 88, - "deletions": 0 + "path": "docs/api/interfaces/ActionExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-nostr/src/types.ts", - "additions": 9, - "deletions": 0 + "path": "docs/api/interfaces/Actor.md", + "additions": 5, + "deletions": 5 }, { - "path": "packages/client-nostr/src/utils.ts", - "additions": 143, - "deletions": 0 + "path": "docs/api/interfaces/Content.md", + "additions": 7, + "deletions": 7 }, { - "path": "packages/client-nostr/tsconfig.json", - "additions": 12, - "deletions": 0 + "path": "docs/api/interfaces/ConversationExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-nostr/tsup.config.ts", - "additions": 20, - "deletions": 0 + "path": "docs/api/interfaces/EvaluationExample.md", + "additions": 4, + "deletions": 4 }, { - "path": "packages/core/src/types.ts", - "additions": 13, + "path": "docs/api/interfaces/Evaluator.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/GenerationOptions.md", + "additions": 10, + "deletions": 10 + }, + { + "path": "docs/api/interfaces/Goal.md", + "additions": 7, + "deletions": 7 + }, + { + "path": "docs/api/interfaces/IAgentRuntime.md", + "additions": 36, + "deletions": 36 + }, + { + "path": "docs/api/interfaces/IBrowserService.md", + "additions": 5, "deletions": 5 }, { - "path": "pnpm-lock.yaml", - "additions": 146, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "mradian1", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/160105867?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1179, - "title": "AI Companion to CRASH game", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T13:40:36Z", - "updated_at": "2024-12-17T13:42:01Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/interfaces/ICacheAdapter.md", + "additions": 4, + "deletions": 4 + }, { - "path": ".gitignore", - "additions": 0, - "deletions": 2 + "path": "docs/api/interfaces/ICacheManager.md", + "additions": 4, + "deletions": 4 }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 3 + "path": "docs/api/interfaces/IDatabaseAdapter.md", + "additions": 38, + "deletions": 38 }, { - "path": "agent/src/crash/actions/taunt.ts", - "additions": 56, - "deletions": 0 + "path": "docs/api/interfaces/IDatabaseCacheAdapter.md", + "additions": 4, + "deletions": 4 }, { - "path": "agent/src/index.ts", - "additions": 3, - "deletions": 1 + "path": "docs/api/interfaces/IImageDescriptionService.md", + "additions": 4, + "deletions": 4 }, { - "path": "characters/tate.character.json", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/IMemoryManager.md", + "additions": 14, + "deletions": 14 }, { - "path": "characters/taunting.character.json", - "additions": 108, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "salmanpot", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/112885964?u=6dcca073ed5cbc8301794a79e2011472335f45a9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1169, - "title": "Feat/km eliza bot", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-17T10:01:32Z", - "updated_at": "2024-12-17T16:02:29Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ + "path": "docs/api/interfaces/IPdfService.md", + "additions": 5, + "deletions": 5 + }, { - "path": "agent/.gitignore", - "additions": 0, - "deletions": 8 + "path": "docs/api/interfaces/ISpeechService.md", + "additions": 5, + "deletions": 5 }, { - "path": "agent/src/index.ts", - "additions": 11, - "deletions": 34 + "path": "docs/api/interfaces/ITextGenerationService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/providers/twitter.ts", - "additions": 18, - "deletions": 0 + "path": "docs/api/interfaces/ITranscriptionService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/game.pdf", - "additions": 0, - "deletions": 0 + "path": "docs/api/interfaces/IVideoService.md", + "additions": 7, + "deletions": 7 }, { - "path": "agent/src/services/twitter/services.ts", - "additions": 71, - "deletions": 0 + "path": "docs/api/interfaces/Memory.md", + "additions": 10, + "deletions": 10 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "docs/api/interfaces/MessageExample.md", + "additions": 3, + "deletions": 3 }, { - "path": "eliza_client/eliza_client.py", - "additions": 180, - "deletions": 0 + "path": "docs/api/interfaces/Objective.md", + "additions": 4, + "deletions": 4 }, { - "path": "eliza_client/requirements.txt", - "additions": 2, - "deletions": 0 + "path": "docs/api/interfaces/Participant.md", + "additions": 3, + "deletions": 3 }, { - "path": "packages/client-direct/src/index.ts", - "additions": 14, + "path": "docs/api/interfaces/Provider.md", + "additions": 2, "deletions": 2 }, { - "path": "packages/client-twitter/src/post.ts", - "additions": 1, - "deletions": 1 + "path": "docs/api/interfaces/Relationship.md", + "additions": 8, + "deletions": 8 + }, + { + "path": "docs/api/interfaces/Room.md", + "additions": 3, + "deletions": 3 } ], "reviews": [], - "comments": [ - { - "author": "odilitime", - "body": "no documentation, weird changes, doesn't look like you meant to PR it to the main repo" - } - ] + "comments": [] } ] }, @@ -3259,10 +2437,10 @@ } }, { - "contributor": "SumeetChougule", - "score": 4, + "contributor": "vpavlin", + "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/101477214?u=7dddb5b1120e21b1c481bd7186d68d3fe76db437&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/4759808?u=d045a41a43fa2deabfc3115236cc1e8b0509b164&v=4", "activity": { "code": { "total_commits": 0, @@ -3270,57 +2448,32 @@ "commits": [], "pull_requests": [ { - "number": 1182, - "title": "Fix client.push issue and update README for Slack client verification", + "number": 1214, + "title": "fix: fail when cannot get token, add Akash to generateText switch", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T17:53:28Z", - "updated_at": "2024-12-17T17:53:28Z", - "body": "Relates to:\r\nNo specific issue linked.\r\n\r\nRisks\r\nLow. The changes primarily involve bug fixes and documentation updates, which should not affect other parts of the system.\r\n\r\nBackground\r\nWhat does this PR do?\r\nThis pull request fixes a critical issue in the client initialization process by addressing the clients.push error. It also updates the README for the Slack client to include instructions on verifying event subscriptions.\r\n\r\nWhat kind of change is this?\r\nBug fixes\r\nDocumentation updates\r\nDocumentation changes needed?\r\nMy changes require a change to the project documentation. The README has been updated accordingly.\r\n\r\nTesting\r\nWhere should a reviewer start?\r\nReview the changes in agent/src/index.ts for the client initialization fix and the updated README.md in the packages/client-slack directory.\r\n\r\nDetailed testing steps\r\nVerify that the client initialization process does not produce errors.\r\nEnsure the Slack client README includes the new section on event subscription verification.", + "created_at": "2024-12-18T21:21:53Z", + "updated_at": "2024-12-18T21:28:14Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n* this throws when we cannot get a token based on provider (otherwise it silently runs and prints auth errors) - it is a change in behaviour\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis fixes 2 issues I've hit:\r\n* When I setup Akash provider I got `Unsupported provider error` because it was missing in `generateText` switch\r\n* When I was trying to update eliza-starter and use it with Akash or Venice, I'd get auth errors because it could not get the provider token - since the `getTokenForProvider` did not account for the new providers, but it would not fail there, hence adding a `default` case which throwa\r\n\r\ncc @MbBrainz\r\n\r\n## What kind of change is this?\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n* You can try to use Akash provider and chat with the agent - it should result in `Unsupported provider error` without this change\r\n* You can also try to configure some unknown provider and gcall `getTokenForProvider` andthe function will not report any errors without this change \r\n\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n## Discord username\r\n@vpavlin\r\n\r\n", "files": [ - { - "path": ".gitignore", - "additions": 1, - "deletions": 0 - }, { "path": "agent/src/index.ts", - "additions": 6, - "deletions": 3 - }, - { - "path": "characters/trump.character.json", - "additions": 1, - "deletions": 1 - }, - { - "path": "ngrok.log", - "additions": 10, - "deletions": 0 - }, - { - "path": "package.json", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/client-slack/README.md", - "additions": 9, + "additions": 4, "deletions": 0 }, { - "path": "packages/client-slack/src/environment.ts", - "additions": 1, + "path": "packages/core/src/generation.ts", + "additions": 2, "deletions": 1 - }, - { - "path": "pnpm-lock.yaml", - "additions": 22174, - "deletions": 16933 } ], "reviews": [], - "comments": [] + "comments": [ + { + "author": "vpavlin", + "body": "Wait, should I use `develop` or `main` as a base?" + } + ] } ] }, @@ -3337,10 +2490,10 @@ } }, { - "contributor": "jzvikart", - "score": 4, + "contributor": "netdragonx", + "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/7929905?u=d54ea7bb2ef0bc7fae6f010f70decfaa559cbc30&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/100390508?u=0805360e7258c798433b4d3f63a4c0457c178942&v=4", "activity": { "code": { "total_commits": 0, @@ -3348,48 +2501,18 @@ "commits": [], "pull_requests": [ { - "number": 1177, - "title": "feat: integration tests fixes + library improvements", + "number": 1202, + "title": "fix: optional chaining on search to avoid startup errors when search is not enabled", "state": "OPEN", "merged": false, - "created_at": "2024-12-17T11:55:32Z", - "updated_at": "2024-12-17T15:56:20Z", - "body": "# Risks\r\nVery low. Worst case this could break the tests or introduce problems with dependencies.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis builds on top of previous changes that introduced the first version of integration tests framework. These changes:\r\n- fix some existing issues with smoke and integration tests failing (esp. giving agent a fixed time to start that was not always sufficient)\r\n- extend integration test library with a full wrapper for setting up / tearing down a test\r\n- refactor existing integration test (\"Hello Trump\") to use new library\r\n- fix a potential issue with possible leak of API keys (not related to integration tests themselves)\r\n- remove a dependency that was previously added but is no longer required\r\n\r\n## What kind of change is this?\r\nImprovement + bug fix + feature\r\n\r\n## Why are we doing this? Any context or related work?\r\nThis is to improve overall project quality via better testing..\r\n\r\n# Documentation changes needed?\r\nNone\r\n\r\n# Testing\r\nTo test the tests, these changes need to be run in CI workflow.\r\nIf either smoke or integration tests fail, the PR should NOT be merged. In that case we will check the logs and update the PR as necessary.\r\n\r\n# Deploy Notes\r\nNone\r\n\r\n## Database changes\r\nNone\r\n\r\n## Deployment instructions\r\nNone\r\n\r\n## Discord username\r\nuser98634", + "created_at": "2024-12-18T09:52:31Z", + "updated_at": "2024-12-18T10:11:57Z", + "body": "\r\n\r\n# Relates to:\r\nclient-twitter\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds optional chaining to twitter search setup to prevent an error on startup when search code is active but not enabled.\r\n\r\n## What kind of change is this?\r\nBug fix.\r\n\r\n\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nWhen working with twitter search, the agent throws errors when I activate the search code but disable search in .env\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nRun twitter agent with `TWITTER_SEARCH_ENABLE=FALSE` and there should be no error on startup\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": ".github/workflows/integrationTests.yaml", - "additions": 1, - "deletions": 1 - }, - { - "path": "agent/src/index.ts", - "additions": 2, - "deletions": 1 - }, - { - "path": "package.json", - "additions": 1, - "deletions": 2 - }, - { - "path": "packages/core/src/logger.ts", - "additions": 0, - "deletions": 1 - }, - { - "path": "pnpm-lock.yaml", - "additions": 709, - "deletions": 783 - }, - { - "path": "tests/test1.mjs", + "path": "packages/client-twitter/src/index.ts", "additions": 14, - "deletions": 23 - }, - { - "path": "tests/testLibrary.mjs", - "additions": 81, - "deletions": 36 + "deletions": 17 } ], "reviews": [], @@ -3410,10 +2533,10 @@ } }, { - "contributor": "tripluca", - "score": 4, + "contributor": "Hdpbilly", + "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/78784902?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/168072844?u=04895ee023be4c6ff9a630d14f55c15ee0d9f502&v=4", "activity": { "code": { "total_commits": 0, @@ -3421,18 +2544,18 @@ "commits": [], "pull_requests": [ { - "number": 1176, - "title": "fix: Change 'INFORMATIONS' to 'INFORMATION' to use correct English in logger", - "state": "CLOSED", + "number": 1199, + "title": "feat: added 12 new routes for runtime parameters", + "state": "OPEN", "merged": false, - "created_at": "2024-12-17T11:40:20Z", - "updated_at": "2024-12-17T16:32:43Z", - "body": "# Relates to:\r\nN/A - grammatical fix\r\n\r\n# Risks\r\nLow - Simple text change correcting English grammar in logging output\r\n\r\n# Background\r\n## What does this PR do?\r\nFixes incorrect English usage in logger.ts by changing \"INFORMATIONS\" to \"INFORMATION\", as \"information\" is an uncountable noun in English that doesn't have a plural form.\r\n\r\n## What kind of change is this?\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n## Where should a reviewer start?\r\nCheck packages/core/src/logger.ts - the change is a single word modification.\r\n\r\n## Detailed testing steps\r\nNone, automated tests are fine.\r\n\r\nNote: This PR is based on v0.1.6-alpha.1", + "created_at": "2024-12-18T08:04:22Z", + "updated_at": "2024-12-18T17:23:19Z", + "body": "\r\n\r\n# Relates to:\r\nN/A - Initial API routes documentation\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow - These are read-only API endpoints that expose internal agent state. No write operations except for /set endpoint.\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds comprehensive API routes to the agent framework that expose internal state and capabilities through REST endpoints. This includes routes for:\r\n\r\nAgent state and configuration\r\nMemory and cache inspection\r\nService and plugin discovery\r\nMetrics and monitoring\r\nRelationship and room management\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nChanges required to the project documentation to document all available API endpoints and their usage.\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with basic routes like /agents and /agents/:agentId to verify basic functionality\r\nTest state inspection routes like /state, /memories, and /cache\r\nVerify component discovery through /services, /plugins, and /providers\r\nCheck monitoring capabilities via /metrics\r\n## Detailed testing steps\r\nStart agent framework with npm start\r\nGet list of agents: curl http://localhost:3000/agents\r\nFor each agent ID:\r\n\r\nTest state endpoint: curl http://localhost:3000/agents/{id}/state\r\nVerify services: curl http://localhost:3000/agents/{id}/services\r\nCheck metrics: curl http://localhost:3000/agents/{id}/metrics\r\nView memories: curl http://localhost:3000/agents/{id}/memories\r\nInspect plugins: curl http://localhost:3000/agents/{id}/plugins\r\nTest providers: curl http://localhost:3000/agents/{id}/providers\r\nVerify relationships: curl http://localhost:3000/agents/{id}/relationships\r\nCheck rooms: curl http://localhost:3000/agents/{id}/rooms\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nRequires server restart to enable new API endpoints. No database changes needed.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/core/src/logger.ts", - "additions": 1, - "deletions": 1 + "path": "packages/client-direct/src/api.ts", + "additions": 259, + "deletions": 0 } ], "reviews": [ @@ -3442,12 +2565,7 @@ "body": "" } ], - "comments": [ - { - "author": "odilitime", - "body": "Informations is a collection of information-tagged items. It is correct in this context" - } - ] + "comments": [] } ] }, @@ -3464,10 +2582,10 @@ } }, { - "contributor": "nicky-ru", - "score": 4, + "contributor": "cwrage77", + "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/64008830?u=d26f4e5c9c07625bb42f8f4b3154df60a8ca5527&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/10321212?u=deda48521940edac89df630f85a5f9df5cdcb95b&v=4", "activity": { "code": { "total_commits": 0, @@ -3475,67 +2593,101 @@ "commits": [], "pull_requests": [ { - "number": 1171, - "title": "fix: add lint script for plugin evm and fix lint errors", - "state": "OPEN", + "number": 1193, + "title": "Feature/news plugin", + "state": "CLOSED", "merged": false, - "created_at": "2024-12-17T10:31:16Z", - "updated_at": "2024-12-17T17:59:25Z", - "body": "# Risks\r\n\r\nNone\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nImprovements:\r\n1. Fixed Chain Name Formatting:\r\n- Object generation sometimes returned the chain name without quotes, causing the transfer action to fail.\r\n- Improved this behavior by ensuring quotes are added in the constraint:\r\n```ts\r\nchains.map((item) => `\"${item}\"`).join(\"|\")\r\n```\r\n2. Added Linting Script:\r\n- Introduced a linting script to the project and fixed the linting errors.\r\n3. Restored Transfer Action Logic:\r\n- The merge of #965 degraded the transfer action by ignoring the buildTransferDetails() function.\r\n- This function has been reintegrated into the transfer action.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Try initiate a transfer action with on the evm chain of your choice, the agent should correctly pick the chain.\r\n\r\nThe rest of the changes rely on automated tests.\r\n\r\n## Discord username\r\n\r\nnikita_zhou\r\n", + "created_at": "2024-12-18T02:55:07Z", + "updated_at": "2024-12-18T02:55:44Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "packages/client-discord/src/voice.ts", - "additions": 18, - "deletions": 4 + "path": ".gitignore", + "additions": 56, + "deletions": 54 }, { - "path": "packages/plugin-evm/eslint.config.mjs", - "additions": 3, + "path": "PZ-README.md", + "additions": 14, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-evm/package.json", + "path": "agent/src/index.ts", "additions": 2, - "deletions": 1 + "deletions": 0 }, { - "path": "packages/plugin-evm/src/actions/swap.ts", - "additions": 0, - "deletions": 1 + "path": "characters/courage.character.json", + "additions": 182, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/actions/transfer.ts", - "additions": 11, - "deletions": 24 + "path": "characters/cryptodegen.character.json", + "additions": 265, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/providers/wallet.ts", - "additions": 2, - "deletions": 2 + "path": "packages/plugin-news/.npmignore", + "additions": 6, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/tests/transfer.test.ts", - "additions": 2, - "deletions": 2 + "path": "packages/plugin-news/eslint.config.mjs", + "additions": 3, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/tests/wallet.test.ts", - "additions": 39, - "deletions": 35 + "path": "packages/plugin-news/package.json", + "additions": 19, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/types/index.ts", + "path": "packages/plugin-news/src/actions/index.ts", "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "deletions": 0 + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please add a screengrab or test of this working thanks:) " + "path": "packages/plugin-news/src/actions/newsSearch.ts", + "additions": 215, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/evaluators/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/index.ts", + "additions": 16, + "deletions": 0 + }, + { + "path": "packages/plugin-news/src/providers/index.ts", + "additions": 0, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-news/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 15, + "deletions": 22 } ], + "reviews": [], "comments": [] } ] @@ -3546,49 +2698,127 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "snobbee", - "score": 2, + "contributor": "BlockchainCake", + "score": 3, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/125891987?u=ba9ca14b922f8fb73f38ba0981d157247af3dd03&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/24722374?u=c5a6378d6a918ac7d6ae7de796e4cd85ca91c4c3&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1173, - "title": "Bug: Application crashes on startup", - "state": "CLOSED", - "created_at": "2024-12-17T10:43:05Z", - "updated_at": "2024-12-17T10:43:17Z", - "body": "The application crashes on startup. No additional context or error messages have been provided.", - "labels": [], - "comments": [] - }, + "pull_requests": [ { - "number": 1172, - "title": "Bug: Application crashes on startup", - "state": "CLOSED", - "created_at": "2024-12-17T10:34:58Z", - "updated_at": "2024-12-17T10:36:32Z", - "body": "The application crashes upon startup. Please investigate the error codes and any relevant stack traces to diagnose the issue.", - "labels": [], + "number": 1212, + "title": "Add EVM Client for blockchain event monitoring", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-18T20:54:14Z", + "updated_at": "2024-12-18T20:54:14Z", + "body": "# Add EVM Client for blockchain events\r\n\r\nThis PR adds a new client that enables Eliza agents to monitor and discuss EVM blockchain events through Discord.\r\n\r\n## Features\r\n- WebSocket connection to EVM-compatible chains\r\n- Smart contract event monitoring and decoding\r\n- Natural language discussion of events through Discord\r\n- Event memory storage and formatting\r\n- Automatic reconnection handling\r\n\r\n## Implementation\r\n- Core WebSocket client with ethers.js\r\n- Message manager for event processing\r\n- Discord channel integration\r\n- USDC/DAI Uniswap swap monitoring as reference implementation\r\n\r\n## Documentation\r\n- Full README with setup guide\r\n- Implementation examples\r\n- Code comments and type definitions\r\n\r\nThis extends Eliza's capabilities with blockchain event monitoring while following the framework's patterns for client integration.", + "files": [ + { + "path": "agent/package.json", + "additions": 2, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-discord/src/index.ts", + "additions": 32, + "deletions": 1 + }, + { + "path": "packages/client-evm/README.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.example.json", + "additions": 40, + "deletions": 0 + }, + { + "path": "packages/client-evm/config.json", + "additions": 100, + "deletions": 0 + }, + { + "path": "packages/client-evm/package.json", + "additions": 21, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/evm-listener.ts", + "additions": 242, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/formatters.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/implementations/templates.ts", + "additions": 35, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/index.ts", + "additions": 85, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/messages.ts", + "additions": 176, + "deletions": 0 + }, + { + "path": "packages/client-evm/src/types.ts", + "additions": 66, + "deletions": 0 + }, + { + "path": "packages/client-evm/tsconfig.json", + "additions": 23, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 366, + "deletions": 44 + }, + { + "path": "tsconfig.json", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], "comments": [] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, "total_reviews": 0, @@ -3598,38 +2828,45 @@ } }, { - "contributor": "Semfoxm", - "score": 1, + "contributor": "tobbelobb", + "score": 3, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/114817283?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/5753253?u=06987c2b4cb233fa0a612753bf4cb151862c07b4&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 0, + "total_prs": 1, "commits": [], - "pull_requests": [] - }, - "issues": { - "total_opened": 1, - "opened": [ + "pull_requests": [ { - "number": 1188, - "title": "semfoxm", + "number": 1205, + "title": "fix: write summary file before trying to cache it", "state": "OPEN", - "created_at": "2024-12-17T21:11:03Z", - "updated_at": "2024-12-17T21:11:03Z", - "body": "**Describe the bug**\r\n\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", - "labels": [ + "merged": false, + "created_at": "2024-12-18T12:28:33Z", + "updated_at": "2024-12-18T17:17:36Z", + "body": " - Also give a .md file extension for prettier rendering in Discord\r\n\r\n# Relates to:\r\nWhen I used my agent to CHAT_WITH_ATTACHMENTS it always failed to stat the summary file because it had not been created.\r\n\r\n# Risks\r\nLow. Writes summaries to disk, could become a lot of data if agent writes a lot of summaries.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nWrite summary file before trying to cache it\r\n\r\n## What kind of change is this?\r\nBug fix (non-breaking change which fixes an issue)\r\n\r\n## Why are we doing this? Any context or related work?\r\nYeah, I'm building a technical support that needs to receive and analyze config files.\r\n\r\n## Discord username\r\ntobben_dev\r\n", + "files": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "path": "packages/client-discord/src/actions/chat_with_attachments.ts", + "additions": 31, + "deletions": 10 } ], - "comments": [] + "reviews": [], + "comments": [ + { + "author": "odilitime", + "body": "code looks good will test later" + } + ] } ] }, + "issues": { + "total_opened": 0, + "opened": [] + }, "engagement": { "total_comments": 0, "total_reviews": 0, @@ -3639,10 +2876,10 @@ } }, { - "contributor": "ilmari-h", + "contributor": "sam-coffey", "score": 1, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/52321471?u=839cd428eb4798d5dd5235a01eb4148128995d0f&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/98062744?u=10f19a5a02ee5648fd5276432f87eb3c6d97de7d&v=4", "activity": { "code": { "total_commits": 0, @@ -3654,17 +2891,17 @@ "total_opened": 1, "opened": [ { - "number": 1175, - "title": "Allow requiring API key for calling direct client", + "number": 1213, + "title": "chat stuck in infinite loop", "state": "OPEN", - "created_at": "2024-12-17T11:27:50Z", - "updated_at": "2024-12-17T11:27:50Z", - "body": "I would like to be able to require an API key for communicating with my agent via the direct client rest API.\r\nI did not find a built in way to do this.\r\n\r\nI would propose adding an optional `DirectClientOptions` parameter to the `DirectClient` constructor that contains property API-key.\r\nThe direct client would then return 401 to any request that does not have the header `Authorization: Bearer YOUR_API_KEY`\r\n\r\nI will gladly implement this myself if it makes sense as a feature to others", + "created_at": "2024-12-18T21:19:34Z", + "updated_at": "2024-12-18T21:19:34Z", + "body": "Have tried installing and reinstalling many times, chat with any agent always gets stuck in loop where agent just keeps replying to itself.\r\n\r\nHappens each time I successfully start an agent with npm start (either chatting in terminal in older versions or with localhost:5173)\r\n\r\nI would expect the agent to have a dialogue with me but it becomes impossible when the agent just keeps saying things to itself over and over.", "labels": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], "comments": [] @@ -3680,10 +2917,10 @@ } }, { - "contributor": "Ninoambaraa", + "contributor": "AntonioTF5", "score": 1, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/151893355?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/32102018?u=ca0cfc6fafa99720cba35ad22ba7e31738c399b9&v=4", "activity": { "code": { "total_commits": 0, @@ -3695,12 +2932,12 @@ "total_opened": 1, "opened": [ { - "number": 1168, - "title": "Error when trying deploy using dockerfile", + "number": 1208, + "title": "Multiple mentions on Twitter/X when reply", "state": "OPEN", - "created_at": "2024-12-17T09:43:05Z", - "updated_at": "2024-12-17T09:43:05Z", - "body": "I'm trying deploy using docker file \r\n```\r\n# Use stable Node.js LTS version\r\nFROM node:22-slim\r\n\r\n# Install system dependencies\r\nRUN apt-get update && apt-get install -y \\\r\n build-essential \\\r\n python3 \\\r\n git \\\r\n ca-certificates \\\r\n sqlite3 \\\r\n libsqlite3-dev \\\r\n && apt-get clean && rm -rf /var/lib/apt/lists/*\r\n\r\n# Install pnpm\r\nRUN npm install -g pnpm@9.4.0\r\n\r\n# Set working directory\r\nWORKDIR /app\r\n\r\n# Copy package files\r\nCOPY package.json pnpm-lock.yaml ./\r\n\r\n# Install dependencies\r\nRUN pnpm install --frozen-lockfile\r\n\r\n# Rebuild native modules\r\nRUN pnpm rebuild better-sqlite3\r\n\r\n# Copy application files\r\nCOPY . .\r\n\r\n# Expose application port\r\nEXPOSE 3000\r\n\r\n# Start the application with debugging\r\nCMD [\"pnpm\" , \"start\"]\r\n\r\n```\r\n\r\nand i get this error \r\n```\r\n\u26d4 ERRORS\r\n Unhandled error in startAgents: \r\n {\"code\":\"ERR_USE_AFTER_CLOSE\"} \r\n```", + "created_at": "2024-12-18T16:44:13Z", + "updated_at": "2024-12-18T19:28:41Z", + "body": "**Describe the bug**\n\nIn every following reply to target accounts on X agent adds mentioning of the account: @account \n\nIf it replies second time it will mention twice: @account @account\n\n**Expected behavior**\n\nNo mentioning of the target account when reply at all. \n\n**Screenshots**\n\n![image](https://github.com/user-attachments/assets/9b8a6403-e496-4ecb-bf5b-bc67b4faeb4b)