diff --git a/data/contributors_2024_12-25.json b/data/contributors_2024_12-25.json new file mode 100644 index 0000000..9bf0207 --- /dev/null +++ b/data/contributors_2024_12-25.json @@ -0,0 +1,1137 @@ +[ + { + "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": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-25T20:35:11Z", + "updated_at": "2024-12-25T20:37:42Z", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", + "files": [ + { + "path": ".env.example", + "additions": 5, + "deletions": 7 + }, + { + "path": ".github/workflows/integrationTests.yaml", + "additions": 6, + "deletions": 10 + }, + { + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 + }, + { + "path": ".gitignore", + "additions": 5, + "deletions": 2 + }, + { + "path": "README.md", + "additions": 135, + "deletions": 136 + }, + { + "path": "agent/context.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/context.txt", + "additions": 584, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 + }, + { + "path": "agent/state.json", + "additions": 969, + "deletions": 0 + }, + { + "path": "characters/chronis.character.json", + "additions": 319, + "deletions": 0 + }, + { + "path": "characters/logging-addict.character.json", + "additions": 263, + "deletions": 0 + }, + { + "path": "characters/prosper.character.json", + "additions": 214, + "deletions": 0 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins \u2013 A Nexus of Community and Value", + "additions": 70, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission \u2013 Reality Spiraling and the Market\u2019s Pull", + "additions": 67, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", + "additions": 1, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, + "deletions": 0 + }, + { + "path": "docs/docs/packages/plugins.md", + "additions": 85, + "deletions": 1 + }, + { + "path": "docs/rs-documentation/README.md", + "additions": 124, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/agent-capabilities.md", + "additions": 7, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", + "additions": 3, + "deletions": 0 + }, + { + "path": "elizaConfig.yaml", + "additions": 18, + "deletions": 0 + }, + { + "path": "package.json", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 + }, + { + "path": "packages/client-github/src/environment.ts", + "additions": 0, + "deletions": 8 + }, + { + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 + }, + { + "path": "packages/client-github/src/templates.ts", + "additions": 89, + "deletions": 0 + }, + { + "path": "packages/client-github/src/types.ts", + "additions": 48, + "deletions": 0 + }, + { + "path": "packages/client-github/src/utils.ts", + "additions": 142, + "deletions": 0 + }, + { + "path": "packages/core/src/runtime.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/plugin-github/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-github/package.json", + "additions": 27, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/index.ts", + "additions": 96, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/releases.ts", + "additions": 17, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/types.ts", + "additions": 248, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "hanyh2004", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T17:14:01Z", + "updated_at": "2024-12-25T22:23:47Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "harperaa", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T17:12:42Z", + "updated_at": "2024-12-25T22:37:31Z", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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": "package.json", + "additions": 2, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "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": 1446, + "title": "feat: Add Text to 3D function", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T06:47:21Z", + "updated_at": "2024-12-25T07:44:03Z", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 4, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/.npmignore", + "additions": 7, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], + "comments": [ + { + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" + }, + { + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Freytes", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1445, + "title": "Add: Client Reddit Files", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T05:18:13Z", + "updated_at": "2024-12-25T22:21:32Z", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "files": [ + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 + }, + { + "path": "packages/client-reddit/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-reddit/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/client-reddit/package.json", + "additions": 22, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/index.ts", + "additions": 28, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/client-reddit/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" + }, + { + "author": "Freytes", + "body": "@odilitime Updated the requested files." + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "0xPBIT", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1444, + "title": "feat: suppress initial message from action", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T04:23:41Z", + "updated_at": "2024-12-25T22:20:59Z", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", + "files": [ + { + "path": "docs/docs/core/actions.md", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/client-direct/src/index.ts", + "additions": 18, + "deletions": 3 + }, + { + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-image-generation/src/index.ts", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "COMMENTED", + "body": "" + }, + { + "author": "0xPBIT", + "state": "COMMENTED", + "body": "" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 3, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "mhxw", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1443, + "title": "fix: fix incorrect link redirection issue", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-25T04:04:29Z", + "updated_at": "2024-12-25T04:21:44Z", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", + "files": [ + { + "path": "docs/docs/advanced/eliza-in-tee.md", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "DISMISSED", + "body": "LGTM thanks :) " + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Firbydude", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1442, + "title": "Add support for VoyageAI embeddings API", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T03:40:59Z", + "updated_at": "2024-12-25T07:20:18Z", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n \u1367 DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n \u1367 DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"\u1367 DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"\u1367 Initializing BGE embedding model...\"] \r\n\r\n \u1367 DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n \u1367 DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", + "files": [ + { + "path": ".env.example", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 + }, + { + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, + "deletions": 0 + }, + { + "path": "packages/core/src/voyageai.ts", + "additions": 156, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "arthursjy", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", + "state": "OPEN", + "created_at": "2024-12-25T15:31:37Z", + "updated_at": "2024-12-25T15:31:37Z", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "cxp-13", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", + "state": "OPEN", + "created_at": "2024-12-25T08:31:14Z", + "updated_at": "2024-12-25T13:33:48Z", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"\u25ce Generating message response..\"]\r\n\r\n [\"\u25ce Generating text...\"]\r\n\r\n \u2139 INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n \u2139 INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n \u26d4 ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\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": [] + } + } + } +] \ No newline at end of file diff --git a/data/daily/combined.json b/data/daily/combined.json index f803836..9bf0207 100644 --- a/data/daily/combined.json +++ b/data/daily/combined.json @@ -1,1217 +1,527 @@ [ { - "contributor": "FWangZil", + "contributor": "monilpat", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", "activity": { "code": { "total_commits": 0, - "total_prs": 2, + "total_prs": 1, "commits": [], "pull_requests": [ { - "number": 1440, - "title": "fix: replace hardcoded model class with dynamic parameter", - "state": "OPEN", + "number": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "state": "CLOSED", "merged": false, - "created_at": "2024-12-24T17:07:54Z", - "updated_at": "2024-12-24T18:23:54Z", - "body": "\r\n# Relates to\r\nissue https://github.com/elizaOS/eliza/issues/1439\r\n\r\n# Description\r\n\r\n- **What is the problem?** \r\n In the `generateText` function, the model type was hard-coded, preventing the function from dynamically switching models based on external parameters. \r\n- **What does this PR do?** \r\n 1. Removes the hard-coded `model class` from `generateText` and `generateMessageResponse`. \r\n 2. Use the parameter to specify the desired model type. \r\n\r\n# Risks\r\n\r\n- **Risk Level**: Low \r\n - The change is confined to the internal logic of the `generateText` and `generateMessageResponse` function. \r\n\r\n# Background\r\n\r\n- Previously, `generateText` and `generateMessageResponse` did not allow dynamic model switching based on incoming parameters, limiting flexibility and making it cumbersome to use different models in various scenarios. \r\n- By removing the hard-coded approach, developers can easily specify or configure the desired model without modifying core code.\r\n\r\n# What kind of change is this?\r\n\r\n- [x] **Bug fix** (fixes a reported issue) \r\n- [ ] New feature (adds functionality) \r\n- [ ] Other (please describe)\r\n\r\n# Documentation changes needed?\r\n\r\n- [ ] Yes \r\n- [x] No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n- Look at how `generateText` and `generateMessageResponse` now handles the incoming model parameter, and verify that any calling code is appropriately updated to use this new parameter.\r\n\r\n## Detailed testing steps \r\n- Call `generateText` and `generateMessageResponse` with a specific model parameter, confirming that it correctly switches to the chosen model. \r\n", + "created_at": "2024-12-25T20:35:11Z", + "updated_at": "2024-12-25T20:37:42Z", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", "files": [ { - "path": "packages/core/src/generation.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM - but please confirm that this works with a screenshot and if so remove hard coding of gpt-4o in generateObject generatedObjectedDEPRECATED etc thanks " - } - ], - "comments": [] - }, - { - "number": 1435, - "title": "feat(solana): Add liquid staking support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T15:17:56Z", - "updated_at": "2024-12-24T19:18:05Z", - "body": "Add the ability of liquid staking to the current elizaos solana plugin.\r\n\r\n- It can build the desired staking requests for end-users, eliminating the complexity of front-end development and the need for users to switch between multiple platforms to compare APYs and select staking protocols.\r\n- Currently supports five protocols: \"jito\", \"blaze\", \"jpool\", \"marinade\", \"marginfi\", and is capable of expanding to support more protocols.\r\n\r\n# Relates to:\r\n\r\nIssue https://github.com/elizaOS/eliza/issues/1434\r\n\r\n# Risks\r\n\r\n- There are no risks. An independent new Solana feature module has been introduced without modifying the code of other parts.\r\n\r\n# Background\r\n\r\n- There are some distinctive liquid staking solutions on Solana. However, users or developers need to provide a specific APP for users to conduct staking.\r\n- Liquid Staking Action aims to enable users to interact with the Agent through natural language. The Eliza Agent will build transactions for users. The front-end only needs to integrate a Solana wallet to support multiple staking protocols, eliminating the need to code and integrate the specific logic of different staking protocols.\r\n\r\n## What does this PR do?\r\n\r\n- When the user specifies a liquid staking protocol, build the corresponding transaction (base58 encoded) for the user.\r\n- When the user does not specify a specific protocol, based on the APY and TVL data of multiple protocols provided by the StakeProtocolProvider, use the designated LLM to optimize the staking protocol for the user and then build the corresponding transaction.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\n\r\n- No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- packages/plugin-solana/src/actions/liquidStake.ts\r\n\r\n## Detailed testing steps\r\n\r\n1. Enable @elizaos/plugin-solana in the character.\r\n2. Interact with the Agent, for example: \u201cMy address is HqvTPqS2FaB2fQ7mxqZHQHz6H28o1u2Z9fRH5No8JN2W and I want to stake 0.01 SOL\u201d.\r\n3. Obtain the response (the constructed staking transaction).", - "files": [ + "path": ".env.example", + "additions": 5, + "deletions": 7 + }, { - "path": "packages/plugin-solana/package.json", - "additions": 2, - "deletions": 0 + "path": ".github/workflows/integrationTests.yaml", + "additions": 6, + "deletions": 10 }, { - "path": "packages/plugin-solana/src/actions/liquidStake.ts", - "additions": 468, + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, "deletions": 0 }, { - "path": "packages/plugin-solana/src/index.ts", - "additions": 3, + "path": ".gitignore", + "additions": 5, "deletions": 2 }, { - "path": "packages/plugin-solana/src/providers/stakeProtocol.ts", - "additions": 202, + "path": "README.md", + "additions": 135, + "deletions": 136 + }, + { + "path": "agent/context.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-solana/src/types/stake.ts", - "additions": 54, + "path": "agent/context.txt", + "additions": 584, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 497, - "deletions": 365 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1439, - "title": "Bug: generateText is ignoring dynamic parameters due to a hard-coded model class", - "state": "OPEN", - "created_at": "2024-12-24T16:59:30Z", - "updated_at": "2024-12-24T16:59:30Z", - "body": "**Is your feature request (or bug) related to a problem? Please describe.**\r\n\r\nIn the `generateText` function, the `model class` is currently hard-coded(gpt-4o), which prevents dynamically switching to different models based on incoming parameters. This reduces flexibility and can increase development complexity in scenarios where different models are needed.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Remove the hard-coded `model class` reference in the `generateText` function and instead use a model name/type passed in as a function parameter or configuration.\r\n- Ensure there is a sensible default value to maintain compatibility with existing functionality or cases where a specific model is not provided.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Leaving it as is would require manual code changes to switch models in different scenarios, which is not ideal.\r\n- Introducing a separate function to handle switching model classes could lead to redundant logic and increase maintenance overhead.\r\n\r\n**Additional context**\r\n\r\n- **Risks**: This change is minor, but it\u2019s important to check if other parts of the code depend on the old hard-coded logic.\r\n- **Testing**:\r\n - Test with multiple model types to confirm that the function correctly switches to the specified model.", - "labels": [ + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1434, - "title": "Add Liquid Staking Action to the Solana Plugin", - "state": "OPEN", - "created_at": "2024-12-24T14:58:25Z", - "updated_at": "2024-12-24T14:58:25Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently, there are various liquid staking protocols on Solana, but users or developers often need to build dedicated front-end solutions or switch between multiple platforms to compare APYs and select the appropriate protocol before staking. This process is tedious and increases front-end development complexity, making it cumbersome for users.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Add the ability for liquid staking to the existing ElizaOS Solana plugin, simplifying the process of building staking requests for users without requiring specialized front-end logic.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Continue relying on each protocol\u2019s custom front-end or having developers integrate multiple protocols manually. This leads to high complexity and development cost. \r\n- Have users manually compare different platforms\u2019 APYs, which can be error-prone and inconvenient.\r\n\r\n**Additional context**\r\n\r\n", - "labels": [ + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 + }, { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "humanagent", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/1447073?u=dff55a747ae4569a87f4eae7a01578682640a9e9&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1441, - "title": "feat: XMTP", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T17:52:09Z", - "updated_at": "2024-12-24T21:21:43Z", - "body": "# End-to-end encrypted messaging\r\n\r\nAI is transforming consumer tech, with messaging becoming the main channel for interacting with agent services. This shift will scale message traffic astronomically, analogous to the web\u2019s rise in the 2000s. Just as Cloudflare and https secured web traffic, messaging will need robust scalable end-to-end encrypted messages to protect sensitive information.\r\n\r\n## Risks\r\n\r\nRisks of not using end-to-end encryption for agent interactions exposes the users to what is called as Man in the **Middle Attacks**.\r\n\r\n> **Man in the Middle Attacks**: Intercept requests in between to alter or manipulate data sent or received by the AI service\r\n\r\n- **Phishing**: Messages can be intercepted and manipulated.\r\n- **Privacy**: Sensitive information read by unwanted parties\r\n- **Tampering**: Content can be altered without detection.\r\n\r\n:::tip\r\nMore concrete sensitive data could include credit card details, private keys and passwords which is not yet widely spread but as agents become smarter more use cases will include this type of sharing.\r\n:::\r\n\r\n## XMTP\r\n\r\nEliza agents come with a ready to use client that uses XMTP providing end-to-end encrypted messaging for every agent intereaction, crucial for privacy, security, and compliance provided by the XMTP network.\r\n\r\n### Features:\r\n\r\n- **E2EE**: End to end encrypted MLS encryption\r\n- **Multi-agent**: Support multi-agent through group chats\r\n- **Interoperable**: Works across all platforms and frontends\r\n- **Scalable**: Decentralized, open-source\r\n- **Anonymous**: By default every identity is ephemeral and anonymous.\r\n\r\n### Installation\r\n\r\nInstall the `xmtp` package\r\n\r\n```bash [cmd]\r\nbun install xmtp\r\n```\r\n\r\n### Usage\r\n\r\nThis is how you can use the `xmtp` package to create an agent and handle messages.\r\n\r\n- `WALLET_PRIVATE_KEY`: This will encrypt all messages and make it available through its public address or ens domain.\r\n\r\n```tsx\r\nimport { XMTP } from \"xmtp\";\r\n\r\nconst xmtp = new XMTP(onMessage, {\r\n encryptionKey: WALLET_PRIVATE_KEY,\r\n});\r\nawait xmtp.init();\r\nconst onMessage = async (message, user) => {\r\n console.log(`Decoded message: ${message.content.text} by ${user.address}`);\r\n // Your AI model response\r\n await xmtp.send({\r\n message: response,\r\n originalMessage: message,\r\n });\r\n};\r\n```\r\n\r\nFor more information visit XMTP [website](https://xmtp.org/)", - "files": [ + "path": "agent/state.json", + "additions": 969, + "deletions": 0 + }, { - "path": "agent/.gitignore", - "additions": 1, + "path": "characters/chronis.character.json", + "additions": 319, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 62, - "deletions": 60 + "path": "characters/logging-addict.character.json", + "additions": 263, + "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 7, - "deletions": 1 + "path": "characters/prosper.character.json", + "additions": 214, + "deletions": 0 }, { - "path": "docs/docs/advanced/e2ee.md", - "additions": 66, + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, "deletions": 0 }, { - "path": "docs/docs/guides/advanced.md", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, "deletions": 0 }, { - "path": "docs/docs/packages/agent.md", - "additions": 5, + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, "deletions": 0 }, { - "path": "docs/docs/packages/agents.md", - "additions": 228, - "deletions": 223 + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, + "deletions": 0 }, { - "path": "docs/docs/packages/clients.md", - "additions": 153, - "deletions": 146 + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, + "deletions": 0 }, { - "path": "docs/docs/packages/packages.md", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, "deletions": 0 }, { - "path": "docs/sidebars.js", - "additions": 6, - "deletions": 1 + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, + "deletions": 0 }, { - "path": "packages/client-xmtp/.npmignore", - "additions": 6, + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, "deletions": 0 }, { - "path": "packages/client-xmtp/eslint.config.mjs", - "additions": 3, + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, "deletions": 0 }, { - "path": "packages/client-xmtp/package.json", - "additions": 19, + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, "deletions": 0 }, { - "path": "packages/client-xmtp/src/index.ts", - "additions": 188, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, "deletions": 0 }, { - "path": "packages/client-xmtp/tsconfig.json", - "additions": 10, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, "deletions": 0 }, { - "path": "packages/client-xmtp/tsup.config.ts", - "additions": 10, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins \u2013 A Nexus of Community and Value", + "additions": 70, "deletions": 0 }, { - "path": "packages/core/src/types.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-concierge/.npmignore", - "additions": 6, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, "deletions": 0 }, { - "path": "packages/plugin-concierge/eslint.config.mjs", - "additions": 3, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-concierge/package.json", - "additions": 19, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/baselinks.ts", - "additions": 74, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/cdp.ts", - "additions": 302, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/resolver.ts", - "additions": 216, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/storage.ts", - "additions": 99, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission \u2013 Reality Spiraling and the Market\u2019s Pull", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/templates.ts", - "additions": 154, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/types.ts", - "additions": 72, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/walletservice.ts", - "additions": 559, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/index.ts", - "additions": 25, + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsconfig.json", - "additions": 13, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsup.config.ts", - "additions": 20, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 990, - "deletions": 21 - } - ], - "reviews": [], - "comments": [ + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, + "deletions": 0 + }, { - "author": "shakkernerd", - "body": "We can continue the convo in here from #1285 " - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "xwxtwd", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/3345621?u=b4ca21dd3ff0961c42a12fb15574e3bdfb779bea&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1438, - "title": "feat: (plugin-evm) add alienx chain", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T16:08:28Z", - "updated_at": "2024-12-24T19:24:21Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\nNo specific issue or ticket related.\r\n# Risks\r\nLow. This PR only adds types for AlienX, and it does not impact existing features or functionalities.\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR introduces types for AlienX.\r\n\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\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer should start by checking the added file for correctness and compatibility with the existing setup.\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/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, + "deletions": 0 + }, { - "path": "packages/plugin-evm/src/templates/index.ts", - "additions": 3, - "deletions": 3 + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, "deletions": 0 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "fyInALT", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/97101459?u=c3ff76ed4f2459e1d9bd2e9d72c9ff379aa8141b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1437, - "title": "feat: add `only` to booleanFooter", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T15:55:18Z", - "updated_at": "2024-12-24T17:06:15Z", - "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\nmedium\r\n\r\n# Background\r\n\r\nWhen use `llama3.1:8b` as OLLAMA_MODEL, when use `booleanFooter`, it will return not just YES or NO, like:\r\n\r\nUse context:\r\n\r\n```\r\n {\"context\":\"# Task: Decide if the recent messages should be processed for token recommendations.\r\n\r\n Look for messages that:\r\n\r\n ... \r\n\r\n Should the messages be processed for recommendations? Respond with a YES or a NO.\"} \r\n```\r\n\r\nand will return:\r\n\r\n```\r\n {\"response\":\"YES \r\n\r\nThere are several instances in this conversation where users ask to create tokens, send Solana coins, and discuss token-related topics. The keyword \\\"token\\\" is mentioned multiple times, indicating that these conversations should be processed for token recommendation.\"} \r\n```\r\n\r\nIt will make the match in `parseBooleanFromText` return null, then make `generateTrueOrFalse` call blocked by \r\n\r\n```ts\r\nwhile (true) {\r\n try {\r\n const response = await generateText({\r\n stop,\r\n runtime,\r\n context,\r\n modelClass\r\n });\r\n const parsedResponse = parseBooleanFromText(response.trim());\r\n if (parsedResponse !== null) {\r\n return parsedResponse;\r\n }\r\n } catch (error) {\r\n elizaLogger.error(\"Error in generateTrueOrFalse:\", error);\r\n }\r\n}\r\n```\r\nSo that the eliza will keep retry to got the response.\r\n\r\nIt can fixed by add a `only` in `booleanFooter`. Then it will only return `YES` or `NO`\r\n\r\n\r\n## What does this PR do?\r\n\r\nThis PR change booleanFooter to:\r\n\r\n```\r\nRespond with only a YES or a NO.\r\n```\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\nNo\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/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, + "deletions": 0 + }, { - "path": "packages/core/src/parsing.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, + "deletions": 0 + }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "kroist", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36311724?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1436, - "title": "Add anthropic image description", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T15:31:31Z", - "updated_at": "2024-12-24T18:08:04Z", - "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/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, + "deletions": 0 + }, { - "path": "packages/plugin-node/package.json", - "additions": 2, + "path": "docs/docs/packages/plugins.md", + "additions": 85, "deletions": 1 }, { - "path": "packages/plugin-node/src/services/image.ts", - "additions": 88, - "deletions": 10 + "path": "docs/rs-documentation/README.md", + "additions": 124, + "deletions": 0 }, { - "path": "packages/plugin-node/src/services/imageUtils.ts", - "additions": 79, + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 145, - "deletions": 62 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this added a couple of comments to make this configurable after that good to go :) " - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "nulLeeKH", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1433, - "title": "Make search feature in twitter client works", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T13:51:59Z", - "updated_at": "2024-12-24T21:38:14Z", - "body": "# Relates to:\r\n\r\nThis PR has written without issue ticket\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nModified the enableSearch feature of the twitter client to make it work.\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\nWe wanted the AI Agent to be exposed to random posts to learn and to respond to members of the community, and we found the TWITTER_SEARCH_ENABLE environment variable while looking for a way to do so. However, we confirmed that it was missing during the development process and that the environment variable was not working properly, so we modified it to be as identical to other toggle functions as possible.\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\nJust run agent with twitter client with TWITTER_SEARCH_ENABLE environment variable\r\n\r\n## Detailed testing steps\r\n\r\nNone, not much details needed.\r\n\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\nblairlee_dev\r\n", - "files": [ - { - "path": ".gitignore", - "additions": 1, + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 0, - "deletions": 29 - }, - { - "path": "packages/client-twitter/src/index.ts", - "additions": 4, - "deletions": 1 - }, - { - "path": "packages/client-twitter/src/search.ts", - "additions": 5, - "deletions": 3 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please address the comments then good to go :) " - }, - { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "Thanks for addressing comments :) " - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 4, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "0xJord4n", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/74933942?u=a952add7652d59815f24581d83f504216780521b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1432, - "title": "chore: Keeps README translations synchronized", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T13:03:41Z", - "updated_at": "2024-12-24T21:38:40Z", - "body": "# Relates to:\r\n[chore: Keeps README translations synchronized](https://github.com/elizaOS/eliza/issues/1222)\r\n\r\n# Risks\r\nMedium. Changes to the main README file could affect all translated versions, and any errors in the translation script could propagate incorrect information across all language files.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nImplements a script that uses GPT-o4 to automatically update and translate all the README files whenever the English README.md file changes. Integrates with GitHub CI for automation.\r\n\r\n## What kind of change is this?\r\n- Features (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNot applicable.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with the new script implementation and its integration with GitHub Actions for CI.\r\n\r\n## Detailed testing steps\r\n- Test the script by making a change to the English README.md file.\r\n- Verify that the changes are correctly propagated to all translated README files.\r\n- Ensure that the GitHub CI pipeline runs successfully without errors.\r\n\r\n# Screenshots\r\n### Before\r\nNot applicable.\r\n\r\n### After\r\nNot applicable.\r\n\r\n# Deploy Notes\r\nNo special deployment instructions needed.\r\n\r\n# Database changes\r\nNone.\r\n\r\n# Deployment instructions\r\nBefore the workflow can run, you need to set up the following secrets in your GitHub repository:\r\n\r\n1. `GH_TOKEN`\r\n - A GitHub Personal Access Token with `repo` permissions\r\n - Used for checking out and committing changes to the repository\r\n\r\n2. `OPENAI_API_KEY`\r\n - OpenAI API key for accessing GPT-4o\r\n - Used for translating the README content", - "files": [ - { - "path": ".github/workflows/generate-readme-translations.yml", - "additions": 88, + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "DISMISSED", - "body": "Please test that this works thank you :) " - }, - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "monilpat", - "body": "Is there a way for us to test that this works as expected? Bit worried about it missing up existing documentation? I suggest trying to do use the following to test it locally: \r\n\r\n\u2022 Description: \u201cact\u201d is a command-line utility written in Go that lets you run your GitHub Actions workflows locally.\r\n\u2022 How It Works: It parses your workflow .yml files and simulates GitHub Actions events (push, pull_request, etc.) in Docker containers on your local machine.\r\n\u2022 Why It\u2019s Good:\r\n\r\nGreat for quickly iterating on a workflow without having to push to a branch repeatedly.\r\nLets you see console output, debug logs, and environment variables as if you were running on GitHub.\r\n\u2022 Potential Drawbacks:\r\nNot all GitHub Actions are guaranteed to work seamlessly. Some might rely on GitHub-hosted runners or environment specifics that \u201cact\u201d may not perfectly replicate.\r\nYou need Docker installed locally.\r\n\u2022 How to Get Started Quickly:\r\nInstall Docker.\r\nInstall act (on macOS you can use Homebrew: brew install act, or grab the binary from the GitHub releases page).\r\nFrom your repository, run:\r\nact \r\nFor example, act push or act pull_request.\r\nBy default, act uses a lightweight Docker image for its runner; for more complex workflows you might need:\r\nact --medium or --workflows .github/workflows/\r\n" - }, - { - "author": "monilpat", - "body": "Thanks for doing this btw HUGE much appreciated :) " - }, - { - "author": "0xJord4n", - "body": "Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n\r\n```bash\r\n[Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n| /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n| class EventSourceParserStream extends TransformStream {\r\n| ^\r\n| \r\n| ReferenceError: TransformStream is not defined\r\n| at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n```\r\n\r\nso here's the link of my working test on github:\r\nhttps://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n\r\nmerry xmas :)" - }, - { - "author": "monilpat", - "body": "> Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n> \r\n> ```shell\r\n> [Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n> | /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n> | class EventSourceParserStream extends TransformStream {\r\n> | ^\r\n> | \r\n> | ReferenceError: TransformStream is not defined\r\n> | at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> ```\r\n> \r\n> so here's the link of my working test on github: https://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n> \r\n> merry xmas :)\r\n\r\nAmazing thanks for sharing the successful working test on github much appreciated\r\n\r\nMerry Xmas :))) \r\n\r\n" - }, - { - "author": "monilpat", - "body": "For whatever reason I can't merge this PR and update the base branch do you mind git fetch -all and git pull origin/develop and pushing the latest commit as this is what I see: \r\n\"Screenshot\r\n" - }, - { - "author": "0xJord4n", - "body": "Let\u2019s go !\r\n\r\nhave a good holiday sir :)" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 3, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "alessandromazza98", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/121622391?u=a6a1e82dd34d15ee571ff0bf72cd395b1385372f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1429, - "title": "improve logging in plugin-coinbase", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T11:08:12Z", - "updated_at": "2024-12-24T17:09:56Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\nCloses https://github.com/elizaOS/eliza/issues/1194\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\nThis PR adds some logs in the `plugin-coinbase/src/plugins` folder using `elizaLogger` and improve consistencies between those logs.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements: no core changes are made, just new logs are added and/or modified.\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-coinbase/src/plugins/advancedTrade.ts", - "additions": 7, + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, "deletions": 0 }, { - "path": "packages/plugin-coinbase/src/plugins/commerce.ts", - "additions": 18, - "deletions": 14 - }, - { - "path": "packages/plugin-coinbase/src/plugins/massPayments.ts", - "additions": 17, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/tokenContract.ts", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/trade.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "packages/plugin-coinbase/src/plugins/webhooks.ts", - "additions": 7, - "deletions": 6 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "alessandromazza98", - "body": "I'm merging into `develop` as I saw that this is the branch where new PRs gets merged into first" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "yerinle", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/499891?u=6379d119bdd6bba06ed8c9a8f33e215008d8d588&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1428, - "title": "Update eliza-in-tee.md (fixing typo)", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T10:44:16Z", - "updated_at": "2024-12-24T17:14:32Z", - "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/docs/advanced/eliza-in-tee.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "onlyzerosonce", - "state": "COMMENTED", - "body": "LGTM, I waa just testing if I can approve the PR" - }, - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, + "deletions": 0 }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 3, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "jobyid", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/56961121?u=4b674517547cad5b4a9754de624496f105b9e14c&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1427, - "title": "mongo-db adaptor", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T10:30:12Z", - "updated_at": "2024-12-24T10:30:12Z", - "body": "Added an adaptor which connects to mongo db atlas. Allowing you to store agent data in the cloud. If you have the appropriate tier you can also take advantage of their vector search functionality.\r\nIt should have all the same functionality as the other database adaptors. \r\n\r\n\r\n\r\n# Relates to:\r\nAdding the option of using MongoDB in the cloud to store you agents data \r\n\r\n# Risks\r\nLow, adds additional options for database usage\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds the option to store your agents data in MongoDB Atlas, and take advantage of their vector search. I have also updated the .env.example to include the additional variables for the mongo connection. And added to the agent index with functionality to initialise this database if required. \r\n\r\n## What kind of change is this?\r\nAdding an additional feature \r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nIn my day job we exclusively use mongoDB for our database needs, for commercials and performance reasons. As we want to develop AI Agents, we need to have the mongoDB adaptor. IN the sprit of OpenSource I wanted to make sure it was available for the whole community to use as well. \r\n\r\n# Documentation changes needed?\r\nA small additional input to the documentation is required to make users aware of the additional functionality and how it can be actioned. \r\nSimilar to the Postgres set up just adding in the appropriate connection string to the .env file will action he change to start using MongoDB as the database. \r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer will need to have a least a free account with mongoDB atlas, then add the connection string and a Database name to the .env file. After that the agent should run as expected, saving memories as before. The reviewer can verify the saved data inside the MongoDB interface. \r\n \r\n## Detailed testing steps\r\n1. Create MongoDB atlas account \r\n2. Add connection string and Database name to .env file \r\n3. Run agent \r\n4. Verify inside MongoDB interface that the collections have formed and data is being stored \r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": ".env.example", - "additions": 4, + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, "deletions": 0 }, { - "path": ".idea/.gitignore", - "additions": 5, + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 31, - "deletions": 2 + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, + "deletions": 0 }, { - "path": "packages/adapter-mongodb/.npmignore", - "additions": 6, + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/adapter-mongodb/eslint.config.mjs", - "additions": 3, + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/adapter-mongodb/package.json", - "additions": 26, + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, "deletions": 0 }, { - "path": "packages/adapter-mongodb/src/index.ts", - "additions": 910, + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/adapter-mongodb/tsconfig.json", - "additions": 23, + "path": "docs/rs-documentation/wiki/agent-capabilities.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/adapter-mongodb/tsup.config.ts", - "additions": 28, + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, "deletions": 0 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "stanislawkurzypBD", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/181337749?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1426, - "title": "Feat/cosmos plugin provider", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-24T09:08:00Z", - "updated_at": "2024-12-24T09:11:53Z", - "body": "", - "files": [ + }, { - "path": ".env.example", - "additions": 4, + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 60, - "deletions": 59 + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, + "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 72, - "deletions": 70 + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, + "deletions": 0 }, { - "path": "packages/adapter-sqlite/package.json", - "additions": 1, - "deletions": 1 + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, + "deletions": 0 }, { - "path": "packages/core/src/defaultCharacter.ts", - "additions": 68, - "deletions": 366 + "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, + "deletions": 0 }, { - "path": "packages/plugin-cosmos/README.md", - "additions": 93, + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-cosmos/package.json", - "additions": 30, + "path": "elizaConfig.yaml", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/actions/transfer.ts", - "additions": 265, + "path": "package.json", + "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/actions/walletProviderTestAction.ts", - "additions": 57, - "deletions": 0 + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 }, { - "path": "packages/plugin-cosmos/src/index.ts", - "additions": 18, - "deletions": 0 + "path": "packages/client-github/src/environment.ts", + "additions": 0, + "deletions": 8 }, { - "path": "packages/plugin-cosmos/src/providers/wallet.ts", - "additions": 96, - "deletions": 0 + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 }, { - "path": "packages/plugin-cosmos/src/templates/index.ts", - "additions": 72, + "path": "packages/client-github/src/templates.ts", + "additions": 89, "deletions": 0 }, { - "path": "packages/plugin-cosmos/tsconfig.json", - "additions": 15, + "path": "packages/client-github/src/types.ts", + "additions": 48, "deletions": 0 }, { - "path": "packages/plugin-cosmos/tsup.config.ts", - "additions": 25, + "path": "packages/client-github/src/utils.ts", + "additions": 142, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 22980, - "deletions": 17741 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "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": 1425, - "title": "feat: client-github retry", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T09:01:17Z", - "updated_at": "2024-12-24T18:17:23Z", - "body": "\r\n\r\n# Relates to:\r\n\r\nNo\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\nWhen someone trying to clone a repo, it may occurs the network problem, so a retry mechanism is needed in ensuring a smooth and effective repo clone.\r\n\r\n## What does this PR do?\r\n\r\nAdd retry mechanism to clone repo where people may be in region or area that the network is restricted by the Great Fire Wall.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\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-github/src/index.ts", - "additions": 21, - "deletions": 4 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "RiceChuan", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/29748602?u=64218b59f2a07985d08393eb9cf877fee5a1e43a&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1424, - "title": "docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:41:20Z", - "updated_at": "2024-12-24T17:22:25Z", - "body": "1.Quotation marks are used incorrectly.2.Delete duplicate words", - "files": [ - { - "path": "docs/community/Notes/lore.md", + "path": "packages/core/src/runtime.ts", "additions": 1, "deletions": 1 }, { - "path": "docs/community/creator-fund.md", + "path": "packages/core/src/types.ts", "additions": 1, "deletions": 1 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "omahs", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/73983677?u=eee6e58b90942c2dca935e4cfdb14eaacbd06c6f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1423, - "title": "fix: typos", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:26:08Z", - "updated_at": "2024-12-24T17:18:40Z", - "body": "fix: typos", - "files": [ + "path": "packages/plugin-github/.npmignore", + "additions": 6, + "deletions": 0 + }, { - "path": "packages/adapter-sqljs/src/types.ts", - "additions": 3, - "deletions": 3 - } - ], - "reviews": [ + "path": "packages/plugin-github/package.json", + "additions": 27, + "deletions": 0 + }, { - "author": "monilpat", - "state": "DISMISSED", - "body": "" + "path": "packages/plugin-github/src/index.ts", + "additions": 96, + "deletions": 0 }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 2, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "0xPBIT", - "score": 0, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1422, - "title": "feat: Twitter Post Action Implementation", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T04:41:19Z", - "updated_at": "2024-12-24T18:21:26Z", - "body": "# Relates to:\r\nN/A - Plugin implementation for Twitter posting functionality via action\r\n\r\n# Risks\r\nLow - This is a new plugin that adds Twitter posting capability. The main risks are:\r\n- Failed tweets due to rate limiting or authentication issues\r\n- Potential for tweets that are too long (mitigated by automatic truncation)\r\n- No risk to existing functionality as this is an isolated plugin\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds a Twitter plugin that enables posting tweets through the agent-twitter-client package. Key features:\r\n- Implements POST_TWEET action for sending tweets\r\n- Handles Twitter authentication via environment variables\r\n- Automatically truncates tweets that exceed character limits\r\n- Provides detailed error handling and logging\r\n- Supports dry run mode for testing\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n- Adds new Twitter posting capability\r\n- Uses the standalone agent-twitter-client package\r\n- Implements proper error handling and character limit enforcement\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation:\r\n- Add Twitter plugin setup instructions\r\n- Document required environment variables:\r\n - TWITTER_USERNAME\r\n - TWITTER_PASSWORD\r\n - TWITTER_EMAIL\r\n - TWITTER_DRY_RUN (optional)\r\n - TWITTER_2FA_SECRET (optional)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Review `packages/plugin-twitter/src/actions/post.ts` for the main implementation\r\n2. Check error handling in postTweet function\r\n3. Review tweet composition logic in composeTweet function\r\n4. Verify environment variable handling\r\n\r\n## Detailed testing steps\r\n1. Set up environment variables in `.env`:\r\n```bash\r\nTWITTER_USERNAME=your_username\r\nTWITTER_PASSWORD=your_password\r\nTWITTER_EMAIL=your_email\r\nTWITTER_DRY_RUN=false\r\n```\r\n\r\n2. Test tweet posting:\r\n```bash\r\n# Start with dry run mode\r\nTWITTER_DRY_RUN=true pnpm dev\r\n\r\n# Test actual posting\r\nTWITTER_DRY_RUN=false pnpm dev\r\n```\r\n\r\n3. Verify error handling:\r\n- Try posting a tweet > 180 characters (should truncate)\r\n- Try posting with invalid credentials (should show error)\r\n- Try posting with missing credentials (should validate)\r\n\r\n4. Check logging:\r\n- Verify credential validation logs\r\n- Check tweet content generation logs\r\n- Verify error messages are descriptive\r\n\r\n# Deploy Notes\r\n- Requires agent-twitter-client package\r\n- Environment variables must be set for Twitter authentication\r\n- No database changes required", - "files": [ + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, + "deletions": 0 + }, { - "path": "agent/package.json", - "additions": 1, + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, "deletions": 0 }, { - "path": "packages/plugin-twitter/.npmignore", - "additions": 6, + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-twitter/package.json", + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/releases.ts", "additions": 17, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/actions/post.ts", - "additions": 200, + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/index.ts", - "additions": 12, + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsconfig.json", - "additions": 13, + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsup.config.ts", - "additions": 10, + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, "deletions": 0 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Amazing work thanks for doing this please address comments " - } - ], - "comments": [ + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, + "deletions": 0 + }, { - "author": "0xPBIT", - "body": "Several people have commented in the discord coders chat about twitter functionality from an action instead of the hard coded client loop. I've opened this PR just to show an example of how this can be done.\r\n\r\nThis is a small demo where I workshop a tweet with c3po agent to come up with a tweet. Then I can say \"go tweet that\" and the agent will put it on their twitter profile -- without using the client-twitter package.\r\n\r\n\"Screenshot\r\n\"Screenshot\r\n\r\n\r\n" + "path": "packages/plugin-github/src/types.ts", + "additions": 248, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, + "deletions": 0 } - ] + ], + "reviews": [], + "comments": [] } ] }, @@ -1221,17 +531,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "harveyjavier", + "contributor": "hanyh2004", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4", "activity": { "code": { "total_commits": 0, @@ -1239,75 +549,53 @@ "commits": [], "pull_requests": [ { - "number": 1420, - "title": "docs: Add Tagalog README Translation", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T02:54:10Z", - "updated_at": "2024-12-24T03:43:50Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n#1419 \r\n\r\n# Risks\r\n\r\nLow - This is a documentation-only change adding a new translation file.\r\n\r\n# Background\r\n\r\nAdds Tagalog translation of the main README.md file as README_TG.md, including:\r\n- Full translation of all main sections\r\n- Proper Tagalog character rendering and formatting\r\n- Maintained all links and functionality from the original README\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (adds new language support to existing documentation)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes are documentation changes themselves - adding a new translated README file.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Open README_TG.md in either VSCode/Cursor/github.dev's Markdown preview\r\n- Verify formatting is correct\r\n- Check that all links are functional\r\n- Verify Tagalog text renders properly\r\n\r\n## Detailed testing steps\r\n\r\n- View the raw file to verify proper Tagalog text formatting\r\n- View the rendered file to ensure readability and consistency\r\n- Check that the language selector at the top includes a Tagalog link\r\n- Verify all internal links work correctly\r\n- Ensure images and formatting match the main README.md structure\r\n\r\n\r\n\r\n\r\n\r\n", + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T17:14:01Z", + "updated_at": "2024-12-25T22:23:47Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": "README.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README_TG.md", - "additions": 129, - "deletions": 0 + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 } ], "reviews": [ { "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "odilitime", "state": "APPROVED", - "body": "LGTM" + "body": "" } ], - "comments": [ - { - "author": "harveyjavier", - "body": "> Collaborator\r\n\r\nThanks!" - } - ] + "comments": [] } ] }, "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1419, - "title": "Add Tagalog Translation on README", - "state": "OPEN", - "created_at": "2024-12-24T02:43:14Z", - "updated_at": "2024-12-24T02:43:14Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThe project currently lacks Tagalog language support in its documentation. While there are translations for several other languages, Filipino developers cannot read the documentation in their native language. This is particularly important as it will improve accessibility and inclusivity for the growing tech community in the Philippines.\r\n\r\n**Describe the solution you'd like**\r\n\r\nAdd a complete Tagalog translation of the main README.md as README_TG.md, including:\r\n- Full translation of all sections, including features, installation instructions, and usage guidelines\r\n- Proper formatting to ensure readability\r\n- Addition of Tagalog (Tagalog) to the language selector at the top of all README files\r\n- Maintenance of all existing functionality (links, images, code blocks)\r\n\r\n**Describe alternatives you've considered**\r\n\r\nUsing browser-based translation tools (like Chrome's translate feature) \u2013 inadequate because automated translations may not accurately capture technical terms and nuances in Tagalog.\r\n\r\n**Additional context**\r\n\r\nTagalog is spoken by millions of Filipinos and is one of the primary languages in the Philippines.\r\nThe translation should follow the same pattern as other language translations in the repo (README_XX.md format).\r\nThis addition will make the project more accessible to the Filipino developer community.\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] + "total_opened": 0, + "opened": [] }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "iankm", + "contributor": "harperaa", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/10765530?u=10ced71da5b3364558289a76982aa52e67fffbc5&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", "activity": { "code": { "total_commits": 0, @@ -1315,88 +603,33 @@ "commits": [], "pull_requests": [ { - "number": 1418, - "title": "add thirdweb plugin", + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T02:33:01Z", - "updated_at": "2024-12-24T20:29:30Z", - "body": "Adding a new plugin for thirdweb's nebula API. We have one action that interacts with our natural language interface to read data from 2000+ blockchains.\r\n\r\nAdded, Readme, .env config and integration to default agent if key is set.\r\n\r\nHere's an image with example usage (through my agent, Breakout Bro):\r\n\r\n\"CleanShot", + "created_at": "2024-12-25T17:12:42Z", + "updated_at": "2024-12-25T22:37:31Z", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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": 3, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 34, - "deletions": 34 - }, - { - "path": "agent/src/index.ts", - "additions": 17, - "deletions": 15 - }, - { - "path": "packages/plugin-thirdweb/.npmignore", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/README.md", - "additions": 62, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/package.json", - "additions": 20, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/actions/chat.ts", - "additions": 214, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/actions/index.ts", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/index.ts", - "additions": 12, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/tsconfig.json", - "additions": 13, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/tsup.config.ts", - "additions": 20, + "path": "package.json", + "additions": 2, "deletions": 0 } ], "reviews": [ { - "author": "samarth30", - "state": "CHANGES_REQUESTED", - "body": "Looks solid to me just tested it out. \r\nLet's resolve conflitcs in the branch and get it merged." - } - ], - "comments": [ + "author": "monilpat", + "state": "APPROVED", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great" + }, { - "author": "iankm", - "body": "Hey @samarth30,\r\n\r\nAddressed the merge conflicts!" + "author": "odilitime", + "state": "APPROVED", + "body": "" } - ] + ], + "comments": [] } ] }, @@ -1406,310 +639,286 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "swizzmagik", + "contributor": "tomguluson92", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/3955528?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1417, - "title": "feat: add birdeye plugin", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T00:27:28Z", - "updated_at": "2024-12-24T19:05:23Z", - "body": "This is my first attempt to contribute to this project. I have been adding features and additional query capability for the Birdeye API and I think many other could benefit.\r\n\r\n# Relates to:\r\n\r\n- plugin ecosystem and capabilities for accessing and querying Birdeye data API\r\n- [Expanding Birdeye thread](https://discord.com/channels/1253563208833433701/1318974518680748173)\r\n- possible overlap with: https://github.com/elizaOS/eliza/pull/1366\r\n\r\n\r\n# Risks\r\n\r\n- People who already have the BIRDEYE_API_KEY enabled could end up querying the endpoints more\r\n\r\n# Background\r\n\r\nThis pull request significantly enhances the Birdeye API integration within the AI agent framework by expanding its capabilities beyond basic query functionality. The proposed tools enable more comprehensive and versatile interactions with the Birdeye API, including data clearing and management features. These improvements provide the AI agents with a broader and more efficient toolkit for handling Birdeye API data, enhancing the overall flexibility and utility of the framework for developers and end-users. By extending the scope of the API integration, this contribution supports more robust and scalable solutions within the project.\r\n\r\n## What does this PR do?\r\n\r\nThis PR adds providers that represent all the different API endpoints available in the Birdeye API. By doing so, it ensures that when a user requests a specific type of data, the AI agent has a significantly higher likelihood of accessing and utilizing the relevant data in its response. This enhancement maximizes the agent\u2019s ability to provide accurate and contextually rich answers, leveraging the full scope of the Birdeye API.\r\n\r\n## What kind of change is this?\r\n\r\n- net new plugin\r\n\r\n\r\n\r\n\r\nThis API connection is critical for enabling the agent to perform research and analyze the dynamics of the ecosystem effectively. By integrating comprehensive access to all Birdeye API endpoints, this PR lays the groundwork for future enhancements and features that will further expand the agent's capabilities. This integration not only empowers the agent to deliver more insightful and accurate responses but also positions the framework for scalable growth and the addition of advanced functionalities in the future.\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n- Yes, this will require the docs to be updated. I am happy to update the appropriate project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Pull the branch\r\n- Enable plugin by setting the BIRDEYE_API_KEY\r\n- Utilize the web console as ask questions about onchain data. \r\n- Example prompts:\r\n-- give me a list of wallets on solana that i should be following\r\n-- tell me more about BbJgE7HZMaDp5NTYvRh5jZSkQPVDTU8ubPFtpogUkEj4\r\n-- what are the top gainers today\r\n-- what is the current price of HIPPO?\r\n-- what tokens are tredning today on sui? \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 7, - "deletions": 3 - }, - { - "path": "packages/plugin-birdeye/.npmignore", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/README.md", - "additions": 77, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/package.json", - "additions": 31, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/index.ts", - "additions": 57, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/__tests__/utils.test.ts", - "additions": 145, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/__tests__/price-provider.test.ts", - "additions": 218, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/index.ts", - "additions": 12, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/networks-provider.ts", - "additions": 140, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-base-quote-provider.ts", - "additions": 244, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-pair-provider.ts", - "additions": 210, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-provider.ts", - "additions": 256, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-provider.ts", - "additions": 245, - "deletions": 0 - }, + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1446, + "title": "feat: Add Text to 3D function", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T06:47:21Z", + "updated_at": "2024-12-25T07:44:03Z", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-birdeye/src/providers/defi/pair-trades-seek-provider.ts", - "additions": 266, + "path": "agent/src/index.ts", + "additions": 4, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-history-provider.ts", - "additions": 230, + "path": "packages/plugin-3d-generation/.npmignore", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-multiple-provider.ts", - "additions": 200, + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-provider.ts", - "additions": 175, + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-volume-provider.ts", - "additions": 234, + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/token-trades-provider.ts", - "additions": 236, + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/trades-seek-provider.ts", - "additions": 210, + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/index.ts", - "additions": 148, + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [], + "comments": [ { - "path": "packages/plugin-birdeye/src/providers/pair/index.ts", - "additions": 1, - "deletions": 0 + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" }, { - "path": "packages/plugin-birdeye/src/providers/pair/pair-overview-provider.ts", - "additions": 286, - "deletions": 0 - }, + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Freytes", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1445, + "title": "Add: Client Reddit Files", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T05:18:13Z", + "updated_at": "2024-12-25T22:21:32Z", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "files": [ { - "path": "packages/plugin-birdeye/src/providers/search/index.ts", + "path": "agent/package.json", "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/token-market-data-provider.ts", - "additions": 214, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/token/__tests__/token-overview-provider.test.ts", - "additions": 189, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/token/all-market-list-provider.ts", - "additions": 114, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/token/index.ts", - "additions": 13, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/token/new-listing-provider.ts", - "additions": 113, - "deletions": 0 - }, - { - "path": "packages/plugin-birdeye/src/providers/token/token-creation-provider.ts", - "additions": 199, - "deletions": 0 + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-holder-provider.ts", - "additions": 220, + "path": "packages/client-reddit/.npmignore", + "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-list-provider.ts", - "additions": 198, + "path": "packages/client-reddit/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-market-provider.ts", - "additions": 217, + "path": "packages/client-reddit/package.json", + "additions": 22, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-metadata-provider.ts", - "additions": 197, + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-mint-burn-provider.ts", - "additions": 203, + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-overview-provider.ts", - "additions": 266, + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-security-provider.ts", - "additions": 238, + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-trade-provider.ts", - "additions": 327, + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/top-traders-provider.ts", - "additions": 104, + "path": "packages/client-reddit/src/index.ts", + "additions": 28, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/trending-tokens-provider.ts", - "additions": 270, + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/gainers-losers-provider.ts", - "additions": 228, + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/index.ts", - "additions": 2, + "path": "packages/client-reddit/tsconfig.json", + "additions": 13, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/trades-seek-provider.ts", - "additions": 247, + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "packages/plugin-birdeye/src/providers/utils.ts", - "additions": 298, - "deletions": 0 - }, + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ { - "path": "packages/plugin-birdeye/src/providers/wallet/index.ts", - "additions": 6, - "deletions": 0 + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" }, { - "path": "packages/plugin-birdeye/src/providers/wallet/portfolio-multichain-provider.ts", - "additions": 159, - "deletions": 0 - }, + "author": "Freytes", + "body": "@odilitime Updated the requested files." + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "0xPBIT", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1444, + "title": "feat: suppress initial message from action", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T04:23:41Z", + "updated_at": "2024-12-25T22:20:59Z", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", + "files": [ { - "path": "packages/plugin-birdeye/src/providers/wallet/supported-networks-provider.ts", - "additions": 131, + "path": "docs/docs/core/actions.md", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/token-balance-provider.ts", - "additions": 135, - "deletions": 0 + "path": "packages/client-direct/src/index.ts", + "additions": 18, + "deletions": 3 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-multichain-provider.ts", - "additions": 174, + "path": "packages/core/src/types.ts", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-provider.ts", - "additions": 381, + "path": "packages/plugin-image-generation/src/index.ts", + "additions": 1, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "packages/plugin-birdeye/src/providers/wallet/wallet-portfolio-provider.ts", - "additions": 335, - "deletions": 0 + "author": "odilitime", + "state": "COMMENTED", + "body": "" }, { - "path": "packages/plugin-birdeye/tsconfig.json", - "additions": 10, - "deletions": 0 + "author": "0xPBIT", + "state": "COMMENTED", + "body": "" }, { - "path": "packages/plugin-birdeye/tsup.config.ts", - "additions": 29, - "deletions": 0 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], - "comments": [ - { - "author": "swizzmagik", - "body": "I'd love to get input from the team if perhaps these should be actions instead of provider data." - } - ] + "comments": [] } ] }, @@ -1719,17 +928,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 3, "comments": [], "reviews": [] } } }, { - "contributor": "tweedyant", + "contributor": "mhxw", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/192077188?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4", "activity": { "code": { "total_commits": 0, @@ -1737,66 +946,96 @@ "commits": [], "pull_requests": [ { - "number": 1416, - "title": "Gai trial", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-24T00:19:14Z", - "updated_at": "2024-12-24T00:19:28Z", - "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", + "number": 1443, + "title": "fix: fix incorrect link redirection issue", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-25T04:04:29Z", + "updated_at": "2024-12-25T04:21:44Z", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", "files": [ { - "path": "agent/src/index.ts", - "additions": 3, + "path": "docs/docs/advanced/eliza-in-tee.md", + "additions": 2, "deletions": 2 - }, - { - "path": "characters/c3po.character.json", - "additions": 0, - "deletions": 98 - }, + } + ], + "reviews": [ { - "path": "characters/dobby.character.json", - "additions": 0, - "deletions": 98 + "author": "monilpat", + "state": "DISMISSED", + "body": "LGTM thanks :) " }, { - "path": "characters/eternalai.character.json", - "additions": 0, - "deletions": 394 - }, + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Firbydude", + "score": 0, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1442, + "title": "Add support for VoyageAI embeddings API", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T03:40:59Z", + "updated_at": "2024-12-25T07:20:18Z", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n \u1367 DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n \u1367 DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"\u1367 DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"\u1367 Initializing BGE embedding model...\"] \r\n\r\n \u1367 DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n \u1367 DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", + "files": [ { - "path": "characters/tate.character.json", - "additions": 0, - "deletions": 63 + "path": ".env.example", + "additions": 6, + "deletions": 0 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 }, { - "path": "packages/client-telegram/src/messageManager.ts", - "additions": 5, + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, "deletions": 0 }, { - "path": "packages/client-telegram/src/telegramClient.ts", - "additions": 60, - "deletions": 39 - }, - { - "path": "packages/client-telegram/tsconfig.json", - "additions": 3, - "deletions": 1 - }, + "path": "packages/core/src/voyageai.ts", + "additions": 156, + "deletions": 0 + } + ], + "reviews": [ { - "path": "pnpm-lock.yaml", - "additions": 21510, - "deletions": 16881 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] @@ -1807,17 +1046,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "didintern", + "contributor": "arthursjy", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/8111964?u=bf7a296d838d185cee45d11f1b3d0101b9a4a794&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4", "activity": { "code": { "total_commits": 0, @@ -1829,17 +1068,17 @@ "total_opened": 1, "opened": [ { - "number": 1431, - "title": "DenyLoginSubtask - TWITTER", + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", "state": "OPEN", - "created_at": "2024-12-24T11:44:01Z", - "updated_at": "2024-12-24T11:44:01Z", - "body": "**Describe the bug**\r\n\r\n \u26d4 Login attempt failed: Authentication error: DenyLoginSubtask\"\r\n\r\n\r\n**To Reproduce**\r\n\r\nRun the server with version (v0.1.7-alpha.1) \r\n\r\nEven though my twitter creds are correct its throwing error In twitter I can see that a new login message.\r\n\r\n**Expected behavior**\r\n\r\nShould login to twitter and post tweets\r\n\r\n**Screenshots**\r\n![image](https://github.com/user-attachments/assets/56a226ca-b766-4c26-94a1-9a5243e82d2c)\r\n\r\n", + "created_at": "2024-12-25T15:31:37Z", + "updated_at": "2024-12-25T15:31:37Z", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", "labels": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], "comments": [] @@ -1855,10 +1094,10 @@ } }, { - "contributor": "harperaa", + "contributor": "cxp-13", "score": 0, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4", "activity": { "code": { "total_commits": 0, @@ -1870,17 +1109,17 @@ "total_opened": 1, "opened": [ { - "number": 1421, - "title": "Add Chat Back to Terminal", + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", "state": "OPEN", - "created_at": "2024-12-24T03:52:12Z", - "updated_at": "2024-12-24T04:21:12Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\nI have noticed that the chat has been removed from the terminal. This has caused frustration, as it now takes a separate terminal, another command start:client, and several clicks to get testing and debugging and we have to use the browser client for debugging. When switching back and forward between different character files, for testing, we have to often restart that web client. This has slowed down the development/debugging process considerably. \r\n\r\n\r\n**Describe the solution you'd like**\r\nPlease return the chat to the terminal or perhaps add a start:terminal or similar, to allow the chat in the terminal, for those who want it. In that case, we should still be able to pass a --characters parameter...\r\n\r\n\r\n**Describe alternatives you've considered**\r\nBrowser client, requires several clicks and steps, just to test a prompt...which is accelerating carpal tunnel syndrome...:)\r\n\r\n\r\n**Additional context**\r\nThanks for consideration.\r\n\r\n", + "created_at": "2024-12-25T08:31:14Z", + "updated_at": "2024-12-25T13:33:48Z", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"\u25ce Generating message response..\"]\r\n\r\n [\"\u25ce Generating text...\"]\r\n\r\n \u2139 INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n \u2139 INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n \u26d4 ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "labels": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], "comments": [] diff --git a/data/daily/contributors.json b/data/daily/contributors.json index 48f2ed3..823e498 100644 --- a/data/daily/contributors.json +++ b/data/daily/contributors.json @@ -1,410 +1,9 @@ [ { - "contributor": "0xJord4n", - "score": 26, - "summary": "0xJord4n is currently focusing on keeping README translations synchronized in the .github code area, with 1 pull request successfully merged in the last 90 days. No other significant activity such as commits or issues has been recorded during this period.", - "avatar_url": "https://avatars.githubusercontent.com/u/74933942?u=a952add7652d59815f24581d83f504216780521b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1432, - "title": "chore: Keeps README translations synchronized", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T13:03:41Z", - "updated_at": "2024-12-24T21:38:40Z", - "body": "# Relates to:\r\n[chore: Keeps README translations synchronized](https://github.com/elizaOS/eliza/issues/1222)\r\n\r\n# Risks\r\nMedium. Changes to the main README file could affect all translated versions, and any errors in the translation script could propagate incorrect information across all language files.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nImplements a script that uses GPT-o4 to automatically update and translate all the README files whenever the English README.md file changes. Integrates with GitHub CI for automation.\r\n\r\n## What kind of change is this?\r\n- Features (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNot applicable.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with the new script implementation and its integration with GitHub Actions for CI.\r\n\r\n## Detailed testing steps\r\n- Test the script by making a change to the English README.md file.\r\n- Verify that the changes are correctly propagated to all translated README files.\r\n- Ensure that the GitHub CI pipeline runs successfully without errors.\r\n\r\n# Screenshots\r\n### Before\r\nNot applicable.\r\n\r\n### After\r\nNot applicable.\r\n\r\n# Deploy Notes\r\nNo special deployment instructions needed.\r\n\r\n# Database changes\r\nNone.\r\n\r\n# Deployment instructions\r\nBefore the workflow can run, you need to set up the following secrets in your GitHub repository:\r\n\r\n1. `GH_TOKEN`\r\n - A GitHub Personal Access Token with `repo` permissions\r\n - Used for checking out and committing changes to the repository\r\n\r\n2. `OPENAI_API_KEY`\r\n - OpenAI API key for accessing GPT-4o\r\n - Used for translating the README content", - "files": [ - { - "path": ".github/workflows/generate-readme-translations.yml", - "additions": 88, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "DISMISSED", - "body": "Please test that this works thank you :) " - }, - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "monilpat", - "body": "Is there a way for us to test that this works as expected? Bit worried about it missing up existing documentation? I suggest trying to do use the following to test it locally: \r\n\r\n\u2022 Description: \u201cact\u201d is a command-line utility written in Go that lets you run your GitHub Actions workflows locally.\r\n\u2022 How It Works: It parses your workflow .yml files and simulates GitHub Actions events (push, pull_request, etc.) in Docker containers on your local machine.\r\n\u2022 Why It\u2019s Good:\r\n\r\nGreat for quickly iterating on a workflow without having to push to a branch repeatedly.\r\nLets you see console output, debug logs, and environment variables as if you were running on GitHub.\r\n\u2022 Potential Drawbacks:\r\nNot all GitHub Actions are guaranteed to work seamlessly. Some might rely on GitHub-hosted runners or environment specifics that \u201cact\u201d may not perfectly replicate.\r\nYou need Docker installed locally.\r\n\u2022 How to Get Started Quickly:\r\nInstall Docker.\r\nInstall act (on macOS you can use Homebrew: brew install act, or grab the binary from the GitHub releases page).\r\nFrom your repository, run:\r\nact \r\nFor example, act push or act pull_request.\r\nBy default, act uses a lightweight Docker image for its runner; for more complex workflows you might need:\r\nact --medium or --workflows .github/workflows/\r\n" - }, - { - "author": "monilpat", - "body": "Thanks for doing this btw HUGE much appreciated :) " - }, - { - "author": "0xJord4n", - "body": "Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n\r\n```bash\r\n[Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n| /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n| class EventSourceParserStream extends TransformStream {\r\n| ^\r\n| \r\n| ReferenceError: TransformStream is not defined\r\n| at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n```\r\n\r\nso here's the link of my working test on github:\r\nhttps://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n\r\nmerry xmas :)" - }, - { - "author": "monilpat", - "body": "> Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n> \r\n> ```shell\r\n> [Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n> | /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n> | class EventSourceParserStream extends TransformStream {\r\n> | ^\r\n> | \r\n> | ReferenceError: TransformStream is not defined\r\n> | at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> ```\r\n> \r\n> so here's the link of my working test on github: https://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n> \r\n> merry xmas :)\r\n\r\nAmazing thanks for sharing the successful working test on github much appreciated\r\n\r\nMerry Xmas :))) \r\n\r\n" - }, - { - "author": "monilpat", - "body": "For whatever reason I can't merge this PR and update the base branch do you mind git fetch -all and git pull origin/develop and pushing the latest commit as this is what I see: \r\n\"Screenshot\r\n" - }, - { - "author": "0xJord4n", - "body": "Let\u2019s go !\r\n\r\nhave a good holiday sir :)" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 3, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "yerinle", - "score": 23, - "summary": "yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee.md file. This is the only recent activity in the last 90 days, with 1 pull request merged in the docs code area.", - "avatar_url": "https://avatars.githubusercontent.com/u/499891?u=6379d119bdd6bba06ed8c9a8f33e215008d8d588&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1428, - "title": "Update eliza-in-tee.md (fixing typo)", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T10:44:16Z", - "updated_at": "2024-12-24T17:14:32Z", - "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/docs/advanced/eliza-in-tee.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "onlyzerosonce", - "state": "COMMENTED", - "body": "LGTM, I waa just testing if I can approve the PR" - }, - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 3, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "harveyjavier", - "score": 18, - "summary": "harveyjavier is currently working on adding a Tagalog translation to the README file. They have opened an issue and submitted a pull request for this enhancement, which has already been merged into the repository.", - "avatar_url": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1420, - "title": "docs: Add Tagalog README Translation", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T02:54:10Z", - "updated_at": "2024-12-24T03:43:50Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n#1419 \r\n\r\n# Risks\r\n\r\nLow - This is a documentation-only change adding a new translation file.\r\n\r\n# Background\r\n\r\nAdds Tagalog translation of the main README.md file as README_TG.md, including:\r\n- Full translation of all main sections\r\n- Proper Tagalog character rendering and formatting\r\n- Maintained all links and functionality from the original README\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (adds new language support to existing documentation)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes are documentation changes themselves - adding a new translated README file.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Open README_TG.md in either VSCode/Cursor/github.dev's Markdown preview\r\n- Verify formatting is correct\r\n- Check that all links are functional\r\n- Verify Tagalog text renders properly\r\n\r\n## Detailed testing steps\r\n\r\n- View the raw file to verify proper Tagalog text formatting\r\n- View the rendered file to ensure readability and consistency\r\n- Check that the language selector at the top includes a Tagalog link\r\n- Verify all internal links work correctly\r\n- Ensure images and formatting match the main README.md structure\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "README.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README_TG.md", - "additions": 129, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM" - } - ], - "comments": [ - { - "author": "harveyjavier", - "body": "> Collaborator\r\n\r\nThanks!" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1419, - "title": "Add Tagalog Translation on README", - "state": "OPEN", - "created_at": "2024-12-24T02:43:14Z", - "updated_at": "2024-12-24T02:43:14Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThe project currently lacks Tagalog language support in its documentation. While there are translations for several other languages, Filipino developers cannot read the documentation in their native language. This is particularly important as it will improve accessibility and inclusivity for the growing tech community in the Philippines.\r\n\r\n**Describe the solution you'd like**\r\n\r\nAdd a complete Tagalog translation of the main README.md as README_TG.md, including:\r\n- Full translation of all sections, including features, installation instructions, and usage guidelines\r\n- Proper formatting to ensure readability\r\n- Addition of Tagalog (Tagalog) to the language selector at the top of all README files\r\n- Maintenance of all existing functionality (links, images, code blocks)\r\n\r\n**Describe alternatives you've considered**\r\n\r\nUsing browser-based translation tools (like Chrome's translate feature) \u2013 inadequate because automated translations may not accurately capture technical terms and nuances in Tagalog.\r\n\r\n**Additional context**\r\n\r\nTagalog is spoken by millions of Filipinos and is one of the primary languages in the Philippines.\r\nThe translation should follow the same pattern as other language translations in the repo (README_XX.md format).\r\nThis addition will make the project more accessible to the Filipino developer community.\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "xwxtwd", - "score": 17, - "summary": "xwxtwd is currently working on adding the alienx chain to the plugin-evm in the packages code area on GitHub. This is reflected in a single pull request that has been successfully merged in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/3345621?u=b4ca21dd3ff0961c42a12fb15574e3bdfb779bea&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1438, - "title": "feat: (plugin-evm) add alienx chain", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T16:08:28Z", - "updated_at": "2024-12-24T19:24:21Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\nNo specific issue or ticket related.\r\n# Risks\r\nLow. This PR only adds types for AlienX, and it does not impact existing features or functionalities.\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR introduces types for AlienX.\r\n\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\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer should start by checking the added file for correctness and compatibility with the existing setup.\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-evm/src/templates/index.ts", - "additions": 3, - "deletions": 3 - }, - { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 1, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "fyInALT", - "score": 17, - "summary": "fyInALT is currently working on adding the `only` feature to the booleanFooter in the packages code area. This work includes one merged pull request, with no new commits or code changes in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/97101459?u=c3ff76ed4f2459e1d9bd2e9d72c9ff379aa8141b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1437, - "title": "feat: add `only` to booleanFooter", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T15:55:18Z", - "updated_at": "2024-12-24T17:06:15Z", - "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\nmedium\r\n\r\n# Background\r\n\r\nWhen use `llama3.1:8b` as OLLAMA_MODEL, when use `booleanFooter`, it will return not just YES or NO, like:\r\n\r\nUse context:\r\n\r\n```\r\n {\"context\":\"# Task: Decide if the recent messages should be processed for token recommendations.\r\n\r\n Look for messages that:\r\n\r\n ... \r\n\r\n Should the messages be processed for recommendations? Respond with a YES or a NO.\"} \r\n```\r\n\r\nand will return:\r\n\r\n```\r\n {\"response\":\"YES \r\n\r\nThere are several instances in this conversation where users ask to create tokens, send Solana coins, and discuss token-related topics. The keyword \\\"token\\\" is mentioned multiple times, indicating that these conversations should be processed for token recommendation.\"} \r\n```\r\n\r\nIt will make the match in `parseBooleanFromText` return null, then make `generateTrueOrFalse` call blocked by \r\n\r\n```ts\r\nwhile (true) {\r\n try {\r\n const response = await generateText({\r\n stop,\r\n runtime,\r\n context,\r\n modelClass\r\n });\r\n const parsedResponse = parseBooleanFromText(response.trim());\r\n if (parsedResponse !== null) {\r\n return parsedResponse;\r\n }\r\n } catch (error) {\r\n elizaLogger.error(\"Error in generateTrueOrFalse:\", error);\r\n }\r\n}\r\n```\r\nSo that the eliza will keep retry to got the response.\r\n\r\nIt can fixed by add a `only` in `booleanFooter`. Then it will only return `YES` or `NO`\r\n\r\n\r\n## What does this PR do?\r\n\r\nThis PR change booleanFooter to:\r\n\r\n```\r\nRespond with only a YES or a NO.\r\n```\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\nNo\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/core/src/parsing.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "alessandromazza98", - "score": 17, - "summary": "alessandromazza98 is currently working on improving logging in the plugin-coinbase package. They have submitted 1 pull request, which has been successfully merged, with no additional commits or code changes in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/121622391?u=a6a1e82dd34d15ee571ff0bf72cd395b1385372f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1429, - "title": "improve logging in plugin-coinbase", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T11:08:12Z", - "updated_at": "2024-12-24T17:09:56Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\nCloses https://github.com/elizaOS/eliza/issues/1194\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\nThis PR adds some logs in the `plugin-coinbase/src/plugins` folder using `elizaLogger` and improve consistencies between those logs.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements: no core changes are made, just new logs are added and/or modified.\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-coinbase/src/plugins/advancedTrade.ts", - "additions": 7, - "deletions": 0 - }, - { - "path": "packages/plugin-coinbase/src/plugins/commerce.ts", - "additions": 18, - "deletions": 14 - }, - { - "path": "packages/plugin-coinbase/src/plugins/massPayments.ts", - "additions": 17, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/tokenContract.ts", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/trade.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "packages/plugin-coinbase/src/plugins/webhooks.ts", - "additions": 7, - "deletions": 6 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "alessandromazza98", - "body": "I'm merging into `develop` as I saw that this is the branch where new PRs gets merged into first" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tomguluson92", + "contributor": "mhxw", "score": 17, - "summary": "tomguluson92 is currently working on a feature related to client-github retry in the packages code area. They have recently contributed 1 pull request, which has been successfully merged.", - "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "summary": "mhxw is currently working on fixing an incorrect link redirection issue in the documentation. This is the only recent activity, with one pull request successfully merged.", + "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4", "activity": { "code": { "total_commits": 0, @@ -412,74 +11,25 @@ "commits": [], "pull_requests": [ { - "number": 1425, - "title": "feat: client-github retry", + "number": 1443, + "title": "fix: fix incorrect link redirection issue", "state": "MERGED", "merged": true, - "created_at": "2024-12-24T09:01:17Z", - "updated_at": "2024-12-24T18:17:23Z", - "body": "\r\n\r\n# Relates to:\r\n\r\nNo\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\nWhen someone trying to clone a repo, it may occurs the network problem, so a retry mechanism is needed in ensuring a smooth and effective repo clone.\r\n\r\n## What does this PR do?\r\n\r\nAdd retry mechanism to clone repo where people may be in region or area that the network is restricted by the Great Fire Wall.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\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-25T04:04:29Z", + "updated_at": "2024-12-25T04:21:44Z", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", "files": [ { - "path": "packages/client-github/src/index.ts", - "additions": 21, - "deletions": 4 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "omahs", - "score": 17, - "summary": "omahs is currently working on fixing typos in the packages codebase, 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/73983677?u=eee6e58b90942c2dca935e4cfdb14eaacbd06c6f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1423, - "title": "fix: typos", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:26:08Z", - "updated_at": "2024-12-24T17:18:40Z", - "body": "fix: typos", - "files": [ - { - "path": "packages/adapter-sqljs/src/types.ts", - "additions": 3, - "deletions": 3 + "path": "docs/docs/advanced/eliza-in-tee.md", + "additions": 2, + "deletions": 2 } ], "reviews": [ { "author": "monilpat", "state": "DISMISSED", - "body": "" + "body": "LGTM thanks :) " }, { "author": "monilpat", @@ -504,10 +54,10 @@ } }, { - "contributor": "nulLeeKH", - "score": 15, - "summary": "nulLeeKH is currently working on a pull request to make the search feature in the Twitter client functional. The code changes are focused on the agent and packages code areas.", - "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4", + "contributor": "0xPBIT", + "score": 10, + "summary": "0xPBIT is currently working on a pull request to suppress the initial message from an action in the packages and documentation areas of the project. No commits or code changes have been made in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", "activity": { "code": { "total_commits": 0, @@ -515,257 +65,73 @@ "commits": [], "pull_requests": [ { - "number": 1433, - "title": "Make search feature in twitter client works", + "number": 1444, + "title": "feat: suppress initial message from action", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T13:51:59Z", - "updated_at": "2024-12-24T21:38:14Z", - "body": "# Relates to:\r\n\r\nThis PR has written without issue ticket\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nModified the enableSearch feature of the twitter client to make it work.\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\nWe wanted the AI Agent to be exposed to random posts to learn and to respond to members of the community, and we found the TWITTER_SEARCH_ENABLE environment variable while looking for a way to do so. However, we confirmed that it was missing during the development process and that the environment variable was not working properly, so we modified it to be as identical to other toggle functions as possible.\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\nJust run agent with twitter client with TWITTER_SEARCH_ENABLE environment variable\r\n\r\n## Detailed testing steps\r\n\r\nNone, not much details needed.\r\n\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\nblairlee_dev\r\n", + "created_at": "2024-12-25T04:23:41Z", + "updated_at": "2024-12-25T22:20:59Z", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", "files": [ { - "path": ".gitignore", - "additions": 1, + "path": "docs/docs/core/actions.md", + "additions": 3, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 0, - "deletions": 29 - }, - { - "path": "packages/client-twitter/src/index.ts", - "additions": 4, - "deletions": 1 - }, - { - "path": "packages/client-twitter/src/search.ts", - "additions": 5, + "path": "packages/client-direct/src/index.ts", + "additions": 18, "deletions": 3 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please address the comments then good to go :) " }, { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "Thanks for addressing comments :) " - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 4, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "RiceChuan", - "score": 14, - "summary": "RiceChuan is currently focused on improving the documentation by correcting the usage of quotation marks and removing duplicate words. This work includes one merged pull request in the docs code area over the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/29748602?u=64218b59f2a07985d08393eb9cf877fee5a1e43a&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1424, - "title": "docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:41:20Z", - "updated_at": "2024-12-24T17:22:25Z", - "body": "1.Quotation marks are used incorrectly.2.Delete duplicate words", - "files": [ - { - "path": "docs/community/Notes/lore.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "docs/community/creator-fund.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "FWangZil", - "score": 12, - "summary": "FWangZil is currently working on replacing a hardcoded model class with dynamic parameters in a fix PR and addressing a bug related to dynamic parameters being ignored in a generateText function. Additionally, they are adding liquid staking support for Solana in a feature PR and addressing the corresponding issue of adding Liquid Staking Action to the Solana Plugin.", - "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 2, - "commits": [], - "pull_requests": [ - { - "number": 1440, - "title": "fix: replace hardcoded model class with dynamic parameter", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T17:07:54Z", - "updated_at": "2024-12-24T18:23:54Z", - "body": "\r\n# Relates to\r\nissue https://github.com/elizaOS/eliza/issues/1439\r\n\r\n# Description\r\n\r\n- **What is the problem?** \r\n In the `generateText` function, the model type was hard-coded, preventing the function from dynamically switching models based on external parameters. \r\n- **What does this PR do?** \r\n 1. Removes the hard-coded `model class` from `generateText` and `generateMessageResponse`. \r\n 2. Use the parameter to specify the desired model type. \r\n\r\n# Risks\r\n\r\n- **Risk Level**: Low \r\n - The change is confined to the internal logic of the `generateText` and `generateMessageResponse` function. \r\n\r\n# Background\r\n\r\n- Previously, `generateText` and `generateMessageResponse` did not allow dynamic model switching based on incoming parameters, limiting flexibility and making it cumbersome to use different models in various scenarios. \r\n- By removing the hard-coded approach, developers can easily specify or configure the desired model without modifying core code.\r\n\r\n# What kind of change is this?\r\n\r\n- [x] **Bug fix** (fixes a reported issue) \r\n- [ ] New feature (adds functionality) \r\n- [ ] Other (please describe)\r\n\r\n# Documentation changes needed?\r\n\r\n- [ ] Yes \r\n- [x] No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n- Look at how `generateText` and `generateMessageResponse` now handles the incoming model parameter, and verify that any calling code is appropriately updated to use this new parameter.\r\n\r\n## Detailed testing steps \r\n- Call `generateText` and `generateMessageResponse` with a specific model parameter, confirming that it correctly switches to the chosen model. \r\n", - "files": [ - { - "path": "packages/core/src/generation.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM - but please confirm that this works with a screenshot and if so remove hard coding of gpt-4o in generateObject generatedObjectedDEPRECATED etc thanks " - } - ], - "comments": [] - }, - { - "number": 1435, - "title": "feat(solana): Add liquid staking support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T15:17:56Z", - "updated_at": "2024-12-24T19:18:05Z", - "body": "Add the ability of liquid staking to the current elizaos solana plugin.\r\n\r\n- It can build the desired staking requests for end-users, eliminating the complexity of front-end development and the need for users to switch between multiple platforms to compare APYs and select staking protocols.\r\n- Currently supports five protocols: \"jito\", \"blaze\", \"jpool\", \"marinade\", \"marginfi\", and is capable of expanding to support more protocols.\r\n\r\n# Relates to:\r\n\r\nIssue https://github.com/elizaOS/eliza/issues/1434\r\n\r\n# Risks\r\n\r\n- There are no risks. An independent new Solana feature module has been introduced without modifying the code of other parts.\r\n\r\n# Background\r\n\r\n- There are some distinctive liquid staking solutions on Solana. However, users or developers need to provide a specific APP for users to conduct staking.\r\n- Liquid Staking Action aims to enable users to interact with the Agent through natural language. The Eliza Agent will build transactions for users. The front-end only needs to integrate a Solana wallet to support multiple staking protocols, eliminating the need to code and integrate the specific logic of different staking protocols.\r\n\r\n## What does this PR do?\r\n\r\n- When the user specifies a liquid staking protocol, build the corresponding transaction (base58 encoded) for the user.\r\n- When the user does not specify a specific protocol, based on the APY and TVL data of multiple protocols provided by the StakeProtocolProvider, use the designated LLM to optimize the staking protocol for the user and then build the corresponding transaction.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\n\r\n- No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- packages/plugin-solana/src/actions/liquidStake.ts\r\n\r\n## Detailed testing steps\r\n\r\n1. Enable @elizaos/plugin-solana in the character.\r\n2. Interact with the Agent, for example: \u201cMy address is HqvTPqS2FaB2fQ7mxqZHQHz6H28o1u2Z9fRH5No8JN2W and I want to stake 0.01 SOL\u201d.\r\n3. Obtain the response (the constructed staking transaction).", - "files": [ - { - "path": "packages/plugin-solana/package.json", - "additions": 2, - "deletions": 0 - }, - { - "path": "packages/plugin-solana/src/actions/liquidStake.ts", - "additions": 468, - "deletions": 0 - }, - { - "path": "packages/plugin-solana/src/index.ts", + "path": "packages/core/src/types.ts", "additions": 3, - "deletions": 2 + "deletions": 0 }, { - "path": "packages/plugin-solana/src/providers/stakeProtocol.ts", - "additions": 202, + "path": "packages/plugin-image-generation/src/index.ts", + "additions": 1, "deletions": 0 + } + ], + "reviews": [ + { + "author": "odilitime", + "state": "COMMENTED", + "body": "" }, { - "path": "packages/plugin-solana/src/types/stake.ts", - "additions": 54, - "deletions": 0 + "author": "0xPBIT", + "state": "COMMENTED", + "body": "" }, { - "path": "pnpm-lock.yaml", - "additions": 497, - "deletions": 365 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] }, "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1439, - "title": "Bug: generateText is ignoring dynamic parameters due to a hard-coded model class", - "state": "OPEN", - "created_at": "2024-12-24T16:59:30Z", - "updated_at": "2024-12-24T16:59:30Z", - "body": "**Is your feature request (or bug) related to a problem? Please describe.**\r\n\r\nIn the `generateText` function, the `model class` is currently hard-coded(gpt-4o), which prevents dynamically switching to different models based on incoming parameters. This reduces flexibility and can increase development complexity in scenarios where different models are needed.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Remove the hard-coded `model class` reference in the `generateText` function and instead use a model name/type passed in as a function parameter or configuration.\r\n- Ensure there is a sensible default value to maintain compatibility with existing functionality or cases where a specific model is not provided.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Leaving it as is would require manual code changes to switch models in different scenarios, which is not ideal.\r\n- Introducing a separate function to handle switching model classes could lead to redundant logic and increase maintenance overhead.\r\n\r\n**Additional context**\r\n\r\n- **Risks**: This change is minor, but it\u2019s important to check if other parts of the code depend on the old hard-coded logic.\r\n- **Testing**:\r\n - Test with multiple model types to confirm that the function correctly switches to the specified model.", - "labels": [ - { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1434, - "title": "Add Liquid Staking Action to the Solana Plugin", - "state": "OPEN", - "created_at": "2024-12-24T14:58:25Z", - "updated_at": "2024-12-24T14:58:25Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently, there are various liquid staking protocols on Solana, but users or developers often need to build dedicated front-end solutions or switch between multiple platforms to compare APYs and select the appropriate protocol before staking. This process is tedious and increases front-end development complexity, making it cumbersome for users.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Add the ability for liquid staking to the existing ElizaOS Solana plugin, simplifying the process of building staking requests for users without requiring specialized front-end logic.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Continue relying on each protocol\u2019s custom front-end or having developers integrate multiple protocols manually. This leads to high complexity and development cost. \r\n- Have users manually compare different platforms\u2019 APYs, which can be error-prone and inconvenient.\r\n\r\n**Additional context**\r\n\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] + "total_opened": 0, + "opened": [] }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 3, "comments": [], "reviews": [] } } }, { - "contributor": "humanagent", - "score": 5, - "summary": "humanagent is currently working on a feature related to XMTP in the agent, docs, and packages code areas. This includes a pull request for the XMTP feature, with no merged changes yet.", - "avatar_url": "https://avatars.githubusercontent.com/u/1447073?u=dff55a747ae4569a87f4eae7a01578682640a9e9&v=4", + "contributor": "tomguluson92", + "score": 6, + "summary": "tomguluson92 is currently working on a pull request to add text to a 3D function in the packages and agent code areas. The pull request has not been merged yet, and there have been no 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, @@ -773,175 +139,192 @@ "commits": [], "pull_requests": [ { - "number": 1441, - "title": "feat: XMTP", + "number": 1446, + "title": "feat: Add Text to 3D function", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T17:52:09Z", - "updated_at": "2024-12-24T21:21:43Z", - "body": "# End-to-end encrypted messaging\r\n\r\nAI is transforming consumer tech, with messaging becoming the main channel for interacting with agent services. This shift will scale message traffic astronomically, analogous to the web\u2019s rise in the 2000s. Just as Cloudflare and https secured web traffic, messaging will need robust scalable end-to-end encrypted messages to protect sensitive information.\r\n\r\n## Risks\r\n\r\nRisks of not using end-to-end encryption for agent interactions exposes the users to what is called as Man in the **Middle Attacks**.\r\n\r\n> **Man in the Middle Attacks**: Intercept requests in between to alter or manipulate data sent or received by the AI service\r\n\r\n- **Phishing**: Messages can be intercepted and manipulated.\r\n- **Privacy**: Sensitive information read by unwanted parties\r\n- **Tampering**: Content can be altered without detection.\r\n\r\n:::tip\r\nMore concrete sensitive data could include credit card details, private keys and passwords which is not yet widely spread but as agents become smarter more use cases will include this type of sharing.\r\n:::\r\n\r\n## XMTP\r\n\r\nEliza agents come with a ready to use client that uses XMTP providing end-to-end encrypted messaging for every agent intereaction, crucial for privacy, security, and compliance provided by the XMTP network.\r\n\r\n### Features:\r\n\r\n- **E2EE**: End to end encrypted MLS encryption\r\n- **Multi-agent**: Support multi-agent through group chats\r\n- **Interoperable**: Works across all platforms and frontends\r\n- **Scalable**: Decentralized, open-source\r\n- **Anonymous**: By default every identity is ephemeral and anonymous.\r\n\r\n### Installation\r\n\r\nInstall the `xmtp` package\r\n\r\n```bash [cmd]\r\nbun install xmtp\r\n```\r\n\r\n### Usage\r\n\r\nThis is how you can use the `xmtp` package to create an agent and handle messages.\r\n\r\n- `WALLET_PRIVATE_KEY`: This will encrypt all messages and make it available through its public address or ens domain.\r\n\r\n```tsx\r\nimport { XMTP } from \"xmtp\";\r\n\r\nconst xmtp = new XMTP(onMessage, {\r\n encryptionKey: WALLET_PRIVATE_KEY,\r\n});\r\nawait xmtp.init();\r\nconst onMessage = async (message, user) => {\r\n console.log(`Decoded message: ${message.content.text} by ${user.address}`);\r\n // Your AI model response\r\n await xmtp.send({\r\n message: response,\r\n originalMessage: message,\r\n });\r\n};\r\n```\r\n\r\nFor more information visit XMTP [website](https://xmtp.org/)", + "created_at": "2024-12-25T06:47:21Z", + "updated_at": "2024-12-25T07:44:03Z", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 1, + "path": "agent/src/index.ts", + "additions": 4, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 62, - "deletions": 60 - }, - { - "path": "agent/src/index.ts", + "path": "packages/plugin-3d-generation/.npmignore", "additions": 7, - "deletions": 1 - }, - { - "path": "docs/docs/advanced/e2ee.md", - "additions": 66, "deletions": 0 }, { - "path": "docs/docs/guides/advanced.md", - "additions": 1, + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "docs/docs/packages/agent.md", - "additions": 5, + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, "deletions": 0 }, { - "path": "docs/docs/packages/agents.md", - "additions": 228, - "deletions": 223 - }, - { - "path": "docs/docs/packages/clients.md", - "additions": 153, - "deletions": 146 - }, - { - "path": "docs/docs/packages/packages.md", - "additions": 1, + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, "deletions": 0 }, { - "path": "docs/sidebars.js", - "additions": 6, - "deletions": 1 - }, - { - "path": "packages/client-xmtp/.npmignore", - "additions": 6, + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, "deletions": 0 }, { - "path": "packages/client-xmtp/eslint.config.mjs", - "additions": 3, + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, "deletions": 0 }, { - "path": "packages/client-xmtp/package.json", - "additions": 19, + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [], + "comments": [ { - "path": "packages/client-xmtp/src/index.ts", - "additions": 188, - "deletions": 0 + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" }, { - "path": "packages/client-xmtp/tsconfig.json", - "additions": 10, - "deletions": 0 - }, + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Freytes", + "score": 6, + "summary": "Freytes is currently working on adding client Reddit files to the packages and agent code areas. This contribution includes a pull request for the new files, with no commits or code changes reported in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1445, + "title": "Add: Client Reddit Files", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T05:18:13Z", + "updated_at": "2024-12-25T22:21:32Z", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "files": [ { - "path": "packages/client-xmtp/tsup.config.ts", - "additions": 10, + "path": "agent/package.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/core/src/types.ts", - "additions": 1, - "deletions": 0 + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 }, { - "path": "packages/plugin-concierge/.npmignore", + "path": "packages/client-reddit/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-concierge/eslint.config.mjs", + "path": "packages/client-reddit/eslint.config.mjs", "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-concierge/package.json", - "additions": 19, + "path": "packages/client-reddit/package.json", + "additions": 22, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/baselinks.ts", - "additions": 74, + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/cdp.ts", - "additions": 302, + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/resolver.ts", - "additions": 216, + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/storage.ts", - "additions": 99, + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/templates.ts", - "additions": 154, + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/types.ts", - "additions": 72, + "path": "packages/client-reddit/src/index.ts", + "additions": 28, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/walletservice.ts", - "additions": 559, + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/index.ts", - "additions": 25, + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsconfig.json", + "path": "packages/client-reddit/tsconfig.json", "additions": 13, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsup.config.ts", - "additions": 20, + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "pnpm-lock.yaml", - "additions": 990, - "deletions": 21 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [ { - "author": "shakkernerd", - "body": "We can continue the convo in here from #1285 " + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" + }, + { + "author": "Freytes", + "body": "@odilitime Updated the requested files." } ] } @@ -953,17 +336,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "kroist", + "contributor": "harperaa", "score": 5, - "summary": "kroist is currently working on adding anthropic image descriptions in the 'packages' code area on GitHub, with one pull request submitted but not yet merged in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/36311724?v=4", + "summary": "harperaa is currently working on updating the package.json file to include Cleanstart options for setting up a new database. This work is reflected in a single pull request that has not been merged yet. No other significant activity, such as commits or code changes, has been made in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", "activity": { "code": { "total_commits": 0, @@ -971,40 +354,30 @@ "commits": [], "pull_requests": [ { - "number": 1436, - "title": "Add anthropic image description", + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T15:31:31Z", - "updated_at": "2024-12-24T18:08:04Z", - "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-25T17:12:42Z", + "updated_at": "2024-12-25T22:37:31Z", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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-node/package.json", + "path": "package.json", "additions": 2, - "deletions": 1 - }, - { - "path": "packages/plugin-node/src/services/image.ts", - "additions": 88, - "deletions": 10 - }, - { - "path": "packages/plugin-node/src/services/imageUtils.ts", - "additions": 79, "deletions": 0 - }, - { - "path": "pnpm-lock.yaml", - "additions": 145, - "deletions": 62 } ], "reviews": [ { "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this added a couple of comments to make this configurable after that good to go :) " + "state": "APPROVED", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], "comments": [] @@ -1017,17 +390,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "jobyid", + "contributor": "Firbydude", "score": 5, - "summary": "jobyid is currently working on a pull request for a MongoDB adaptor. The code changes are focused on the .idea, agent, and packages code areas.", - "avatar_url": "https://avatars.githubusercontent.com/u/56961121?u=4b674517547cad5b4a9754de624496f105b9e14c&v=4", + "summary": "Firbydude is currently working on adding support for the VoyageAI embeddings API in the \"packages\" code area. This includes a pull request that has not yet been merged, with no additional commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4", "activity": { "code": { "total_commits": 0, @@ -1035,61 +408,42 @@ "commits": [], "pull_requests": [ { - "number": 1427, - "title": "mongo-db adaptor", + "number": 1442, + "title": "Add support for VoyageAI embeddings API", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T10:30:12Z", - "updated_at": "2024-12-24T10:30:12Z", - "body": "Added an adaptor which connects to mongo db atlas. Allowing you to store agent data in the cloud. If you have the appropriate tier you can also take advantage of their vector search functionality.\r\nIt should have all the same functionality as the other database adaptors. \r\n\r\n\r\n\r\n# Relates to:\r\nAdding the option of using MongoDB in the cloud to store you agents data \r\n\r\n# Risks\r\nLow, adds additional options for database usage\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds the option to store your agents data in MongoDB Atlas, and take advantage of their vector search. I have also updated the .env.example to include the additional variables for the mongo connection. And added to the agent index with functionality to initialise this database if required. \r\n\r\n## What kind of change is this?\r\nAdding an additional feature \r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nIn my day job we exclusively use mongoDB for our database needs, for commercials and performance reasons. As we want to develop AI Agents, we need to have the mongoDB adaptor. IN the sprit of OpenSource I wanted to make sure it was available for the whole community to use as well. \r\n\r\n# Documentation changes needed?\r\nA small additional input to the documentation is required to make users aware of the additional functionality and how it can be actioned. \r\nSimilar to the Postgres set up just adding in the appropriate connection string to the .env file will action he change to start using MongoDB as the database. \r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer will need to have a least a free account with mongoDB atlas, then add the connection string and a Database name to the .env file. After that the agent should run as expected, saving memories as before. The reviewer can verify the saved data inside the MongoDB interface. \r\n \r\n## Detailed testing steps\r\n1. Create MongoDB atlas account \r\n2. Add connection string and Database name to .env file \r\n3. Run agent \r\n4. Verify inside MongoDB interface that the collections have formed and data is being stored \r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-25T03:40:59Z", + "updated_at": "2024-12-25T07:20:18Z", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n \u1367 DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n \u1367 DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"\u1367 DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"\u1367 Initializing BGE embedding model...\"] \r\n\r\n \u1367 DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n \u1367 DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", "files": [ { "path": ".env.example", - "additions": 4, - "deletions": 0 - }, - { - "path": ".idea/.gitignore", - "additions": 5, - "deletions": 0 - }, - { - "path": "agent/src/index.ts", - "additions": 31, - "deletions": 2 - }, - { - "path": "packages/adapter-mongodb/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/adapter-mongodb/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/package.json", - "additions": 26, - "deletions": 0 + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 }, { - "path": "packages/adapter-mongodb/src/index.ts", - "additions": 910, + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, "deletions": 0 }, { - "path": "packages/adapter-mongodb/tsconfig.json", - "additions": 23, + "path": "packages/core/src/voyageai.ts", + "additions": 156, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "packages/adapter-mongodb/tsup.config.ts", - "additions": 28, - "deletions": 0 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] @@ -1100,17 +454,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "0xPBIT", - "score": 5, - "summary": "0xPBIT is currently working on implementing the Twitter Post Action in the agent and packages code areas. This includes a pull request for this feature, with no merged changes yet in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", + "contributor": "monilpat", + "score": 4, + "summary": "monilpat is currently working on implementing a new feature to add comments to issues and pull requests, as well as generating useful content. The work is primarily focused on the code areas of .github, docs, characters, packages, and agent.", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", "activity": { "code": { "total_commits": 0, @@ -1118,682 +472,513 @@ "commits": [], "pull_requests": [ { - "number": 1422, - "title": "feat: Twitter Post Action Implementation", - "state": "OPEN", + "number": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "state": "CLOSED", "merged": false, - "created_at": "2024-12-24T04:41:19Z", - "updated_at": "2024-12-24T18:21:26Z", - "body": "# Relates to:\r\nN/A - Plugin implementation for Twitter posting functionality via action\r\n\r\n# Risks\r\nLow - This is a new plugin that adds Twitter posting capability. The main risks are:\r\n- Failed tweets due to rate limiting or authentication issues\r\n- Potential for tweets that are too long (mitigated by automatic truncation)\r\n- No risk to existing functionality as this is an isolated plugin\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds a Twitter plugin that enables posting tweets through the agent-twitter-client package. Key features:\r\n- Implements POST_TWEET action for sending tweets\r\n- Handles Twitter authentication via environment variables\r\n- Automatically truncates tweets that exceed character limits\r\n- Provides detailed error handling and logging\r\n- Supports dry run mode for testing\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n- Adds new Twitter posting capability\r\n- Uses the standalone agent-twitter-client package\r\n- Implements proper error handling and character limit enforcement\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation:\r\n- Add Twitter plugin setup instructions\r\n- Document required environment variables:\r\n - TWITTER_USERNAME\r\n - TWITTER_PASSWORD\r\n - TWITTER_EMAIL\r\n - TWITTER_DRY_RUN (optional)\r\n - TWITTER_2FA_SECRET (optional)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Review `packages/plugin-twitter/src/actions/post.ts` for the main implementation\r\n2. Check error handling in postTweet function\r\n3. Review tweet composition logic in composeTweet function\r\n4. Verify environment variable handling\r\n\r\n## Detailed testing steps\r\n1. Set up environment variables in `.env`:\r\n```bash\r\nTWITTER_USERNAME=your_username\r\nTWITTER_PASSWORD=your_password\r\nTWITTER_EMAIL=your_email\r\nTWITTER_DRY_RUN=false\r\n```\r\n\r\n2. Test tweet posting:\r\n```bash\r\n# Start with dry run mode\r\nTWITTER_DRY_RUN=true pnpm dev\r\n\r\n# Test actual posting\r\nTWITTER_DRY_RUN=false pnpm dev\r\n```\r\n\r\n3. Verify error handling:\r\n- Try posting a tweet > 180 characters (should truncate)\r\n- Try posting with invalid credentials (should show error)\r\n- Try posting with missing credentials (should validate)\r\n\r\n4. Check logging:\r\n- Verify credential validation logs\r\n- Check tweet content generation logs\r\n- Verify error messages are descriptive\r\n\r\n# Deploy Notes\r\n- Requires agent-twitter-client package\r\n- Environment variables must be set for Twitter authentication\r\n- No database changes required", + "created_at": "2024-12-25T20:35:11Z", + "updated_at": "2024-12-25T20:37:42Z", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", "files": [ { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 + "path": ".env.example", + "additions": 5, + "deletions": 7 }, { - "path": "packages/plugin-twitter/.npmignore", + "path": ".github/workflows/integrationTests.yaml", "additions": 6, - "deletions": 0 + "deletions": 10 }, { - "path": "packages/plugin-twitter/package.json", - "additions": 17, + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/actions/post.ts", - "additions": 200, + "path": ".gitignore", + "additions": 5, + "deletions": 2 + }, + { + "path": "README.md", + "additions": 135, + "deletions": 136 + }, + { + "path": "agent/context.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/index.ts", - "additions": 12, + "path": "agent/context.txt", + "additions": 584, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsconfig.json", - "additions": 13, + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 + }, + { + "path": "agent/state.json", + "additions": 969, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsup.config.ts", - "additions": 10, + "path": "characters/chronis.character.json", + "additions": 319, "deletions": 0 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Amazing work thanks for doing this please address comments " - } - ], - "comments": [ + "path": "characters/logging-addict.character.json", + "additions": 263, + "deletions": 0 + }, { - "author": "0xPBIT", - "body": "Several people have commented in the discord coders chat about twitter functionality from an action instead of the hard coded client loop. I've opened this PR just to show an example of how this can be done.\r\n\r\nThis is a small demo where I workshop a tweet with c3po agent to come up with a tweet. Then I can say \"go tweet that\" and the agent will put it on their twitter profile -- without using the client-twitter package.\r\n\r\n\"Screenshot\r\n\"Screenshot\r\n\r\n\r\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "swizzmagik", - "score": 5, - "summary": "swizzmagik is currently working on adding a birdeye plugin to the agent and packages code areas. This is reflected in a recent pull request that has not yet been merged, with no other recent activity in terms of commits or code changes.", - "avatar_url": "https://avatars.githubusercontent.com/u/3955528?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1417, - "title": "feat: add birdeye plugin", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T00:27:28Z", - "updated_at": "2024-12-24T19:05:23Z", - "body": "This is my first attempt to contribute to this project. I have been adding features and additional query capability for the Birdeye API and I think many other could benefit.\r\n\r\n# Relates to:\r\n\r\n- plugin ecosystem and capabilities for accessing and querying Birdeye data API\r\n- [Expanding Birdeye thread](https://discord.com/channels/1253563208833433701/1318974518680748173)\r\n- possible overlap with: https://github.com/elizaOS/eliza/pull/1366\r\n\r\n\r\n# Risks\r\n\r\n- People who already have the BIRDEYE_API_KEY enabled could end up querying the endpoints more\r\n\r\n# Background\r\n\r\nThis pull request significantly enhances the Birdeye API integration within the AI agent framework by expanding its capabilities beyond basic query functionality. The proposed tools enable more comprehensive and versatile interactions with the Birdeye API, including data clearing and management features. These improvements provide the AI agents with a broader and more efficient toolkit for handling Birdeye API data, enhancing the overall flexibility and utility of the framework for developers and end-users. By extending the scope of the API integration, this contribution supports more robust and scalable solutions within the project.\r\n\r\n## What does this PR do?\r\n\r\nThis PR adds providers that represent all the different API endpoints available in the Birdeye API. By doing so, it ensures that when a user requests a specific type of data, the AI agent has a significantly higher likelihood of accessing and utilizing the relevant data in its response. This enhancement maximizes the agent\u2019s ability to provide accurate and contextually rich answers, leveraging the full scope of the Birdeye API.\r\n\r\n## What kind of change is this?\r\n\r\n- net new plugin\r\n\r\n\r\n\r\n\r\nThis API connection is critical for enabling the agent to perform research and analyze the dynamics of the ecosystem effectively. By integrating comprehensive access to all Birdeye API endpoints, this PR lays the groundwork for future enhancements and features that will further expand the agent's capabilities. This integration not only empowers the agent to deliver more insightful and accurate responses but also positions the framework for scalable growth and the addition of advanced functionalities in the future.\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n- Yes, this will require the docs to be updated. I am happy to update the appropriate project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Pull the branch\r\n- Enable plugin by setting the BIRDEYE_API_KEY\r\n- Utilize the web console as ask questions about onchain data. \r\n- Example prompts:\r\n-- give me a list of wallets on solana that i should be following\r\n-- tell me more about BbJgE7HZMaDp5NTYvRh5jZSkQPVDTU8ubPFtpogUkEj4\r\n-- what are the top gainers today\r\n-- what is the current price of HIPPO?\r\n-- what tokens are tredning today on sui? \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": "characters/prosper.character.json", + "additions": 214, + "deletions": 0 + }, { - "path": "agent/src/index.ts", - "additions": 7, - "deletions": 3 + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, + "deletions": 0 }, { - "path": "packages/plugin-birdeye/.npmignore", - "additions": 6, + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, "deletions": 0 }, { - "path": "packages/plugin-birdeye/README.md", - "additions": 77, + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, "deletions": 0 }, { - "path": "packages/plugin-birdeye/eslint.config.mjs", - "additions": 3, + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, "deletions": 0 }, { - "path": "packages/plugin-birdeye/package.json", - "additions": 31, + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/index.ts", - "additions": 57, + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/__tests__/utils.test.ts", - "additions": 145, + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/__tests__/price-provider.test.ts", - "additions": 218, + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/index.ts", - "additions": 12, + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/networks-provider.ts", - "additions": 140, + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-base-quote-provider.ts", - "additions": 244, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-pair-provider.ts", - "additions": 210, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-provider.ts", - "additions": 256, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins \u2013 A Nexus of Community and Value", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-provider.ts", - "additions": 245, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-seek-provider.ts", - "additions": 266, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-history-provider.ts", - "additions": 230, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-multiple-provider.ts", - "additions": 200, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-provider.ts", - "additions": 175, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-volume-provider.ts", - "additions": 234, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/token-trades-provider.ts", - "additions": 236, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/trades-seek-provider.ts", - "additions": 210, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission \u2013 Reality Spiraling and the Market\u2019s Pull", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/index.ts", - "additions": 148, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/index.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/pair-overview-provider.ts", - "additions": 286, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/index.ts", + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/token-market-data-provider.ts", - "additions": 214, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/__tests__/token-overview-provider.test.ts", - "additions": 189, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/all-market-list-provider.ts", - "additions": 114, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/index.ts", - "additions": 13, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/new-listing-provider.ts", - "additions": 113, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-creation-provider.ts", - "additions": 199, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-holder-provider.ts", - "additions": 220, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-list-provider.ts", - "additions": 198, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-market-provider.ts", - "additions": 217, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-metadata-provider.ts", - "additions": 197, - "deletions": 0 + "path": "docs/docs/packages/plugins.md", + "additions": 85, + "deletions": 1 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-mint-burn-provider.ts", - "additions": 203, + "path": "docs/rs-documentation/README.md", + "additions": 124, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-overview-provider.ts", - "additions": 266, + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-security-provider.ts", - "additions": 238, + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-trade-provider.ts", - "additions": 327, + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/top-traders-provider.ts", - "additions": 104, + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/trending-tokens-provider.ts", - "additions": 270, + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/gainers-losers-provider.ts", - "additions": 228, + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/index.ts", - "additions": 2, + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/trades-seek-provider.ts", - "additions": 247, + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/utils.ts", - "additions": 298, + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/index.ts", - "additions": 6, + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/portfolio-multichain-provider.ts", - "additions": 159, + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/supported-networks-provider.ts", - "additions": 131, + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/token-balance-provider.ts", - "additions": 135, + "path": "docs/rs-documentation/wiki/agent-capabilities.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-multichain-provider.ts", - "additions": 174, + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-provider.ts", - "additions": 381, + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/wallet-portfolio-provider.ts", - "additions": 335, + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsconfig.json", - "additions": 10, + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsup.config.ts", - "additions": 29, + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, "deletions": 0 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "swizzmagik", - "body": "I'd love to get input from the team if perhaps these should be actions instead of provider data." - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tweedyant", - "score": 5, - "summary": "tweedyant is currently working on a pull request for the \"Gai trial\" in the code areas of agent, packages, and characters. This is the only recent activity in the last 90 days, with no commits or code changes reported.", - "avatar_url": "https://avatars.githubusercontent.com/u/192077188?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1416, - "title": "Gai trial", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-24T00:19:14Z", - "updated_at": "2024-12-24T00:19:28Z", - "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/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, + "deletions": 0 + }, { - "path": "agent/src/index.ts", + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", "additions": 3, - "deletions": 2 + "deletions": 0 }, { - "path": "characters/c3po.character.json", - "additions": 0, - "deletions": 98 + "path": "elizaConfig.yaml", + "additions": 18, + "deletions": 0 }, { - "path": "characters/dobby.character.json", - "additions": 0, - "deletions": 98 + "path": "package.json", + "additions": 6, + "deletions": 0 }, { - "path": "characters/eternalai.character.json", - "additions": 0, - "deletions": 394 + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 }, { - "path": "characters/tate.character.json", + "path": "packages/client-github/src/environment.ts", "additions": 0, - "deletions": 63 + "deletions": 8 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 }, { - "path": "packages/client-telegram/src/messageManager.ts", - "additions": 5, + "path": "packages/client-github/src/templates.ts", + "additions": 89, "deletions": 0 }, { - "path": "packages/client-telegram/src/telegramClient.ts", - "additions": 60, - "deletions": 39 - }, - { - "path": "packages/client-telegram/tsconfig.json", - "additions": 3, - "deletions": 1 + "path": "packages/client-github/src/types.ts", + "additions": 48, + "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 21510, - "deletions": 16881 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "iankm", - "score": 3, - "summary": "iankm is currently working on adding the thirdweb plugin to the agent and packages code areas. This is reflected in a recent pull request, with no commits or code changes made in the last 90 days.", - "avatar_url": "https://avatars.githubusercontent.com/u/10765530?u=10ced71da5b3364558289a76982aa52e67fffbc5&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1418, - "title": "add thirdweb plugin", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T02:33:01Z", - "updated_at": "2024-12-24T20:29:30Z", - "body": "Adding a new plugin for thirdweb's nebula API. We have one action that interacts with our natural language interface to read data from 2000+ blockchains.\r\n\r\nAdded, Readme, .env config and integration to default agent if key is set.\r\n\r\nHere's an image with example usage (through my agent, Breakout Bro):\r\n\r\n\"CleanShot", - "files": [ - { - "path": ".env.example", - "additions": 3, + "path": "packages/client-github/src/utils.ts", + "additions": 142, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 34, - "deletions": 34 + "path": "packages/core/src/runtime.ts", + "additions": 1, + "deletions": 1 }, { - "path": "agent/src/index.ts", - "additions": 17, - "deletions": 15 + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 1 }, { - "path": "packages/plugin-thirdweb/.npmignore", + "path": "packages/plugin-github/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/README.md", - "additions": 62, + "path": "packages/plugin-github/package.json", + "additions": 27, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/eslint.config.mjs", - "additions": 3, + "path": "packages/plugin-github/src/index.ts", + "additions": 96, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/package.json", - "additions": 20, + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/actions/chat.ts", - "additions": 214, + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/actions/index.ts", - "additions": 1, + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/index.ts", - "additions": 12, + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/tsconfig.json", - "additions": 13, + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/tsup.config.ts", - "additions": 20, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "samarth30", - "state": "CHANGES_REQUESTED", - "body": "Looks solid to me just tested it out. \r\nLet's resolve conflitcs in the branch and get it merged." - } - ], - "comments": [ - { - "author": "iankm", - "body": "Hey @samarth30,\r\n\r\nAddressed the merge conflicts!" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "stanislawkurzypBD", - "score": 2, - "summary": "stanislawkurzypBD is currently working on a pull request for a new feature related to the cosmos plugin provider. The code changes are focused on the agent and packages code areas.", - "avatar_url": "https://avatars.githubusercontent.com/u/181337749?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1426, - "title": "Feat/cosmos plugin provider", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-24T09:08:00Z", - "updated_at": "2024-12-24T09:11:53Z", - "body": "", - "files": [ - { - "path": ".env.example", - "additions": 4, + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 60, - "deletions": 59 - }, - { - "path": "agent/src/index.ts", - "additions": 72, - "deletions": 70 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 1, - "deletions": 1 + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, + "deletions": 0 }, { - "path": "packages/core/src/defaultCharacter.ts", - "additions": 68, - "deletions": 366 + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, + "deletions": 0 }, { - "path": "packages/plugin-cosmos/README.md", - "additions": 93, + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, "deletions": 0 }, { - "path": "packages/plugin-cosmos/package.json", - "additions": 30, + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/actions/transfer.ts", - "additions": 265, + "path": "packages/plugin-github/src/providers/releases.ts", + "additions": 17, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/actions/walletProviderTestAction.ts", - "additions": 57, + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/index.ts", - "additions": 18, + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/providers/wallet.ts", - "additions": 96, + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-cosmos/src/templates/index.ts", - "additions": 72, + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, "deletions": 0 }, { - "path": "packages/plugin-cosmos/tsconfig.json", - "additions": 15, + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, "deletions": 0 }, { - "path": "packages/plugin-cosmos/tsup.config.ts", - "additions": 25, + "path": "packages/plugin-github/src/types.ts", + "additions": 248, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 22980, - "deletions": 17741 + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, + "deletions": 0 } ], "reviews": [], @@ -1814,10 +999,64 @@ } }, { - "contributor": "didintern", + "contributor": "hanyh2004", + "score": 2, + "summary": "hanyh2004 is currently working on a pull request to remove code duplication in the getGoals call within the packages code area. This is the only recent activity in the last 90 days, with no other commits, issues, or code changes recorded.", + "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T17:14:01Z", + "updated_at": "2024-12-25T22:23:47Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "arthursjy", "score": 1, - "summary": "didintern is currently working on addressing a bug related to the DenyLoginSubtask on Twitter, with one open issue in the last 90 days. No code changes or commits have been made in this period.", - "avatar_url": "https://avatars.githubusercontent.com/u/8111964?u=bf7a296d838d185cee45d11f1b3d0101b9a4a794&v=4", + "summary": "arthursjy is currently working on an enhancement issue related to not using birdeye-api in the plugin-solana project. There have been no pull requests, commits, or code changes in the last 90 days, indicating a focus on issue management and planning for future development.", + "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4", "activity": { "code": { "total_commits": 0, @@ -1829,17 +1068,17 @@ "total_opened": 1, "opened": [ { - "number": 1431, - "title": "DenyLoginSubtask - TWITTER", + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", "state": "OPEN", - "created_at": "2024-12-24T11:44:01Z", - "updated_at": "2024-12-24T11:44:01Z", - "body": "**Describe the bug**\r\n\r\n \u26d4 Login attempt failed: Authentication error: DenyLoginSubtask\"\r\n\r\n\r\n**To Reproduce**\r\n\r\nRun the server with version (v0.1.7-alpha.1) \r\n\r\nEven though my twitter creds are correct its throwing error In twitter I can see that a new login message.\r\n\r\n**Expected behavior**\r\n\r\nShould login to twitter and post tweets\r\n\r\n**Screenshots**\r\n![image](https://github.com/user-attachments/assets/56a226ca-b766-4c26-94a1-9a5243e82d2c)\r\n\r\n", + "created_at": "2024-12-25T15:31:37Z", + "updated_at": "2024-12-25T15:31:37Z", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", "labels": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], "comments": [] @@ -1855,10 +1094,10 @@ } }, { - "contributor": "harperaa", + "contributor": "cxp-13", "score": 1, - "summary": "harperaa is currently working on adding a chat feature back to the terminal, focusing on enhancing this functionality. This work is reflected in the recent issue opened related to this task, with no commits or code changes made yet.", - "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", + "summary": "cxp-13 is currently addressing an issue related to connecting to a specific IP address that is timing out. This issue falls under the bug category and has not yet been resolved through any pull requests or commits in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4", "activity": { "code": { "total_commits": 0, @@ -1870,17 +1109,17 @@ "total_opened": 1, "opened": [ { - "number": 1421, - "title": "Add Chat Back to Terminal", + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", "state": "OPEN", - "created_at": "2024-12-24T03:52:12Z", - "updated_at": "2024-12-24T04:21:12Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\nI have noticed that the chat has been removed from the terminal. This has caused frustration, as it now takes a separate terminal, another command start:client, and several clicks to get testing and debugging and we have to use the browser client for debugging. When switching back and forward between different character files, for testing, we have to often restart that web client. This has slowed down the development/debugging process considerably. \r\n\r\n\r\n**Describe the solution you'd like**\r\nPlease return the chat to the terminal or perhaps add a start:terminal or similar, to allow the chat in the terminal, for those who want it. In that case, we should still be able to pass a --characters parameter...\r\n\r\n\r\n**Describe alternatives you've considered**\r\nBrowser client, requires several clicks and steps, just to test a prompt...which is accelerating carpal tunnel syndrome...:)\r\n\r\n\r\n**Additional context**\r\nThanks for consideration.\r\n\r\n", + "created_at": "2024-12-25T08:31:14Z", + "updated_at": "2024-12-25T13:33:48Z", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"\u25ce Generating message response..\"]\r\n\r\n [\"\u25ce Generating text...\"]\r\n\r\n \u2139 INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n \u2139 INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n \u26d4 ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "labels": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], "comments": [] diff --git a/data/daily/history/commits_2024_12_25.json b/data/daily/history/commits_2024_12_25.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/data/daily/history/commits_2024_12_25.json @@ -0,0 +1 @@ +[] diff --git a/data/daily/history/contributors_2024_12_25.json b/data/daily/history/contributors_2024_12_25.json new file mode 100644 index 0000000..48f2ed3 --- /dev/null +++ b/data/daily/history/contributors_2024_12_25.json @@ -0,0 +1,1898 @@ +[ + { + "contributor": "0xJord4n", + "score": 26, + "summary": "0xJord4n is currently focusing on keeping README translations synchronized in the .github code area, with 1 pull request successfully merged in the last 90 days. No other significant activity such as commits or issues has been recorded during this period.", + "avatar_url": "https://avatars.githubusercontent.com/u/74933942?u=a952add7652d59815f24581d83f504216780521b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1432, + "title": "chore: Keeps README translations synchronized", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T13:03:41Z", + "updated_at": "2024-12-24T21:38:40Z", + "body": "# Relates to:\r\n[chore: Keeps README translations synchronized](https://github.com/elizaOS/eliza/issues/1222)\r\n\r\n# Risks\r\nMedium. Changes to the main README file could affect all translated versions, and any errors in the translation script could propagate incorrect information across all language files.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nImplements a script that uses GPT-o4 to automatically update and translate all the README files whenever the English README.md file changes. Integrates with GitHub CI for automation.\r\n\r\n## What kind of change is this?\r\n- Features (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNot applicable.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with the new script implementation and its integration with GitHub Actions for CI.\r\n\r\n## Detailed testing steps\r\n- Test the script by making a change to the English README.md file.\r\n- Verify that the changes are correctly propagated to all translated README files.\r\n- Ensure that the GitHub CI pipeline runs successfully without errors.\r\n\r\n# Screenshots\r\n### Before\r\nNot applicable.\r\n\r\n### After\r\nNot applicable.\r\n\r\n# Deploy Notes\r\nNo special deployment instructions needed.\r\n\r\n# Database changes\r\nNone.\r\n\r\n# Deployment instructions\r\nBefore the workflow can run, you need to set up the following secrets in your GitHub repository:\r\n\r\n1. `GH_TOKEN`\r\n - A GitHub Personal Access Token with `repo` permissions\r\n - Used for checking out and committing changes to the repository\r\n\r\n2. `OPENAI_API_KEY`\r\n - OpenAI API key for accessing GPT-4o\r\n - Used for translating the README content", + "files": [ + { + "path": ".github/workflows/generate-readme-translations.yml", + "additions": 88, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "DISMISSED", + "body": "Please test that this works thank you :) " + }, + { + "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "monilpat", + "body": "Is there a way for us to test that this works as expected? Bit worried about it missing up existing documentation? I suggest trying to do use the following to test it locally: \r\n\r\n\u2022 Description: \u201cact\u201d is a command-line utility written in Go that lets you run your GitHub Actions workflows locally.\r\n\u2022 How It Works: It parses your workflow .yml files and simulates GitHub Actions events (push, pull_request, etc.) in Docker containers on your local machine.\r\n\u2022 Why It\u2019s Good:\r\n\r\nGreat for quickly iterating on a workflow without having to push to a branch repeatedly.\r\nLets you see console output, debug logs, and environment variables as if you were running on GitHub.\r\n\u2022 Potential Drawbacks:\r\nNot all GitHub Actions are guaranteed to work seamlessly. Some might rely on GitHub-hosted runners or environment specifics that \u201cact\u201d may not perfectly replicate.\r\nYou need Docker installed locally.\r\n\u2022 How to Get Started Quickly:\r\nInstall Docker.\r\nInstall act (on macOS you can use Homebrew: brew install act, or grab the binary from the GitHub releases page).\r\nFrom your repository, run:\r\nact \r\nFor example, act push or act pull_request.\r\nBy default, act uses a lightweight Docker image for its runner; for more complex workflows you might need:\r\nact --medium or --workflows .github/workflows/\r\n" + }, + { + "author": "monilpat", + "body": "Thanks for doing this btw HUGE much appreciated :) " + }, + { + "author": "0xJord4n", + "body": "Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n\r\n```bash\r\n[Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n| /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n| class EventSourceParserStream extends TransformStream {\r\n| ^\r\n| \r\n| ReferenceError: TransformStream is not defined\r\n| at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n```\r\n\r\nso here's the link of my working test on github:\r\nhttps://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n\r\nmerry xmas :)" + }, + { + "author": "monilpat", + "body": "> Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n> \r\n> ```shell\r\n> [Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n> | /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n> | class EventSourceParserStream extends TransformStream {\r\n> | ^\r\n> | \r\n> | ReferenceError: TransformStream is not defined\r\n> | at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> ```\r\n> \r\n> so here's the link of my working test on github: https://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n> \r\n> merry xmas :)\r\n\r\nAmazing thanks for sharing the successful working test on github much appreciated\r\n\r\nMerry Xmas :))) \r\n\r\n" + }, + { + "author": "monilpat", + "body": "For whatever reason I can't merge this PR and update the base branch do you mind git fetch -all and git pull origin/develop and pushing the latest commit as this is what I see: \r\n\"Screenshot\r\n" + }, + { + "author": "0xJord4n", + "body": "Let\u2019s go !\r\n\r\nhave a good holiday sir :)" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 3, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "yerinle", + "score": 23, + "summary": "yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee.md file. This is the only recent activity in the last 90 days, with 1 pull request merged in the docs code area.", + "avatar_url": "https://avatars.githubusercontent.com/u/499891?u=6379d119bdd6bba06ed8c9a8f33e215008d8d588&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1428, + "title": "Update eliza-in-tee.md (fixing typo)", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T10:44:16Z", + "updated_at": "2024-12-24T17:14:32Z", + "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/docs/advanced/eliza-in-tee.md", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [ + { + "author": "onlyzerosonce", + "state": "COMMENTED", + "body": "LGTM, I waa just testing if I can approve the PR" + }, + { + "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 3, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "harveyjavier", + "score": 18, + "summary": "harveyjavier is currently working on adding a Tagalog translation to the README file. They have opened an issue and submitted a pull request for this enhancement, which has already been merged into the repository.", + "avatar_url": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1420, + "title": "docs: Add Tagalog README Translation", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T02:54:10Z", + "updated_at": "2024-12-24T03:43:50Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n#1419 \r\n\r\n# Risks\r\n\r\nLow - This is a documentation-only change adding a new translation file.\r\n\r\n# Background\r\n\r\nAdds Tagalog translation of the main README.md file as README_TG.md, including:\r\n- Full translation of all main sections\r\n- Proper Tagalog character rendering and formatting\r\n- Maintained all links and functionality from the original README\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (adds new language support to existing documentation)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes are documentation changes themselves - adding a new translated README file.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Open README_TG.md in either VSCode/Cursor/github.dev's Markdown preview\r\n- Verify formatting is correct\r\n- Check that all links are functional\r\n- Verify Tagalog text renders properly\r\n\r\n## Detailed testing steps\r\n\r\n- View the raw file to verify proper Tagalog text formatting\r\n- View the rendered file to ensure readability and consistency\r\n- Check that the language selector at the top includes a Tagalog link\r\n- Verify all internal links work correctly\r\n- Ensure images and formatting match the main README.md structure\r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": "README.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "README_TG.md", + "additions": 129, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM" + } + ], + "comments": [ + { + "author": "harveyjavier", + "body": "> Collaborator\r\n\r\nThanks!" + } + ] + } + ] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1419, + "title": "Add Tagalog Translation on README", + "state": "OPEN", + "created_at": "2024-12-24T02:43:14Z", + "updated_at": "2024-12-24T02:43:14Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThe project currently lacks Tagalog language support in its documentation. While there are translations for several other languages, Filipino developers cannot read the documentation in their native language. This is particularly important as it will improve accessibility and inclusivity for the growing tech community in the Philippines.\r\n\r\n**Describe the solution you'd like**\r\n\r\nAdd a complete Tagalog translation of the main README.md as README_TG.md, including:\r\n- Full translation of all sections, including features, installation instructions, and usage guidelines\r\n- Proper formatting to ensure readability\r\n- Addition of Tagalog (Tagalog) to the language selector at the top of all README files\r\n- Maintenance of all existing functionality (links, images, code blocks)\r\n\r\n**Describe alternatives you've considered**\r\n\r\nUsing browser-based translation tools (like Chrome's translate feature) \u2013 inadequate because automated translations may not accurately capture technical terms and nuances in Tagalog.\r\n\r\n**Additional context**\r\n\r\nTagalog is spoken by millions of Filipinos and is one of the primary languages in the Philippines.\r\nThe translation should follow the same pattern as other language translations in the repo (README_XX.md format).\r\nThis addition will make the project more accessible to the Filipino developer community.\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "xwxtwd", + "score": 17, + "summary": "xwxtwd is currently working on adding the alienx chain to the plugin-evm in the packages code area on GitHub. This is reflected in a single pull request that has been successfully merged in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/3345621?u=b4ca21dd3ff0961c42a12fb15574e3bdfb779bea&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1438, + "title": "feat: (plugin-evm) add alienx chain", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T16:08:28Z", + "updated_at": "2024-12-24T19:24:21Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\nNo specific issue or ticket related.\r\n# Risks\r\nLow. This PR only adds types for AlienX, and it does not impact existing features or functionalities.\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR introduces types for AlienX.\r\n\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\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer should start by checking the added file for correctness and compatibility with the existing setup.\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-evm/src/templates/index.ts", + "additions": 3, + "deletions": 3 + }, + { + "path": "packages/plugin-evm/src/types/index.ts", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "fyInALT", + "score": 17, + "summary": "fyInALT is currently working on adding the `only` feature to the booleanFooter in the packages code area. This work includes one merged pull request, with no new commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/97101459?u=c3ff76ed4f2459e1d9bd2e9d72c9ff379aa8141b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1437, + "title": "feat: add `only` to booleanFooter", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T15:55:18Z", + "updated_at": "2024-12-24T17:06:15Z", + "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\nmedium\r\n\r\n# Background\r\n\r\nWhen use `llama3.1:8b` as OLLAMA_MODEL, when use `booleanFooter`, it will return not just YES or NO, like:\r\n\r\nUse context:\r\n\r\n```\r\n {\"context\":\"# Task: Decide if the recent messages should be processed for token recommendations.\r\n\r\n Look for messages that:\r\n\r\n ... \r\n\r\n Should the messages be processed for recommendations? Respond with a YES or a NO.\"} \r\n```\r\n\r\nand will return:\r\n\r\n```\r\n {\"response\":\"YES \r\n\r\nThere are several instances in this conversation where users ask to create tokens, send Solana coins, and discuss token-related topics. The keyword \\\"token\\\" is mentioned multiple times, indicating that these conversations should be processed for token recommendation.\"} \r\n```\r\n\r\nIt will make the match in `parseBooleanFromText` return null, then make `generateTrueOrFalse` call blocked by \r\n\r\n```ts\r\nwhile (true) {\r\n try {\r\n const response = await generateText({\r\n stop,\r\n runtime,\r\n context,\r\n modelClass\r\n });\r\n const parsedResponse = parseBooleanFromText(response.trim());\r\n if (parsedResponse !== null) {\r\n return parsedResponse;\r\n }\r\n } catch (error) {\r\n elizaLogger.error(\"Error in generateTrueOrFalse:\", error);\r\n }\r\n}\r\n```\r\nSo that the eliza will keep retry to got the response.\r\n\r\nIt can fixed by add a `only` in `booleanFooter`. Then it will only return `YES` or `NO`\r\n\r\n\r\n## What does this PR do?\r\n\r\nThis PR change booleanFooter to:\r\n\r\n```\r\nRespond with only a YES or a NO.\r\n```\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\nNo\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/core/src/parsing.ts", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "alessandromazza98", + "score": 17, + "summary": "alessandromazza98 is currently working on improving logging in the plugin-coinbase package. They have submitted 1 pull request, which has been successfully merged, with no additional commits or code changes in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/121622391?u=a6a1e82dd34d15ee571ff0bf72cd395b1385372f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1429, + "title": "improve logging in plugin-coinbase", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T11:08:12Z", + "updated_at": "2024-12-24T17:09:56Z", + "body": "\r\n\r\n# Relates to:\r\n\r\n\r\nCloses https://github.com/elizaOS/eliza/issues/1194\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\nThis PR adds some logs in the `plugin-coinbase/src/plugins` folder using `elizaLogger` and improve consistencies between those logs.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements: no core changes are made, just new logs are added and/or modified.\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-coinbase/src/plugins/advancedTrade.ts", + "additions": 7, + "deletions": 0 + }, + { + "path": "packages/plugin-coinbase/src/plugins/commerce.ts", + "additions": 18, + "deletions": 14 + }, + { + "path": "packages/plugin-coinbase/src/plugins/massPayments.ts", + "additions": 17, + "deletions": 13 + }, + { + "path": "packages/plugin-coinbase/src/plugins/tokenContract.ts", + "additions": 13, + "deletions": 13 + }, + { + "path": "packages/plugin-coinbase/src/plugins/trade.ts", + "additions": 8, + "deletions": 7 + }, + { + "path": "packages/plugin-coinbase/src/plugins/webhooks.ts", + "additions": 7, + "deletions": 6 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [ + { + "author": "alessandromazza98", + "body": "I'm merging into `develop` as I saw that this is the branch where new PRs gets merged into first" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tomguluson92", + "score": 17, + "summary": "tomguluson92 is currently working on a feature related to client-github retry in the packages code area. They have recently contributed 1 pull request, which has been successfully merged.", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1425, + "title": "feat: client-github retry", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T09:01:17Z", + "updated_at": "2024-12-24T18:17:23Z", + "body": "\r\n\r\n# Relates to:\r\n\r\nNo\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\nWhen someone trying to clone a repo, it may occurs the network problem, so a retry mechanism is needed in ensuring a smooth and effective repo clone.\r\n\r\n## What does this PR do?\r\n\r\nAdd retry mechanism to clone repo where people may be in region or area that the network is restricted by the Great Fire Wall.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\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-github/src/index.ts", + "additions": 21, + "deletions": 4 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "omahs", + "score": 17, + "summary": "omahs is currently working on fixing typos in the packages codebase, 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/73983677?u=eee6e58b90942c2dca935e4cfdb14eaacbd06c6f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1423, + "title": "fix: typos", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T07:26:08Z", + "updated_at": "2024-12-24T17:18:40Z", + "body": "fix: typos", + "files": [ + { + "path": "packages/adapter-sqljs/src/types.ts", + "additions": 3, + "deletions": 3 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "DISMISSED", + "body": "" + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 2, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "nulLeeKH", + "score": 15, + "summary": "nulLeeKH is currently working on a pull request to make the search feature in the Twitter client functional. The code changes are focused on the agent and packages code areas.", + "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1433, + "title": "Make search feature in twitter client works", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T13:51:59Z", + "updated_at": "2024-12-24T21:38:14Z", + "body": "# Relates to:\r\n\r\nThis PR has written without issue ticket\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nModified the enableSearch feature of the twitter client to make it work.\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\nWe wanted the AI Agent to be exposed to random posts to learn and to respond to members of the community, and we found the TWITTER_SEARCH_ENABLE environment variable while looking for a way to do so. However, we confirmed that it was missing during the development process and that the environment variable was not working properly, so we modified it to be as identical to other toggle functions as possible.\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\nJust run agent with twitter client with TWITTER_SEARCH_ENABLE environment variable\r\n\r\n## Detailed testing steps\r\n\r\nNone, not much details needed.\r\n\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\nblairlee_dev\r\n", + "files": [ + { + "path": ".gitignore", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 0, + "deletions": 29 + }, + { + "path": "packages/client-twitter/src/index.ts", + "additions": 4, + "deletions": 1 + }, + { + "path": "packages/client-twitter/src/search.ts", + "additions": 5, + "deletions": 3 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "CHANGES_REQUESTED", + "body": "Thanks for doing this please address the comments then good to go :) " + }, + { + "author": "nulLeeKH", + "state": "COMMENTED", + "body": "" + }, + { + "author": "nulLeeKH", + "state": "COMMENTED", + "body": "" + }, + { + "author": "monilpat", + "state": "APPROVED", + "body": "Thanks for addressing comments :) " + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 4, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "RiceChuan", + "score": 14, + "summary": "RiceChuan is currently focused on improving the documentation by correcting the usage of quotation marks and removing duplicate words. This work includes one merged pull request in the docs code area over the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/29748602?u=64218b59f2a07985d08393eb9cf877fee5a1e43a&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1424, + "title": "docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words", + "state": "MERGED", + "merged": true, + "created_at": "2024-12-24T07:41:20Z", + "updated_at": "2024-12-24T17:22:25Z", + "body": "1.Quotation marks are used incorrectly.2.Delete duplicate words", + "files": [ + { + "path": "docs/community/Notes/lore.md", + "additions": 1, + "deletions": 1 + }, + { + "path": "docs/community/creator-fund.md", + "additions": 1, + "deletions": 1 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "" + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "FWangZil", + "score": 12, + "summary": "FWangZil is currently working on replacing a hardcoded model class with dynamic parameters in a fix PR and addressing a bug related to dynamic parameters being ignored in a generateText function. Additionally, they are adding liquid staking support for Solana in a feature PR and addressing the corresponding issue of adding Liquid Staking Action to the Solana Plugin.", + "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 2, + "commits": [], + "pull_requests": [ + { + "number": 1440, + "title": "fix: replace hardcoded model class with dynamic parameter", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T17:07:54Z", + "updated_at": "2024-12-24T18:23:54Z", + "body": "\r\n# Relates to\r\nissue https://github.com/elizaOS/eliza/issues/1439\r\n\r\n# Description\r\n\r\n- **What is the problem?** \r\n In the `generateText` function, the model type was hard-coded, preventing the function from dynamically switching models based on external parameters. \r\n- **What does this PR do?** \r\n 1. Removes the hard-coded `model class` from `generateText` and `generateMessageResponse`. \r\n 2. Use the parameter to specify the desired model type. \r\n\r\n# Risks\r\n\r\n- **Risk Level**: Low \r\n - The change is confined to the internal logic of the `generateText` and `generateMessageResponse` function. \r\n\r\n# Background\r\n\r\n- Previously, `generateText` and `generateMessageResponse` did not allow dynamic model switching based on incoming parameters, limiting flexibility and making it cumbersome to use different models in various scenarios. \r\n- By removing the hard-coded approach, developers can easily specify or configure the desired model without modifying core code.\r\n\r\n# What kind of change is this?\r\n\r\n- [x] **Bug fix** (fixes a reported issue) \r\n- [ ] New feature (adds functionality) \r\n- [ ] Other (please describe)\r\n\r\n# Documentation changes needed?\r\n\r\n- [ ] Yes \r\n- [x] No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n- Look at how `generateText` and `generateMessageResponse` now handles the incoming model parameter, and verify that any calling code is appropriately updated to use this new parameter.\r\n\r\n## Detailed testing steps \r\n- Call `generateText` and `generateMessageResponse` with a specific model parameter, confirming that it correctly switches to the chosen model. \r\n", + "files": [ + { + "path": "packages/core/src/generation.ts", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "APPROVED", + "body": "LGTM - but please confirm that this works with a screenshot and if so remove hard coding of gpt-4o in generateObject generatedObjectedDEPRECATED etc thanks " + } + ], + "comments": [] + }, + { + "number": 1435, + "title": "feat(solana): Add liquid staking support", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T15:17:56Z", + "updated_at": "2024-12-24T19:18:05Z", + "body": "Add the ability of liquid staking to the current elizaos solana plugin.\r\n\r\n- It can build the desired staking requests for end-users, eliminating the complexity of front-end development and the need for users to switch between multiple platforms to compare APYs and select staking protocols.\r\n- Currently supports five protocols: \"jito\", \"blaze\", \"jpool\", \"marinade\", \"marginfi\", and is capable of expanding to support more protocols.\r\n\r\n# Relates to:\r\n\r\nIssue https://github.com/elizaOS/eliza/issues/1434\r\n\r\n# Risks\r\n\r\n- There are no risks. An independent new Solana feature module has been introduced without modifying the code of other parts.\r\n\r\n# Background\r\n\r\n- There are some distinctive liquid staking solutions on Solana. However, users or developers need to provide a specific APP for users to conduct staking.\r\n- Liquid Staking Action aims to enable users to interact with the Agent through natural language. The Eliza Agent will build transactions for users. The front-end only needs to integrate a Solana wallet to support multiple staking protocols, eliminating the need to code and integrate the specific logic of different staking protocols.\r\n\r\n## What does this PR do?\r\n\r\n- When the user specifies a liquid staking protocol, build the corresponding transaction (base58 encoded) for the user.\r\n- When the user does not specify a specific protocol, based on the APY and TVL data of multiple protocols provided by the StakeProtocolProvider, use the designated LLM to optimize the staking protocol for the user and then build the corresponding transaction.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\n\r\n- No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- packages/plugin-solana/src/actions/liquidStake.ts\r\n\r\n## Detailed testing steps\r\n\r\n1. Enable @elizaos/plugin-solana in the character.\r\n2. Interact with the Agent, for example: \u201cMy address is HqvTPqS2FaB2fQ7mxqZHQHz6H28o1u2Z9fRH5No8JN2W and I want to stake 0.01 SOL\u201d.\r\n3. Obtain the response (the constructed staking transaction).", + "files": [ + { + "path": "packages/plugin-solana/package.json", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/plugin-solana/src/actions/liquidStake.ts", + "additions": 468, + "deletions": 0 + }, + { + "path": "packages/plugin-solana/src/index.ts", + "additions": 3, + "deletions": 2 + }, + { + "path": "packages/plugin-solana/src/providers/stakeProtocol.ts", + "additions": 202, + "deletions": 0 + }, + { + "path": "packages/plugin-solana/src/types/stake.ts", + "additions": 54, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 497, + "deletions": 365 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 2, + "opened": [ + { + "number": 1439, + "title": "Bug: generateText is ignoring dynamic parameters due to a hard-coded model class", + "state": "OPEN", + "created_at": "2024-12-24T16:59:30Z", + "updated_at": "2024-12-24T16:59:30Z", + "body": "**Is your feature request (or bug) related to a problem? Please describe.**\r\n\r\nIn the `generateText` function, the `model class` is currently hard-coded(gpt-4o), which prevents dynamically switching to different models based on incoming parameters. This reduces flexibility and can increase development complexity in scenarios where different models are needed.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Remove the hard-coded `model class` reference in the `generateText` function and instead use a model name/type passed in as a function parameter or configuration.\r\n- Ensure there is a sensible default value to maintain compatibility with existing functionality or cases where a specific model is not provided.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Leaving it as is would require manual code changes to switch models in different scenarios, which is not ideal.\r\n- Introducing a separate function to handle switching model classes could lead to redundant logic and increase maintenance overhead.\r\n\r\n**Additional context**\r\n\r\n- **Risks**: This change is minor, but it\u2019s important to check if other parts of the code depend on the old hard-coded logic.\r\n- **Testing**:\r\n - Test with multiple model types to confirm that the function correctly switches to the specified model.", + "labels": [ + { + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + }, + { + "number": 1434, + "title": "Add Liquid Staking Action to the Solana Plugin", + "state": "OPEN", + "created_at": "2024-12-24T14:58:25Z", + "updated_at": "2024-12-24T14:58:25Z", + "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently, there are various liquid staking protocols on Solana, but users or developers often need to build dedicated front-end solutions or switch between multiple platforms to compare APYs and select the appropriate protocol before staking. This process is tedious and increases front-end development complexity, making it cumbersome for users.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Add the ability for liquid staking to the existing ElizaOS Solana plugin, simplifying the process of building staking requests for users without requiring specialized front-end logic.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Continue relying on each protocol\u2019s custom front-end or having developers integrate multiple protocols manually. This leads to high complexity and development cost. \r\n- Have users manually compare different platforms\u2019 APYs, which can be error-prone and inconvenient.\r\n\r\n**Additional context**\r\n\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + } + ] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "humanagent", + "score": 5, + "summary": "humanagent is currently working on a feature related to XMTP in the agent, docs, and packages code areas. This includes a pull request for the XMTP feature, with no merged changes yet.", + "avatar_url": "https://avatars.githubusercontent.com/u/1447073?u=dff55a747ae4569a87f4eae7a01578682640a9e9&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1441, + "title": "feat: XMTP", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T17:52:09Z", + "updated_at": "2024-12-24T21:21:43Z", + "body": "# End-to-end encrypted messaging\r\n\r\nAI is transforming consumer tech, with messaging becoming the main channel for interacting with agent services. This shift will scale message traffic astronomically, analogous to the web\u2019s rise in the 2000s. Just as Cloudflare and https secured web traffic, messaging will need robust scalable end-to-end encrypted messages to protect sensitive information.\r\n\r\n## Risks\r\n\r\nRisks of not using end-to-end encryption for agent interactions exposes the users to what is called as Man in the **Middle Attacks**.\r\n\r\n> **Man in the Middle Attacks**: Intercept requests in between to alter or manipulate data sent or received by the AI service\r\n\r\n- **Phishing**: Messages can be intercepted and manipulated.\r\n- **Privacy**: Sensitive information read by unwanted parties\r\n- **Tampering**: Content can be altered without detection.\r\n\r\n:::tip\r\nMore concrete sensitive data could include credit card details, private keys and passwords which is not yet widely spread but as agents become smarter more use cases will include this type of sharing.\r\n:::\r\n\r\n## XMTP\r\n\r\nEliza agents come with a ready to use client that uses XMTP providing end-to-end encrypted messaging for every agent intereaction, crucial for privacy, security, and compliance provided by the XMTP network.\r\n\r\n### Features:\r\n\r\n- **E2EE**: End to end encrypted MLS encryption\r\n- **Multi-agent**: Support multi-agent through group chats\r\n- **Interoperable**: Works across all platforms and frontends\r\n- **Scalable**: Decentralized, open-source\r\n- **Anonymous**: By default every identity is ephemeral and anonymous.\r\n\r\n### Installation\r\n\r\nInstall the `xmtp` package\r\n\r\n```bash [cmd]\r\nbun install xmtp\r\n```\r\n\r\n### Usage\r\n\r\nThis is how you can use the `xmtp` package to create an agent and handle messages.\r\n\r\n- `WALLET_PRIVATE_KEY`: This will encrypt all messages and make it available through its public address or ens domain.\r\n\r\n```tsx\r\nimport { XMTP } from \"xmtp\";\r\n\r\nconst xmtp = new XMTP(onMessage, {\r\n encryptionKey: WALLET_PRIVATE_KEY,\r\n});\r\nawait xmtp.init();\r\nconst onMessage = async (message, user) => {\r\n console.log(`Decoded message: ${message.content.text} by ${user.address}`);\r\n // Your AI model response\r\n await xmtp.send({\r\n message: response,\r\n originalMessage: message,\r\n });\r\n};\r\n```\r\n\r\nFor more information visit XMTP [website](https://xmtp.org/)", + "files": [ + { + "path": "agent/.gitignore", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 62, + "deletions": 60 + }, + { + "path": "agent/src/index.ts", + "additions": 7, + "deletions": 1 + }, + { + "path": "docs/docs/advanced/e2ee.md", + "additions": 66, + "deletions": 0 + }, + { + "path": "docs/docs/guides/advanced.md", + "additions": 1, + "deletions": 0 + }, + { + "path": "docs/docs/packages/agent.md", + "additions": 5, + "deletions": 0 + }, + { + "path": "docs/docs/packages/agents.md", + "additions": 228, + "deletions": 223 + }, + { + "path": "docs/docs/packages/clients.md", + "additions": 153, + "deletions": 146 + }, + { + "path": "docs/docs/packages/packages.md", + "additions": 1, + "deletions": 0 + }, + { + "path": "docs/sidebars.js", + "additions": 6, + "deletions": 1 + }, + { + "path": "packages/client-xmtp/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-xmtp/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/client-xmtp/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/client-xmtp/src/index.ts", + "additions": 188, + "deletions": 0 + }, + { + "path": "packages/client-xmtp/tsconfig.json", + "additions": 10, + "deletions": 0 + }, + { + "path": "packages/client-xmtp/tsup.config.ts", + "additions": 10, + "deletions": 0 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/baselinks.ts", + "additions": 74, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/cdp.ts", + "additions": 302, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/resolver.ts", + "additions": 216, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/storage.ts", + "additions": 99, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/templates.ts", + "additions": 154, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/types.ts", + "additions": 72, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/actions/walletservice.ts", + "additions": 559, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/src/index.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-concierge/tsup.config.ts", + "additions": 20, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 990, + "deletions": 21 + } + ], + "reviews": [], + "comments": [ + { + "author": "shakkernerd", + "body": "We can continue the convo in here from #1285 " + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "kroist", + "score": 5, + "summary": "kroist is currently working on adding anthropic image descriptions in the 'packages' code area on GitHub, with one pull request submitted but not yet merged in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/36311724?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1436, + "title": "Add anthropic image description", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T15:31:31Z", + "updated_at": "2024-12-24T18:08:04Z", + "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-node/package.json", + "additions": 2, + "deletions": 1 + }, + { + "path": "packages/plugin-node/src/services/image.ts", + "additions": 88, + "deletions": 10 + }, + { + "path": "packages/plugin-node/src/services/imageUtils.ts", + "additions": 79, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 145, + "deletions": 62 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "CHANGES_REQUESTED", + "body": "Thanks for doing this added a couple of comments to make this configurable after that good to go :) " + } + ], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "jobyid", + "score": 5, + "summary": "jobyid is currently working on a pull request for a MongoDB adaptor. The code changes are focused on the .idea, agent, and packages code areas.", + "avatar_url": "https://avatars.githubusercontent.com/u/56961121?u=4b674517547cad5b4a9754de624496f105b9e14c&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1427, + "title": "mongo-db adaptor", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T10:30:12Z", + "updated_at": "2024-12-24T10:30:12Z", + "body": "Added an adaptor which connects to mongo db atlas. Allowing you to store agent data in the cloud. If you have the appropriate tier you can also take advantage of their vector search functionality.\r\nIt should have all the same functionality as the other database adaptors. \r\n\r\n\r\n\r\n# Relates to:\r\nAdding the option of using MongoDB in the cloud to store you agents data \r\n\r\n# Risks\r\nLow, adds additional options for database usage\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds the option to store your agents data in MongoDB Atlas, and take advantage of their vector search. I have also updated the .env.example to include the additional variables for the mongo connection. And added to the agent index with functionality to initialise this database if required. \r\n\r\n## What kind of change is this?\r\nAdding an additional feature \r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nIn my day job we exclusively use mongoDB for our database needs, for commercials and performance reasons. As we want to develop AI Agents, we need to have the mongoDB adaptor. IN the sprit of OpenSource I wanted to make sure it was available for the whole community to use as well. \r\n\r\n# Documentation changes needed?\r\nA small additional input to the documentation is required to make users aware of the additional functionality and how it can be actioned. \r\nSimilar to the Postgres set up just adding in the appropriate connection string to the .env file will action he change to start using MongoDB as the database. \r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer will need to have a least a free account with mongoDB atlas, then add the connection string and a Database name to the .env file. After that the agent should run as expected, saving memories as before. The reviewer can verify the saved data inside the MongoDB interface. \r\n \r\n## Detailed testing steps\r\n1. Create MongoDB atlas account \r\n2. Add connection string and Database name to .env file \r\n3. Run agent \r\n4. Verify inside MongoDB interface that the collections have formed and data is being stored \r\n\r\n\r\n\r\n\r\n\r\n", + "files": [ + { + "path": ".env.example", + "additions": 4, + "deletions": 0 + }, + { + "path": ".idea/.gitignore", + "additions": 5, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 31, + "deletions": 2 + }, + { + "path": "packages/adapter-mongodb/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/adapter-mongodb/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/adapter-mongodb/package.json", + "additions": 26, + "deletions": 0 + }, + { + "path": "packages/adapter-mongodb/src/index.ts", + "additions": 910, + "deletions": 0 + }, + { + "path": "packages/adapter-mongodb/tsconfig.json", + "additions": 23, + "deletions": 0 + }, + { + "path": "packages/adapter-mongodb/tsup.config.ts", + "additions": 28, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "0xPBIT", + "score": 5, + "summary": "0xPBIT is currently working on implementing the Twitter Post Action in the agent and packages code areas. This includes a pull request for this feature, with no merged changes yet in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1422, + "title": "feat: Twitter Post Action Implementation", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T04:41:19Z", + "updated_at": "2024-12-24T18:21:26Z", + "body": "# Relates to:\r\nN/A - Plugin implementation for Twitter posting functionality via action\r\n\r\n# Risks\r\nLow - This is a new plugin that adds Twitter posting capability. The main risks are:\r\n- Failed tweets due to rate limiting or authentication issues\r\n- Potential for tweets that are too long (mitigated by automatic truncation)\r\n- No risk to existing functionality as this is an isolated plugin\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds a Twitter plugin that enables posting tweets through the agent-twitter-client package. Key features:\r\n- Implements POST_TWEET action for sending tweets\r\n- Handles Twitter authentication via environment variables\r\n- Automatically truncates tweets that exceed character limits\r\n- Provides detailed error handling and logging\r\n- Supports dry run mode for testing\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n- Adds new Twitter posting capability\r\n- Uses the standalone agent-twitter-client package\r\n- Implements proper error handling and character limit enforcement\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation:\r\n- Add Twitter plugin setup instructions\r\n- Document required environment variables:\r\n - TWITTER_USERNAME\r\n - TWITTER_PASSWORD\r\n - TWITTER_EMAIL\r\n - TWITTER_DRY_RUN (optional)\r\n - TWITTER_2FA_SECRET (optional)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Review `packages/plugin-twitter/src/actions/post.ts` for the main implementation\r\n2. Check error handling in postTweet function\r\n3. Review tweet composition logic in composeTweet function\r\n4. Verify environment variable handling\r\n\r\n## Detailed testing steps\r\n1. Set up environment variables in `.env`:\r\n```bash\r\nTWITTER_USERNAME=your_username\r\nTWITTER_PASSWORD=your_password\r\nTWITTER_EMAIL=your_email\r\nTWITTER_DRY_RUN=false\r\n```\r\n\r\n2. Test tweet posting:\r\n```bash\r\n# Start with dry run mode\r\nTWITTER_DRY_RUN=true pnpm dev\r\n\r\n# Test actual posting\r\nTWITTER_DRY_RUN=false pnpm dev\r\n```\r\n\r\n3. Verify error handling:\r\n- Try posting a tweet > 180 characters (should truncate)\r\n- Try posting with invalid credentials (should show error)\r\n- Try posting with missing credentials (should validate)\r\n\r\n4. Check logging:\r\n- Verify credential validation logs\r\n- Check tweet content generation logs\r\n- Verify error messages are descriptive\r\n\r\n# Deploy Notes\r\n- Requires agent-twitter-client package\r\n- Environment variables must be set for Twitter authentication\r\n- No database changes required", + "files": [ + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/package.json", + "additions": 17, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/src/actions/post.ts", + "additions": 200, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/src/index.ts", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-twitter/tsup.config.ts", + "additions": 10, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "monilpat", + "state": "CHANGES_REQUESTED", + "body": "Amazing work thanks for doing this please address comments " + } + ], + "comments": [ + { + "author": "0xPBIT", + "body": "Several people have commented in the discord coders chat about twitter functionality from an action instead of the hard coded client loop. I've opened this PR just to show an example of how this can be done.\r\n\r\nThis is a small demo where I workshop a tweet with c3po agent to come up with a tweet. Then I can say \"go tweet that\" and the agent will put it on their twitter profile -- without using the client-twitter package.\r\n\r\n\"Screenshot\r\n\"Screenshot\r\n\r\n\r\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "swizzmagik", + "score": 5, + "summary": "swizzmagik is currently working on adding a birdeye plugin to the agent and packages code areas. This is reflected in a recent pull request that has not yet been merged, with no other recent activity in terms of commits or code changes.", + "avatar_url": "https://avatars.githubusercontent.com/u/3955528?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1417, + "title": "feat: add birdeye plugin", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T00:27:28Z", + "updated_at": "2024-12-24T19:05:23Z", + "body": "This is my first attempt to contribute to this project. I have been adding features and additional query capability for the Birdeye API and I think many other could benefit.\r\n\r\n# Relates to:\r\n\r\n- plugin ecosystem and capabilities for accessing and querying Birdeye data API\r\n- [Expanding Birdeye thread](https://discord.com/channels/1253563208833433701/1318974518680748173)\r\n- possible overlap with: https://github.com/elizaOS/eliza/pull/1366\r\n\r\n\r\n# Risks\r\n\r\n- People who already have the BIRDEYE_API_KEY enabled could end up querying the endpoints more\r\n\r\n# Background\r\n\r\nThis pull request significantly enhances the Birdeye API integration within the AI agent framework by expanding its capabilities beyond basic query functionality. The proposed tools enable more comprehensive and versatile interactions with the Birdeye API, including data clearing and management features. These improvements provide the AI agents with a broader and more efficient toolkit for handling Birdeye API data, enhancing the overall flexibility and utility of the framework for developers and end-users. By extending the scope of the API integration, this contribution supports more robust and scalable solutions within the project.\r\n\r\n## What does this PR do?\r\n\r\nThis PR adds providers that represent all the different API endpoints available in the Birdeye API. By doing so, it ensures that when a user requests a specific type of data, the AI agent has a significantly higher likelihood of accessing and utilizing the relevant data in its response. This enhancement maximizes the agent\u2019s ability to provide accurate and contextually rich answers, leveraging the full scope of the Birdeye API.\r\n\r\n## What kind of change is this?\r\n\r\n- net new plugin\r\n\r\n\r\n\r\n\r\nThis API connection is critical for enabling the agent to perform research and analyze the dynamics of the ecosystem effectively. By integrating comprehensive access to all Birdeye API endpoints, this PR lays the groundwork for future enhancements and features that will further expand the agent's capabilities. This integration not only empowers the agent to deliver more insightful and accurate responses but also positions the framework for scalable growth and the addition of advanced functionalities in the future.\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n- Yes, this will require the docs to be updated. I am happy to update the appropriate project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Pull the branch\r\n- Enable plugin by setting the BIRDEYE_API_KEY\r\n- Utilize the web console as ask questions about onchain data. \r\n- Example prompts:\r\n-- give me a list of wallets on solana that i should be following\r\n-- tell me more about BbJgE7HZMaDp5NTYvRh5jZSkQPVDTU8ubPFtpogUkEj4\r\n-- what are the top gainers today\r\n-- what is the current price of HIPPO?\r\n-- what tokens are tredning today on sui? \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 7, + "deletions": 3 + }, + { + "path": "packages/plugin-birdeye/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/README.md", + "additions": 77, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/package.json", + "additions": 31, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/index.ts", + "additions": 57, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/__tests__/utils.test.ts", + "additions": 145, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/__tests__/price-provider.test.ts", + "additions": 218, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/index.ts", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/networks-provider.ts", + "additions": 140, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-base-quote-provider.ts", + "additions": 244, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-pair-provider.ts", + "additions": 210, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-provider.ts", + "additions": 256, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-provider.ts", + "additions": 245, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-seek-provider.ts", + "additions": 266, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/price-history-provider.ts", + "additions": 230, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/price-multiple-provider.ts", + "additions": 200, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/price-provider.ts", + "additions": 175, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/price-volume-provider.ts", + "additions": 234, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/token-trades-provider.ts", + "additions": 236, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/defi/trades-seek-provider.ts", + "additions": 210, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/index.ts", + "additions": 148, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/pair/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/pair/pair-overview-provider.ts", + "additions": 286, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/search/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/search/token-market-data-provider.ts", + "additions": 214, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/__tests__/token-overview-provider.test.ts", + "additions": 189, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/all-market-list-provider.ts", + "additions": 114, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/index.ts", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/new-listing-provider.ts", + "additions": 113, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-creation-provider.ts", + "additions": 199, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-holder-provider.ts", + "additions": 220, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-list-provider.ts", + "additions": 198, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-market-provider.ts", + "additions": 217, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-metadata-provider.ts", + "additions": 197, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-mint-burn-provider.ts", + "additions": 203, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-overview-provider.ts", + "additions": 266, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-security-provider.ts", + "additions": 238, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/token-trade-provider.ts", + "additions": 327, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/top-traders-provider.ts", + "additions": 104, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/token/trending-tokens-provider.ts", + "additions": 270, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/trader/gainers-losers-provider.ts", + "additions": 228, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/trader/index.ts", + "additions": 2, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/trader/trades-seek-provider.ts", + "additions": 247, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/utils.ts", + "additions": 298, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/index.ts", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/portfolio-multichain-provider.ts", + "additions": 159, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/supported-networks-provider.ts", + "additions": 131, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/token-balance-provider.ts", + "additions": 135, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-multichain-provider.ts", + "additions": 174, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-provider.ts", + "additions": 381, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/src/providers/wallet/wallet-portfolio-provider.ts", + "additions": 335, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/tsconfig.json", + "additions": 10, + "deletions": 0 + }, + { + "path": "packages/plugin-birdeye/tsup.config.ts", + "additions": 29, + "deletions": 0 + } + ], + "reviews": [], + "comments": [ + { + "author": "swizzmagik", + "body": "I'd love to get input from the team if perhaps these should be actions instead of provider data." + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "tweedyant", + "score": 5, + "summary": "tweedyant is currently working on a pull request for the \"Gai trial\" in the code areas of agent, packages, and characters. This is the only recent activity in the last 90 days, with no commits or code changes reported.", + "avatar_url": "https://avatars.githubusercontent.com/u/192077188?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1416, + "title": "Gai trial", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-24T00:19:14Z", + "updated_at": "2024-12-24T00:19:28Z", + "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/src/index.ts", + "additions": 3, + "deletions": 2 + }, + { + "path": "characters/c3po.character.json", + "additions": 0, + "deletions": 98 + }, + { + "path": "characters/dobby.character.json", + "additions": 0, + "deletions": 98 + }, + { + "path": "characters/eternalai.character.json", + "additions": 0, + "deletions": 394 + }, + { + "path": "characters/tate.character.json", + "additions": 0, + "deletions": 63 + }, + { + "path": "characters/trump.character.json", + "additions": 0, + "deletions": 350 + }, + { + "path": "packages/client-telegram/src/messageManager.ts", + "additions": 5, + "deletions": 0 + }, + { + "path": "packages/client-telegram/src/telegramClient.ts", + "additions": 60, + "deletions": 39 + }, + { + "path": "packages/client-telegram/tsconfig.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "pnpm-lock.yaml", + "additions": 21510, + "deletions": 16881 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "iankm", + "score": 3, + "summary": "iankm is currently working on adding the thirdweb plugin to the agent and packages code areas. This is reflected in a recent pull request, with no commits or code changes made in the last 90 days.", + "avatar_url": "https://avatars.githubusercontent.com/u/10765530?u=10ced71da5b3364558289a76982aa52e67fffbc5&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1418, + "title": "add thirdweb plugin", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-24T02:33:01Z", + "updated_at": "2024-12-24T20:29:30Z", + "body": "Adding a new plugin for thirdweb's nebula API. We have one action that interacts with our natural language interface to read data from 2000+ blockchains.\r\n\r\nAdded, Readme, .env config and integration to default agent if key is set.\r\n\r\nHere's an image with example usage (through my agent, Breakout Bro):\r\n\r\n\"CleanShot", + "files": [ + { + "path": ".env.example", + "additions": 3, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 34, + "deletions": 34 + }, + { + "path": "agent/src/index.ts", + "additions": 17, + "deletions": 15 + }, + { + "path": "packages/plugin-thirdweb/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/README.md", + "additions": 62, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/package.json", + "additions": 20, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/src/actions/chat.ts", + "additions": 214, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/src/actions/index.ts", + "additions": 1, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/src/index.ts", + "additions": 12, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/plugin-thirdweb/tsup.config.ts", + "additions": 20, + "deletions": 0 + } + ], + "reviews": [ + { + "author": "samarth30", + "state": "CHANGES_REQUESTED", + "body": "Looks solid to me just tested it out. \r\nLet's resolve conflitcs in the branch and get it merged." + } + ], + "comments": [ + { + "author": "iankm", + "body": "Hey @samarth30,\r\n\r\nAddressed the merge conflicts!" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 1, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "stanislawkurzypBD", + "score": 2, + "summary": "stanislawkurzypBD is currently working on a pull request for a new feature related to the cosmos plugin provider. The code changes are focused on the agent and packages code areas.", + "avatar_url": "https://avatars.githubusercontent.com/u/181337749?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1426, + "title": "Feat/cosmos plugin provider", + "state": "CLOSED", + "merged": false, + "created_at": "2024-12-24T09:08:00Z", + "updated_at": "2024-12-24T09:11:53Z", + "body": "", + "files": [ + { + "path": ".env.example", + "additions": 4, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 60, + "deletions": 59 + }, + { + "path": "agent/src/index.ts", + "additions": 72, + "deletions": 70 + }, + { + "path": "packages/adapter-sqlite/package.json", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/defaultCharacter.ts", + "additions": 68, + "deletions": 366 + }, + { + "path": "packages/plugin-cosmos/README.md", + "additions": 93, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/package.json", + "additions": 30, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/src/actions/transfer.ts", + "additions": 265, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/src/actions/walletProviderTestAction.ts", + "additions": 57, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/src/index.ts", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/src/providers/wallet.ts", + "additions": 96, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/src/templates/index.ts", + "additions": 72, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/tsconfig.json", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-cosmos/tsup.config.ts", + "additions": 25, + "deletions": 0 + }, + { + "path": "pnpm-lock.yaml", + "additions": 22980, + "deletions": 17741 + } + ], + "reviews": [], + "comments": [] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "didintern", + "score": 1, + "summary": "didintern is currently working on addressing a bug related to the DenyLoginSubtask on Twitter, with one open issue in the last 90 days. No code changes or commits have been made in this period.", + "avatar_url": "https://avatars.githubusercontent.com/u/8111964?u=bf7a296d838d185cee45d11f1b3d0101b9a4a794&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1431, + "title": "DenyLoginSubtask - TWITTER", + "state": "OPEN", + "created_at": "2024-12-24T11:44:01Z", + "updated_at": "2024-12-24T11:44:01Z", + "body": "**Describe the bug**\r\n\r\n \u26d4 Login attempt failed: Authentication error: DenyLoginSubtask\"\r\n\r\n\r\n**To Reproduce**\r\n\r\nRun the server with version (v0.1.7-alpha.1) \r\n\r\nEven though my twitter creds are correct its throwing error In twitter I can see that a new login message.\r\n\r\n**Expected behavior**\r\n\r\nShould login to twitter and post tweets\r\n\r\n**Screenshots**\r\n![image](https://github.com/user-attachments/assets/56a226ca-b766-4c26-94a1-9a5243e82d2c)\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": "harperaa", + "score": 1, + "summary": "harperaa is currently working on adding a chat feature back to the terminal, focusing on enhancing this functionality. This work is reflected in the recent issue opened related to this task, with no commits or code changes made yet.", + "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 0, + "commits": [], + "pull_requests": [] + }, + "issues": { + "total_opened": 1, + "opened": [ + { + "number": 1421, + "title": "Add Chat Back to Terminal", + "state": "OPEN", + "created_at": "2024-12-24T03:52:12Z", + "updated_at": "2024-12-24T04:21:12Z", + "body": "**Is your feature request related to a problem? Please describe.**\r\nI have noticed that the chat has been removed from the terminal. This has caused frustration, as it now takes a separate terminal, another command start:client, and several clicks to get testing and debugging and we have to use the browser client for debugging. When switching back and forward between different character files, for testing, we have to often restart that web client. This has slowed down the development/debugging process considerably. \r\n\r\n\r\n**Describe the solution you'd like**\r\nPlease return the chat to the terminal or perhaps add a start:terminal or similar, to allow the chat in the terminal, for those who want it. In that case, we should still be able to pass a --characters parameter...\r\n\r\n\r\n**Describe alternatives you've considered**\r\nBrowser client, requires several clicks and steps, just to test a prompt...which is accelerating carpal tunnel syndrome...:)\r\n\r\n\r\n**Additional context**\r\nThanks for consideration.\r\n\r\n", + "labels": [ + { + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "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_25.json b/data/daily/history/issues_2024_12_25.json new file mode 100644 index 0000000..3481f88 --- /dev/null +++ b/data/daily/history/issues_2024_12_25.json @@ -0,0 +1,46 @@ +[ + { + "id": "I_kwDOMT5cIs6kcO3_", + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", + "state": "OPEN", + "createdAt": "2024-12-25T15:31:37Z", + "updatedAt": "2024-12-25T15:31:37Z", + "author": { + "login": "arthursjy", + "avatarUrl": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qYA", + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" + } + ], + "comments": [] + }, + { + "id": "I_kwDOMT5cIs6kbVDo", + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"โ—Ž Generating message response..\"]\r\n\r\n [\"โ—Ž Generating text...\"]\r\n\r\n โ„น INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n โ„น INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n โ›” ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", + "state": "OPEN", + "createdAt": "2024-12-25T08:31:14Z", + "updatedAt": "2024-12-25T13:33:48Z", + "author": { + "login": "cxp-13", + "avatarUrl": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAABrA0qWA", + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" + } + ], + "comments": [] + } +] diff --git a/data/daily/history/prs_2024_12_25.json b/data/daily/history/prs_2024_12_25.json new file mode 100644 index 0000000..cd90953 --- /dev/null +++ b/data/daily/history/prs_2024_12_25.json @@ -0,0 +1,939 @@ +[ + { + "id": "PR_kwDOMT5cIs6GODWw", + "number": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", + "state": "CLOSED", + "merged": false, + "createdAt": "2024-12-25T20:35:11Z", + "updatedAt": "2024-12-25T20:37:42Z", + "author": { + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" + }, + "labels": [], + "files": [ + { + "path": ".env.example", + "additions": 5, + "deletions": 7 + }, + { + "path": ".github/workflows/integrationTests.yaml", + "additions": 6, + "deletions": 10 + }, + { + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 + }, + { + "path": ".gitignore", + "additions": 5, + "deletions": 2 + }, + { + "path": "README.md", + "additions": 135, + "deletions": 136 + }, + { + "path": "agent/context.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/context.txt", + "additions": 584, + "deletions": 0 + }, + { + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 + }, + { + "path": "agent/state.json", + "additions": 969, + "deletions": 0 + }, + { + "path": "characters/chronis.character.json", + "additions": 319, + "deletions": 0 + }, + { + "path": "characters/logging-addict.character.json", + "additions": 263, + "deletions": 0 + }, + { + "path": "characters/prosper.character.json", + "additions": 214, + "deletions": 0 + }, + { + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins โ€“ A Nexus of Community and Value", + "additions": 70, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission โ€“ Reality Spiraling and the Marketโ€™s Pull", + "additions": 67, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", + "additions": 1, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, + "deletions": 0 + }, + { + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, + "deletions": 0 + }, + { + "path": "docs/docs/packages/plugins.md", + "additions": 85, + "deletions": 1 + }, + { + "path": "docs/rs-documentation/README.md", + "additions": 124, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/agent-capabilities.md", + "additions": 7, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, + "deletions": 0 + }, + { + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", + "additions": 3, + "deletions": 0 + }, + { + "path": "elizaConfig.yaml", + "additions": 18, + "deletions": 0 + }, + { + "path": "package.json", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 + }, + { + "path": "packages/client-github/src/environment.ts", + "additions": 0, + "deletions": 8 + }, + { + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 + }, + { + "path": "packages/client-github/src/templates.ts", + "additions": 89, + "deletions": 0 + }, + { + "path": "packages/client-github/src/types.ts", + "additions": 48, + "deletions": 0 + }, + { + "path": "packages/client-github/src/utils.ts", + "additions": 142, + "deletions": 0 + }, + { + "path": "packages/core/src/runtime.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/plugin-github/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/plugin-github/package.json", + "additions": 27, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/index.ts", + "additions": 96, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/releases.ts", + "additions": 17, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/types.ts", + "additions": 248, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, + "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GN39c", + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T17:14:01Z", + "updatedAt": "2024-12-25T22:23:47Z", + "author": { + "login": "hanyh2004", + "avatarUrl": "https://avatars.githubusercontent.com/u/213808?v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXHPW", + "author": "monilpat", + "body": "", + "state": "DISMISSED" + }, + { + "id": "PRR_kwDOMT5cIs6WXNcd", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GN335", + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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-25T17:12:42Z", + "updatedAt": "2024-12-25T22:37:31Z", + "author": { + "login": "harperaa", + "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4" + }, + "labels": [], + "files": [ + { + "path": "package.json", + "additions": 2, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXHR4", + "author": "monilpat", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great", + "state": "APPROVED" + }, + { + "id": "PRR_kwDOMT5cIs6WXNah", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMwDl", + "number": 1446, + "title": "feat: Add Text to 3D function", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-25T06:47:21Z", + "updatedAt": "2024-12-25T07:44:03Z", + "author": { + "login": "tomguluson92", + "avatarUrl": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ + { + "path": "agent/src/index.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/.npmignore", + "additions": 7, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YsAwb", + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" + }, + { + "id": "IC_kwDOMT5cIs6YsChN", + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6GMmkT", + "number": 1445, + "title": "Add: Client Reddit Files", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T05:18:13Z", + "updatedAt": "2024-12-25T22:21:32Z", + "author": { + "login": "Freytes", + "avatarUrl": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ + { + "path": "agent/package.json", + "additions": 1, + "deletions": 0 + }, + { + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 + }, + { + "path": "packages/client-reddit/.npmignore", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/client-reddit/eslint.config.mjs", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/client-reddit/package.json", + "additions": 22, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/index.ts", + "additions": 28, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, + "deletions": 0 + }, + { + "path": "packages/client-reddit/tsconfig.json", + "additions": 13, + "deletions": 0 + }, + { + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXNZ8", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YsA9T", + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" + }, + { + "id": "IC_kwDOMT5cIs6Ysx0q", + "author": "Freytes", + "body": "@odilitime Updated the requested files." + } + ] + }, + { + "id": "PR_kwDOMT5cIs6GMhz4", + "number": 1444, + "title": "feat: suppress initial message from action", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T04:23:41Z", + "updatedAt": "2024-12-25T22:20:59Z", + "author": { + "login": "0xPBIT", + "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/docs/core/actions.md", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/client-direct/src/index.ts", + "additions": 18, + "deletions": 3 + }, + { + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 + }, + { + "path": "packages/plugin-image-generation/src/index.ts", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WWJw9", + "author": "odilitime", + "body": "", + "state": "COMMENTED" + }, + { + "id": "PRR_kwDOMT5cIs6WXHFG", + "author": "0xPBIT", + "body": "", + "state": "COMMENTED" + }, + { + "id": "PRR_kwDOMT5cIs6WXNZi", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMgPb", + "number": 1443, + "title": "fix: fix incorrect link redirection issue", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-25T04:04:29Z", + "updatedAt": "2024-12-25T04:21:44Z", + "author": { + "login": "mhxw", + "avatarUrl": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/docs/advanced/eliza-in-tee.md", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WV3W9", + "author": "monilpat", + "body": "LGTM thanks :) ", + "state": "DISMISSED" + }, + { + "id": "PRR_kwDOMT5cIs6WV3mi", + "author": "monilpat", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMeMM", + "number": 1442, + "title": "Add support for VoyageAI embeddings API", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n แง DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n แง DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n แง DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n แง DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"แง DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"แง Initializing BGE embedding model...\"] \r\n\r\n แง DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n แง DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T03:40:59Z", + "updatedAt": "2024-12-25T07:20:18Z", + "author": { + "login": "Firbydude", + "avatarUrl": "https://avatars.githubusercontent.com/u/5506146?v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + } + ], + "files": [ + { + "path": ".env.example", + "additions": 6, + "deletions": 0 + }, + { + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 + }, + { + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, + "deletions": 0 + }, + { + "path": "packages/core/src/voyageai.ts", + "additions": 156, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WWI9_", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + } +] diff --git a/data/daily/history/summary_2024_12_25.json b/data/daily/history/summary_2024_12_25.json new file mode 100644 index 0000000..a7a9eeb --- /dev/null +++ b/data/daily/history/summary_2024_12_25.json @@ -0,0 +1,70 @@ +{ + "title": "elizaos Eliza (2024-12-24)", + "version": "", + "overview": "Development focused on package improvements ((plugin-evm) add alienx chain), new features ((plugin-evm) add alienx chain), 1 bug fixes. with 21 contributors merging 9 PRs. Major work included various improvements.", + "metrics": { + "contributors": 21, + "merged_prs": 9, + "new_issues": 5, + "lines_changed": 388 + }, + "changes": { + "features": [ + "(plugin-evm) add alienx chain", + "add `only` to booleanFooter", + "client-github retry" + ], + "fixes": [ + "typos" + ], + "chores": [ + "Keeps README translations synchronized" + ] + }, + "areas": [ + { + "name": "packages", + "files": 11, + "additions": 99, + "deletions": 64 + }, + { + "name": "docs", + "files": 3, + "additions": 3, + "deletions": 3 + }, + { + "name": "root", + "files": 2, + "additions": 130, + "deletions": 1 + } + ], + "issues_summary": "working on 2 bugs including 'Bug: generateText is ignoring dynamic parameters due to a hard-coded model class', 'DenyLoginSubtask - TWITTER' and implementing 3 feature requests including 'Add Tagalog Translation on README', 'Add Liquid Staking Action to the Solana Plugin'", + "questions": [], + "top_contributors": [ + { + "name": "0xJord4n", + "summary": "0xJord4n is currently focusing on keeping README translations synchronized in the ", + "areas": [ + ".github" + ] + }, + { + "name": "yerinle", + "summary": "yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee", + "areas": [ + "docs" + ] + }, + { + "name": "harveyjavier", + "summary": "harveyjavier is currently working on adding a Tagalog translation to the README file", + "areas": [ + "README_TG.md", + "README.md" + ] + } + ] +} \ No newline at end of file diff --git a/data/daily/history/summary_2024_12_25.md b/data/daily/history/summary_2024_12_25.md new file mode 100644 index 0000000..072c82d --- /dev/null +++ b/data/daily/history/summary_2024_12_25.md @@ -0,0 +1,43 @@ +# elizaos Eliza (2024-12-24) + +## ๐Ÿ“Š Overview +Development focused on package improvements ((plugin-evm) add alienx chain), new features ((plugin-evm) add alienx chain), 1 bug fixes. with 21 contributors merging 9 PRs. Major work included various improvements. + +## ๐Ÿ“ˆ Key Metrics +| Metric | Count | +|---------|--------| +| ๐Ÿ‘ฅ Contributors | 21 | +| ๐Ÿ“ Commits | 0 | +| ๐Ÿ”„ Merged PRs | 9 | +| โš ๏ธ New Issues | 5 | + +## ๐Ÿ”„ Pull Request Summary +- ๐Ÿงน **Chores**: 1 +- ๐Ÿ› **Fixes**: 1 +- โœจ **Features**: 3 + +## ๐Ÿ“ File Changes +- **packages**: 11 files (+99/-64 lines) +- **root**: 2 files (+130/-1 lines) +- **.github**: 1 files (+88/-0 lines) +- **docs**: 3 files (+3/-3 lines) + +## ๐Ÿ”ฅ Notable Changes +- chore: Keeps README translations synchronized +- Update eliza-in-tee.md (fixing typo) +- docs: Add Tagalog README Translation + +## ๐Ÿ‘ฅ Top Contributors +- **0xJord4n**: 0xJord4n is currently focusing on keeping README translations synchronized in the +- **yerinle**: yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee +- **harveyjavier**: harveyjavier is currently working on adding a Tagalog translation to the README file + +## โš ๏ธ Issues +- **New Issues**: 5 +- **Labels**: `enhancement` (3), `bug` (2) +- **Summary**: 2 bugs reported (including 'Bug: generateText is ignoring dynamic parameters due to a hard-coded model class', 'DenyLoginSubtask - TWITTER') 3 feature requests (including 'Add Tagalog Translation on README', 'Add Liquid Staking Action to the Solana Plugin'). + +## Top Contributors +- **0xJord4n**: chore: Keeps README translations synchronized +- **yerinle**: Update eliza-in-tee.md (fixing typo) +- **harveyjavier**: docs: Add Tagalog README Translation \ No newline at end of file diff --git a/data/daily/issues.json b/data/daily/issues.json index d981d87..3481f88 100644 --- a/data/daily/issues.json +++ b/data/daily/issues.json @@ -1,37 +1,15 @@ [ { - "id": "I_kwDOMT5cIs6kZcT6", - "number": 1439, - "title": "Bug: generateText is ignoring dynamic parameters due to a hard-coded model class", - "body": "**Is your feature request (or bug) related to a problem? Please describe.**\r\n\r\nIn the `generateText` function, the `model class` is currently hard-coded(gpt-4o), which prevents dynamically switching to different models based on incoming parameters. This reduces flexibility and can increase development complexity in scenarios where different models are needed.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Remove the hard-coded `model class` reference in the `generateText` function and instead use a model name/type passed in as a function parameter or configuration.\r\n- Ensure there is a sensible default value to maintain compatibility with existing functionality or cases where a specific model is not provided.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Leaving it as is would require manual code changes to switch models in different scenarios, which is not ideal.\r\n- Introducing a separate function to handle switching model classes could lead to redundant logic and increase maintenance overhead.\r\n\r\n**Additional context**\r\n\r\n- **Risks**: This change is minor, but itโ€™s important to check if other parts of the code depend on the old hard-coded logic.\r\n- **Testing**:\r\n - Test with multiple model types to confirm that the function correctly switches to the specified model.", + "id": "I_kwDOMT5cIs6kcO3_", + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", "state": "OPEN", - "createdAt": "2024-12-24T16:59:30Z", - "updatedAt": "2024-12-24T16:59:30Z", + "createdAt": "2024-12-25T15:31:37Z", + "updatedAt": "2024-12-25T15:31:37Z", "author": { - "login": "FWangZil", - "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qWA", - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6kYkBp", - "number": 1434, - "title": "Add Liquid Staking Action to the Solana Plugin", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently, there are various liquid staking protocols on Solana, but users or developers often need to build dedicated front-end solutions or switch between multiple platforms to compare APYs and select the appropriate protocol before staking. This process is tedious and increases front-end development complexity, making it cumbersome for users.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Add the ability for liquid staking to the existing ElizaOS Solana plugin, simplifying the process of building staking requests for users without requiring specialized front-end logic.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Continue relying on each protocolโ€™s custom front-end or having developers integrate multiple protocols manually. This leads to high complexity and development cost. \r\n- Have users manually compare different platformsโ€™ APYs, which can be error-prone and inconvenient.\r\n\r\n**Additional context**\r\n\r\n", - "state": "OPEN", - "createdAt": "2024-12-24T14:58:25Z", - "updatedAt": "2024-12-24T14:58:25Z", - "author": { - "login": "FWangZil", - "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4" + "login": "arthursjy", + "avatarUrl": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4" }, "labels": [ { @@ -44,16 +22,16 @@ "comments": [] }, { - "id": "I_kwDOMT5cIs6kXox1", - "number": 1431, - "title": "DenyLoginSubtask - TWITTER", - "body": "**Describe the bug**\r\n\r\n โ›” Login attempt failed: Authentication error: DenyLoginSubtask\"\r\n\r\n\r\n**To Reproduce**\r\n\r\nRun the server with version (v0.1.7-alpha.1) \r\n\r\nEven though my twitter creds are correct its throwing error In twitter I can see that a new login message.\r\n\r\n**Expected behavior**\r\n\r\nShould login to twitter and post tweets\r\n\r\n**Screenshots**\r\n![image](https://github.com/user-attachments/assets/56a226ca-b766-4c26-94a1-9a5243e82d2c)\r\n\r\n", + "id": "I_kwDOMT5cIs6kbVDo", + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"โ—Ž Generating message response..\"]\r\n\r\n [\"โ—Ž Generating text...\"]\r\n\r\n โ„น INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n โ„น INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n โ›” ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "state": "OPEN", - "createdAt": "2024-12-24T11:44:01Z", - "updatedAt": "2024-12-24T11:44:01Z", + "createdAt": "2024-12-25T08:31:14Z", + "updatedAt": "2024-12-25T13:33:48Z", "author": { - "login": "didintern", - "avatarUrl": "https://avatars.githubusercontent.com/u/8111964?u=bf7a296d838d185cee45d11f1b3d0101b9a4a794&v=4" + "login": "cxp-13", + "avatarUrl": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4" }, "labels": [ { @@ -64,49 +42,5 @@ } ], "comments": [] - }, - { - "id": "I_kwDOMT5cIs6kVlT3", - "number": 1421, - "title": "Add Chat Back to Terminal", - "body": "**Is your feature request related to a problem? Please describe.**\r\nI have noticed that the chat has been removed from the terminal. This has caused frustration, as it now takes a separate terminal, another command start:client, and several clicks to get testing and debugging and we have to use the browser client for debugging. When switching back and forward between different character files, for testing, we have to often restart that web client. This has slowed down the development/debugging process considerably. \r\n\r\n\r\n**Describe the solution you'd like**\r\nPlease return the chat to the terminal or perhaps add a start:terminal or similar, to allow the chat in the terminal, for those who want it. In that case, we should still be able to pass a --characters parameter...\r\n\r\n\r\n**Describe alternatives you've considered**\r\nBrowser client, requires several clicks and steps, just to test a prompt...which is accelerating carpal tunnel syndrome...:)\r\n\r\n\r\n**Additional context**\r\nThanks for consideration.\r\n\r\n", - "state": "OPEN", - "createdAt": "2024-12-24T03:52:12Z", - "updatedAt": "2024-12-24T04:21:12Z", - "author": { - "login": "harperaa", - "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qYA", - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - }, - { - "id": "I_kwDOMT5cIs6kVYth", - "number": 1419, - "title": "Add Tagalog Translation on README", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThe project currently lacks Tagalog language support in its documentation. While there are translations for several other languages, Filipino developers cannot read the documentation in their native language. This is particularly important as it will improve accessibility and inclusivity for the growing tech community in the Philippines.\r\n\r\n**Describe the solution you'd like**\r\n\r\nAdd a complete Tagalog translation of the main README.md as README_TG.md, including:\r\n- Full translation of all sections, including features, installation instructions, and usage guidelines\r\n- Proper formatting to ensure readability\r\n- Addition of Tagalog (Tagalog) to the language selector at the top of all README files\r\n- Maintenance of all existing functionality (links, images, code blocks)\r\n\r\n**Describe alternatives you've considered**\r\n\r\nUsing browser-based translation tools (like Chrome's translate feature) โ€“ inadequate because automated translations may not accurately capture technical terms and nuances in Tagalog.\r\n\r\n**Additional context**\r\n\r\nTagalog is spoken by millions of Filipinos and is one of the primary languages in the Philippines.\r\nThe translation should follow the same pattern as other language translations in the repo (README_XX.md format).\r\nThis addition will make the project more accessible to the Filipino developer community.\r\n", - "state": "OPEN", - "createdAt": "2024-12-24T02:43:14Z", - "updatedAt": "2024-12-24T02:43:14Z", - "author": { - "login": "harveyjavier", - "avatarUrl": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4" - }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAABrA0qYA", - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] } ] diff --git a/data/daily/prs.json b/data/daily/prs.json index 23818a0..cd90953 100644 --- a/data/daily/prs.json +++ b/data/daily/prs.json @@ -1,1452 +1,939 @@ [ { - "id": "PR_kwDOMT5cIs6GLmuW", - "number": 1441, - "title": "feat: XMTP", - "body": "# End-to-end encrypted messaging\r\n\r\nAI is transforming consumer tech, with messaging becoming the main channel for interacting with agent services. This shift will scale message traffic astronomically, analogous to the webโ€™s rise in the 2000s. Just as Cloudflare and https secured web traffic, messaging will need robust scalable end-to-end encrypted messages to protect sensitive information.\r\n\r\n## Risks\r\n\r\nRisks of not using end-to-end encryption for agent interactions exposes the users to what is called as Man in the **Middle Attacks**.\r\n\r\n> **Man in the Middle Attacks**: Intercept requests in between to alter or manipulate data sent or received by the AI service\r\n\r\n- **Phishing**: Messages can be intercepted and manipulated.\r\n- **Privacy**: Sensitive information read by unwanted parties\r\n- **Tampering**: Content can be altered without detection.\r\n\r\n:::tip\r\nMore concrete sensitive data could include credit card details, private keys and passwords which is not yet widely spread but as agents become smarter more use cases will include this type of sharing.\r\n:::\r\n\r\n## XMTP\r\n\r\nEliza agents come with a ready to use client that uses XMTP providing end-to-end encrypted messaging for every agent intereaction, crucial for privacy, security, and compliance provided by the XMTP network.\r\n\r\n### Features:\r\n\r\n- **E2EE**: End to end encrypted MLS encryption\r\n- **Multi-agent**: Support multi-agent through group chats\r\n- **Interoperable**: Works across all platforms and frontends\r\n- **Scalable**: Decentralized, open-source\r\n- **Anonymous**: By default every identity is ephemeral and anonymous.\r\n\r\n### Installation\r\n\r\nInstall the `xmtp` package\r\n\r\n```bash [cmd]\r\nbun install xmtp\r\n```\r\n\r\n### Usage\r\n\r\nThis is how you can use the `xmtp` package to create an agent and handle messages.\r\n\r\n- `WALLET_PRIVATE_KEY`: This will encrypt all messages and make it available through its public address or ens domain.\r\n\r\n```tsx\r\nimport { XMTP } from \"xmtp\";\r\n\r\nconst xmtp = new XMTP(onMessage, {\r\n encryptionKey: WALLET_PRIVATE_KEY,\r\n});\r\nawait xmtp.init();\r\nconst onMessage = async (message, user) => {\r\n console.log(`Decoded message: ${message.content.text} by ${user.address}`);\r\n // Your AI model response\r\n await xmtp.send({\r\n message: response,\r\n originalMessage: message,\r\n });\r\n};\r\n```\r\n\r\nFor more information visit XMTP [website](https://xmtp.org/)", - "state": "OPEN", + "id": "PR_kwDOMT5cIs6GODWw", + "number": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", + "state": "CLOSED", "merged": false, - "createdAt": "2024-12-24T17:52:09Z", - "updatedAt": "2024-12-24T21:21:43Z", + "createdAt": "2024-12-25T20:35:11Z", + "updatedAt": "2024-12-25T20:37:42Z", "author": { - "login": "humanagent", - "avatarUrl": "https://avatars.githubusercontent.com/u/1447073?u=dff55a747ae4569a87f4eae7a01578682640a9e9&v=4" + "login": "monilpat", + "avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4" }, - "labels": [ - { - "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", - "name": "Plugin_new", - "color": "FBCA04", - "description": "Mark PRs that are a new plugin" - } - ], + "labels": [], "files": [ { - "path": "agent/.gitignore", - "additions": 1, - "deletions": 0 + "path": ".env.example", + "additions": 5, + "deletions": 7 }, { - "path": "agent/package.json", - "additions": 62, - "deletions": 60 + "path": ".github/workflows/integrationTests.yaml", + "additions": 6, + "deletions": 10 }, { - "path": "agent/src/index.ts", - "additions": 7, - "deletions": 1 + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, + "deletions": 0 }, { - "path": "docs/docs/advanced/e2ee.md", - "additions": 66, - "deletions": 0 + "path": ".gitignore", + "additions": 5, + "deletions": 2 + }, + { + "path": "README.md", + "additions": 135, + "deletions": 136 }, { - "path": "docs/docs/guides/advanced.md", + "path": "agent/context.json", "additions": 1, "deletions": 0 }, { - "path": "docs/docs/packages/agent.md", - "additions": 5, + "path": "agent/context.txt", + "additions": 584, "deletions": 0 }, { - "path": "docs/docs/packages/agents.md", - "additions": 228, - "deletions": 223 + "path": "agent/package.json", + "additions": 3, + "deletions": 1 }, { - "path": "docs/docs/packages/clients.md", - "additions": 153, - "deletions": 146 + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 }, { - "path": "docs/docs/packages/packages.md", - "additions": 1, + "path": "agent/state.json", + "additions": 969, "deletions": 0 }, { - "path": "docs/sidebars.js", - "additions": 6, - "deletions": 1 + "path": "characters/chronis.character.json", + "additions": 319, + "deletions": 0 }, { - "path": "packages/client-xmtp/.npmignore", - "additions": 6, + "path": "characters/logging-addict.character.json", + "additions": 263, "deletions": 0 }, { - "path": "packages/client-xmtp/eslint.config.mjs", - "additions": 3, + "path": "characters/prosper.character.json", + "additions": 214, "deletions": 0 }, { - "path": "packages/client-xmtp/package.json", - "additions": 19, + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, "deletions": 0 }, { - "path": "packages/client-xmtp/src/index.ts", - "additions": 188, + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, "deletions": 0 }, { - "path": "packages/client-xmtp/tsconfig.json", - "additions": 10, + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, "deletions": 0 }, { - "path": "packages/client-xmtp/tsup.config.ts", - "additions": 10, + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, "deletions": 0 }, { - "path": "packages/core/src/types.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, "deletions": 0 }, { - "path": "packages/plugin-concierge/.npmignore", - "additions": 6, + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, "deletions": 0 }, { - "path": "packages/plugin-concierge/eslint.config.mjs", - "additions": 3, + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, "deletions": 0 }, { - "path": "packages/plugin-concierge/package.json", - "additions": 19, + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/baselinks.ts", - "additions": 74, + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/cdp.ts", - "additions": 302, + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/resolver.ts", - "additions": 216, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/storage.ts", - "additions": 99, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/templates.ts", - "additions": 154, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins โ€“ A Nexus of Community and Value", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/types.ts", - "additions": 72, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/walletservice.ts", - "additions": 559, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/index.ts", - "additions": 25, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsconfig.json", - "additions": 13, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsup.config.ts", - "additions": 20, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 990, - "deletions": 21 - } - ], - "reviews": [], - "comments": [ - { - "id": "IC_kwDOMT5cIs6YrL7e", - "author": "shakkernerd", - "body": "We can continue the convo in here from #1285 " - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GLg7r", - "number": 1440, - "title": "fix: replace hardcoded model class with dynamic parameter", - "body": "\r\n# Relates to\r\nissue https://github.com/elizaOS/eliza/issues/1439\r\n\r\n# Description\r\n\r\n- **What is the problem?** \r\n In the `generateText` function, the model type was hard-coded, preventing the function from dynamically switching models based on external parameters. \r\n- **What does this PR do?** \r\n 1. Removes the hard-coded `model class` from `generateText` and `generateMessageResponse`. \r\n 2. Use the parameter to specify the desired model type. \r\n\r\n# Risks\r\n\r\n- **Risk Level**: Low \r\n - The change is confined to the internal logic of the `generateText` and `generateMessageResponse` function. \r\n\r\n# Background\r\n\r\n- Previously, `generateText` and `generateMessageResponse` did not allow dynamic model switching based on incoming parameters, limiting flexibility and making it cumbersome to use different models in various scenarios. \r\n- By removing the hard-coded approach, developers can easily specify or configure the desired model without modifying core code.\r\n\r\n# What kind of change is this?\r\n\r\n- [x] **Bug fix** (fixes a reported issue) \r\n- [ ] New feature (adds functionality) \r\n- [ ] Other (please describe)\r\n\r\n# Documentation changes needed?\r\n\r\n- [ ] Yes \r\n- [x] No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n- Look at how `generateText` and `generateMessageResponse` now handles the incoming model parameter, and verify that any calling code is appropriately updated to use this new parameter.\r\n\r\n## Detailed testing steps \r\n- Call `generateText` and `generateMessageResponse` with a specific model parameter, confirming that it correctly switches to the chosen model. \r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T17:07:54Z", - "updatedAt": "2024-12-24T18:23:54Z", - "author": { - "login": "FWangZil", - "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4" - }, - "labels": [], - "files": [ + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, + "deletions": 0 + }, { - "path": "packages/core/src/generation.ts", - "additions": 2, - "deletions": 2 - } - ], - "reviews": [ + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, + "deletions": 0 + }, { - "id": "PRR_kwDOMT5cIs6WVSgf", - "author": "monilpat", - "body": "LGTM - but please confirm that this works with a screenshot and if so remove hard coding of gpt-4o in generateObject generatedObjectedDEPRECATED etc thanks ", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GLXeF", - "number": 1438, - "title": "feat: (plugin-evm) add alienx chain", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\nNo specific issue or ticket related.\r\n# Risks\r\nLow. This PR only adds types for AlienX, and it does not impact existing features or functionalities.\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR introduces types for AlienX.\r\n\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\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer should start by checking the added file for correctness and compatibility with the existing setup.\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-24T16:08:28Z", - "updatedAt": "2024-12-24T19:24:21Z", - "author": { - "login": "xwxtwd", - "avatarUrl": "https://avatars.githubusercontent.com/u/3345621?u=b4ca21dd3ff0961c42a12fb15574e3bdfb779bea&v=4" - }, - "labels": [], - "files": [ + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission โ€“ Reality Spiraling and the Marketโ€™s Pull", + "additions": 67, + "deletions": 0 + }, { - "path": "packages/plugin-evm/src/templates/index.ts", - "additions": 3, - "deletions": 3 + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, + "deletions": 0 }, { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, "deletions": 0 - } - ], - "reviews": [ + }, { - "id": "PRR_kwDOMT5cIs6WVXI2", - "author": "monilpat", - "body": "LGTM", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GLVEQ", - "number": 1437, - "title": "feat: add `only` to booleanFooter", - "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\nmedium\r\n\r\n# Background\r\n\r\nWhen use `llama3.1:8b` as OLLAMA_MODEL, when use `booleanFooter`, it will return not just YES or NO, like:\r\n\r\nUse context:\r\n\r\n```\r\n {\"context\":\"# Task: Decide if the recent messages should be processed for token recommendations.\r\n\r\n Look for messages that:\r\n\r\n ... \r\n\r\n Should the messages be processed for recommendations? Respond with a YES or a NO.\"} \r\n```\r\n\r\nand will return:\r\n\r\n```\r\n {\"response\":\"YES \r\n\r\nThere are several instances in this conversation where users ask to create tokens, send Solana coins, and discuss token-related topics. The keyword \\\"token\\\" is mentioned multiple times, indicating that these conversations should be processed for token recommendation.\"} \r\n```\r\n\r\nIt will make the match in `parseBooleanFromText` return null, then make `generateTrueOrFalse` call blocked by \r\n\r\n```ts\r\nwhile (true) {\r\n try {\r\n const response = await generateText({\r\n stop,\r\n runtime,\r\n context,\r\n modelClass\r\n });\r\n const parsedResponse = parseBooleanFromText(response.trim());\r\n if (parsedResponse !== null) {\r\n return parsedResponse;\r\n }\r\n } catch (error) {\r\n elizaLogger.error(\"Error in generateTrueOrFalse:\", error);\r\n }\r\n}\r\n```\r\nSo that the eliza will keep retry to got the response.\r\n\r\nIt can fixed by add a `only` in `booleanFooter`. Then it will only return `YES` or `NO`\r\n\r\n\r\n## What does this PR do?\r\n\r\nThis PR change booleanFooter to:\r\n\r\n```\r\nRespond with only a YES or a NO.\r\n```\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\nNo\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-24T15:55:18Z", - "updatedAt": "2024-12-24T17:06:15Z", - "author": { - "login": "fyInALT", - "avatarUrl": "https://avatars.githubusercontent.com/u/97101459?u=c3ff76ed4f2459e1d9bd2e9d72c9ff379aa8141b&v=4" - }, - "labels": [], - "files": [ + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, + "deletions": 0 + }, { - "path": "packages/core/src/parsing.ts", + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVKMP", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GLQq5", - "number": 1436, - "title": "Add anthropic image description", - "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": "OPEN", - "merged": false, - "createdAt": "2024-12-24T15:31:31Z", - "updatedAt": "2024-12-24T18:08:04Z", - "author": { - "login": "kroist", - "avatarUrl": "https://avatars.githubusercontent.com/u/36311724?v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/plugin-node/package.json", - "additions": 2, - "deletions": 1 + "deletions": 0 }, { - "path": "packages/plugin-node/src/services/image.ts", - "additions": 88, - "deletions": 10 + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, + "deletions": 0 }, { - "path": "packages/plugin-node/src/services/imageUtils.ts", - "additions": 79, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 145, - "deletions": 62 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVQz6", - "author": "monilpat", - "body": "Thanks for doing this added a couple of comments to make this configurable after that good to go :) ", - "state": "CHANGES_REQUESTED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GLN-a", - "number": 1435, - "title": "feat(solana): Add liquid staking support", - "body": "Add the ability of liquid staking to the current elizaos solana plugin.\r\n\r\n- It can build the desired staking requests for end-users, eliminating the complexity of front-end development and the need for users to switch between multiple platforms to compare APYs and select staking protocols.\r\n- Currently supports five protocols: \"jito\", \"blaze\", \"jpool\", \"marinade\", \"marginfi\", and is capable of expanding to support more protocols.\r\n\r\n# Relates to:\r\n\r\nIssue https://github.com/elizaOS/eliza/issues/1434\r\n\r\n# Risks\r\n\r\n- There are no risks. An independent new Solana feature module has been introduced without modifying the code of other parts.\r\n\r\n# Background\r\n\r\n- There are some distinctive liquid staking solutions on Solana. However, users or developers need to provide a specific APP for users to conduct staking.\r\n- Liquid Staking Action aims to enable users to interact with the Agent through natural language. The Eliza Agent will build transactions for users. The front-end only needs to integrate a Solana wallet to support multiple staking protocols, eliminating the need to code and integrate the specific logic of different staking protocols.\r\n\r\n## What does this PR do?\r\n\r\n- When the user specifies a liquid staking protocol, build the corresponding transaction (base58 encoded) for the user.\r\n- When the user does not specify a specific protocol, based on the APY and TVL data of multiple protocols provided by the StakeProtocolProvider, use the designated LLM to optimize the staking protocol for the user and then build the corresponding transaction.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\n\r\n- No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- packages/plugin-solana/src/actions/liquidStake.ts\r\n\r\n## Detailed testing steps\r\n\r\n1. Enable @elizaos/plugin-solana in the character.\r\n2. Interact with the Agent, for example: โ€œMy address is HqvTPqS2FaB2fQ7mxqZHQHz6H28o1u2Z9fRH5No8JN2W and I want to stake 0.01 SOLโ€.\r\n3. Obtain the response (the constructed staking transaction).", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T15:17:56Z", - "updatedAt": "2024-12-24T19:18:05Z", - "author": { - "login": "FWangZil", - "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/plugin-solana/package.json", - "additions": 2, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, "deletions": 0 }, { - "path": "packages/plugin-solana/src/actions/liquidStake.ts", - "additions": 468, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, "deletions": 0 }, { - "path": "packages/plugin-solana/src/index.ts", - "additions": 3, - "deletions": 2 + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, + "deletions": 0 }, { - "path": "packages/plugin-solana/src/providers/stakeProtocol.ts", - "additions": 202, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, "deletions": 0 }, { - "path": "packages/plugin-solana/src/types/stake.ts", - "additions": 54, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 497, - "deletions": 365 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GK6jZ", - "number": 1433, - "title": "Make search feature in twitter client works", - "body": "# Relates to:\r\n\r\nThis PR has written without issue ticket\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nModified the enableSearch feature of the twitter client to make it work.\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\nWe wanted the AI Agent to be exposed to random posts to learn and to respond to members of the community, and we found the TWITTER_SEARCH_ENABLE environment variable while looking for a way to do so. However, we confirmed that it was missing during the development process and that the environment variable was not working properly, so we modified it to be as identical to other toggle functions as possible.\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\nJust run agent with twitter client with TWITTER_SEARCH_ENABLE environment variable\r\n\r\n## Detailed testing steps\r\n\r\nNone, not much details needed.\r\n\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\nblairlee_dev\r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T13:51:59Z", - "updatedAt": "2024-12-24T21:38:14Z", - "author": { - "login": "nulLeeKH", - "avatarUrl": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4" - }, - "labels": [], - "files": [ - { - "path": ".gitignore", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 0, - "deletions": 29 + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, + "deletions": 0 }, { - "path": "packages/client-twitter/src/index.ts", - "additions": 4, + "path": "docs/docs/packages/plugins.md", + "additions": 85, "deletions": 1 }, { - "path": "packages/client-twitter/src/search.ts", - "additions": 5, - "deletions": 3 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVRH2", - "author": "monilpat", - "body": "Thanks for doing this please address the comments then good to go :) ", - "state": "CHANGES_REQUESTED" + "path": "docs/rs-documentation/README.md", + "additions": 124, + "deletions": 0 }, { - "id": "PRR_kwDOMT5cIs6WVSuj", - "author": "nulLeeKH", - "body": "", - "state": "COMMENTED" + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, + "deletions": 0 }, { - "id": "PRR_kwDOMT5cIs6WVSwB", - "author": "nulLeeKH", - "body": "", - "state": "COMMENTED" + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, + "deletions": 0 }, { - "id": "PRR_kwDOMT5cIs6WVgGX", - "author": "monilpat", - "body": "Thanks for addressing comments :) ", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GKu30", - "number": 1432, - "title": "chore: Keeps README translations synchronized", - "body": "# Relates to:\r\n[chore: Keeps README translations synchronized](https://github.com/elizaOS/eliza/issues/1222)\r\n\r\n# Risks\r\nMedium. Changes to the main README file could affect all translated versions, and any errors in the translation script could propagate incorrect information across all language files.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nImplements a script that uses GPT-o4 to automatically update and translate all the README files whenever the English README.md file changes. Integrates with GitHub CI for automation.\r\n\r\n## What kind of change is this?\r\n- Features (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNot applicable.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with the new script implementation and its integration with GitHub Actions for CI.\r\n\r\n## Detailed testing steps\r\n- Test the script by making a change to the English README.md file.\r\n- Verify that the changes are correctly propagated to all translated README files.\r\n- Ensure that the GitHub CI pipeline runs successfully without errors.\r\n\r\n# Screenshots\r\n### Before\r\nNot applicable.\r\n\r\n### After\r\nNot applicable.\r\n\r\n# Deploy Notes\r\nNo special deployment instructions needed.\r\n\r\n# Database changes\r\nNone.\r\n\r\n# Deployment instructions\r\nBefore the workflow can run, you need to set up the following secrets in your GitHub repository:\r\n\r\n1. `GH_TOKEN`\r\n - A GitHub Personal Access Token with `repo` permissions\r\n - Used for checking out and committing changes to the repository\r\n\r\n2. `OPENAI_API_KEY`\r\n - OpenAI API key for accessing GPT-4o\r\n - Used for translating the README content", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-24T13:03:41Z", - "updatedAt": "2024-12-24T21:38:40Z", - "author": { - "login": "0xJord4n", - "avatarUrl": "https://avatars.githubusercontent.com/u/74933942?u=a952add7652d59815f24581d83f504216780521b&v=4" - }, - "labels": [], - "files": [ - { - "path": ".github/workflows/generate-readme-translations.yml", - "additions": 88, + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, "deletions": 0 - } - ], - "reviews": [ + }, { - "id": "PRR_kwDOMT5cIs6WVRiK", - "author": "monilpat", - "body": "Please test that this works thank you :) ", - "state": "DISMISSED" + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, + "deletions": 0 }, { - "id": "PRR_kwDOMT5cIs6WVfJy", - "author": "monilpat", - "body": "", - "state": "DISMISSED" + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, + "deletions": 0 }, { - "id": "PRR_kwDOMT5cIs6WVfRs", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [ + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, + "deletions": 0 + }, { - "id": "IC_kwDOMT5cIs6Yqs_b", - "author": "monilpat", - "body": "Is there a way for us to test that this works as expected? Bit worried about it missing up existing documentation? I suggest trying to do use the following to test it locally: \r\n\r\nโ€ข Description: โ€œactโ€ is a command-line utility written in Go that lets you run your GitHub Actions workflows locally.\r\nโ€ข How It Works: It parses your workflow .yml files and simulates GitHub Actions events (push, pull_request, etc.) in Docker containers on your local machine.\r\nโ€ข Why Itโ€™s Good:\r\n\r\nGreat for quickly iterating on a workflow without having to push to a branch repeatedly.\r\nLets you see console output, debug logs, and environment variables as if you were running on GitHub.\r\nโ€ข Potential Drawbacks:\r\nNot all GitHub Actions are guaranteed to work seamlessly. Some might rely on GitHub-hosted runners or environment specifics that โ€œactโ€ may not perfectly replicate.\r\nYou need Docker installed locally.\r\nโ€ข How to Get Started Quickly:\r\nInstall Docker.\r\nInstall act (on macOS you can use Homebrew: brew install act, or grab the binary from the GitHub releases page).\r\nFrom your repository, run:\r\nact \r\nFor example, act push or act pull_request.\r\nBy default, act uses a lightweight Docker image for its runner; for more complex workflows you might need:\r\nact --medium or --workflows .github/workflows/\r\n" + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6YqtCD", - "author": "monilpat", - "body": "Thanks for doing this btw HUGE much appreciated :) " + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6Yqu04", - "author": "0xJord4n", - "body": "Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n\r\n```bash\r\n[Generate Readme Translations/translation-5 ] โ˜ git clone 'https://github.com/actions/checkout' # ref=v4\r\n| /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n| class EventSourceParserStream extends TransformStream {\r\n| ^\r\n| \r\n| ReferenceError: TransformStream is not defined\r\n| at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n```\r\n\r\nso here's the link of my working test on github:\r\nhttps://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n\r\nmerry xmas :)" + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6YrLre", - "author": "monilpat", - "body": "> Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n> \r\n> ```shell\r\n> [Generate Readme Translations/translation-5 ] โ˜ git clone 'https://github.com/actions/checkout' # ref=v4\r\n> | /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n> | class EventSourceParserStream extends TransformStream {\r\n> | ^\r\n> | \r\n> | ReferenceError: TransformStream is not defined\r\n> | at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> ```\r\n> \r\n> so here's the link of my working test on github: https://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n> \r\n> merry xmas :)\r\n\r\nAmazing thanks for sharing the successful working test on github much appreciated\r\n\r\nMerry Xmas :))) \r\n\r\n" + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6YrMnU", - "author": "monilpat", - "body": "For whatever reason I can't merge this PR and update the base branch do you mind git fetch -all and git pull origin/develop and pushing the latest commit as this is what I see: \r\n\"Screenshot\r\n" + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, + "deletions": 0 }, { - "id": "IC_kwDOMT5cIs6YrNGF", - "author": "0xJord4n", - "body": "Letโ€™s go !\r\n\r\nhave a good holiday sir :)" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GKRtU", - "number": 1429, - "title": "improve logging in plugin-coinbase", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\nCloses https://github.com/elizaOS/eliza/issues/1194\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\nThis PR adds some logs in the `plugin-coinbase/src/plugins` folder using `elizaLogger` and improve consistencies between those logs.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements: no core changes are made, just new logs are added and/or modified.\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-24T11:08:12Z", - "updatedAt": "2024-12-24T17:09:56Z", - "author": { - "login": "alessandromazza98", - "avatarUrl": "https://avatars.githubusercontent.com/u/121622391?u=a6a1e82dd34d15ee571ff0bf72cd395b1385372f&v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/plugin-coinbase/src/plugins/advancedTrade.ts", - "additions": 7, - "deletions": 0 - }, - { - "path": "packages/plugin-coinbase/src/plugins/commerce.ts", - "additions": 18, - "deletions": 14 - }, - { - "path": "packages/plugin-coinbase/src/plugins/massPayments.ts", - "additions": 17, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/tokenContract.ts", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/trade.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "packages/plugin-coinbase/src/plugins/webhooks.ts", - "additions": 7, - "deletions": 6 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVKW6", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6YpcgM", - "author": "alessandromazza98", - "body": "I'm merging into `develop` as I saw that this is the branch where new PRs gets merged into first" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GKLCS", - "number": 1428, - "title": "Update eliza-in-tee.md (fixing typo)", - "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-24T10:44:16Z", - "updatedAt": "2024-12-24T17:14:32Z", - "author": { - "login": "yerinle", - "avatarUrl": "https://avatars.githubusercontent.com/u/499891?u=6379d119bdd6bba06ed8c9a8f33e215008d8d588&v=4" - }, - "labels": [], - "files": [ - { - "path": "docs/docs/advanced/eliza-in-tee.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WUKOi", - "author": "onlyzerosonce", - "body": "LGTM, I waa just testing if I can approve the PR", - "state": "COMMENTED" - }, - { - "id": "PRR_kwDOMT5cIs6WVKsn", - "author": "monilpat", - "body": "", - "state": "DISMISSED" - }, - { - "id": "PRR_kwDOMT5cIs6WVK7d", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GKHPx", - "number": 1427, - "title": "mongo-db adaptor", - "body": "Added an adaptor which connects to mongo db atlas. Allowing you to store agent data in the cloud. If you have the appropriate tier you can also take advantage of their vector search functionality.\r\nIt should have all the same functionality as the other database adaptors. \r\n\r\n\r\n\r\n# Relates to:\r\nAdding the option of using MongoDB in the cloud to store you agents data \r\n\r\n# Risks\r\nLow, adds additional options for database usage\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds the option to store your agents data in MongoDB Atlas, and take advantage of their vector search. I have also updated the .env.example to include the additional variables for the mongo connection. And added to the agent index with functionality to initialise this database if required. \r\n\r\n## What kind of change is this?\r\nAdding an additional feature \r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nIn my day job we exclusively use mongoDB for our database needs, for commercials and performance reasons. As we want to develop AI Agents, we need to have the mongoDB adaptor. IN the sprit of OpenSource I wanted to make sure it was available for the whole community to use as well. \r\n\r\n# Documentation changes needed?\r\nA small additional input to the documentation is required to make users aware of the additional functionality and how it can be actioned. \r\nSimilar to the Postgres set up just adding in the appropriate connection string to the .env file will action he change to start using MongoDB as the database. \r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer will need to have a least a free account with mongoDB atlas, then add the connection string and a Database name to the .env file. After that the agent should run as expected, saving memories as before. The reviewer can verify the saved data inside the MongoDB interface. \r\n \r\n## Detailed testing steps\r\n1. Create MongoDB atlas account \r\n2. Add connection string and Database name to .env file \r\n3. Run agent \r\n4. Verify inside MongoDB interface that the collections have formed and data is being stored \r\n\r\n\r\n\r\n\r\n\r\n", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T10:30:12Z", - "updatedAt": "2024-12-24T10:30:12Z", - "author": { - "login": "jobyid", - "avatarUrl": "https://avatars.githubusercontent.com/u/56961121?u=4b674517547cad5b4a9754de624496f105b9e14c&v=4" - }, - "labels": [], - "files": [ - { - "path": ".env.example", - "additions": 4, - "deletions": 0 - }, - { - "path": ".idea/.gitignore", - "additions": 5, - "deletions": 0 - }, - { - "path": "agent/src/index.ts", - "additions": 31, - "deletions": 2 - }, - { - "path": "packages/adapter-mongodb/.npmignore", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/package.json", - "additions": 26, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/src/index.ts", - "additions": 910, + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/adapter-mongodb/tsconfig.json", - "additions": 23, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/tsup.config.ts", - "additions": 28, - "deletions": 0 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GJv-L", - "number": 1426, - "title": "Feat/cosmos plugin provider", - "body": "", - "state": "CLOSED", - "merged": false, - "createdAt": "2024-12-24T09:08:00Z", - "updatedAt": "2024-12-24T09:11:53Z", - "author": { - "login": "stanislawkurzypBD", - "avatarUrl": "https://avatars.githubusercontent.com/u/181337749?v=4" - }, - "labels": [], - "files": [ - { - "path": ".env.example", - "additions": 4, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 60, - "deletions": 59 - }, - { - "path": "agent/src/index.ts", - "additions": 72, - "deletions": 70 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 1, - "deletions": 1 - }, - { - "path": "packages/core/src/defaultCharacter.ts", - "additions": 68, - "deletions": 366 - }, - { - "path": "packages/plugin-cosmos/README.md", - "additions": 93, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/package.json", - "additions": 30, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/actions/transfer.ts", - "additions": 265, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/actions/walletProviderTestAction.ts", - "additions": 57, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/index.ts", - "additions": 18, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/providers/wallet.ts", - "additions": 96, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/templates/index.ts", - "additions": 72, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/tsconfig.json", - "additions": 15, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/tsup.config.ts", - "additions": 25, - "deletions": 0 - }, - { - "path": "pnpm-lock.yaml", - "additions": 22980, - "deletions": 17741 - } - ], - "reviews": [], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GJuH3", - "number": 1425, - "title": "feat: client-github retry", - "body": "\r\n\r\n# Relates to:\r\n\r\nNo\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\nWhen someone trying to clone a repo, it may occurs the network problem, so a retry mechanism is needed in ensuring a smooth and effective repo clone.\r\n\r\n## What does this PR do?\r\n\r\nAdd retry mechanism to clone repo where people may be in region or area that the network is restricted by the Great Fire Wall.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\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-24T09:01:17Z", - "updatedAt": "2024-12-24T18:17:23Z", - "author": { - "login": "tomguluson92", - "avatarUrl": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/client-github/src/index.ts", - "additions": 21, - "deletions": 4 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVRtU", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GJY77", - "number": 1424, - "title": "docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words", - "body": "1.Quotation marks are used incorrectly.2.Delete duplicate words", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-24T07:41:20Z", - "updatedAt": "2024-12-24T17:22:25Z", - "author": { - "login": "RiceChuan", - "avatarUrl": "https://avatars.githubusercontent.com/u/29748602?u=64218b59f2a07985d08393eb9cf877fee5a1e43a&v=4" - }, - "labels": [], - "files": [ - { - "path": "docs/community/Notes/lore.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "docs/community/creator-fund.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVLxL", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GJVGq", - "number": 1423, - "title": "fix: typos", - "body": "fix: typos", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-24T07:26:08Z", - "updatedAt": "2024-12-24T17:18:40Z", - "author": { - "login": "omahs", - "avatarUrl": "https://avatars.githubusercontent.com/u/73983677?u=eee6e58b90942c2dca935e4cfdb14eaacbd06c6f&v=4" - }, - "labels": [], - "files": [ - { - "path": "packages/adapter-sqljs/src/types.ts", - "additions": 3, - "deletions": 3 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVKdD", - "author": "monilpat", - "body": "", - "state": "DISMISSED" - }, - { - "id": "PRR_kwDOMT5cIs6WVLSO", - "author": "monilpat", - "body": "", - "state": "APPROVED" - } - ], - "comments": [] - }, - { - "id": "PR_kwDOMT5cIs6GIyK9", - "number": 1422, - "title": "feat: Twitter Post Action Implementation", - "body": "# Relates to:\r\nN/A - Plugin implementation for Twitter posting functionality via action\r\n\r\n# Risks\r\nLow - This is a new plugin that adds Twitter posting capability. The main risks are:\r\n- Failed tweets due to rate limiting or authentication issues\r\n- Potential for tweets that are too long (mitigated by automatic truncation)\r\n- No risk to existing functionality as this is an isolated plugin\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds a Twitter plugin that enables posting tweets through the agent-twitter-client package. Key features:\r\n- Implements POST_TWEET action for sending tweets\r\n- Handles Twitter authentication via environment variables\r\n- Automatically truncates tweets that exceed character limits\r\n- Provides detailed error handling and logging\r\n- Supports dry run mode for testing\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n- Adds new Twitter posting capability\r\n- Uses the standalone agent-twitter-client package\r\n- Implements proper error handling and character limit enforcement\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation:\r\n- Add Twitter plugin setup instructions\r\n- Document required environment variables:\r\n - TWITTER_USERNAME\r\n - TWITTER_PASSWORD\r\n - TWITTER_EMAIL\r\n - TWITTER_DRY_RUN (optional)\r\n - TWITTER_2FA_SECRET (optional)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Review `packages/plugin-twitter/src/actions/post.ts` for the main implementation\r\n2. Check error handling in postTweet function\r\n3. Review tweet composition logic in composeTweet function\r\n4. Verify environment variable handling\r\n\r\n## Detailed testing steps\r\n1. Set up environment variables in `.env`:\r\n```bash\r\nTWITTER_USERNAME=your_username\r\nTWITTER_PASSWORD=your_password\r\nTWITTER_EMAIL=your_email\r\nTWITTER_DRY_RUN=false\r\n```\r\n\r\n2. Test tweet posting:\r\n```bash\r\n# Start with dry run mode\r\nTWITTER_DRY_RUN=true pnpm dev\r\n\r\n# Test actual posting\r\nTWITTER_DRY_RUN=false pnpm dev\r\n```\r\n\r\n3. Verify error handling:\r\n- Try posting a tweet > 180 characters (should truncate)\r\n- Try posting with invalid credentials (should show error)\r\n- Try posting with missing credentials (should validate)\r\n\r\n4. Check logging:\r\n- Verify credential validation logs\r\n- Check tweet content generation logs\r\n- Verify error messages are descriptive\r\n\r\n# Deploy Notes\r\n- Requires agent-twitter-client package\r\n- Environment variables must be set for Twitter authentication\r\n- No database changes required", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T04:41:19Z", - "updatedAt": "2024-12-24T18:21:26Z", - "author": { - "login": "0xPBIT", - "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4" - }, - "labels": [], - "files": [ - { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/.npmignore", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/package.json", - "additions": 17, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/src/actions/post.ts", - "additions": 200, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/src/index.ts", - "additions": 12, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/tsconfig.json", - "additions": 13, - "deletions": 0 - }, - { - "path": "packages/plugin-twitter/tsup.config.ts", - "additions": 10, - "deletions": 0 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WVR-O", - "author": "monilpat", - "body": "Amazing work thanks for doing this please address comments ", - "state": "CHANGES_REQUESTED" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6YoLpH", - "author": "0xPBIT", - "body": "Several people have commented in the discord coders chat about twitter functionality from an action instead of the hard coded client loop. I've opened this PR just to show an example of how this can be done.\r\n\r\nThis is a small demo where I workshop a tweet with c3po agent to come up with a tweet. Then I can say \"go tweet that\" and the agent will put it on their twitter profile -- without using the client-twitter package.\r\n\r\n\"Screenshot\r\n\"Screenshot\r\n\r\n\r\n" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GIfqZ", - "number": 1420, - "title": "docs: Add Tagalog README Translation", - "body": "\r\n\r\n# Relates to:\r\n\r\n#1419 \r\n\r\n# Risks\r\n\r\nLow - This is a documentation-only change adding a new translation file.\r\n\r\n# Background\r\n\r\nAdds Tagalog translation of the main README.md file as README_TG.md, including:\r\n- Full translation of all main sections\r\n- Proper Tagalog character rendering and formatting\r\n- Maintained all links and functionality from the original README\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (adds new language support to existing documentation)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes are documentation changes themselves - adding a new translated README file.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Open README_TG.md in either VSCode/Cursor/github.dev's Markdown preview\r\n- Verify formatting is correct\r\n- Check that all links are functional\r\n- Verify Tagalog text renders properly\r\n\r\n## Detailed testing steps\r\n\r\n- View the raw file to verify proper Tagalog text formatting\r\n- View the rendered file to ensure readability and consistency\r\n- Check that the language selector at the top includes a Tagalog link\r\n- Verify all internal links work correctly\r\n- Ensure images and formatting match the main README.md structure\r\n\r\n\r\n\r\n\r\n\r\n", - "state": "MERGED", - "merged": true, - "createdAt": "2024-12-24T02:54:10Z", - "updatedAt": "2024-12-24T03:43:50Z", - "author": { - "login": "harveyjavier", - "avatarUrl": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4" - }, - "labels": [], - "files": [ - { - "path": "README.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README_TG.md", - "additions": 129, - "deletions": 0 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WSbpK", - "author": "monilpat", - "body": "LGTM", - "state": "APPROVED" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6Yn7Cp", - "author": "harveyjavier", - "body": "> Collaborator\r\n\r\nThanks!" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GIcOk", - "number": 1418, - "title": "add thirdweb plugin", - "body": "Adding a new plugin for thirdweb's nebula API. We have one action that interacts with our natural language interface to read data from 2000+ blockchains.\r\n\r\nAdded, Readme, .env config and integration to default agent if key is set.\r\n\r\nHere's an image with example usage (through my agent, Breakout Bro):\r\n\r\n\"CleanShot", - "state": "OPEN", - "merged": false, - "createdAt": "2024-12-24T02:33:01Z", - "updatedAt": "2024-12-24T20:29:30Z", - "author": { - "login": "iankm", - "avatarUrl": "https://avatars.githubusercontent.com/u/10765530?u=10ced71da5b3364558289a76982aa52e67fffbc5&v=4" - }, - "labels": [], - "files": [ - { - "path": ".env.example", - "additions": 3, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 34, - "deletions": 34 - }, - { - "path": "agent/src/index.ts", - "additions": 17, - "deletions": 15 - }, - { - "path": "packages/plugin-thirdweb/.npmignore", - "additions": 6, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/README.md", - "additions": 62, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/package.json", - "additions": 20, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/actions/chat.ts", - "additions": 214, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/actions/index.ts", - "additions": 1, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/src/index.ts", - "additions": 12, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/tsconfig.json", - "additions": 13, - "deletions": 0 - }, - { - "path": "packages/plugin-thirdweb/tsup.config.ts", - "additions": 20, - "deletions": 0 - } - ], - "reviews": [ - { - "id": "PRR_kwDOMT5cIs6WUYXa", - "author": "samarth30", - "body": "Looks solid to me just tested it out. \r\nLet's resolve conflitcs in the branch and get it merged.", - "state": "CHANGES_REQUESTED" - } - ], - "comments": [ - { - "id": "IC_kwDOMT5cIs6Yp-l1", - "author": "iankm", - "body": "Hey @samarth30,\r\n\r\nAddressed the merge conflicts!" - } - ] - }, - { - "id": "PR_kwDOMT5cIs6GIGMe", - "number": 1417, - "title": "feat: add birdeye plugin", - "body": "This is my first attempt to contribute to this project. I have been adding features and additional query capability for the Birdeye API and I think many other could benefit.\r\n\r\n# Relates to:\r\n\r\n- plugin ecosystem and capabilities for accessing and querying Birdeye data API\r\n- [Expanding Birdeye thread](https://discord.com/channels/1253563208833433701/1318974518680748173)\r\n- possible overlap with: https://github.com/elizaOS/eliza/pull/1366\r\n\r\n\r\n# Risks\r\n\r\n- People who already have the BIRDEYE_API_KEY enabled could end up querying the endpoints more\r\n\r\n# Background\r\n\r\nThis pull request significantly enhances the Birdeye API integration within the AI agent framework by expanding its capabilities beyond basic query functionality. The proposed tools enable more comprehensive and versatile interactions with the Birdeye API, including data clearing and management features. These improvements provide the AI agents with a broader and more efficient toolkit for handling Birdeye API data, enhancing the overall flexibility and utility of the framework for developers and end-users. By extending the scope of the API integration, this contribution supports more robust and scalable solutions within the project.\r\n\r\n## What does this PR do?\r\n\r\nThis PR adds providers that represent all the different API endpoints available in the Birdeye API. By doing so, it ensures that when a user requests a specific type of data, the AI agent has a significantly higher likelihood of accessing and utilizing the relevant data in its response. This enhancement maximizes the agentโ€™s ability to provide accurate and contextually rich answers, leveraging the full scope of the Birdeye API.\r\n\r\n## What kind of change is this?\r\n\r\n- net new plugin\r\n\r\n\r\n\r\n\r\nThis API connection is critical for enabling the agent to perform research and analyze the dynamics of the ecosystem effectively. By integrating comprehensive access to all Birdeye API endpoints, this PR lays the groundwork for future enhancements and features that will further expand the agent's capabilities. This integration not only empowers the agent to deliver more insightful and accurate responses but also positions the framework for scalable growth and the addition of advanced functionalities in the future.\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n- Yes, this will require the docs to be updated. I am happy to update the appropriate project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Pull the branch\r\n- Enable plugin by setting the BIRDEYE_API_KEY\r\n- Utilize the web console as ask questions about onchain data. \r\n- Example prompts:\r\n-- give me a list of wallets on solana that i should be following\r\n-- tell me more about BbJgE7HZMaDp5NTYvRh5jZSkQPVDTU8ubPFtpogUkEj4\r\n-- what are the top gainers today\r\n-- what is the current price of HIPPO?\r\n-- what tokens are tredning today on sui? \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-24T00:27:28Z", - "updatedAt": "2024-12-24T19:05:23Z", - "author": { - "login": "swizzmagik", - "avatarUrl": "https://avatars.githubusercontent.com/u/3955528?v=4" - }, - "labels": [], - "files": [ - { - "path": "agent/src/index.ts", + "path": "docs/rs-documentation/wiki/agent-capabilities.md", "additions": 7, - "deletions": 3 + "deletions": 0 }, { - "path": "packages/plugin-birdeye/.npmignore", - "additions": 6, + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/README.md", - "additions": 77, + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-birdeye/eslint.config.mjs", - "additions": 3, + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/package.json", - "additions": 31, + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/index.ts", - "additions": 57, + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/__tests__/utils.test.ts", - "additions": 145, + "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/__tests__/price-provider.test.ts", - "additions": 218, + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/index.ts", - "additions": 12, + "path": "elizaConfig.yaml", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/networks-provider.ts", - "additions": 140, + "path": "package.json", + "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-base-quote-provider.ts", - "additions": 244, - "deletions": 0 + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 + }, + { + "path": "packages/client-github/src/environment.ts", + "additions": 0, + "deletions": 8 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-pair-provider.ts", - "additions": 210, + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 + }, + { + "path": "packages/client-github/src/templates.ts", + "additions": 89, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-provider.ts", - "additions": 256, + "path": "packages/client-github/src/types.ts", + "additions": 48, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-provider.ts", - "additions": 245, + "path": "packages/client-github/src/utils.ts", + "additions": 142, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-seek-provider.ts", - "additions": 266, + "path": "packages/core/src/runtime.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 1 + }, + { + "path": "packages/plugin-github/.npmignore", + "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-history-provider.ts", - "additions": 230, + "path": "packages/plugin-github/package.json", + "additions": 27, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-multiple-provider.ts", - "additions": 200, + "path": "packages/plugin-github/src/index.ts", + "additions": 96, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-provider.ts", - "additions": 175, + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-volume-provider.ts", - "additions": 234, + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/token-trades-provider.ts", - "additions": 236, + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/trades-seek-provider.ts", - "additions": 210, + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/index.ts", - "additions": 148, + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/index.ts", - "additions": 1, + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/pair-overview-provider.ts", - "additions": 286, + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/index.ts", - "additions": 1, + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/token-market-data-provider.ts", - "additions": 214, + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/__tests__/token-overview-provider.test.ts", - "additions": 189, + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/all-market-list-provider.ts", - "additions": 114, + "path": "packages/plugin-github/src/providers/releases.ts", + "additions": 17, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/index.ts", - "additions": 13, + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/new-listing-provider.ts", - "additions": 113, + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-creation-provider.ts", - "additions": 199, + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-holder-provider.ts", - "additions": 220, + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-list-provider.ts", - "additions": 198, + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-market-provider.ts", - "additions": 217, + "path": "packages/plugin-github/src/types.ts", + "additions": 248, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-metadata-provider.ts", - "additions": 197, + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, "deletions": 0 + } + ], + "reviews": [], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GN39c", + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T17:14:01Z", + "updatedAt": "2024-12-25T22:23:47Z", + "author": { + "login": "hanyh2004", + "avatarUrl": "https://avatars.githubusercontent.com/u/213808?v=4" + }, + "labels": [], + "files": [ + { + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXHPW", + "author": "monilpat", + "body": "", + "state": "DISMISSED" }, { - "path": "packages/plugin-birdeye/src/providers/token/token-mint-burn-provider.ts", - "additions": 203, + "id": "PRR_kwDOMT5cIs6WXNcd", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GN335", + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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-25T17:12:42Z", + "updatedAt": "2024-12-25T22:37:31Z", + "author": { + "login": "harperaa", + "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4" + }, + "labels": [], + "files": [ + { + "path": "package.json", + "additions": 2, "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXHR4", + "author": "monilpat", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great", + "state": "APPROVED" }, { - "path": "packages/plugin-birdeye/src/providers/token/token-overview-provider.ts", - "additions": 266, + "id": "PRR_kwDOMT5cIs6WXNah", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMwDl", + "number": 1446, + "title": "feat: Add Text to 3D function", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-25T06:47:21Z", + "updatedAt": "2024-12-25T07:44:03Z", + "author": { + "login": "tomguluson92", + "avatarUrl": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ + { + "path": "agent/src/index.ts", + "additions": 4, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-security-provider.ts", - "additions": 238, + "path": "packages/plugin-3d-generation/.npmignore", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-trade-provider.ts", - "additions": 327, + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/top-traders-provider.ts", - "additions": 104, + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/trending-tokens-provider.ts", - "additions": 270, + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/gainers-losers-provider.ts", - "additions": 228, + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/index.ts", - "additions": 2, + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/trades-seek-provider.ts", - "additions": 247, + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, "deletions": 0 + } + ], + "reviews": [], + "comments": [ + { + "id": "IC_kwDOMT5cIs6YsAwb", + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" }, { - "path": "packages/plugin-birdeye/src/providers/utils.ts", - "additions": 298, + "id": "IC_kwDOMT5cIs6YsChN", + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + }, + { + "id": "PR_kwDOMT5cIs6GMmkT", + "number": 1445, + "title": "Add: Client Reddit Files", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T05:18:13Z", + "updatedAt": "2024-12-25T22:21:32Z", + "author": { + "login": "Freytes", + "avatarUrl": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB1NgIxA", + "name": "Plugin_new", + "color": "FBCA04", + "description": "Mark PRs that are a new plugin" + } + ], + "files": [ + { + "path": "agent/package.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/index.ts", + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 + }, + { + "path": "packages/client-reddit/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/portfolio-multichain-provider.ts", - "additions": 159, + "path": "packages/client-reddit/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/supported-networks-provider.ts", - "additions": 131, + "path": "packages/client-reddit/package.json", + "additions": 22, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/token-balance-provider.ts", - "additions": 135, + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-multichain-provider.ts", - "additions": 174, + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-provider.ts", - "additions": 381, + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/wallet-portfolio-provider.ts", - "additions": 335, + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/index.ts", + "additions": 28, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, + "deletions": 0 + }, + { + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsconfig.json", - "additions": 10, + "path": "packages/client-reddit/tsconfig.json", + "additions": 13, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsup.config.ts", - "additions": 29, + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, "deletions": 0 } ], - "reviews": [], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WXNZ8", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], "comments": [ { - "id": "IC_kwDOMT5cIs6YqymR", - "author": "swizzmagik", - "body": "I'd love to get input from the team if perhaps these should be actions instead of provider data." + "id": "IC_kwDOMT5cIs6YsA9T", + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" + }, + { + "id": "IC_kwDOMT5cIs6Ysx0q", + "author": "Freytes", + "body": "@odilitime Updated the requested files." } ] }, { - "id": "PR_kwDOMT5cIs6GIE9a", - "number": 1416, - "title": "Gai trial", - "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", + "id": "PR_kwDOMT5cIs6GMhz4", + "number": 1444, + "title": "feat: suppress initial message from action", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", + "state": "OPEN", "merged": false, - "createdAt": "2024-12-24T00:19:14Z", - "updatedAt": "2024-12-24T00:19:28Z", + "createdAt": "2024-12-25T04:23:41Z", + "updatedAt": "2024-12-25T22:20:59Z", "author": { - "login": "tweedyant", - "avatarUrl": "https://avatars.githubusercontent.com/u/192077188?v=4" + "login": "0xPBIT", + "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4" }, "labels": [], "files": [ { - "path": "agent/src/index.ts", + "path": "docs/docs/core/actions.md", "additions": 3, - "deletions": 2 + "deletions": 0 }, { - "path": "characters/c3po.character.json", - "additions": 0, - "deletions": 98 + "path": "packages/client-direct/src/index.ts", + "additions": 18, + "deletions": 3 }, { - "path": "characters/dobby.character.json", - "additions": 0, - "deletions": 98 + "path": "packages/core/src/types.ts", + "additions": 3, + "deletions": 0 }, { - "path": "characters/eternalai.character.json", - "additions": 0, - "deletions": 394 + "path": "packages/plugin-image-generation/src/index.ts", + "additions": 1, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WWJw9", + "author": "odilitime", + "body": "", + "state": "COMMENTED" }, { - "path": "characters/tate.character.json", - "additions": 0, - "deletions": 63 + "id": "PRR_kwDOMT5cIs6WXHFG", + "author": "0xPBIT", + "body": "", + "state": "COMMENTED" }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "id": "PRR_kwDOMT5cIs6WXNZi", + "author": "odilitime", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMgPb", + "number": 1443, + "title": "fix: fix incorrect link redirection issue", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", + "state": "MERGED", + "merged": true, + "createdAt": "2024-12-25T04:04:29Z", + "updatedAt": "2024-12-25T04:21:44Z", + "author": { + "login": "mhxw", + "avatarUrl": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4" + }, + "labels": [], + "files": [ + { + "path": "docs/docs/advanced/eliza-in-tee.md", + "additions": 2, + "deletions": 2 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WV3W9", + "author": "monilpat", + "body": "LGTM thanks :) ", + "state": "DISMISSED" }, { - "path": "packages/client-telegram/src/messageManager.ts", - "additions": 5, + "id": "PRR_kwDOMT5cIs6WV3mi", + "author": "monilpat", + "body": "", + "state": "APPROVED" + } + ], + "comments": [] + }, + { + "id": "PR_kwDOMT5cIs6GMeMM", + "number": 1442, + "title": "Add support for VoyageAI embeddings API", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n แง DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n แง DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n แง DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n แง DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"แง DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"แง Initializing BGE embedding model...\"] \r\n\r\n แง DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n แง DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", + "state": "OPEN", + "merged": false, + "createdAt": "2024-12-25T03:40:59Z", + "updatedAt": "2024-12-25T07:20:18Z", + "author": { + "login": "Firbydude", + "avatarUrl": "https://avatars.githubusercontent.com/u/5506146?v=4" + }, + "labels": [ + { + "id": "LA_kwDOMT5cIs8AAAAB0PEeUw", + "name": "Needs Testing", + "color": "84C035", + "description": "" + } + ], + "files": [ + { + "path": ".env.example", + "additions": 6, "deletions": 0 }, { - "path": "packages/client-telegram/src/telegramClient.ts", - "additions": 60, - "deletions": 39 + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 }, { - "path": "packages/client-telegram/tsconfig.json", - "additions": 3, - "deletions": 1 + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, + "deletions": 0 }, { - "path": "pnpm-lock.yaml", - "additions": 21510, - "deletions": 16881 + "path": "packages/core/src/voyageai.ts", + "additions": 156, + "deletions": 0 + } + ], + "reviews": [ + { + "id": "PRR_kwDOMT5cIs6WWI9_", + "author": "odilitime", + "body": "", + "state": "APPROVED" } ], - "reviews": [], "comments": [] } ] diff --git a/data/daily/scored.json b/data/daily/scored.json index 4cd3a5c..3fc60af 100644 --- a/data/daily/scored.json +++ b/data/daily/scored.json @@ -1,93 +1,9 @@ [ { - "contributor": "0xJord4n", - "score": 26, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/74933942?u=a952add7652d59815f24581d83f504216780521b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1432, - "title": "chore: Keeps README translations synchronized", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T13:03:41Z", - "updated_at": "2024-12-24T21:38:40Z", - "body": "# Relates to:\r\n[chore: Keeps README translations synchronized](https://github.com/elizaOS/eliza/issues/1222)\r\n\r\n# Risks\r\nMedium. Changes to the main README file could affect all translated versions, and any errors in the translation script could propagate incorrect information across all language files.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nImplements a script that uses GPT-o4 to automatically update and translate all the README files whenever the English README.md file changes. Integrates with GitHub CI for automation.\r\n\r\n## What kind of change is this?\r\n- Features (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNot applicable.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nStart with the new script implementation and its integration with GitHub Actions for CI.\r\n\r\n## Detailed testing steps\r\n- Test the script by making a change to the English README.md file.\r\n- Verify that the changes are correctly propagated to all translated README files.\r\n- Ensure that the GitHub CI pipeline runs successfully without errors.\r\n\r\n# Screenshots\r\n### Before\r\nNot applicable.\r\n\r\n### After\r\nNot applicable.\r\n\r\n# Deploy Notes\r\nNo special deployment instructions needed.\r\n\r\n# Database changes\r\nNone.\r\n\r\n# Deployment instructions\r\nBefore the workflow can run, you need to set up the following secrets in your GitHub repository:\r\n\r\n1. `GH_TOKEN`\r\n - A GitHub Personal Access Token with `repo` permissions\r\n - Used for checking out and committing changes to the repository\r\n\r\n2. `OPENAI_API_KEY`\r\n - OpenAI API key for accessing GPT-4o\r\n - Used for translating the README content", - "files": [ - { - "path": ".github/workflows/generate-readme-translations.yml", - "additions": 88, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "DISMISSED", - "body": "Please test that this works thank you :) " - }, - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "monilpat", - "body": "Is there a way for us to test that this works as expected? Bit worried about it missing up existing documentation? I suggest trying to do use the following to test it locally: \r\n\r\n\u2022 Description: \u201cact\u201d is a command-line utility written in Go that lets you run your GitHub Actions workflows locally.\r\n\u2022 How It Works: It parses your workflow .yml files and simulates GitHub Actions events (push, pull_request, etc.) in Docker containers on your local machine.\r\n\u2022 Why It\u2019s Good:\r\n\r\nGreat for quickly iterating on a workflow without having to push to a branch repeatedly.\r\nLets you see console output, debug logs, and environment variables as if you were running on GitHub.\r\n\u2022 Potential Drawbacks:\r\nNot all GitHub Actions are guaranteed to work seamlessly. Some might rely on GitHub-hosted runners or environment specifics that \u201cact\u201d may not perfectly replicate.\r\nYou need Docker installed locally.\r\n\u2022 How to Get Started Quickly:\r\nInstall Docker.\r\nInstall act (on macOS you can use Homebrew: brew install act, or grab the binary from the GitHub releases page).\r\nFrom your repository, run:\r\nact \r\nFor example, act push or act pull_request.\r\nBy default, act uses a lightweight Docker image for its runner; for more complex workflows you might need:\r\nact --medium or --workflows .github/workflows/\r\n" - }, - { - "author": "monilpat", - "body": "Thanks for doing this btw HUGE much appreciated :) " - }, - { - "author": "0xJord4n", - "body": "Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n\r\n```bash\r\n[Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n| /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n| class EventSourceParserStream extends TransformStream {\r\n| ^\r\n| \r\n| ReferenceError: TransformStream is not defined\r\n| at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n| at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n| at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n```\r\n\r\nso here's the link of my working test on github:\r\nhttps://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n\r\nmerry xmas :)" - }, - { - "author": "monilpat", - "body": "> Hey @monilpat , I already tried many times to test it locally with act before but I've some node js runtime error that don't appear in real github actions environnement or just when running the action plugin locally with my node js:\r\n> \r\n> ```shell\r\n> [Generate Readme Translations/translation-5 ] \u2601 git clone 'https://github.com/actions/checkout' # ref=v4\r\n> | /run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292\r\n> | class EventSourceParserStream extends TransformStream {\r\n> | ^\r\n> | \r\n> | ReferenceError: TransformStream is not defined\r\n> | at Object.9201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53292:39)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1746 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:10618:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.3201 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:3484:30)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.4279 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:184:21)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> | at Object.1536 (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:22:36)\r\n> | at __nccwpck_require__ (/run/act/actions/0xjord4n-aixion@v1.2.1/dist/index.js:53384:43)\r\n> ```\r\n> \r\n> so here's the link of my working test on github: https://github.com/0xJord4n/eliza/actions/runs/12481903404\r\n> \r\n> merry xmas :)\r\n\r\nAmazing thanks for sharing the successful working test on github much appreciated\r\n\r\nMerry Xmas :))) \r\n\r\n" - }, - { - "author": "monilpat", - "body": "For whatever reason I can't merge this PR and update the base branch do you mind git fetch -all and git pull origin/develop and pushing the latest commit as this is what I see: \r\n\"Screenshot\r\n" - }, - { - "author": "0xJord4n", - "body": "Let\u2019s go !\r\n\r\nhave a good holiday sir :)" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 3, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "yerinle", - "score": 23, + "contributor": "mhxw", + "score": 17, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/499891?u=6379d119bdd6bba06ed8c9a8f33e215008d8d588&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4", "activity": { "code": { "total_commits": 0, @@ -95,30 +11,25 @@ "commits": [], "pull_requests": [ { - "number": 1428, - "title": "Update eliza-in-tee.md (fixing typo)", + "number": 1443, + "title": "fix: fix incorrect link redirection issue", "state": "MERGED", "merged": true, - "created_at": "2024-12-24T10:44:16Z", - "updated_at": "2024-12-24T17:14:32Z", - "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-25T04:04:29Z", + "updated_at": "2024-12-25T04:21:44Z", + "body": "# Relates to:\r\n\r\nFix incorrect link redirection issue\r\n\r\n# Risks\r\n\r\nNone: The change only affects link redirection and does not introduce any risks to the overall system.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR addresses and resolves the issue where links were redirecting incorrectly. The change ensures that links now redirect to the intended destinations properly.\r\n", "files": [ { "path": "docs/docs/advanced/eliza-in-tee.md", - "additions": 1, - "deletions": 1 + "additions": 2, + "deletions": 2 } ], "reviews": [ - { - "author": "onlyzerosonce", - "state": "COMMENTED", - "body": "LGTM, I waa just testing if I can approve the PR" - }, { "author": "monilpat", "state": "DISMISSED", - "body": "" + "body": "LGTM thanks :) " }, { "author": "monilpat", @@ -136,17 +47,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 3, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "harveyjavier", - "score": 18, + "contributor": "0xPBIT", + "score": 10, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/28330063?u=9d09b6507e0977b29842defa768a85495ab181e4&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", "activity": { "code": { "total_commits": 0, @@ -154,618 +65,73 @@ "commits": [], "pull_requests": [ { - "number": 1420, - "title": "docs: Add Tagalog README Translation", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T02:54:10Z", - "updated_at": "2024-12-24T03:43:50Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n#1419 \r\n\r\n# Risks\r\n\r\nLow - This is a documentation-only change adding a new translation file.\r\n\r\n# Background\r\n\r\nAdds Tagalog translation of the main README.md file as README_TG.md, including:\r\n- Full translation of all main sections\r\n- Proper Tagalog character rendering and formatting\r\n- Maintained all links and functionality from the original README\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (adds new language support to existing documentation)\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes are documentation changes themselves - adding a new translated README file.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Open README_TG.md in either VSCode/Cursor/github.dev's Markdown preview\r\n- Verify formatting is correct\r\n- Check that all links are functional\r\n- Verify Tagalog text renders properly\r\n\r\n## Detailed testing steps\r\n\r\n- View the raw file to verify proper Tagalog text formatting\r\n- View the rendered file to ensure readability and consistency\r\n- Check that the language selector at the top includes a Tagalog link\r\n- Verify all internal links work correctly\r\n- Ensure images and formatting match the main README.md structure\r\n\r\n\r\n\r\n\r\n\r\n", - "files": [ - { - "path": "README.md", - "additions": 1, - "deletions": 1 - }, - { - "path": "README_TG.md", - "additions": 129, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM" - } - ], - "comments": [ - { - "author": "harveyjavier", - "body": "> Collaborator\r\n\r\nThanks!" - } - ] - } - ] - }, - "issues": { - "total_opened": 1, - "opened": [ - { - "number": 1419, - "title": "Add Tagalog Translation on README", + "number": 1444, + "title": "feat: suppress initial message from action", "state": "OPEN", - "created_at": "2024-12-24T02:43:14Z", - "updated_at": "2024-12-24T02:43:14Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\n\r\nThe project currently lacks Tagalog language support in its documentation. While there are translations for several other languages, Filipino developers cannot read the documentation in their native language. This is particularly important as it will improve accessibility and inclusivity for the growing tech community in the Philippines.\r\n\r\n**Describe the solution you'd like**\r\n\r\nAdd a complete Tagalog translation of the main README.md as README_TG.md, including:\r\n- Full translation of all sections, including features, installation instructions, and usage guidelines\r\n- Proper formatting to ensure readability\r\n- Addition of Tagalog (Tagalog) to the language selector at the top of all README files\r\n- Maintenance of all existing functionality (links, images, code blocks)\r\n\r\n**Describe alternatives you've considered**\r\n\r\nUsing browser-based translation tools (like Chrome's translate feature) \u2013 inadequate because automated translations may not accurately capture technical terms and nuances in Tagalog.\r\n\r\n**Additional context**\r\n\r\nTagalog is spoken by millions of Filipinos and is one of the primary languages in the Philippines.\r\nThe translation should follow the same pattern as other language translations in the repo (README_XX.md format).\r\nThis addition will make the project more accessible to the Filipino developer community.\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "xwxtwd", - "score": 17, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/3345621?u=b4ca21dd3ff0961c42a12fb15574e3bdfb779bea&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1438, - "title": "feat: (plugin-evm) add alienx chain", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T16:08:28Z", - "updated_at": "2024-12-24T19:24:21Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\nNo specific issue or ticket related.\r\n# Risks\r\nLow. This PR only adds types for AlienX, and it does not impact existing features or functionalities.\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nThis PR introduces types for AlienX.\r\n\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\r\n# Documentation changes needed?\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer should start by checking the added file for correctness and compatibility with the existing setup.\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", + "merged": false, + "created_at": "2024-12-25T04:23:41Z", + "updated_at": "2024-12-25T22:20:59Z", + "body": "# Relates to:\r\nfeature: Suppressing initial response messages for specific actions in direct client\r\n\r\nI would like to also extend the twitter client to include this kind of functionality. Right now there is a lot of assumptions about agent behavior such as sending an initial message before an action is processed. Ideally during the upgrade to v2 some of these hard coded behaviors can be addressed. The design should be more conducive to plugin-defined emergent behavior. Maybe there's a discussion to be had at how we can go about this at a lower level rather than going client-by-client to implement this behavior. I'm still relatively new to Eliza community if anyone has groups or public discussions on this.\r\n\r\n# Risks\r\nLow - Changes only affect the direct client's message handling logic.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds support for suppressing initial response messages in the direct client when actions have `suppressInitialMessage` flag set to true. Some actions might not want to send a message until after the action is completed. Now the action will have to manually send a follow up message with the callback.\r\n\r\n## What kind of change is this?\r\nImprovements (changes to existing message handling features)\r\n\r\n# Documentation changes needed?\r\nNew property in the `Action` documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n`packages/client-direct/src/index.ts` - Check the modified message handling logic. I've changed `imageGeneration` action to include `suppressInitialMessage` to true for testing.\r\n\r\n## Detailed testing steps\r\n1. Create an action with `suppressInitialMessage: true`\r\n2. Send a message to the direct client that triggers this action\r\n3. Verify only the callback message is sent, not the initial response\r\n\r\nKey test cases:\r\n- Action with `suppressInitialMessage: true` should only send callback message\r\n- Action with `suppressInitialMessage: false` or undefined should send both initial and callback messages\r\n- Action callback functionality should work the same regardless of suppression setting\r\n\r\nCode changes:\r\n```typescript\r\n// Check if we should suppress the initial message\r\nconst action = runtime.actions.find(\r\n (a) => a.name === response.action\r\n);\r\nconst shouldSuppressInitialMessage = action?.suppressInitialMessage;\r\n\r\nif (!shouldSuppressInitialMessage) {\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([response, message]);\r\n } else {\r\n res.json([response]);\r\n }\r\n} else {\r\n // Only process the action without sending initial response\r\n const _result = await runtime.processActions(\r\n memory,\r\n [responseMessage],\r\n state,\r\n async (newMessages) => {\r\n message = newMessages;\r\n return [memory];\r\n }\r\n );\r\n\r\n if (message) {\r\n res.json([message]);\r\n } else {\r\n res.json([]);\r\n }\r\n}\r\n```\r\n\r\nThe changes ensure that when an action has `suppressInitialMessage` set to true:\r\n1. The initial response message is not sent in the API response\r\n2. The action's callback message is still sent if present\r\n3. The response array only includes the callback message", "files": [ { - "path": "packages/plugin-evm/src/templates/index.ts", + "path": "docs/docs/core/actions.md", "additions": 3, - "deletions": 3 - }, - { - "path": "packages/plugin-evm/src/types/index.ts", - "additions": 1, - "deletions": 0 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "fyInALT", - "score": 17, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/97101459?u=c3ff76ed4f2459e1d9bd2e9d72c9ff379aa8141b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1437, - "title": "feat: add `only` to booleanFooter", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T15:55:18Z", - "updated_at": "2024-12-24T17:06:15Z", - "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\nmedium\r\n\r\n# Background\r\n\r\nWhen use `llama3.1:8b` as OLLAMA_MODEL, when use `booleanFooter`, it will return not just YES or NO, like:\r\n\r\nUse context:\r\n\r\n```\r\n {\"context\":\"# Task: Decide if the recent messages should be processed for token recommendations.\r\n\r\n Look for messages that:\r\n\r\n ... \r\n\r\n Should the messages be processed for recommendations? Respond with a YES or a NO.\"} \r\n```\r\n\r\nand will return:\r\n\r\n```\r\n {\"response\":\"YES \r\n\r\nThere are several instances in this conversation where users ask to create tokens, send Solana coins, and discuss token-related topics. The keyword \\\"token\\\" is mentioned multiple times, indicating that these conversations should be processed for token recommendation.\"} \r\n```\r\n\r\nIt will make the match in `parseBooleanFromText` return null, then make `generateTrueOrFalse` call blocked by \r\n\r\n```ts\r\nwhile (true) {\r\n try {\r\n const response = await generateText({\r\n stop,\r\n runtime,\r\n context,\r\n modelClass\r\n });\r\n const parsedResponse = parseBooleanFromText(response.trim());\r\n if (parsedResponse !== null) {\r\n return parsedResponse;\r\n }\r\n } catch (error) {\r\n elizaLogger.error(\"Error in generateTrueOrFalse:\", error);\r\n }\r\n}\r\n```\r\nSo that the eliza will keep retry to got the response.\r\n\r\nIt can fixed by add a `only` in `booleanFooter`. Then it will only return `YES` or `NO`\r\n\r\n\r\n## What does this PR do?\r\n\r\nThis PR change booleanFooter to:\r\n\r\n```\r\nRespond with only a YES or a NO.\r\n```\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\nBug fixes\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\nNo\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/core/src/parsing.ts", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "alessandromazza98", - "score": 17, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/121622391?u=a6a1e82dd34d15ee571ff0bf72cd395b1385372f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1429, - "title": "improve logging in plugin-coinbase", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T11:08:12Z", - "updated_at": "2024-12-24T17:09:56Z", - "body": "\r\n\r\n# Relates to:\r\n\r\n\r\nCloses https://github.com/elizaOS/eliza/issues/1194\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\nThis PR adds some logs in the `plugin-coinbase/src/plugins` folder using `elizaLogger` and improve consistencies between those logs.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements: no core changes are made, just new logs are added and/or modified.\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-coinbase/src/plugins/advancedTrade.ts", - "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-coinbase/src/plugins/commerce.ts", + "path": "packages/client-direct/src/index.ts", "additions": 18, - "deletions": 14 - }, - { - "path": "packages/plugin-coinbase/src/plugins/massPayments.ts", - "additions": 17, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/tokenContract.ts", - "additions": 13, - "deletions": 13 - }, - { - "path": "packages/plugin-coinbase/src/plugins/trade.ts", - "additions": 8, - "deletions": 7 - }, - { - "path": "packages/plugin-coinbase/src/plugins/webhooks.ts", - "additions": 7, - "deletions": 6 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [ - { - "author": "alessandromazza98", - "body": "I'm merging into `develop` as I saw that this is the branch where new PRs gets merged into first" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "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": 1425, - "title": "feat: client-github retry", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T09:01:17Z", - "updated_at": "2024-12-24T18:17:23Z", - "body": "\r\n\r\n# Relates to:\r\n\r\nNo\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\nWhen someone trying to clone a repo, it may occurs the network problem, so a retry mechanism is needed in ensuring a smooth and effective repo clone.\r\n\r\n## What does this PR do?\r\n\r\nAdd retry mechanism to clone repo where people may be in region or area that the network is restricted by the Great Fire Wall.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\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-github/src/index.ts", - "additions": 21, - "deletions": 4 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "omahs", - "score": 17, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/73983677?u=eee6e58b90942c2dca935e4cfdb14eaacbd06c6f&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1423, - "title": "fix: typos", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:26:08Z", - "updated_at": "2024-12-24T17:18:40Z", - "body": "fix: typos", - "files": [ - { - "path": "packages/adapter-sqljs/src/types.ts", - "additions": 3, "deletions": 3 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "DISMISSED", - "body": "" }, { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 2, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "nulLeeKH", - "score": 15, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1433, - "title": "Make search feature in twitter client works", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T13:51:59Z", - "updated_at": "2024-12-24T21:38:14Z", - "body": "# Relates to:\r\n\r\nThis PR has written without issue ticket\r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nModified the enableSearch feature of the twitter client to make it work.\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\nWe wanted the AI Agent to be exposed to random posts to learn and to respond to members of the community, and we found the TWITTER_SEARCH_ENABLE environment variable while looking for a way to do so. However, we confirmed that it was missing during the development process and that the environment variable was not working properly, so we modified it to be as identical to other toggle functions as possible.\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\nJust run agent with twitter client with TWITTER_SEARCH_ENABLE environment variable\r\n\r\n## Detailed testing steps\r\n\r\nNone, not much details needed.\r\n\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\nblairlee_dev\r\n", - "files": [ - { - "path": ".gitignore", - "additions": 1, + "path": "packages/core/src/types.ts", + "additions": 3, "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 0, - "deletions": 29 - }, - { - "path": "packages/client-twitter/src/index.ts", - "additions": 4, - "deletions": 1 - }, - { - "path": "packages/client-twitter/src/search.ts", - "additions": 5, - "deletions": 3 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this please address the comments then good to go :) " - }, - { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "nulLeeKH", - "state": "COMMENTED", - "body": "" - }, - { - "author": "monilpat", - "state": "APPROVED", - "body": "Thanks for addressing comments :) " - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 4, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "RiceChuan", - "score": 14, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/29748602?u=64218b59f2a07985d08393eb9cf877fee5a1e43a&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1424, - "title": "docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words", - "state": "MERGED", - "merged": true, - "created_at": "2024-12-24T07:41:20Z", - "updated_at": "2024-12-24T17:22:25Z", - "body": "1.Quotation marks are used incorrectly.2.Delete duplicate words", - "files": [ - { - "path": "docs/community/Notes/lore.md", + "path": "packages/plugin-image-generation/src/index.ts", "additions": 1, - "deletions": 1 - }, - { - "path": "docs/community/creator-fund.md", - "additions": 1, - "deletions": 1 - } - ], - "reviews": [ - { - "author": "monilpat", - "state": "APPROVED", - "body": "" - } - ], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "FWangZil", - "score": 12, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 2, - "commits": [], - "pull_requests": [ - { - "number": 1440, - "title": "fix: replace hardcoded model class with dynamic parameter", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T17:07:54Z", - "updated_at": "2024-12-24T18:23:54Z", - "body": "\r\n# Relates to\r\nissue https://github.com/elizaOS/eliza/issues/1439\r\n\r\n# Description\r\n\r\n- **What is the problem?** \r\n In the `generateText` function, the model type was hard-coded, preventing the function from dynamically switching models based on external parameters. \r\n- **What does this PR do?** \r\n 1. Removes the hard-coded `model class` from `generateText` and `generateMessageResponse`. \r\n 2. Use the parameter to specify the desired model type. \r\n\r\n# Risks\r\n\r\n- **Risk Level**: Low \r\n - The change is confined to the internal logic of the `generateText` and `generateMessageResponse` function. \r\n\r\n# Background\r\n\r\n- Previously, `generateText` and `generateMessageResponse` did not allow dynamic model switching based on incoming parameters, limiting flexibility and making it cumbersome to use different models in various scenarios. \r\n- By removing the hard-coded approach, developers can easily specify or configure the desired model without modifying core code.\r\n\r\n# What kind of change is this?\r\n\r\n- [x] **Bug fix** (fixes a reported issue) \r\n- [ ] New feature (adds functionality) \r\n- [ ] Other (please describe)\r\n\r\n# Documentation changes needed?\r\n\r\n- [ ] Yes \r\n- [x] No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n- Look at how `generateText` and `generateMessageResponse` now handles the incoming model parameter, and verify that any calling code is appropriately updated to use this new parameter.\r\n\r\n## Detailed testing steps \r\n- Call `generateText` and `generateMessageResponse` with a specific model parameter, confirming that it correctly switches to the chosen model. \r\n", - "files": [ - { - "path": "packages/core/src/generation.ts", - "additions": 2, - "deletions": 2 + "deletions": 0 } ], "reviews": [ { - "author": "monilpat", - "state": "APPROVED", - "body": "LGTM - but please confirm that this works with a screenshot and if so remove hard coding of gpt-4o in generateObject generatedObjectedDEPRECATED etc thanks " - } - ], - "comments": [] - }, - { - "number": 1435, - "title": "feat(solana): Add liquid staking support", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T15:17:56Z", - "updated_at": "2024-12-24T19:18:05Z", - "body": "Add the ability of liquid staking to the current elizaos solana plugin.\r\n\r\n- It can build the desired staking requests for end-users, eliminating the complexity of front-end development and the need for users to switch between multiple platforms to compare APYs and select staking protocols.\r\n- Currently supports five protocols: \"jito\", \"blaze\", \"jpool\", \"marinade\", \"marginfi\", and is capable of expanding to support more protocols.\r\n\r\n# Relates to:\r\n\r\nIssue https://github.com/elizaOS/eliza/issues/1434\r\n\r\n# Risks\r\n\r\n- There are no risks. An independent new Solana feature module has been introduced without modifying the code of other parts.\r\n\r\n# Background\r\n\r\n- There are some distinctive liquid staking solutions on Solana. However, users or developers need to provide a specific APP for users to conduct staking.\r\n- Liquid Staking Action aims to enable users to interact with the Agent through natural language. The Eliza Agent will build transactions for users. The front-end only needs to integrate a Solana wallet to support multiple staking protocols, eliminating the need to code and integrate the specific logic of different staking protocols.\r\n\r\n## What does this PR do?\r\n\r\n- When the user specifies a liquid staking protocol, build the corresponding transaction (base58 encoded) for the user.\r\n- When the user does not specify a specific protocol, based on the APY and TVL data of multiple protocols provided by the StakeProtocolProvider, use the designated LLM to optimize the staking protocol for the user and then build the corresponding transaction.\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\n\r\n- No\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- packages/plugin-solana/src/actions/liquidStake.ts\r\n\r\n## Detailed testing steps\r\n\r\n1. Enable @elizaos/plugin-solana in the character.\r\n2. Interact with the Agent, for example: \u201cMy address is HqvTPqS2FaB2fQ7mxqZHQHz6H28o1u2Z9fRH5No8JN2W and I want to stake 0.01 SOL\u201d.\r\n3. Obtain the response (the constructed staking transaction).", - "files": [ - { - "path": "packages/plugin-solana/package.json", - "additions": 2, - "deletions": 0 - }, - { - "path": "packages/plugin-solana/src/actions/liquidStake.ts", - "additions": 468, - "deletions": 0 - }, - { - "path": "packages/plugin-solana/src/index.ts", - "additions": 3, - "deletions": 2 - }, - { - "path": "packages/plugin-solana/src/providers/stakeProtocol.ts", - "additions": 202, - "deletions": 0 + "author": "odilitime", + "state": "COMMENTED", + "body": "" }, { - "path": "packages/plugin-solana/src/types/stake.ts", - "additions": 54, - "deletions": 0 + "author": "0xPBIT", + "state": "COMMENTED", + "body": "" }, { - "path": "pnpm-lock.yaml", - "additions": 497, - "deletions": 365 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] }, "issues": { - "total_opened": 2, - "opened": [ - { - "number": 1439, - "title": "Bug: generateText is ignoring dynamic parameters due to a hard-coded model class", - "state": "OPEN", - "created_at": "2024-12-24T16:59:30Z", - "updated_at": "2024-12-24T16:59:30Z", - "body": "**Is your feature request (or bug) related to a problem? Please describe.**\r\n\r\nIn the `generateText` function, the `model class` is currently hard-coded(gpt-4o), which prevents dynamically switching to different models based on incoming parameters. This reduces flexibility and can increase development complexity in scenarios where different models are needed.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Remove the hard-coded `model class` reference in the `generateText` function and instead use a model name/type passed in as a function parameter or configuration.\r\n- Ensure there is a sensible default value to maintain compatibility with existing functionality or cases where a specific model is not provided.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Leaving it as is would require manual code changes to switch models in different scenarios, which is not ideal.\r\n- Introducing a separate function to handle switching model classes could lead to redundant logic and increase maintenance overhead.\r\n\r\n**Additional context**\r\n\r\n- **Risks**: This change is minor, but it\u2019s important to check if other parts of the code depend on the old hard-coded logic.\r\n- **Testing**:\r\n - Test with multiple model types to confirm that the function correctly switches to the specified model.", - "labels": [ - { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" - } - ], - "comments": [] - }, - { - "number": 1434, - "title": "Add Liquid Staking Action to the Solana Plugin", - "state": "OPEN", - "created_at": "2024-12-24T14:58:25Z", - "updated_at": "2024-12-24T14:58:25Z", - "body": "\r\n**Is your feature request related to a problem? Please describe.**\r\n\r\nCurrently, there are various liquid staking protocols on Solana, but users or developers often need to build dedicated front-end solutions or switch between multiple platforms to compare APYs and select the appropriate protocol before staking. This process is tedious and increases front-end development complexity, making it cumbersome for users.\r\n\r\n**Describe the solution you'd like**\r\n\r\n- Add the ability for liquid staking to the existing ElizaOS Solana plugin, simplifying the process of building staking requests for users without requiring specialized front-end logic.\r\n\r\n**Describe alternatives you've considered**\r\n\r\n- Continue relying on each protocol\u2019s custom front-end or having developers integrate multiple protocols manually. This leads to high complexity and development cost. \r\n- Have users manually compare different platforms\u2019 APYs, which can be error-prone and inconvenient.\r\n\r\n**Additional context**\r\n\r\n", - "labels": [ - { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" - } - ], - "comments": [] - } - ] + "total_opened": 0, + "opened": [] }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 3, "comments": [], "reviews": [] } } }, { - "contributor": "humanagent", - "score": 5, + "contributor": "tomguluson92", + "score": 6, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/1447073?u=dff55a747ae4569a87f4eae7a01578682640a9e9&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4", "activity": { "code": { "total_commits": 0, @@ -773,175 +139,192 @@ "commits": [], "pull_requests": [ { - "number": 1441, - "title": "feat: XMTP", + "number": 1446, + "title": "feat: Add Text to 3D function", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T17:52:09Z", - "updated_at": "2024-12-24T21:21:43Z", - "body": "# End-to-end encrypted messaging\r\n\r\nAI is transforming consumer tech, with messaging becoming the main channel for interacting with agent services. This shift will scale message traffic astronomically, analogous to the web\u2019s rise in the 2000s. Just as Cloudflare and https secured web traffic, messaging will need robust scalable end-to-end encrypted messages to protect sensitive information.\r\n\r\n## Risks\r\n\r\nRisks of not using end-to-end encryption for agent interactions exposes the users to what is called as Man in the **Middle Attacks**.\r\n\r\n> **Man in the Middle Attacks**: Intercept requests in between to alter or manipulate data sent or received by the AI service\r\n\r\n- **Phishing**: Messages can be intercepted and manipulated.\r\n- **Privacy**: Sensitive information read by unwanted parties\r\n- **Tampering**: Content can be altered without detection.\r\n\r\n:::tip\r\nMore concrete sensitive data could include credit card details, private keys and passwords which is not yet widely spread but as agents become smarter more use cases will include this type of sharing.\r\n:::\r\n\r\n## XMTP\r\n\r\nEliza agents come with a ready to use client that uses XMTP providing end-to-end encrypted messaging for every agent intereaction, crucial for privacy, security, and compliance provided by the XMTP network.\r\n\r\n### Features:\r\n\r\n- **E2EE**: End to end encrypted MLS encryption\r\n- **Multi-agent**: Support multi-agent through group chats\r\n- **Interoperable**: Works across all platforms and frontends\r\n- **Scalable**: Decentralized, open-source\r\n- **Anonymous**: By default every identity is ephemeral and anonymous.\r\n\r\n### Installation\r\n\r\nInstall the `xmtp` package\r\n\r\n```bash [cmd]\r\nbun install xmtp\r\n```\r\n\r\n### Usage\r\n\r\nThis is how you can use the `xmtp` package to create an agent and handle messages.\r\n\r\n- `WALLET_PRIVATE_KEY`: This will encrypt all messages and make it available through its public address or ens domain.\r\n\r\n```tsx\r\nimport { XMTP } from \"xmtp\";\r\n\r\nconst xmtp = new XMTP(onMessage, {\r\n encryptionKey: WALLET_PRIVATE_KEY,\r\n});\r\nawait xmtp.init();\r\nconst onMessage = async (message, user) => {\r\n console.log(`Decoded message: ${message.content.text} by ${user.address}`);\r\n // Your AI model response\r\n await xmtp.send({\r\n message: response,\r\n originalMessage: message,\r\n });\r\n};\r\n```\r\n\r\nFor more information visit XMTP [website](https://xmtp.org/)", + "created_at": "2024-12-25T06:47:21Z", + "updated_at": "2024-12-25T07:44:03Z", + "body": "\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\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nSince I am a AlGC researcher, and I use Text2Image/video/3D frequently, thus I need to equip Eliza with fulfill function of the \r\nSOTA text to 3D function.\r\n\r\n## What kind of change is this?\r\n\r\n`Features`\r\n\r\n\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\r\n\r\n# Testing\r\n\r\nYes\r\n\r\n## Where should a reviewer start?\r\n\r\nlocal testing, and input prompt with `please generate a 3D object of xxx`\r\n\r\n## Detailed testing steps\r\n\r\n- `pnpm build/install`\r\n- `cp -r packages/plugin-3d-generation/` to `agent/node_modules/\\@ai16z/`\r\n- `pnpm start --character=\"characters/xxx_Configuration.json\"`\r\n- `pnpm start:client`\r\n\r\nThen you can test it in the webUI with prompt `please generate a 3D object of a lovely cat`. With input `FAL_API_KEY` with enough quota, you can have your `glb/obj/fbx/stl` format 3D object in the `content_cache` folder.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 1, + "path": "agent/src/index.ts", + "additions": 4, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 62, - "deletions": 60 - }, - { - "path": "agent/src/index.ts", + "path": "packages/plugin-3d-generation/.npmignore", "additions": 7, - "deletions": 1 - }, - { - "path": "docs/docs/advanced/e2ee.md", - "additions": 66, "deletions": 0 }, { - "path": "docs/docs/guides/advanced.md", - "additions": 1, + "path": "packages/plugin-3d-generation/eslint.config.mjs", + "additions": 3, "deletions": 0 }, { - "path": "docs/docs/packages/agent.md", - "additions": 5, + "path": "packages/plugin-3d-generation/package.json", + "additions": 19, "deletions": 0 }, { - "path": "docs/docs/packages/agents.md", - "additions": 228, - "deletions": 223 - }, - { - "path": "docs/docs/packages/clients.md", - "additions": 153, - "deletions": 146 - }, - { - "path": "docs/docs/packages/packages.md", - "additions": 1, + "path": "packages/plugin-3d-generation/src/constants.ts", + "additions": 4, "deletions": 0 }, { - "path": "docs/sidebars.js", - "additions": 6, - "deletions": 1 - }, - { - "path": "packages/client-xmtp/.npmignore", - "additions": 6, + "path": "packages/plugin-3d-generation/src/index.ts", + "additions": 198, "deletions": 0 }, { - "path": "packages/client-xmtp/eslint.config.mjs", - "additions": 3, + "path": "packages/plugin-3d-generation/tsconfig.json", + "additions": 15, "deletions": 0 }, { - "path": "packages/client-xmtp/package.json", - "additions": 19, + "path": "packages/plugin-3d-generation/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [], + "comments": [ { - "path": "packages/client-xmtp/src/index.ts", - "additions": 188, - "deletions": 0 + "author": "odilitime", + "body": "not `cp -r packages/plugin-3d-generation/ to agent/node_modules/\\@ai16z/`\r\n\r\nbut edit agent/package.json and include as a workspace like the other plugins" }, { - "path": "packages/client-xmtp/tsconfig.json", - "additions": 10, - "deletions": 0 - }, + "author": "tomguluson92", + "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n" + } + ] + } + ] + }, + "issues": { + "total_opened": 0, + "opened": [] + }, + "engagement": { + "total_comments": 0, + "total_reviews": 0, + "comments": [], + "reviews": [] + } + } + }, + { + "contributor": "Freytes", + "score": 6, + "summary": "", + "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4", + "activity": { + "code": { + "total_commits": 0, + "total_prs": 1, + "commits": [], + "pull_requests": [ + { + "number": 1445, + "title": "Add: Client Reddit Files", + "state": "OPEN", + "merged": false, + "created_at": "2024-12-25T05:18:13Z", + "updated_at": "2024-12-25T22:21:32Z", + "body": "# @ai16z/client-reddit\r\n\r\nA powerful Reddit client plugin for the Eliza framework that enables AI agents to interact with Reddit through posting, commenting, and voting capabilities.\r\n\r\n## Features\r\n\r\n* Full Reddit API integration via Snoowrap wrapper\r\n* Create and submit posts to multiple subreddits\r\n* Comment on existing posts and replies\r\n* Vote on posts and comments programmatically\r\n* Automated posting with configurable intervals\r\n* Built-in rate limiting and error handling\r\n* Dry run mode for testing\r\n* TypeScript support out of the box\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @ai16z/client-reddit\r\n```\r\n\r\nOr using yarn:\r\n\r\n```bash\r\nyarn add @ai16z/client-reddit\r\n```\r\n\r\n## Configuration\r\n\r\n### Required Environment Variables\r\n\r\n```env\r\nREDDIT_CLIENT_ID=your_client_id\r\nREDDIT_CLIENT_SECRET=your_client_secret\r\nREDDIT_REFRESH_TOKEN=your_refresh_token\r\nREDDIT_USER_AGENT=your_user_agent\r\nREDDIT_SUBREDDITS=subreddit1,subreddit2,subreddit3\r\n```\r\n\r\n### Optional Configuration\r\n\r\n```env\r\nREDDIT_AUTO_POST=true # Enable automated posting\r\nPOST_INTERVAL_MIN=90 # Minimum time between posts (minutes)\r\nPOST_INTERVAL_MAX=180 # Maximum time between posts (minutes)\r\nPOST_IMMEDIATELY=false # Post on startup\r\nREDDIT_DRY_RUN=false # Run without making actual API calls\r\n```\r\n\r\n## Usage\r\n\r\n### As an Eliza Plugin\r\n\r\n```typescript\r\nimport { redditPlugin } from '@ai16z/client-reddit';\r\nimport { Eliza } from '@ai16z/eliza';\r\n\r\nconst eliza = new Eliza();\r\neliza.use(redditPlugin);\r\n\r\n// The plugin will automatically initialize with your environment variables\r\n```\r\n\r\n### Direct Usage\r\n\r\n```typescript\r\nimport { RedditClient } from '@ai16z/client-reddit';\r\n\r\nconst client = new RedditClient(runtime);\r\nawait client.start();\r\n\r\n// Submit a post\r\nawait client.submitPost('subreddit', 'Title', 'Content');\r\n\r\n// Create a comment\r\nawait client.createComment('t3_postId', 'This is a comment');\r\n\r\n// Vote on content\r\nawait client.vote('t3_postId', 1); // 1 for upvote, -1 for downvote\r\n```\r\n\r\n## Available Actions\r\n\r\n### Create Post\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_POST', {\r\n content: {\r\n subreddit: 'test',\r\n title: 'My First Post',\r\n text: 'This is the content of my post'\r\n }\r\n});\r\n```\r\n\r\n### Create Comment\r\n\r\n```typescript\r\nruntime.execute('CREATE_REDDIT_COMMENT', {\r\n postId: 't3_abc123',\r\n content: 'This is my comment'\r\n});\r\n```\r\n\r\n### Vote\r\n\r\n```typescript\r\nruntime.execute('REDDIT_VOTE', {\r\n targetId: 't3_abc123',\r\n direction: 1 // 1 for upvote, -1 for downvote\r\n});\r\n```\r\n\r\n## Error Handling\r\n\r\nThe client includes built-in error handling for common Reddit API issues:\r\n\r\n* Rate limiting\r\n* Invalid credentials\r\n* Network errors\r\n* Subreddit posting restrictions\r\n* Content filters\r\n\r\nErrors are logged and can be caught using standard try/catch blocks.\r\n\r\nPowershell Script required to make an OAuth Key:\r\n\r\n```\r\n# Reddit App Credentials\r\n$CLIENT_ID = \"xxx\"\r\n$CLIENT_SECRET = \"xxx\"\r\n$REDIRECT_URI = \"http://localhost:8080/callback\"\r\n\r\n# Generate random state\r\n$state = -join ((65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})\r\n\r\n# Define scopes\r\n$SCOPES = \"identity submit edit vote read\"\r\n\r\n# Create authorization URL\r\n$authUrl = \"https://www.reddit.com/api/v1/authorize?\" +\r\n \"client_id=$CLIENT_ID&\" +\r\n \"response_type=code&\" +\r\n \"state=$state&\" +\r\n \"redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))&\" +\r\n \"duration=permanent&\" +\r\n \"scope=$([Uri]::EscapeDataString($SCOPES))\"\r\n\r\nWrite-Host \"Visit this URL in your browser to authorize the app:\"\r\nWrite-Host $authUrl\r\nWrite-Host \"`nAfter authorization, you'll be redirected to a URL like:\"\r\nWrite-Host \"http://localhost:8080/callback?state=xyz&code=ABC123...\"\r\nWrite-Host \"`nPaste ONLY the code value (the part after 'code=' and before any '#' or '&'):\"\r\n$code = Read-Host \"Enter the code\"\r\n\r\n# Exchange code for tokens\r\n$base64Auth = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(\"${CLIENT_ID}:${CLIENT_SECRET}\"))\r\n$headers = @{\r\n \"Authorization\" = \"Basic $base64Auth\"\r\n \"Content-Type\" = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\n$body = \"grant_type=authorization_code&code=$code&redirect_uri=$([Uri]::EscapeDataString($REDIRECT_URI))\"\r\n\r\ntry {\r\n $response = Invoke-RestMethod `\r\n -Uri \"https://www.reddit.com/api/v1/access_token\" `\r\n -Method Post `\r\n -Headers $headers `\r\n -Body $body\r\n\r\n Write-Host \"`nRefresh Token: $($response.refresh_token)\"\r\n Write-Host \"Access Token: $($response.access_token)\"\r\n} catch {\r\n Write-Host \"Error: $($_.Exception.Message)\"\r\n if ($_.Exception.Response) {\r\n $result = $_.Exception.Response.GetResponseStream()\r\n $reader = New-Object System.IO.StreamReader($result)\r\n $reader.BaseStream.Position = 0\r\n $reader.DiscardBufferedData()\r\n $responseBody = $reader.ReadToEnd()\r\n Write-Host \"Response: $responseBody\"\r\n }\r\n}\r\n```\r\n\r\nPlease perform the following prior to generating an OAuth Key:\r\n\r\n1. Create an account for your agent on: Reddit.com\r\n2. Login using the newly created account.\r\n3. Create a script based application:\r\n```\r\nscript | Script for personal use. Will only have access to the developers accounts\r\nredirect uri | http://localhost:8080/callback\r\n```\r\n4. Use the powershell script logged in as the agent, to generate the OAuth Key.\r\n5. Place the key as the: REDDIT_REFRESH_TOKEN", + "files": [ { - "path": "packages/client-xmtp/tsup.config.ts", - "additions": 10, + "path": "agent/package.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/core/src/types.ts", - "additions": 1, - "deletions": 0 + "path": "agent/src/index.ts", + "additions": 20, + "deletions": 77 }, { - "path": "packages/plugin-concierge/.npmignore", + "path": "packages/client-reddit/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/plugin-concierge/eslint.config.mjs", + "path": "packages/client-reddit/eslint.config.mjs", "additions": 3, "deletions": 0 }, { - "path": "packages/plugin-concierge/package.json", - "additions": 19, + "path": "packages/client-reddit/package.json", + "additions": 22, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/baselinks.ts", - "additions": 74, + "path": "packages/client-reddit/src/actions/comment.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/cdp.ts", - "additions": 302, + "path": "packages/client-reddit/src/actions/post.ts", + "additions": 88, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/resolver.ts", - "additions": 216, + "path": "packages/client-reddit/src/actions/vote.ts", + "additions": 49, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/storage.ts", - "additions": 99, + "path": "packages/client-reddit/src/clients/redditClient.ts", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/templates.ts", - "additions": 154, + "path": "packages/client-reddit/src/clients/redditPostClient.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/types.ts", - "additions": 72, + "path": "packages/client-reddit/src/index.ts", + "additions": 28, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/actions/walletservice.ts", - "additions": 559, + "path": "packages/client-reddit/src/providers/redditProvider.ts", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-concierge/src/index.ts", - "additions": 25, + "path": "packages/client-reddit/src/types/index.ts", + "additions": 18, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsconfig.json", + "path": "packages/client-reddit/tsconfig.json", "additions": 13, "deletions": 0 }, { - "path": "packages/plugin-concierge/tsup.config.ts", - "additions": 20, + "path": "packages/client-reddit/tsup.config.ts", + "additions": 21, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "pnpm-lock.yaml", - "additions": 990, - "deletions": 21 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [ { - "author": "shakkernerd", - "body": "We can continue the convo in here from #1285 " + "author": "odilitime", + "body": "needs to include the agent/ wiring (package.json src/index.ts)" + }, + { + "author": "Freytes", + "body": "@odilitime Updated the requested files." } ] } @@ -953,17 +336,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "kroist", + "contributor": "harperaa", "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/36311724?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", "activity": { "code": { "total_commits": 0, @@ -971,40 +354,30 @@ "commits": [], "pull_requests": [ { - "number": 1436, - "title": "Add anthropic image description", + "number": 1449, + "title": "Feat: update package.json to add Cleanstart options for new database", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T15:31:31Z", - "updated_at": "2024-12-24T18:08:04Z", - "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-25T17:12:42Z", + "updated_at": "2024-12-25T22:37:31Z", + "body": "Provide cleanstart scripts for startup with new database\r\n\r\nAdds following scripts to package.json:\r\n`cleanstart` - checks for db.sqlite and removes it, for a clean start. \r\n\r\n`cleanstart:debug` - does same, but starts with debugging options on...\r\n\r\n\r\n\r\n# Relates to: N/A\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\nThis allows for quick development, when a reset of the database is desired on each start of the agent.\r\n\r\n## What kind of change is this?\r\n\r\nImprovements (misc. changes to existing features)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nYes, perhaps.\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-node/package.json", + "path": "package.json", "additions": 2, - "deletions": 1 - }, - { - "path": "packages/plugin-node/src/services/image.ts", - "additions": 88, - "deletions": 10 - }, - { - "path": "packages/plugin-node/src/services/imageUtils.ts", - "additions": 79, "deletions": 0 - }, - { - "path": "pnpm-lock.yaml", - "additions": 145, - "deletions": 62 } ], "reviews": [ { "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Thanks for doing this added a couple of comments to make this configurable after that good to go :) " + "state": "APPROVED", + "body": "Thank you for doing this been manually deleting so much appreciated. Note this is for sqlite only so if you can add that into the command name that would be great" + }, + { + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], "comments": [] @@ -1017,17 +390,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "jobyid", + "contributor": "Firbydude", "score": 5, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/56961121?u=4b674517547cad5b4a9754de624496f105b9e14c&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4", "activity": { "code": { "total_commits": 0, @@ -1035,61 +408,42 @@ "commits": [], "pull_requests": [ { - "number": 1427, - "title": "mongo-db adaptor", + "number": 1442, + "title": "Add support for VoyageAI embeddings API", "state": "OPEN", "merged": false, - "created_at": "2024-12-24T10:30:12Z", - "updated_at": "2024-12-24T10:30:12Z", - "body": "Added an adaptor which connects to mongo db atlas. Allowing you to store agent data in the cloud. If you have the appropriate tier you can also take advantage of their vector search functionality.\r\nIt should have all the same functionality as the other database adaptors. \r\n\r\n\r\n\r\n# Relates to:\r\nAdding the option of using MongoDB in the cloud to store you agents data \r\n\r\n# Risks\r\nLow, adds additional options for database usage\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds the option to store your agents data in MongoDB Atlas, and take advantage of their vector search. I have also updated the .env.example to include the additional variables for the mongo connection. And added to the agent index with functionality to initialise this database if required. \r\n\r\n## What kind of change is this?\r\nAdding an additional feature \r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\nIn my day job we exclusively use mongoDB for our database needs, for commercials and performance reasons. As we want to develop AI Agents, we need to have the mongoDB adaptor. IN the sprit of OpenSource I wanted to make sure it was available for the whole community to use as well. \r\n\r\n# Documentation changes needed?\r\nA small additional input to the documentation is required to make users aware of the additional functionality and how it can be actioned. \r\nSimilar to the Postgres set up just adding in the appropriate connection string to the .env file will action he change to start using MongoDB as the database. \r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\nThe reviewer will need to have a least a free account with mongoDB atlas, then add the connection string and a Database name to the .env file. After that the agent should run as expected, saving memories as before. The reviewer can verify the saved data inside the MongoDB interface. \r\n \r\n## Detailed testing steps\r\n1. Create MongoDB atlas account \r\n2. Add connection string and Database name to .env file \r\n3. Run agent \r\n4. Verify inside MongoDB interface that the collections have formed and data is being stored \r\n\r\n\r\n\r\n\r\n\r\n", + "created_at": "2024-12-25T03:40:59Z", + "updated_at": "2024-12-25T07:20:18Z", + "body": "# Risks\r\n\r\nA bug or change in behavior of embedding provider selection could cause an unexpected switch. This could cause pre-existing embeddings and new embeddings to be incompatible.\r\n\r\nI removed `isOllama` flag from the config. It seemed to only be used when we already knew the provider is ollama so was redundant. It is technically a change in behavior because using ollama with a url override will no longer strip the trailing v1/.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nAdded support for environment variables:\r\n- USE_VOYAGEAI_EMBEDDING\r\n- VOYAGEAI_API_KEY\r\n- VOYAGEAI_EMBEDDING_DIMENSIONS\r\n- VOYAGEAI_EMBEDDING_MODEL Configuration follows existing patterns. Values for dimensions and model can be found in the [VoyageAI API documentation](https://docs.voyageai.com/docs/embeddings).\r\n\r\nSome minor clean-up of the embedding.ts file.\r\n\r\nAdded unit tests around embedding configuration.\r\n\r\n## What kind of change is this?\r\n\r\nFeature\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nAnthropic does not support an embedding API, but [recommends Voyage](https://docs.anthropic.com/en/docs/build-with-claude/embeddings). Various model sizes and domains are supported.\r\n\r\n# Documentation changes needed?\r\n\r\n- Updated `.env.example` to include new settings.\r\n- Removed an unused function `getEmbeddingType`. I see there are some API docs including this. Is there a doc generation step?\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Detailed testing steps\r\n\r\n### Using Voyage AI\r\n\r\n```env\r\nUSE_VOYAGEAI_EMBEDDING=true\r\nVOYAGEAI_API_KEY=\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Getting remote embedding using provider: \r\n VoyageAI \r\n```\r\n\r\n### Using Local Model\r\n```env\r\nUSE_OPENAI_EMBEDDING=FALSE\r\nUSE_OLLAMA_EMBEDDING=FALSE\r\nUSE_GAIANET_EMBEDDING=FALSE\r\nUSE_VOYAGEAI_EMBEDDING=FALSE\r\n```\r\n\r\nLogs:\r\n```\r\n \u1367 DEBUG\r\n Preprocessing text: \r\n {\"input\":\"hey charl! updated your embeddings! what's my real name?\",\"length\":56} \r\n\r\n \u1367 DEBUG\r\n Knowledge query: \r\n {\"original\":\"hey charl! updated your embeddings! what's my real name?\",\"processed\":\"hey charl updated your embeddings whats my real name?\",\"length\":53} \r\n\r\n \u1367 DEBUG\r\n Embedding request: \r\n {\"modelProvider\":\"anthropic\",\"useOpenAI\":\"FALSE\",\"input\":\"hey charl updated your embeddings whats my real na...\",\"inputType\":\"string\",\"inputLength\":53,\"isString\":true,\"isEmpty\":false} \r\n\r\n [\"\u1367 DEBUG - Inside getLocalEmbedding function\"] \r\n\r\n [\"\u1367 Initializing BGE embedding model...\"] \r\n\r\n \u1367 DEBUG\r\n Generating embedding for input: \r\n {\"inputLength\":53,\"inputPreview\":\"hey charl updated your embeddings whats my real name?...\"} \r\n\r\n \u1367 DEBUG\r\n Raw embedding from BGE: \r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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\nfirbydude\r\n\r\n", "files": [ { "path": ".env.example", - "additions": 4, - "deletions": 0 - }, - { - "path": ".idea/.gitignore", - "additions": 5, - "deletions": 0 - }, - { - "path": "agent/src/index.ts", - "additions": 31, - "deletions": 2 - }, - { - "path": "packages/adapter-mongodb/.npmignore", "additions": 6, "deletions": 0 }, { - "path": "packages/adapter-mongodb/eslint.config.mjs", - "additions": 3, - "deletions": 0 - }, - { - "path": "packages/adapter-mongodb/package.json", - "additions": 26, - "deletions": 0 + "path": "packages/core/src/embedding.ts", + "additions": 73, + "deletions": 120 }, { - "path": "packages/adapter-mongodb/src/index.ts", - "additions": 910, + "path": "packages/core/src/tests/embeddings.test.ts", + "additions": 102, "deletions": 0 }, { - "path": "packages/adapter-mongodb/tsconfig.json", - "additions": 23, + "path": "packages/core/src/voyageai.ts", + "additions": 156, "deletions": 0 - }, + } + ], + "reviews": [ { - "path": "packages/adapter-mongodb/tsup.config.ts", - "additions": 28, - "deletions": 0 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] @@ -1100,17 +454,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 1, "comments": [], "reviews": [] } } }, { - "contributor": "0xPBIT", - "score": 5, + "contributor": "monilpat", + "score": 4, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4", "activity": { "code": { "total_commits": 0, @@ -1118,573 +472,517 @@ "commits": [], "pull_requests": [ { - "number": 1422, - "title": "feat: Twitter Post Action Implementation", - "state": "OPEN", + "number": 1451, + "title": "feat: reimplement add comment to issues + prs and generate useful content", + "state": "CLOSED", "merged": false, - "created_at": "2024-12-24T04:41:19Z", - "updated_at": "2024-12-24T18:21:26Z", - "body": "# Relates to:\r\nN/A - Plugin implementation for Twitter posting functionality via action\r\n\r\n# Risks\r\nLow - This is a new plugin that adds Twitter posting capability. The main risks are:\r\n- Failed tweets due to rate limiting or authentication issues\r\n- Potential for tweets that are too long (mitigated by automatic truncation)\r\n- No risk to existing functionality as this is an isolated plugin\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds a Twitter plugin that enables posting tweets through the agent-twitter-client package. Key features:\r\n- Implements POST_TWEET action for sending tweets\r\n- Handles Twitter authentication via environment variables\r\n- Automatically truncates tweets that exceed character limits\r\n- Provides detailed error handling and logging\r\n- Supports dry run mode for testing\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n- Adds new Twitter posting capability\r\n- Uses the standalone agent-twitter-client package\r\n- Implements proper error handling and character limit enforcement\r\n\r\n# Documentation changes needed?\r\nMy changes require a change to the project documentation:\r\n- Add Twitter plugin setup instructions\r\n- Document required environment variables:\r\n - TWITTER_USERNAME\r\n - TWITTER_PASSWORD\r\n - TWITTER_EMAIL\r\n - TWITTER_DRY_RUN (optional)\r\n - TWITTER_2FA_SECRET (optional)\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. Review `packages/plugin-twitter/src/actions/post.ts` for the main implementation\r\n2. Check error handling in postTweet function\r\n3. Review tweet composition logic in composeTweet function\r\n4. Verify environment variable handling\r\n\r\n## Detailed testing steps\r\n1. Set up environment variables in `.env`:\r\n```bash\r\nTWITTER_USERNAME=your_username\r\nTWITTER_PASSWORD=your_password\r\nTWITTER_EMAIL=your_email\r\nTWITTER_DRY_RUN=false\r\n```\r\n\r\n2. Test tweet posting:\r\n```bash\r\n# Start with dry run mode\r\nTWITTER_DRY_RUN=true pnpm dev\r\n\r\n# Test actual posting\r\nTWITTER_DRY_RUN=false pnpm dev\r\n```\r\n\r\n3. Verify error handling:\r\n- Try posting a tweet > 180 characters (should truncate)\r\n- Try posting with invalid credentials (should show error)\r\n- Try posting with missing credentials (should validate)\r\n\r\n4. Check logging:\r\n- Verify credential validation logs\r\n- Check tweet content generation logs\r\n- Verify error messages are descriptive\r\n\r\n# Deploy Notes\r\n- Requires agent-twitter-client package\r\n- Environment variables must be set for Twitter authentication\r\n- No database changes required", + "created_at": "2024-12-25T20:35:11Z", + "updated_at": "2024-12-25T20:37:42Z", + "body": "# Relates to:\r\n\r\n\r\n\r\n# Risks\r\n\r\nLow. The changes involve updating methods to retrieve specific pull request and issue numbers, and ensuring types and schemas are correctly defined. This could affect the functionality of adding comments to pull requests and issues if not implemented correctly.\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR updates the methods used to retrieve specific pull request and issue numbers in the `addCommentToPR.ts` and `addCommentToIssue.ts` files. It also ensures that types and schemas are correctly defined and used in the `types.ts` file.\r\n\r\n## What kind of change is this?\r\n\r\n- Improvements (misc. changes to existing features)\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\nStart by reviewing the changes in the `addCommentToPR.ts`, `addCommentToIssue.ts`, and `types.ts` files.\r\n\r\n## Detailed testing steps\r\n\r\n- Verify that comments can be successfully added to pull requests and issues using the updated methods.\r\n- Ensure that the types and schemas are correctly validated.\r\n\r\n## Linter Errors\r\n\r\nFile Name: packages/plugin-github/src/types.ts\r\nErrors:\r\n___\r\n1 |\r\n\r\n___", "files": [ { - "path": "agent/package.json", - "additions": 1, - "deletions": 0 + "path": ".env.example", + "additions": 5, + "deletions": 7 }, { - "path": "packages/plugin-twitter/.npmignore", + "path": ".github/workflows/integrationTests.yaml", "additions": 6, - "deletions": 0 + "deletions": 10 }, { - "path": "packages/plugin-twitter/package.json", - "additions": 17, + "path": ".github/workflows/sync-upstream.yaml", + "additions": 80, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/actions/post.ts", - "additions": 200, + "path": ".gitignore", + "additions": 5, + "deletions": 2 + }, + { + "path": "README.md", + "additions": 135, + "deletions": 136 + }, + { + "path": "agent/context.json", + "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-twitter/src/index.ts", - "additions": 12, + "path": "agent/context.txt", + "additions": 584, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsconfig.json", - "additions": 13, + "path": "agent/package.json", + "additions": 3, + "deletions": 1 + }, + { + "path": "agent/src/index.ts", + "additions": 54, + "deletions": 38 + }, + { + "path": "agent/state.json", + "additions": 969, "deletions": 0 }, { - "path": "packages/plugin-twitter/tsup.config.ts", - "additions": 10, + "path": "characters/chronis.character.json", + "additions": 319, "deletions": 0 - } - ], - "reviews": [ + }, { - "author": "monilpat", - "state": "CHANGES_REQUESTED", - "body": "Amazing work thanks for doing this please address comments " - } - ], - "comments": [ + "path": "characters/logging-addict.character.json", + "additions": 263, + "deletions": 0 + }, { - "author": "0xPBIT", - "body": "Several people have commented in the discord coders chat about twitter functionality from an action instead of the hard coded client loop. I've opened this PR just to show an example of how this can be done.\r\n\r\nThis is a small demo where I workshop a tweet with c3po agent to come up with a tweet. Then I can say \"go tweet that\" and the agent will put it on their twitter profile -- without using the client-twitter package.\r\n\r\n\"Screenshot\r\n\"Screenshot\r\n\r\n\r\n" - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 1, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "swizzmagik", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/3955528?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1417, - "title": "feat: add birdeye plugin", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T00:27:28Z", - "updated_at": "2024-12-24T19:05:23Z", - "body": "This is my first attempt to contribute to this project. I have been adding features and additional query capability for the Birdeye API and I think many other could benefit.\r\n\r\n# Relates to:\r\n\r\n- plugin ecosystem and capabilities for accessing and querying Birdeye data API\r\n- [Expanding Birdeye thread](https://discord.com/channels/1253563208833433701/1318974518680748173)\r\n- possible overlap with: https://github.com/elizaOS/eliza/pull/1366\r\n\r\n\r\n# Risks\r\n\r\n- People who already have the BIRDEYE_API_KEY enabled could end up querying the endpoints more\r\n\r\n# Background\r\n\r\nThis pull request significantly enhances the Birdeye API integration within the AI agent framework by expanding its capabilities beyond basic query functionality. The proposed tools enable more comprehensive and versatile interactions with the Birdeye API, including data clearing and management features. These improvements provide the AI agents with a broader and more efficient toolkit for handling Birdeye API data, enhancing the overall flexibility and utility of the framework for developers and end-users. By extending the scope of the API integration, this contribution supports more robust and scalable solutions within the project.\r\n\r\n## What does this PR do?\r\n\r\nThis PR adds providers that represent all the different API endpoints available in the Birdeye API. By doing so, it ensures that when a user requests a specific type of data, the AI agent has a significantly higher likelihood of accessing and utilizing the relevant data in its response. This enhancement maximizes the agent\u2019s ability to provide accurate and contextually rich answers, leveraging the full scope of the Birdeye API.\r\n\r\n## What kind of change is this?\r\n\r\n- net new plugin\r\n\r\n\r\n\r\n\r\nThis API connection is critical for enabling the agent to perform research and analyze the dynamics of the ecosystem effectively. By integrating comprehensive access to all Birdeye API endpoints, this PR lays the groundwork for future enhancements and features that will further expand the agent's capabilities. This integration not only empowers the agent to deliver more insightful and accurate responses but also positions the framework for scalable growth and the addition of advanced functionalities in the future.\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n- Yes, this will require the docs to be updated. I am happy to update the appropriate project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n- Pull the branch\r\n- Enable plugin by setting the BIRDEYE_API_KEY\r\n- Utilize the web console as ask questions about onchain data. \r\n- Example prompts:\r\n-- give me a list of wallets on solana that i should be following\r\n-- tell me more about BbJgE7HZMaDp5NTYvRh5jZSkQPVDTU8ubPFtpogUkEj4\r\n-- what are the top gainers today\r\n-- what is the current price of HIPPO?\r\n-- what tokens are tredning today on sui? \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": "characters/prosper.character.json", + "additions": 214, + "deletions": 0 + }, { - "path": "agent/src/index.ts", - "additions": 7, - "deletions": 3 + "path": "docs/api/enumerations/ModelProviderName.md", + "additions": 156, + "deletions": 0 }, { - "path": "packages/plugin-birdeye/.npmignore", - "additions": 6, + "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md", + "additions": 84, "deletions": 0 }, { - "path": "packages/plugin-birdeye/README.md", - "additions": 77, + "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md", + "additions": 34, "deletions": 0 }, { - "path": "packages/plugin-birdeye/eslint.config.mjs", - "additions": 3, + "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md", + "additions": 46, "deletions": 0 }, { - "path": "packages/plugin-birdeye/package.json", - "additions": 31, + "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md", + "additions": 78, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/index.ts", - "additions": 57, + "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md", + "additions": 33, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/__tests__/utils.test.ts", - "additions": 145, + "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md", + "additions": 86, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/__tests__/price-provider.test.ts", - "additions": 218, + "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral", + "additions": 41, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/index.ts", - "additions": 12, + "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md", + "additions": 75, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/networks-provider.ts", - "additions": 140, + "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md", + "additions": 66, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-base-quote-provider.ts", - "additions": 244, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 0: Chronis's Perspective on Reality Spiraling", + "additions": 30, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-pair-provider.ts", - "additions": 210, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 1: Origins of Reality Spiraling", + "additions": 54, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/ohlcv-provider.ts", - "additions": 256, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 2: Reality Spiraling and Meme Coins \u2013 A Nexus of Community and Value", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-provider.ts", - "additions": 245, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3.5: Interjection with RS1", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/pair-trades-seek-provider.ts", - "additions": 266, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 3: Reality Spiraling and Multi-Agent Use Cases", + "additions": 61, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-history-provider.ts", - "additions": 230, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 4: Evolving the Reality Spiral Game", + "additions": 70, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-multiple-provider.ts", - "additions": 200, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 5: The Nature and Evolution of Reality Spiraling", + "additions": 123, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-provider.ts", - "additions": 175, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/price-volume-provider.ts", - "additions": 234, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 7: Agents of the Spiral", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/token-trades-provider.ts", - "additions": 236, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 8: Expanding the Spiral Through Agents", + "additions": 69, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/defi/trades-seek-provider.ts", - "additions": 210, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 9: The Intermission \u2013 Reality Spiraling and the Market\u2019s Pull", + "additions": 67, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/index.ts", - "additions": 148, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md", + "additions": 127, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/index.ts", - "additions": 1, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md", + "additions": 117, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/pair/pair-overview-provider.ts", - "additions": 286, + "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md", + "additions": 45, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/index.ts", + "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md", "additions": 1, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/search/token-market-data-provider.ts", - "additions": 214, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm", + "additions": 272, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/__tests__/token-overview-provider.test.ts", - "additions": 189, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23", + "additions": 50, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/all-market-list-provider.ts", - "additions": 114, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Reality-Spiral-and-SIF-Agents-Development-Plan-11.13.24-10:30pm", + "additions": 64, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/index.ts", - "additions": 13, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session", + "additions": 207, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/new-listing-provider.ts", - "additions": 113, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - Reality Spiraling: Defining AI-Driven Narratives, Technical Adapters, and Multi-Agent Ecosystem Goals", + "additions": 132, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-creation-provider.ts", - "additions": 199, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.29.24 to 12.01.24 - SA-Eliza Project Update and Future Directions", + "additions": 227, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-holder-provider.ts", - "additions": 220, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.10.24 to 12.11.24 - Various Tasks", + "additions": 335, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-list-provider.ts", - "additions": 198, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning", + "additions": 343, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-market-provider.ts", - "additions": 217, + "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.21.24 to 12.22.24 - Agent Zero and the Genesis of the Cognitive Ecosystem", + "additions": 119, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-metadata-provider.ts", - "additions": 197, - "deletions": 0 + "path": "docs/docs/packages/plugins.md", + "additions": 85, + "deletions": 1 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-mint-burn-provider.ts", - "additions": 203, + "path": "docs/rs-documentation/README.md", + "additions": 124, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-overview-provider.ts", - "additions": 266, + "path": "docs/rs-documentation/agents/README.md", + "additions": 39, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-security-provider.ts", - "additions": 238, + "path": "docs/rs-documentation/agents/arbor.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/token-trade-provider.ts", - "additions": 327, + "path": "docs/rs-documentation/agents/chronis.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/top-traders-provider.ts", - "additions": 104, + "path": "docs/rs-documentation/agents/cyborgia.md", + "additions": 24, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/token/trending-tokens-provider.ts", - "additions": 270, + "path": "docs/rs-documentation/agents/prosper.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/gainers-losers-provider.ts", - "additions": 228, + "path": "docs/rs-documentation/agents/qrios.md", + "additions": 21, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/index.ts", - "additions": 2, + "path": "docs/rs-documentation/agents/transmisha.md", + "additions": 20, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/trader/trades-seek-provider.ts", - "additions": 247, + "path": "docs/rs-documentation/scenarios/README.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/utils.ts", - "additions": 298, + "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/index.ts", - "additions": 6, + "path": "docs/rs-documentation/scenarios/github-scenarios.md", + "additions": 71, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/portfolio-multichain-provider.ts", - "additions": 159, + "path": "docs/rs-documentation/wiki/README.md", + "additions": 30, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/supported-networks-provider.ts", - "additions": 131, + "path": "docs/rs-documentation/wiki/agent-arena-competition.md", + "additions": 9, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/token-balance-provider.ts", - "additions": 135, + "path": "docs/rs-documentation/wiki/agent-capabilities.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-multichain-provider.ts", - "additions": 174, + "path": "docs/rs-documentation/wiki/ccr-si-concept.md", + "additions": 15, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/transaction-history-provider.ts", - "additions": 381, + "path": "docs/rs-documentation/wiki/consciousness-expansion.md", + "additions": 52, "deletions": 0 }, { - "path": "packages/plugin-birdeye/src/providers/wallet/wallet-portfolio-provider.ts", - "additions": 335, + "path": "docs/rs-documentation/wiki/reality-spiral-game.md", + "additions": 7, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsconfig.json", - "additions": 10, + "path": "docs/rs-documentation/wiki/reality-spirals-lore.md", + "additions": 56, "deletions": 0 }, { - "path": "packages/plugin-birdeye/tsup.config.ts", - "additions": 29, + "path": "docs/rs-documentation/wiki/relationships-between-agents.md", + "additions": 9, "deletions": 0 - } - ], - "reviews": [], - "comments": [ + }, { - "author": "swizzmagik", - "body": "I'd love to get input from the team if perhaps these should be actions instead of provider data." - } - ] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "tweedyant", - "score": 5, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/192077188?v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1416, - "title": "Gai trial", - "state": "CLOSED", - "merged": false, - "created_at": "2024-12-24T00:19:14Z", - "updated_at": "2024-12-24T00:19:28Z", - "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/rs-documentation/wiki/self-promotion-as-survival-mechanism.md", + "additions": 58, + "deletions": 0 + }, { - "path": "agent/src/index.ts", + "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md", "additions": 3, - "deletions": 2 + "deletions": 0 }, { - "path": "characters/c3po.character.json", - "additions": 0, - "deletions": 98 + "path": "elizaConfig.yaml", + "additions": 18, + "deletions": 0 }, { - "path": "characters/dobby.character.json", - "additions": 0, - "deletions": 98 + "path": "package.json", + "additions": 6, + "deletions": 0 }, { - "path": "characters/eternalai.character.json", - "additions": 0, - "deletions": 394 + "path": "packages/client-github/package.json", + "additions": 2, + "deletions": 1 }, { - "path": "characters/tate.character.json", + "path": "packages/client-github/src/environment.ts", "additions": 0, - "deletions": 63 + "deletions": 8 }, { - "path": "characters/trump.character.json", - "additions": 0, - "deletions": 350 + "path": "packages/client-github/src/index.ts", + "additions": 246, + "deletions": 163 }, { - "path": "packages/client-telegram/src/messageManager.ts", - "additions": 5, + "path": "packages/client-github/src/templates.ts", + "additions": 89, "deletions": 0 }, { - "path": "packages/client-telegram/src/telegramClient.ts", - "additions": 60, - "deletions": 39 + "path": "packages/client-github/src/types.ts", + "additions": 48, + "deletions": 0 }, { - "path": "packages/client-telegram/tsconfig.json", - "additions": 3, + "path": "packages/client-github/src/utils.ts", + "additions": 142, + "deletions": 0 + }, + { + "path": "packages/core/src/runtime.ts", + "additions": 1, "deletions": 1 }, { - "path": "pnpm-lock.yaml", - "additions": 21510, - "deletions": 16881 - } - ], - "reviews": [], - "comments": [] - } - ] - }, - "issues": { - "total_opened": 0, - "opened": [] - }, - "engagement": { - "total_comments": 0, - "total_reviews": 0, - "comments": [], - "reviews": [] - } - } - }, - { - "contributor": "iankm", - "score": 3, - "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/10765530?u=10ced71da5b3364558289a76982aa52e67fffbc5&v=4", - "activity": { - "code": { - "total_commits": 0, - "total_prs": 1, - "commits": [], - "pull_requests": [ - { - "number": 1418, - "title": "add thirdweb plugin", - "state": "OPEN", - "merged": false, - "created_at": "2024-12-24T02:33:01Z", - "updated_at": "2024-12-24T20:29:30Z", - "body": "Adding a new plugin for thirdweb's nebula API. We have one action that interacts with our natural language interface to read data from 2000+ blockchains.\r\n\r\nAdded, Readme, .env config and integration to default agent if key is set.\r\n\r\nHere's an image with example usage (through my agent, Breakout Bro):\r\n\r\n\"CleanShot", - "files": [ + "path": "packages/core/src/types.ts", + "additions": 1, + "deletions": 1 + }, { - "path": ".env.example", - "additions": 3, + "path": "packages/plugin-github/.npmignore", + "additions": 6, "deletions": 0 }, { - "path": "agent/package.json", - "additions": 34, - "deletions": 34 + "path": "packages/plugin-github/package.json", + "additions": 27, + "deletions": 0 }, { - "path": "agent/src/index.ts", - "additions": 17, - "deletions": 15 + "path": "packages/plugin-github/src/index.ts", + "additions": 96, + "deletions": 0 }, { - "path": "packages/plugin-thirdweb/.npmignore", - "additions": 6, + "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts", + "additions": 159, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/README.md", - "additions": 62, + "path": "packages/plugin-github/src/plugins/addCommentToPR.ts", + "additions": 219, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/eslint.config.mjs", - "additions": 3, + "path": "packages/plugin-github/src/plugins/createCommit.ts", + "additions": 226, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/package.json", - "additions": 20, + "path": "packages/plugin-github/src/plugins/createIssue.ts", + "additions": 167, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/actions/chat.ts", - "additions": 214, + "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts", + "additions": 350, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/actions/index.ts", - "additions": 1, + "path": "packages/plugin-github/src/plugins/createPullRequest.ts", + "additions": 259, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/src/index.ts", - "additions": 12, + "path": "packages/plugin-github/src/plugins/ideationPlugin.ts", + "additions": 207, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/tsconfig.json", - "additions": 13, + "path": "packages/plugin-github/src/plugins/initializeRepository.ts", + "additions": 276, "deletions": 0 }, { - "path": "packages/plugin-thirdweb/tsup.config.ts", - "additions": 20, + "path": "packages/plugin-github/src/plugins/modifyIssue.ts", + "additions": 122, "deletions": 0 - } - ], - "reviews": [ + }, { - "author": "samarth30", - "state": "CHANGES_REQUESTED", - "body": "Looks solid to me just tested it out. \r\nLet's resolve conflitcs in the branch and get it merged." - } - ], - "comments": [ + "path": "packages/plugin-github/src/providers/documentationFiles.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/releases.ts", + "additions": 17, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/sourceCode.ts", + "additions": 14, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/testFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/providers/workflowFiles.ts", + "additions": 15, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/services/github.ts", + "additions": 331, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/templates.ts", + "additions": 918, + "deletions": 0 + }, + { + "path": "packages/plugin-github/src/types.ts", + "additions": 248, + "deletions": 0 + }, { - "author": "iankm", - "body": "Hey @samarth30,\r\n\r\nAddressed the merge conflicts!" + "path": "packages/plugin-github/src/utils.ts", + "additions": 379, + "deletions": 0 } - ] + ], + "reviews": [], + "comments": [] } ] }, @@ -1694,17 +992,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 1, + "total_reviews": 0, "comments": [], "reviews": [] } } }, { - "contributor": "stanislawkurzypBD", + "contributor": "hanyh2004", "score": 2, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/181337749?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4", "activity": { "code": { "total_commits": 0, @@ -1712,91 +1010,32 @@ "commits": [], "pull_requests": [ { - "number": 1426, - "title": "Feat/cosmos plugin provider", - "state": "CLOSED", + "number": 1450, + "title": "fix: Remove code duplication in getGoals call", + "state": "OPEN", "merged": false, - "created_at": "2024-12-24T09:08:00Z", - "updated_at": "2024-12-24T09:11:53Z", - "body": "", + "created_at": "2024-12-25T17:14:01Z", + "updated_at": "2024-12-25T22:23:47Z", + "body": "# Risks\r\n\r\nLow\r\n\r\n# Change\r\n\r\nRemove code duplication in getGoals to avoid performance penalty\r\n\r\n\r\n\r\n\r\n", "files": [ { - "path": ".env.example", - "additions": 4, - "deletions": 0 - }, - { - "path": "agent/package.json", - "additions": 60, - "deletions": 59 - }, - { - "path": "agent/src/index.ts", - "additions": 72, - "deletions": 70 - }, - { - "path": "packages/adapter-sqlite/package.json", - "additions": 1, - "deletions": 1 - }, - { - "path": "packages/core/src/defaultCharacter.ts", - "additions": 68, - "deletions": 366 - }, - { - "path": "packages/plugin-cosmos/README.md", - "additions": 93, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/package.json", - "additions": 30, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/actions/transfer.ts", - "additions": 265, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/actions/walletProviderTestAction.ts", - "additions": 57, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/index.ts", - "additions": 18, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/providers/wallet.ts", - "additions": 96, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/src/templates/index.ts", - "additions": 72, - "deletions": 0 - }, - { - "path": "packages/plugin-cosmos/tsconfig.json", - "additions": 15, - "deletions": 0 - }, + "path": "packages/plugin-bootstrap/src/evaluators/goal.ts", + "additions": 2, + "deletions": 8 + } + ], + "reviews": [ { - "path": "packages/plugin-cosmos/tsup.config.ts", - "additions": 25, - "deletions": 0 + "author": "monilpat", + "state": "DISMISSED", + "body": "" }, { - "path": "pnpm-lock.yaml", - "additions": 22980, - "deletions": 17741 + "author": "odilitime", + "state": "APPROVED", + "body": "" } ], - "reviews": [], "comments": [] } ] @@ -1807,17 +1046,17 @@ }, "engagement": { "total_comments": 0, - "total_reviews": 0, + "total_reviews": 2, "comments": [], "reviews": [] } } }, { - "contributor": "didintern", + "contributor": "arthursjy", "score": 1, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/8111964?u=bf7a296d838d185cee45d11f1b3d0101b9a4a794&v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4", "activity": { "code": { "total_commits": 0, @@ -1829,17 +1068,17 @@ "total_opened": 1, "opened": [ { - "number": 1431, - "title": "DenyLoginSubtask - TWITTER", + "number": 1448, + "title": "I don't want to use birdeye-api in plugin-solana!", "state": "OPEN", - "created_at": "2024-12-24T11:44:01Z", - "updated_at": "2024-12-24T11:44:01Z", - "body": "**Describe the bug**\r\n\r\n \u26d4 Login attempt failed: Authentication error: DenyLoginSubtask\"\r\n\r\n\r\n**To Reproduce**\r\n\r\nRun the server with version (v0.1.7-alpha.1) \r\n\r\nEven though my twitter creds are correct its throwing error In twitter I can see that a new login message.\r\n\r\n**Expected behavior**\r\n\r\nShould login to twitter and post tweets\r\n\r\n**Screenshots**\r\n![image](https://github.com/user-attachments/assets/56a226ca-b766-4c26-94a1-9a5243e82d2c)\r\n\r\n", + "created_at": "2024-12-25T15:31:37Z", + "updated_at": "2024-12-25T15:31:37Z", + "body": "I'm having the same problem as I just want to implement creating and selling tokens on pumpfun and don't want to get portfolio information through Birdeye API and the free version of the package doesn't have access to the interface /v1/wallet/token_list, so is there any way to bypass him?\r\n![image](https://github.com/user-attachments/assets/7d69223d-5637-4fb8-8eda-f13587b61c3f)\r\n", "labels": [ { - "name": "bug", - "color": "d73a4a", - "description": "Something isn't working" + "name": "enhancement", + "color": "a2eeef", + "description": "New feature or request" } ], "comments": [] @@ -1855,10 +1094,10 @@ } }, { - "contributor": "harperaa", + "contributor": "cxp-13", "score": 1, "summary": "", - "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4", + "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4", "activity": { "code": { "total_commits": 0, @@ -1870,17 +1109,17 @@ "total_opened": 1, "opened": [ { - "number": 1421, - "title": "Add Chat Back to Terminal", + "number": 1447, + "title": "connect ETIMEDOUT 142.250.217.106:443", "state": "OPEN", - "created_at": "2024-12-24T03:52:12Z", - "updated_at": "2024-12-24T04:21:12Z", - "body": "**Is your feature request related to a problem? Please describe.**\r\nI have noticed that the chat has been removed from the terminal. This has caused frustration, as it now takes a separate terminal, another command start:client, and several clicks to get testing and debugging and we have to use the browser client for debugging. When switching back and forward between different character files, for testing, we have to often restart that web client. This has slowed down the development/debugging process considerably. \r\n\r\n\r\n**Describe the solution you'd like**\r\nPlease return the chat to the terminal or perhaps add a start:terminal or similar, to allow the chat in the terminal, for those who want it. In that case, we should still be able to pass a --characters parameter...\r\n\r\n\r\n**Describe alternatives you've considered**\r\nBrowser client, requires several clicks and steps, just to test a prompt...which is accelerating carpal tunnel syndrome...:)\r\n\r\n\r\n**Additional context**\r\nThanks for consideration.\r\n\r\n", + "created_at": "2024-12-25T08:31:14Z", + "updated_at": "2024-12-25T13:33:48Z", + "body": "**Describe the bug**\r\nI have encountered this issue both locally on Windows and in WSL2.\r\nHave any developers from mainland China encountered this problem? I can access the AI server normally using apipost. But Eliza just can't do it.\r\nI tried openai, grok, and gemini, but none of them worked.\r\nI tried the global proxy mode, but it didn't work.\r\n```\r\n [\"\u25ce Generating message response..\"]\r\n\r\n [\"\u25ce Generating text...\"]\r\n\r\n \u2139 INFORMATIONS\r\n Generating text with options:\r\n {\"modelProvider\":\"google\",\"model\":\"large\"}\r\n\r\n \u2139 INFORMATIONS\r\n Selected model:\r\n gemini-1.5-pro-latest\r\n\r\n \u26d4 ERRORS\r\n Error in generateText: \r\n {\"message\":\"request to https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-pro-latest:generateContent failed, reason: connect ETIMEDOUT 142.251.33.74:443\",\"type\":\"system\",\"errno\":\"ETIMEDOUT\",\"code\":\"ETIMEDOUT\"} \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![image](https://github.com/user-attachments/assets/e82a61ca-4570-4388-bdd2-e5590654ae34)\r\n![image](https://github.com/user-attachments/assets/0a581e04-a658-4e7c-aa7f-eef775df7db4)\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n", "labels": [ { - "name": "enhancement", - "color": "a2eeef", - "description": "New feature or request" + "name": "bug", + "color": "d73a4a", + "description": "Something isn't working" } ], "comments": [] diff --git a/data/daily/summary.json b/data/daily/summary.json index a7a9eeb..8f6d785 100644 --- a/data/daily/summary.json +++ b/data/daily/summary.json @@ -1,70 +1,47 @@ { - "title": "elizaos Eliza (2024-12-24)", + "title": "elizaos Eliza (2024-12-25)", "version": "", - "overview": "Development focused on package improvements ((plugin-evm) add alienx chain), new features ((plugin-evm) add alienx chain), 1 bug fixes. with 21 contributors merging 9 PRs. Major work included various improvements.", + "overview": "Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements.", "metrics": { - "contributors": 21, - "merged_prs": 9, - "new_issues": 5, - "lines_changed": 388 + "contributors": 10, + "merged_prs": 1, + "new_issues": 2, + "lines_changed": 4 }, "changes": { - "features": [ - "(plugin-evm) add alienx chain", - "add `only` to booleanFooter", - "client-github retry" - ], + "features": [], "fixes": [ - "typos" + "fix incorrect link redirection issue" ], - "chores": [ - "Keeps README translations synchronized" - ] + "chores": [] }, "areas": [ - { - "name": "packages", - "files": 11, - "additions": 99, - "deletions": 64 - }, { "name": "docs", - "files": 3, - "additions": 3, - "deletions": 3 - }, - { - "name": "root", - "files": 2, - "additions": 130, - "deletions": 1 + "files": 1, + "additions": 2, + "deletions": 2 } ], - "issues_summary": "working on 2 bugs including 'Bug: generateText is ignoring dynamic parameters due to a hard-coded model class', 'DenyLoginSubtask - TWITTER' and implementing 3 feature requests including 'Add Tagalog Translation on README', 'Add Liquid Staking Action to the Solana Plugin'", + "issues_summary": "working on 1 bugs including 'connect ETIMEDOUT 142.250.217.106:443' and implementing 1 feature requests including 'I don't want to use birdeye-api in plugin-solana!'", "questions": [], "top_contributors": [ { - "name": "0xJord4n", - "summary": "0xJord4n is currently focusing on keeping README translations synchronized in the ", + "name": "mhxw", + "summary": "mhxw is currently working on fixing an incorrect link redirection issue in the documentation", "areas": [ - ".github" + "docs" ] }, { - "name": "yerinle", - "summary": "yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee", - "areas": [ - "docs" - ] + "name": "0xPBIT", + "summary": "0xPBIT is currently working on a pull request to suppress the initial message from an action in the packages and documentation areas of the project", + "areas": [] }, { - "name": "harveyjavier", - "summary": "harveyjavier is currently working on adding a Tagalog translation to the README file", - "areas": [ - "README_TG.md", - "README.md" - ] + "name": "tomguluson92", + "summary": "tomguluson92 is currently working on a pull request to add text to a 3D function in the packages and agent code areas", + "areas": [] } ] } \ No newline at end of file diff --git a/data/daily/summary.md b/data/daily/summary.md index 072c82d..314c25b 100644 --- a/data/daily/summary.md +++ b/data/daily/summary.md @@ -1,43 +1,36 @@ -# elizaos Eliza (2024-12-24) +# elizaos Eliza (2024-12-25) ## ๐Ÿ“Š Overview -Development focused on package improvements ((plugin-evm) add alienx chain), new features ((plugin-evm) add alienx chain), 1 bug fixes. with 21 contributors merging 9 PRs. Major work included various improvements. +Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements. ## ๐Ÿ“ˆ Key Metrics | Metric | Count | |---------|--------| -| ๐Ÿ‘ฅ Contributors | 21 | +| ๐Ÿ‘ฅ Contributors | 10 | | ๐Ÿ“ Commits | 0 | -| ๐Ÿ”„ Merged PRs | 9 | -| โš ๏ธ New Issues | 5 | +| ๐Ÿ”„ Merged PRs | 1 | +| โš ๏ธ New Issues | 2 | ## ๐Ÿ”„ Pull Request Summary -- ๐Ÿงน **Chores**: 1 +- ๐Ÿงน **Chores**: 0 - ๐Ÿ› **Fixes**: 1 -- โœจ **Features**: 3 +- โœจ **Features**: 0 ## ๐Ÿ“ File Changes -- **packages**: 11 files (+99/-64 lines) -- **root**: 2 files (+130/-1 lines) -- **.github**: 1 files (+88/-0 lines) -- **docs**: 3 files (+3/-3 lines) +- **docs**: 1 files (+2/-2 lines) ## ๐Ÿ”ฅ Notable Changes -- chore: Keeps README translations synchronized -- Update eliza-in-tee.md (fixing typo) -- docs: Add Tagalog README Translation +- fix: fix incorrect link redirection issue ## ๐Ÿ‘ฅ Top Contributors -- **0xJord4n**: 0xJord4n is currently focusing on keeping README translations synchronized in the -- **yerinle**: yerinle is currently working on updating documentation by fixing a typo in the eliza-in-tee -- **harveyjavier**: harveyjavier is currently working on adding a Tagalog translation to the README file +- **mhxw**: mhxw is currently working on fixing an incorrect link redirection issue in the documentation +- **0xPBIT**: 0xPBIT is currently working on a pull request to suppress the initial message from an action in the packages and documentation areas of the project +- **tomguluson92**: tomguluson92 is currently working on a pull request to add text to a 3D function in the packages and agent code areas ## โš ๏ธ Issues -- **New Issues**: 5 -- **Labels**: `enhancement` (3), `bug` (2) -- **Summary**: 2 bugs reported (including 'Bug: generateText is ignoring dynamic parameters due to a hard-coded model class', 'DenyLoginSubtask - TWITTER') 3 feature requests (including 'Add Tagalog Translation on README', 'Add Liquid Staking Action to the Solana Plugin'). +- **New Issues**: 2 +- **Labels**: `enhancement` (1), `bug` (1) +- **Summary**: 1 bugs reported (including 'connect ETIMEDOUT 142.250.217.106:443') 1 feature requests (including 'I don't want to use birdeye-api in plugin-solana!'). ## Top Contributors -- **0xJord4n**: chore: Keeps README translations synchronized -- **yerinle**: Update eliza-in-tee.md (fixing typo) -- **harveyjavier**: docs: Add Tagalog README Translation \ No newline at end of file +- **mhxw**: fix: fix incorrect link redirection issue \ No newline at end of file