diff --git a/data/contributors_2024_12-26.json b/data/contributors_2024_12-26.json
new file mode 100644
index 0000000..02943bb
--- /dev/null
+++ b/data/contributors_2024_12-26.json
@@ -0,0 +1,2827 @@
+[
+ {
+ "contributor": "shakkernerd",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 3,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T21:32:00Z",
+ "updated_at": "2024-12-26T21:47:09Z",
+ "body": "",
+ "files": [
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T14:42:02Z",
+ "updated_at": "2024-12-26T14:47:45Z",
+ "body": "",
+ "files": [
+ {
+ "path": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:43:35Z",
+ "updated_at": "2024-12-26T11:48:54Z",
+ "body": "",
+ "files": [
+ {
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "Archethect",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T22:22:25Z",
+ "updated_at": "2024-12-26T22:22:57Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T16:42:26Z",
+ "updated_at": "2024-12-26T16:59:16Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "ag-wnl",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T19:12:11Z",
+ "updated_at": "2024-12-26T19:13:49Z",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:55:18Z",
+ "updated_at": "2024-12-26T19:12:06Z",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 4,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "samarth30",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T17:54:40Z",
+ "updated_at": "2024-12-26T17:54:40Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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": ".env.example",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:53:22Z",
+ "updated_at": "2024-12-26T14:52:49Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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": 4,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged \ud83d\ude80 "
+ },
+ {
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
+ },
+ {
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "odilitime",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T03:51:53Z",
+ "updated_at": "2024-12-26T06:13:27Z",
+ "body": "",
+ "files": [
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:53:16Z",
+ "updated_at": "2024-12-26T06:22:47Z",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "files": [
+ {
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 1
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "docs/docs/guides/secrets-management.md",
+ "additions": 6,
+ "deletions": 3
+ },
+ {
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
+ "deletions": 0
+ },
+ {
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": "Good documentation, I would recommend a refactor for AWS"
+ },
+ {
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": ""
+ },
+ {
+ "author": "twilwa",
+ "state": "APPROVED",
+ "body": "ok at a glance"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 4,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "lalalune",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 1,
+ "total_prs": 1,
+ "commits": [
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "created_at": "2024-12-26T00:31:06Z",
+ "additions": 339,
+ "deletions": 251,
+ "changed_files": 1
+ }
+ ],
+ "pull_requests": [
+ {
+ "number": 1453,
+ "title": "New default character",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:32:43Z",
+ "updated_at": "2024-12-26T00:46:01Z",
+ "body": "Update default character",
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "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": 1481,
+ "title": "feat: add image features to react chat client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T21:54:23Z",
+ "updated_at": "2024-12-26T22:07:45Z",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "monilpat",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1478,
+ "title": "Reality spiral/client testing",
+ "state": "CLOSED",
+ "merged": false,
+ "created_at": "2024-12-26T19:44:19Z",
+ "updated_at": "2024-12-26T19:54:58Z",
+ "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": ".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": 267,
+ "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": 250,
+ "deletions": 163
+ },
+ {
+ "path": "packages/client-github/src/templates.ts",
+ "additions": 72,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/types.ts",
+ "additions": 45,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/utils.ts",
+ "additions": 148,
+ "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": 179,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
+ "additions": 245,
+ "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": 208,
+ "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": 365,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/templates.ts",
+ "additions": 916,
+ "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": "madjin",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1476,
+ "title": "chore: Docs update",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:57:11Z",
+ "updated_at": "2024-12-26T19:07:45Z",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "files": [
+ {
+ "path": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
+ },
+ {
+ "path": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
+ {
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
+ },
+ {
+ "path": "docs/api/classes/DbCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
+ },
+ {
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
+ },
+ {
+ "path": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
+ },
+ {
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
+ },
+ {
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
+ },
+ {
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "tcm390",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:08:59Z",
+ "updated_at": "2024-12-26T19:00:03Z",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "ShuochengWang",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T15:05:42Z",
+ "updated_at": "2024-12-26T15:46:22Z",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 2,
+ "deletions": 0
+ },
+ {
+ "path": ".gitignore",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "Makefile",
+ "additions": 59,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "eliza.manifest.template",
+ "additions": 84,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
+ "deletions": 0
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/README.md",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "todorkolev",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:02:31Z",
+ "updated_at": "2024-12-26T18:47:06Z",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM - thanks for cleaning this up "
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "jonathangus",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T13:15:32Z",
+ "updated_at": "2024-12-26T19:09:29Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
+ },
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
+ },
+ {
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "mdqst",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:15:26Z",
+ "updated_at": "2024-12-26T11:49:46Z",
+ "body": "### Description\r\n\r\n\r\n\r\nI\u2019ve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
+ "files": [
+ {
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "DISMISSED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "zkvm",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54390919?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:20:15Z",
+ "updated_at": "2024-12-26T13:44:22Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "FWangZil",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1461,
+ "title": "feat: Add Solana liquid staking support",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T09:18:12Z",
+ "updated_at": "2024-12-26T16:46:42Z",
+ "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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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": 33,
+ "deletions": 31
+ },
+ {
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-solana/src/index.ts",
+ "additions": 3,
+ "deletions": 2
+ },
+ {
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "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": 1458,
+ "title": "Disable parse_mode on telegram client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T04:12:15Z",
+ "updated_at": "2024-12-26T09:28:15Z",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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": ".github/workflows/ci.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "simpletrontdip",
+ "state": "COMMENTED",
+ "body": ""
+ },
+ {
+ "author": "nulLeeKH",
+ "state": "COMMENTED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` \ud83d\udc6f It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "state": "OPEN",
+ "created_at": "2024-12-26T05:44:35Z",
+ "updated_at": "2024-12-26T05:44:35Z",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "pythonberg1997",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48975233?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T03:48:26Z",
+ "updated_at": "2024-12-26T03:54:05Z",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## 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/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
+ },
+ {
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
+ },
+ {
+ "path": "packages/plugin-evm/src/templates/index.ts",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "peersky",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T01:28:13Z",
+ "updated_at": "2024-12-26T06:44: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": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "eskp",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1480,
+ "title": "Install fails",
+ "state": "OPEN",
+ "created_at": "2024-12-26T21:47:54Z",
+ "updated_at": "2024-12-26T22:35:07Z",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\n\u2502 clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"\u2026\r\n\u2502 gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v20.18.1\r\n\u2502 gyp ERR! node-gyp -v v10.3.1\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modul\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compi\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/no\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v20.18.1\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\u2009ERR_PNPM_READ_FROM_STORE\u2009 Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
+ },
+ {
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 2,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "adapt7",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/88395064?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "state": "OPEN",
+ "created_at": "2024-12-26T15:08:10Z",
+ "updated_at": "2024-12-26T15:08:10Z",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "UiCandy",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
+ "state": "OPEN",
+ "created_at": "2024-12-26T10:10:58Z",
+ "updated_at": "2024-12-26T10:16:03Z",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\r\n\r\n\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "timolegros",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/62490329?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "state": "OPEN",
+ "created_at": "2024-12-26T08:20:50Z",
+ "updated_at": "2024-12-26T22:17:02Z",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 \u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 \u2009WARN\u2009 Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 \u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 1,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "harperaa",
+ "score": 0,
+ "summary": "",
+ "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": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
+ "state": "OPEN",
+ "created_at": "2024-12-26T00:10:04Z",
+ "updated_at": "2024-12-26T00:10:04Z",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS \u26a1\ufe0f Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ }
+]
\ No newline at end of file
diff --git a/data/daily/combined.json b/data/daily/combined.json
index 9bf0207..02943bb 100644
--- a/data/daily/combined.json
+++ b/data/daily/combined.json
@@ -1,523 +1,2189 @@
[
{
- "contributor": "monilpat",
+ "contributor": "shakkernerd",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 3,
"commits": [],
"pull_requests": [
{
- "number": 1451,
- "title": "feat: reimplement add comment to issues + prs and generate useful content",
- "state": "CLOSED",
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T21:32:00Z",
+ "updated_at": "2024-12-26T21:47:09Z",
+ "body": "",
+ "files": [
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T14:42:02Z",
+ "updated_at": "2024-12-26T14:47:45Z",
+ "body": "",
+ "files": [
+ {
+ "path": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:43:35Z",
+ "updated_at": "2024-12-26T11:48:54Z",
+ "body": "",
+ "files": [
+ {
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "Archethect",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
+ "state": "OPEN",
"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___",
+ "created_at": "2024-12-26T22:22:25Z",
+ "updated_at": "2024-12-26T22:22:57Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
"files": [
{
"path": ".env.example",
- "additions": 5,
- "deletions": 7
- },
- {
- "path": ".github/workflows/integrationTests.yaml",
"additions": 6,
- "deletions": 10
+ "deletions": 0
},
{
- "path": ".github/workflows/sync-upstream.yaml",
- "additions": 80,
+ "path": "agent/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": ".gitignore",
- "additions": 5,
- "deletions": 2
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
},
{
- "path": "README.md",
- "additions": 135,
- "deletions": 136
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
+ "deletions": 0
},
{
- "path": "agent/context.json",
- "additions": 1,
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
"deletions": 0
},
{
- "path": "agent/context.txt",
- "additions": 584,
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
"deletions": 0
},
{
- "path": "agent/package.json",
- "additions": 3,
- "deletions": 1
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
},
{
- "path": "agent/src/index.ts",
- "additions": 54,
- "deletions": 38
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
},
{
- "path": "agent/state.json",
- "additions": 969,
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
"deletions": 0
},
{
- "path": "characters/chronis.character.json",
- "additions": 319,
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
"deletions": 0
},
{
- "path": "characters/logging-addict.character.json",
- "additions": 263,
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
"deletions": 0
},
{
- "path": "characters/prosper.character.json",
- "additions": 214,
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
"deletions": 0
},
{
- "path": "docs/api/enumerations/ModelProviderName.md",
- "additions": 156,
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Applying_ISO_IEC_IEEE_42010_to_Eliza_and_Feature_Development.md",
- "additions": 84,
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Autopellucidity_and_Emergent_Metacognition_in_Eliza.md",
- "additions": 34,
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
"deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T16:42:26Z",
+ "updated_at": "2024-12-26T16:59:16Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Coherent_Extrapolated_Volition.md",
- "additions": 46,
- "deletions": 0
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "ag-wnl",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T19:12:11Z",
+ "updated_at": "2024-12-26T19:13:49Z",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:55:18Z",
+ "updated_at": "2024-12-26T19:12:06Z",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Continuous_Collective_Recursive_Self-Improvement.md",
- "additions": 78,
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 4,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "samarth30",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T17:54:40Z",
+ "updated_at": "2024-12-26T17:54:40Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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": ".env.example",
+ "additions": 3,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Documentation_and_the_Future_of_Collaboration.md",
- "additions": 33,
+ "path": "agent/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Hive_Mind_Dynamics.md",
- "additions": 86,
+ "path": "agent/src/index.ts",
+ "additions": 2,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Navigating the Complexity: Tribes, AI Mystics, and the Reality Spiral",
- "additions": 41,
+ "path": "packages/plugin-security/package.json",
+ "additions": 20,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Open_Source_Cognition.md",
- "additions": 75,
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Puzzle-Driven_Development_and_Language_2.0.md",
- "additions": 66,
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
"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,
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
"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,
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
"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,
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
"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,
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
"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,
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
"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,
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
"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,
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
"deletions": 0
- },
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:53:22Z",
+ "updated_at": "2024-12-26T14:52:49Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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/Reality_Spiraling/Intro_to_Reality_Spiraling_from_Chronis/Document 6: The Convergence of Spirals",
- "additions": 67,
+ "path": ".env.example",
+ "additions": 4,
"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,
+ "path": "agent/package.json",
+ "additions": 1,
"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": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
},
{
- "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,
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_AI_Game_Definition_Conversation.md",
- "additions": 127,
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Character.md",
- "additions": 117,
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Reality_Spiraling/Reality_Spiraling_and_Eliza.md",
- "additions": 45,
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
+ "additions": 13,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Sif/teaser.md",
- "additions": 1,
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Chronis_10.1_Development_Plan_11.14.24_4:30pm",
- "additions": 272,
+ "path": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
"deletions": 0
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Coinbase Ideation Session 2024-11-23",
- "additions": 50,
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
"deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "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",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged \ud83d\ude80 "
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 11.24.24 - GitHub Adapter Integration Session",
- "additions": 207,
- "deletions": 0
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
},
{
- "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,
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "odilitime",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 2,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T03:51:53Z",
+ "updated_at": "2024-12-26T06:13:27Z",
+ "body": "",
+ "files": [
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
"deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:53:16Z",
+ "updated_at": "2024-12-26T06:22:47Z",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "files": [
+ {
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 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,
+ "path": "agent/src/index.ts",
+ "additions": 19,
"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/docs/guides/secrets-management.md",
+ "additions": 6,
+ "deletions": 3
},
{
- "path": "docs/concepts-observations-philosophies-and-plans/Work_Logs/Work Log - 12.13.24 to 12.14.24 - Prosper Beginning",
- "additions": 343,
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
"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,
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
"deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": "Good documentation, I would recommend a refactor for AWS"
},
{
- "path": "docs/docs/packages/plugins.md",
- "additions": 85,
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": ""
+ },
+ {
+ "author": "twilwa",
+ "state": "APPROVED",
+ "body": "ok at a glance"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 4,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "lalalune",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 1,
+ "total_prs": 1,
+ "commits": [
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "created_at": "2024-12-26T00:31:06Z",
+ "additions": 339,
+ "deletions": 251,
+ "changed_files": 1
+ }
+ ],
+ "pull_requests": [
+ {
+ "number": 1453,
+ "title": "New default character",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:32:43Z",
+ "updated_at": "2024-12-26T00:46:01Z",
+ "body": "Update default character",
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "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": 1481,
+ "title": "feat: add image features to react chat client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T21:54:23Z",
+ "updated_at": "2024-12-26T22:07:45Z",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
"deletions": 1
},
{
- "path": "docs/rs-documentation/README.md",
- "additions": 124,
- "deletions": 0
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
},
{
- "path": "docs/rs-documentation/agents/README.md",
- "additions": 39,
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/arbor.md",
- "additions": 20,
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/chronis.md",
- "additions": 20,
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/cyborgia.md",
- "additions": 24,
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/prosper.md",
- "additions": 20,
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "monilpat",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1478,
+ "title": "Reality spiral/client testing",
+ "state": "CLOSED",
+ "merged": false,
+ "created_at": "2024-12-26T19:44:19Z",
+ "updated_at": "2024-12-26T19:54:58Z",
+ "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": ".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": 267,
+ "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": 250,
+ "deletions": 163
+ },
+ {
+ "path": "packages/client-github/src/templates.ts",
+ "additions": 72,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/types.ts",
+ "additions": 45,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/utils.ts",
+ "additions": 148,
+ "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": 179,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
+ "additions": 245,
+ "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": 208,
+ "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": 365,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/templates.ts",
+ "additions": 916,
+ "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": "madjin",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1476,
+ "title": "chore: Docs update",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:57:11Z",
+ "updated_at": "2024-12-26T19:07:45Z",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "files": [
+ {
+ "path": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
+ },
+ {
+ "path": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
+ {
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
+ },
+ {
+ "path": "docs/api/classes/DbCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
+ },
+ {
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
+ },
+ {
+ "path": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
+ },
+ {
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
+ },
+ {
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
+ },
+ {
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "tcm390",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:08:59Z",
+ "updated_at": "2024-12-26T19:00:03Z",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "ShuochengWang",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T15:05:42Z",
+ "updated_at": "2024-12-26T15:46:22Z",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/qrios.md",
- "additions": 21,
+ "path": ".gitignore",
+ "additions": 4,
"deletions": 0
},
{
- "path": "docs/rs-documentation/agents/transmisha.md",
- "additions": 20,
+ "path": "Makefile",
+ "additions": 59,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/README.md",
- "additions": 9,
+ "path": "agent/package.json",
+ "additions": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md",
- "additions": 71,
+ "path": "agent/src/index.ts",
+ "additions": 8,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/github-scenarios.md",
- "additions": 71,
+ "path": "eliza.manifest.template",
+ "additions": 84,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/README.md",
- "additions": 30,
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-arena-competition.md",
- "additions": 9,
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-capabilities.md",
- "additions": 7,
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/ccr-si-concept.md",
- "additions": 15,
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/consciousness-expansion.md",
- "additions": 52,
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spiral-game.md",
- "additions": 7,
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spirals-lore.md",
- "additions": 56,
+ "path": "packages/plugin-sgx/eslint.config.mjs",
+ "additions": 3,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/relationships-between-agents.md",
- "additions": 9,
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md",
- "additions": 58,
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md",
- "additions": 3,
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
"deletions": 0
},
{
- "path": "elizaConfig.yaml",
- "additions": 18,
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
"deletions": 0
},
{
- "path": "package.json",
- "additions": 6,
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
"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,
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/client-github/src/types.ts",
- "additions": 48,
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/client-github/src/utils.ts",
- "additions": 142,
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
"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",
+ "path": "packages/plugin-tee-log/README.md",
"additions": 6,
"deletions": 0
},
{
- "path": "packages/plugin-github/package.json",
- "additions": 27,
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/index.ts",
- "additions": 96,
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts",
- "additions": 159,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
- "additions": 219,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createCommit.ts",
- "additions": 226,
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createIssue.ts",
- "additions": 167,
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts",
- "additions": 350,
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createPullRequest.ts",
- "additions": 259,
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/ideationPlugin.ts",
- "additions": 207,
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/initializeRepository.ts",
- "additions": 276,
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/modifyIssue.ts",
- "additions": 122,
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/providers/documentationFiles.ts",
- "additions": 14,
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
"deletions": 0
- },
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "todorkolev",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:02:31Z",
+ "updated_at": "2024-12-26T18:47:06Z",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "files": [
{
- "path": "packages/plugin-github/src/providers/releases.ts",
- "additions": 17,
- "deletions": 0
- },
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
{
- "path": "packages/plugin-github/src/providers/sourceCode.ts",
- "additions": 14,
- "deletions": 0
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM - thanks for cleaning this up "
},
{
- "path": "packages/plugin-github/src/providers/testFiles.ts",
- "additions": 15,
- "deletions": 0
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "jonathangus",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T13:15:32Z",
+ "updated_at": "2024-12-26T19:09:29Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
},
{
- "path": "packages/plugin-github/src/providers/workflowFiles.ts",
- "additions": 15,
- "deletions": 0
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
},
{
- "path": "packages/plugin-github/src/services/github.ts",
- "additions": 331,
- "deletions": 0
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
},
{
- "path": "packages/plugin-github/src/templates.ts",
- "additions": 918,
- "deletions": 0
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
},
{
- "path": "packages/plugin-github/src/types.ts",
- "additions": 248,
- "deletions": 0
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
},
{
- "path": "packages/plugin-github/src/utils.ts",
- "additions": 379,
- "deletions": 0
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
}
],
"reviews": [],
@@ -538,10 +2204,10 @@
}
},
{
- "contributor": "hanyh2004",
+ "contributor": "mdqst",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -549,30 +2215,25 @@
"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",
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:15:26Z",
+ "updated_at": "2024-12-26T11:49:46Z",
+ "body": "### Description\r\n\r\n\r\n\r\nI\u2019ve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
"files": [
{
- "path": "packages/plugin-bootstrap/src/evaluators/goal.ts",
- "additions": 2,
- "deletions": 8
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
}
],
"reviews": [
{
- "author": "monilpat",
+ "author": "shakkernerd",
"state": "DISMISSED",
"body": ""
- },
- {
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
}
],
"comments": []
@@ -585,17 +2246,17 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 1,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "harperaa",
+ "contributor": "zkvm",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54390919?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -603,28 +2264,28 @@
"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",
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:20:15Z",
+ "updated_at": "2024-12-26T13:44:22Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\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
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
}
],
"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": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "author": "odilitime",
+ "author": "shakkernerd",
"state": "APPROVED",
"body": ""
}
@@ -646,77 +2307,58 @@
}
},
{
- "contributor": "tomguluson92",
+ "contributor": "FWangZil",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&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
- },
+ "pull_requests": [
+ {
+ "number": 1461,
+ "title": "feat: Add Solana liquid staking support",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T09:18:12Z",
+ "updated_at": "2024-12-26T16:46:42Z",
+ "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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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-3d-generation/eslint.config.mjs",
- "additions": 3,
- "deletions": 0
+ "path": "packages/plugin-solana/package.json",
+ "additions": 33,
+ "deletions": 31
},
{
- "path": "packages/plugin-3d-generation/package.json",
- "additions": 19,
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
"deletions": 0
},
{
- "path": "packages/plugin-3d-generation/src/constants.ts",
- "additions": 4,
- "deletions": 0
+ "path": "packages/plugin-solana/src/index.ts",
+ "additions": 3,
+ "deletions": 2
},
{
- "path": "packages/plugin-3d-generation/src/index.ts",
- "additions": 198,
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
"deletions": 0
},
{
- "path": "packages/plugin-3d-generation/tsconfig.json",
- "additions": 15,
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
"deletions": 0
},
{
- "path": "packages/plugin-3d-generation/tsup.config.ts",
- "additions": 21,
- "deletions": 0
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
}
],
"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"
- }
- ]
+ "comments": []
}
]
},
@@ -733,10 +2375,10 @@
}
},
{
- "contributor": "Freytes",
+ "contributor": "nulLeeKH",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -744,127 +2386,112 @@
"commits": [],
"pull_requests": [
{
- "number": 1445,
- "title": "Add: Client Reddit Files",
+ "number": 1458,
+ "title": "Disable parse_mode on telegram client",
"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",
+ "created_at": "2024-12-26T04:12:15Z",
+ "updated_at": "2024-12-26T09:28:15Z",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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": "agent/package.json",
+ "path": ".github/workflows/ci.yaml",
"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
+ "deletions": 1
},
{
- "path": "packages/client-reddit/src/index.ts",
- "additions": 28,
- "deletions": 0
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
},
{
- "path": "packages/client-reddit/src/providers/redditProvider.ts",
- "additions": 123,
- "deletions": 0
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
},
{
- "path": "packages/client-reddit/src/types/index.ts",
- "additions": 18,
- "deletions": 0
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
},
{
- "path": "packages/client-reddit/tsconfig.json",
- "additions": 13,
- "deletions": 0
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
},
{
- "path": "packages/client-reddit/tsup.config.ts",
- "additions": 21,
- "deletions": 0
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
}
],
"reviews": [
{
- "author": "odilitime",
- "state": "APPROVED",
+ "author": "simpletrontdip",
+ "state": "COMMENTED",
+ "body": ""
+ },
+ {
+ "author": "nulLeeKH",
+ "state": "COMMENTED",
"body": ""
}
],
"comments": [
{
- "author": "odilitime",
- "body": "needs to include the agent/ wiring (package.json src/index.ts)"
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
},
{
- "author": "Freytes",
- "body": "@odilitime Updated the requested files."
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` \ud83d\udc6f It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
}
]
}
]
},
"issues": {
- "total_opened": 0,
- "opened": []
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "state": "OPEN",
+ "created_at": "2024-12-26T05:44:35Z",
+ "updated_at": "2024-12-26T05:44:35Z",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
},
"engagement": {
"total_comments": 0,
- "total_reviews": 1,
+ "total_reviews": 2,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "0xPBIT",
+ "contributor": "pythonberg1997",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48975233?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -872,50 +2499,40 @@
"commits": [],
"pull_requests": [
{
- "number": 1444,
- "title": "feat: suppress initial message from action",
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
"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",
+ "created_at": "2024-12-26T03:48:26Z",
+ "updated_at": "2024-12-26T03:54:05Z",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## 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/core/actions.md",
- "additions": 3,
- "deletions": 0
+ "path": "packages/plugin-evm/src/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
},
{
- "path": "packages/client-direct/src/index.ts",
- "additions": 18,
- "deletions": 3
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
},
{
- "path": "packages/core/src/types.ts",
- "additions": 3,
- "deletions": 0
+ "path": "packages/plugin-evm/src/templates/index.ts",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/plugin-image-generation/src/index.ts",
- "additions": 1,
- "deletions": 0
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
}
],
"reviews": [
{
- "author": "odilitime",
- "state": "COMMENTED",
- "body": ""
- },
- {
- "author": "0xPBIT",
+ "author": "github-actions",
"state": "COMMENTED",
- "body": ""
- },
- {
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
}
],
"comments": []
@@ -928,17 +2545,17 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 3,
+ "total_reviews": 1,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "mhxw",
+ "contributor": "peersky",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -946,26 +2563,26 @@
"commits": [],
"pull_requests": [
{
- "number": 1443,
- "title": "fix: fix incorrect link redirection issue",
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
"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",
+ "created_at": "2024-12-26T01:28:13Z",
+ "updated_at": "2024-12-26T06:44: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": 2,
- "deletions": 2
+ "path": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
}
],
"reviews": [
- {
- "author": "monilpat",
- "state": "DISMISSED",
- "body": "LGTM thanks :) "
- },
{
"author": "monilpat",
"state": "APPROVED",
@@ -982,81 +2599,108 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 1,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "Firbydude",
+ "contributor": "eskp",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 0,
"commits": [],
- "pull_requests": [
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
{
- "number": 1442,
- "title": "Add support for VoyageAI embeddings API",
+ "number": 1480,
+ "title": "Install fails",
"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
- },
+ "created_at": "2024-12-26T21:47:54Z",
+ "updated_at": "2024-12-26T22:35:07Z",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\n\u2502 clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"\u2026\r\n\u2502 gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v20.18.1\r\n\u2502 gyp ERR! node-gyp -v v10.3.1\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modul\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compi\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/no\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v20.18.1\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "labels": [
{
- "path": "packages/core/src/embedding.ts",
- "additions": 73,
- "deletions": 120
- },
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
{
- "path": "packages/core/src/tests/embeddings.test.ts",
- "additions": 102,
- "deletions": 0
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\u2009ERR_PNPM_READ_FROM_STORE\u2009 Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
},
{
- "path": "packages/core/src/voyageai.ts",
- "additions": 156,
- "deletions": 0
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
}
- ],
- "reviews": [
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 2,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "adapt7",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/88395064?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "state": "OPEN",
+ "created_at": "2024-12-26T15:08:10Z",
+ "updated_at": "2024-12-26T15:08:10Z",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "labels": [
{
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
}
],
"comments": []
}
]
},
- "issues": {
- "total_opened": 0,
- "opened": []
- },
"engagement": {
"total_comments": 0,
- "total_reviews": 1,
+ "total_reviews": 0,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "arthursjy",
+ "contributor": "UiCandy",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1068,17 +2712,17 @@
"total_opened": 1,
"opened": [
{
- "number": 1448,
- "title": "I don't want to use birdeye-api in plugin-solana!",
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
"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",
+ "created_at": "2024-12-26T10:10:58Z",
+ "updated_at": "2024-12-26T10:16:03Z",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\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": []
@@ -1094,10 +2738,56 @@
}
},
{
- "contributor": "cxp-13",
+ "contributor": "timolegros",
+ "score": 0,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/62490329?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "state": "OPEN",
+ "created_at": "2024-12-26T08:20:50Z",
+ "updated_at": "2024-12-26T22:17:02Z",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 \u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 \u2009WARN\u2009 Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 \u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 1,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "harperaa",
"score": 0,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1109,12 +2799,12 @@
"total_opened": 1,
"opened": [
{
- "number": 1447,
- "title": "connect ETIMEDOUT 142.250.217.106:443",
+ "number": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
"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",
+ "created_at": "2024-12-26T00:10:04Z",
+ "updated_at": "2024-12-26T00:10:04Z",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS \u26a1\ufe0f Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
"labels": [
{
"name": "bug",
diff --git a/data/daily/commits.json b/data/daily/commits.json
index fe51488..0be7f28 100644
--- a/data/daily/commits.json
+++ b/data/daily/commits.json
@@ -1 +1,15 @@
-[]
+[
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "committedDate": "2024-12-26T00:31:06Z",
+ "author": {
+ "user": {
+ "login": "lalalune"
+ }
+ },
+ "additions": 339,
+ "deletions": 251,
+ "changedFiles": 1
+ }
+]
diff --git a/data/daily/contributors.json b/data/daily/contributors.json
index 823e498..ba4a4a0 100644
--- a/data/daily/contributors.json
+++ b/data/daily/contributors.json
@@ -1,40 +1,69 @@
[
{
- "contributor": "mhxw",
- "score": 17,
- "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",
+ "contributor": "ag-wnl",
+ "score": 42,
+ "summary": "ag-wnl is currently working on improving the evaluation of actions by excluding self tweets and fetching timelines for followed accounts using Twitter client methods. Their recent GitHub activity includes 2 merged pull requests in the \"packages\" code area.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1443,
- "title": "fix: fix incorrect link redirection issue",
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
"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",
+ "created_at": "2024-12-26T19:12:11Z",
+ "updated_at": "2024-12-26T19:13:49Z",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\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": 2,
- "deletions": 2
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
}
],
"reviews": [
{
- "author": "monilpat",
- "state": "DISMISSED",
- "body": "LGTM thanks :) "
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:55:18Z",
+ "updated_at": "2024-12-26T19:12:06Z",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
"author": "monilpat",
"state": "APPROVED",
"body": ""
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
}
],
"comments": []
@@ -47,68 +76,97 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 4,
"comments": [],
"reviews": []
}
}
},
{
- "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",
+ "contributor": "odilitime",
+ "score": 41,
+ "summary": "odilitime is currently working on updating the pnpm lock and allowing passing secrets through the environment in the docs, packages, and agent code areas. They have successfully merged 2 pull requests in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"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",
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T03:51:53Z",
+ "updated_at": "2024-12-26T06:13:27Z",
+ "body": "",
"files": [
{
- "path": "docs/docs/core/actions.md",
- "additions": 3,
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:53:16Z",
+ "updated_at": "2024-12-26T06:22:47Z",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "files": [
+ {
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 1
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 19,
"deletions": 0
},
{
- "path": "packages/client-direct/src/index.ts",
- "additions": 18,
+ "path": "docs/docs/guides/secrets-management.md",
+ "additions": 6,
"deletions": 3
},
{
- "path": "packages/core/src/types.ts",
- "additions": 3,
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
"deletions": 0
},
{
- "path": "packages/plugin-image-generation/src/index.ts",
- "additions": 1,
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
"deletions": 0
}
],
"reviews": [
{
- "author": "odilitime",
- "state": "COMMENTED",
- "body": ""
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": "Good documentation, I would recommend a refactor for AWS"
},
{
- "author": "0xPBIT",
- "state": "COMMENTED",
+ "author": "Freytes",
+ "state": "APPROVED",
"body": ""
},
{
- "author": "odilitime",
+ "author": "twilwa",
"state": "APPROVED",
- "body": ""
+ "body": "ok at a glance"
}
],
"comments": []
@@ -121,84 +179,76 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 3,
+ "total_reviews": 4,
"comments": [],
"reviews": []
}
}
},
{
- "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",
+ "contributor": "shakkernerd",
+ "score": 27,
+ "summary": "shakkernerd is currently working on enhancing the client direct feature, fixing a typo in the cronoszkevm module, and updating test cases for the default character topic in the packages and agent code areas. All 3 pull requests have been successfully merged in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 3,
"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",
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T21:32:00Z",
+ "updated_at": "2024-12-26T21:47:09Z",
+ "body": "",
"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
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
}
],
"reviews": [],
- "comments": [
+ "comments": []
+ },
+ {
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T14:42:02Z",
+ "updated_at": "2024-12-26T14:47:45Z",
+ "body": "",
+ "files": [
{
- "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": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:43:35Z",
+ "updated_at": "2024-12-26T11:48:54Z",
+ "body": "",
+ "files": [
{
- "author": "tomguluson92",
- "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n"
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
}
- ]
+ ],
+ "reviews": [],
+ "comments": []
}
]
},
@@ -215,25 +265,30 @@
}
},
{
- "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",
+ "contributor": "samarth30",
+ "score": 26,
+ "summary": "samarth30 is currently working on adding security and plugin features to the packages and agent code areas. They have submitted 2 pull requests, with one already merged, focusing on enhancing security and adding a plugin for Cronos ZKEVM.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1445,
- "title": "Add: Client Reddit Files",
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
"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",
+ "created_at": "2024-12-26T17:54:40Z",
+ "updated_at": "2024-12-26T17:54:40Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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": ".env.example",
+ "additions": 3,
+ "deletions": 0
+ },
{
"path": "agent/package.json",
"additions": 1,
@@ -241,146 +296,149 @@
},
{
"path": "agent/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/package.json",
"additions": 20,
- "deletions": 77
+ "deletions": 0
},
{
- "path": "packages/client-reddit/.npmignore",
- "additions": 6,
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
"deletions": 0
},
{
- "path": "packages/client-reddit/eslint.config.mjs",
- "additions": 3,
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
"deletions": 0
},
{
- "path": "packages/client-reddit/package.json",
- "additions": 22,
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/comment.ts",
- "additions": 49,
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/post.ts",
- "additions": 88,
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/vote.ts",
- "additions": 49,
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/clients/redditClient.ts",
- "additions": 52,
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/clients/redditPostClient.ts",
- "additions": 259,
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/index.ts",
- "additions": 28,
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:53:22Z",
+ "updated_at": "2024-12-26T14:52:49Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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": 4,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/providers/redditProvider.ts",
- "additions": 123,
+ "path": "agent/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/types/index.ts",
- "additions": 18,
+ "path": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsconfig.json",
- "additions": 13,
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsup.config.ts",
- "additions": 21,
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
"deletions": 0
- }
- ],
- "reviews": [
+ },
{
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
- }
- ],
- "comments": [
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
+ "additions": 13,
+ "deletions": 0
+ },
{
- "author": "odilitime",
- "body": "needs to include the agent/ wiring (package.json src/index.ts)"
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
+ "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": "harperaa",
- "score": 5,
- "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,
- "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": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
+ "deletions": 0
+ },
{
- "path": "package.json",
- "additions": 2,
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
"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": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "author": "odilitime",
+ "author": "shakkernerd",
"state": "APPROVED",
"body": ""
}
],
- "comments": []
+ "comments": [
+ {
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged \ud83d\ude80 "
+ },
+ {
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
+ },
+ {
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
+ }
+ ]
}
]
},
@@ -397,24 +455,24 @@
}
},
{
- "contributor": "Firbydude",
- "score": 5,
- "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",
+ "contributor": "Archethect",
+ "score": 25,
+ "summary": "Archethect is currently working on adding cross chain swaps through Squid Router and fixing the core to make modelConfiguration optional. Their recent activity is focused on the packages and agent code areas, with 2 pull requests made, 1 of which has been merged in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1442,
- "title": "Add support for VoyageAI embeddings API",
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
"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",
+ "created_at": "2024-12-26T22:22:25Z",
+ "updated_at": "2024-12-26T22:22:57Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
"files": [
{
"path": ".env.example",
@@ -422,28 +480,1265 @@
"deletions": 0
},
{
- "path": "packages/core/src/embedding.ts",
- "additions": 73,
- "deletions": 120
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
},
{
- "path": "packages/core/src/tests/embeddings.test.ts",
- "additions": 102,
+ "path": "agent/src/index.ts",
+ "additions": 8,
"deletions": 0
},
{
- "path": "packages/core/src/voyageai.ts",
- "additions": 156,
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
"deletions": 0
- }
- ],
- "reviews": [
+ },
{
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
- }
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T16:42:26Z",
+ "updated_at": "2024-12-26T16:59:16Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "todorkolev",
+ "score": 22,
+ "summary": "todorkolev is currently working on improving interaction prompts in the Twitter plugin, with one pull request successfully merged in the last 90 days. The focus of the work is in the \"packages\" code area.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:02:31Z",
+ "updated_at": "2024-12-26T18:47:06Z",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM - thanks for cleaning this up "
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "zkvm",
+ "score": 20,
+ "summary": "zkvm is currently focusing on fixing the ENABLE_ACTION_PROCESSING logic in the packages code area, with 1 pull request successfully merged in the last 90 days. No new commits or issues have been reported during this period.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54390919?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:20:15Z",
+ "updated_at": "2024-12-26T13:44:22Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "peersky",
+ "score": 17,
+ "summary": "peersky is currently working on adding a ModelConfiguration to the Character feature, allowing for adjustments to temperature, response length, and penalties. This work is focused within the 'packages' code area and has resulted in 1 merged pull request in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T01:28:13Z",
+ "updated_at": "2024-12-26T06:44: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": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "lalalune",
+ "score": 16,
+ "summary": "lalalune is currently working on updating the default character in the packages code area. This work includes a single commit and a merged pull request for a new default character, resulting in a net code change of +88 lines.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 1,
+ "total_prs": 1,
+ "commits": [
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "created_at": "2024-12-26T00:31:06Z",
+ "additions": 339,
+ "deletions": 251,
+ "changed_files": 1
+ }
+ ],
+ "pull_requests": [
+ {
+ "number": 1453,
+ "title": "New default character",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:32:43Z",
+ "updated_at": "2024-12-26T00:46:01Z",
+ "body": "Update default character",
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "madjin",
+ "score": 14,
+ "summary": "madjin is currently working on updating documentation, with a recent pull request focused on chore tasks related to documentation. There have been no new commits or code changes in the last 90 days, indicating a focus on maintaining and improving existing documentation.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1476,
+ "title": "chore: Docs update",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:57:11Z",
+ "updated_at": "2024-12-26T19:07:45Z",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "files": [
+ {
+ "path": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
+ },
+ {
+ "path": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
+ {
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
+ },
+ {
+ "path": "docs/api/classes/DbCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
+ },
+ {
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
+ },
+ {
+ "path": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
+ },
+ {
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
+ },
+ {
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
+ },
+ {
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "tcm390",
+ "score": 14,
+ "summary": "tcm390 is currently working on fixing a duplicate Twitter post issue in the \"packages\" code area. They have submitted 1 pull request, which has been successfully merged in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:08:59Z",
+ "updated_at": "2024-12-26T19:00:03Z",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "mdqst",
+ "score": 13,
+ "summary": "mdqst is currently focused on improving documentation by fixing an incorrect model name in the API integration section. This is the only recent activity, with one pull request successfully merged.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:15:26Z",
+ "updated_at": "2024-12-26T11:49:46Z",
+ "body": "### Description\r\n\r\n\r\n\r\nI\u2019ve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
+ "files": [
+ {
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "DISMISSED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "nulLeeKH",
+ "score": 13,
+ "summary": "nulLeeKH is currently working on setting up lint/prettier and husky through a proposal issue. They have also disabled parse_mode on the telegram client through a pull request. Their recent activity is focused on scripts, .github, and packages, with a bug-related issue being addressed.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1458,
+ "title": "Disable parse_mode on telegram client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T04:12:15Z",
+ "updated_at": "2024-12-26T09:28:15Z",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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": ".github/workflows/ci.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "simpletrontdip",
+ "state": "COMMENTED",
+ "body": ""
+ },
+ {
+ "author": "nulLeeKH",
+ "state": "COMMENTED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` \ud83d\udc6f It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "state": "OPEN",
+ "created_at": "2024-12-26T05:44:35Z",
+ "updated_at": "2024-12-26T05:44:35Z",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "eskp",
+ "score": 8,
+ "summary": "eskp is currently working on resolving an installation issue reported in the GitHub repository. The issue falls under the bug category and there have been no pull requests or commits related to this specific problem in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1480,
+ "title": "Install fails",
+ "state": "OPEN",
+ "created_at": "2024-12-26T21:47:54Z",
+ "updated_at": "2024-12-26T22:35:07Z",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\n\u2502 clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"\u2026\r\n\u2502 gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v20.18.1\r\n\u2502 gyp ERR! node-gyp -v v10.3.1\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modul\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compi\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/no\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v20.18.1\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\u2009ERR_PNPM_READ_FROM_STORE\u2009 Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
+ },
+ {
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 2,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "timolegros",
+ "score": 7,
+ "summary": "timolegros is currently addressing a bug related to a broken Docker image on a fresh build, as indicated by the open issue in the repository. There have been no pull requests or commits made in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/62490329?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "state": "OPEN",
+ "created_at": "2024-12-26T08:20:50Z",
+ "updated_at": "2024-12-26T22:17:02Z",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 \u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 \u2009WARN\u2009 Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 \u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 1,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "0xPBIT",
+ "score": 5,
+ "summary": "0xPBIT is currently working on adding image features to the React chat client in the client and packages code areas. They have submitted one pull request for this feature, which is yet to be merged.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1481,
+ "title": "feat: add image features to react chat client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T21:54:23Z",
+ "updated_at": "2024-12-26T22:07:45Z",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
+ }
],
+ "reviews": [],
"comments": []
}
]
@@ -454,7 +1749,7 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 1,
+ "total_reviews": 0,
"comments": [],
"reviews": []
}
@@ -462,8 +1757,8 @@
},
{
"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.",
+ "score": 5,
+ "summary": "monilpat is currently working on a pull request for testing the Reality spiral client. The code areas involved in this work include agent, .github, docs, characters, and packages. No commits or code changes have been made in the last 90 days.",
"avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4",
"activity": {
"code": {
@@ -472,13 +1767,13 @@
"commits": [],
"pull_requests": [
{
- "number": 1451,
- "title": "feat: reimplement add comment to issues + prs and generate useful content",
+ "number": 1478,
+ "title": "Reality spiral/client testing",
"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___",
+ "created_at": "2024-12-26T19:44:19Z",
+ "updated_at": "2024-12-26T19:54:58Z",
+ "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": ".env.example",
@@ -537,7 +1832,7 @@
},
{
"path": "characters/logging-addict.character.json",
- "additions": 263,
+ "additions": 267,
"deletions": 0
},
{
@@ -761,224 +2056,568 @@
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/README.md",
- "additions": 9,
+ "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": 250,
+ "deletions": 163
+ },
+ {
+ "path": "packages/client-github/src/templates.ts",
+ "additions": 72,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/types.ts",
+ "additions": 45,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/utils.ts",
+ "additions": 148,
+ "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": 179,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
+ "additions": 245,
+ "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": 208,
+ "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": 365,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/templates.ts",
+ "additions": 916,
+ "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": "ShuochengWang",
+ "score": 5,
+ "summary": "ShuochengWang is currently working on implementing support for TEE logging and running Eliza in Intel SGX within the packages and agent code areas. This work includes a single pull request that has not yet been merged, with no additional commits or code changes in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T15:05:42Z",
+ "updated_at": "2024-12-26T15:46:22Z",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md",
- "additions": 71,
+ "path": ".gitignore",
+ "additions": 4,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/github-scenarios.md",
- "additions": 71,
+ "path": "Makefile",
+ "additions": 59,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/README.md",
- "additions": 30,
+ "path": "agent/package.json",
+ "additions": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-arena-competition.md",
- "additions": 9,
+ "path": "agent/src/index.ts",
+ "additions": 8,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-capabilities.md",
- "additions": 7,
+ "path": "eliza.manifest.template",
+ "additions": 84,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/ccr-si-concept.md",
- "additions": 15,
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/consciousness-expansion.md",
- "additions": 52,
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spiral-game.md",
- "additions": 7,
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spirals-lore.md",
- "additions": 56,
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/relationships-between-agents.md",
- "additions": 9,
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md",
- "additions": 58,
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md",
+ "path": "packages/plugin-sgx/eslint.config.mjs",
"additions": 3,
"deletions": 0
},
{
- "path": "elizaConfig.yaml",
- "additions": 18,
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
"deletions": 0
},
{
- "path": "package.json",
- "additions": 6,
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
"deletions": 0
},
{
- "path": "packages/client-github/package.json",
- "additions": 2,
- "deletions": 1
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/environment.ts",
- "additions": 0,
- "deletions": 8
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/index.ts",
- "additions": 246,
- "deletions": 163
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/templates.ts",
- "additions": 89,
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/client-github/src/types.ts",
- "additions": 48,
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/client-github/src/utils.ts",
- "additions": 142,
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
"deletions": 0
},
{
- "path": "packages/core/src/runtime.ts",
- "additions": 1,
- "deletions": 1
+ "path": "packages/plugin-tee-log/README.md",
+ "additions": 6,
+ "deletions": 0
},
{
- "path": "packages/core/src/types.ts",
- "additions": 1,
- "deletions": 1
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
},
{
- "path": "packages/plugin-github/.npmignore",
- "additions": 6,
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
"deletions": 0
},
{
- "path": "packages/plugin-github/package.json",
- "additions": 27,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/index.ts",
- "additions": 96,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts",
- "additions": 159,
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
- "additions": 219,
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createCommit.ts",
- "additions": 226,
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createIssue.ts",
- "additions": 167,
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts",
- "additions": 350,
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createPullRequest.ts",
- "additions": 259,
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/ideationPlugin.ts",
- "additions": 207,
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/initializeRepository.ts",
- "additions": 276,
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
"deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "jonathangus",
+ "score": 5,
+ "summary": "jonathangus is currently working on a pull request to make templates in composeContext dynamic. This contribution focuses on the documentation and packages within the project.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T13:15:32Z",
+ "updated_at": "2024-12-26T19:09:29Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
},
{
- "path": "packages/plugin-github/src/plugins/modifyIssue.ts",
- "additions": 122,
- "deletions": 0
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
},
{
- "path": "packages/plugin-github/src/providers/documentationFiles.ts",
- "additions": 14,
- "deletions": 0
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
},
{
- "path": "packages/plugin-github/src/providers/releases.ts",
- "additions": 17,
- "deletions": 0
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
},
{
- "path": "packages/plugin-github/src/providers/sourceCode.ts",
- "additions": 14,
- "deletions": 0
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
},
{
- "path": "packages/plugin-github/src/providers/testFiles.ts",
- "additions": 15,
- "deletions": 0
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "FWangZil",
+ "score": 5,
+ "summary": "FWangZil is currently working on a pull request to add Solana liquid staking support in the \"packages\" code area. This is the only recent activity, with no merged PRs, commits, or code changes.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1461,
+ "title": "feat: Add Solana liquid staking support",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T09:18:12Z",
+ "updated_at": "2024-12-26T16:46:42Z",
+ "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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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": 33,
+ "deletions": 31
},
{
- "path": "packages/plugin-github/src/providers/workflowFiles.ts",
- "additions": 15,
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/services/github.ts",
- "additions": 331,
- "deletions": 0
+ "path": "packages/plugin-solana/src/index.ts",
+ "additions": 3,
+ "deletions": 2
},
{
- "path": "packages/plugin-github/src/templates.ts",
- "additions": 918,
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/types.ts",
- "additions": 248,
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/utils.ts",
- "additions": 379,
- "deletions": 0
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
}
],
"reviews": [],
@@ -999,10 +2638,10 @@
}
},
{
- "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",
+ "contributor": "pythonberg1997",
+ "score": 4,
+ "summary": "pythonberg1997 is currently working on a pull request to fix and complete swap and bridge actions for the plugin-evm in the packages code area. This is the only recent activity in the last 90 days, with no merged pull requests, issues, commits, or code changes.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48975233?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1010,30 +2649,40 @@
"commits": [],
"pull_requests": [
{
- "number": 1450,
- "title": "fix: Remove code duplication in getGoals call",
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
"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",
+ "created_at": "2024-12-26T03:48:26Z",
+ "updated_at": "2024-12-26T03:54:05Z",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
"files": [
{
- "path": "packages/plugin-bootstrap/src/evaluators/goal.ts",
+ "path": "packages/plugin-evm/src/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
+ },
+ {
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
+ },
+ {
+ "path": "packages/plugin-evm/src/templates/index.ts",
"additions": 2,
- "deletions": 8
+ "deletions": 2
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
}
],
"reviews": [
{
- "author": "monilpat",
- "state": "DISMISSED",
- "body": ""
- },
- {
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
}
],
"comments": []
@@ -1046,17 +2695,58 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "adapt7",
+ "score": 1,
+ "summary": "adapt7 is currently working on resolving a bug in the eliza-starter project related to the pnpm build issue, specifically addressing the error message \"No input files, try 'tsup ' instead.\"",
+ "avatar_url": "https://avatars.githubusercontent.com/u/88395064?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "state": "OPEN",
+ "created_at": "2024-12-26T15:08:10Z",
+ "updated_at": "2024-12-26T15:08:10Z",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "arthursjy",
+ "contributor": "UiCandy",
"score": 1,
- "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",
+ "summary": "UiCandy is currently working on addressing issues related to the Aptos Integration, specifically focusing on the inability to build and run the integration successfully. The recent activity shows one open issue in the bug category, with no pull requests or commits made in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1068,17 +2758,17 @@
"total_opened": 1,
"opened": [
{
- "number": 1448,
- "title": "I don't want to use birdeye-api in plugin-solana!",
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
"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",
+ "created_at": "2024-12-26T10:10:58Z",
+ "updated_at": "2024-12-26T10:16:03Z",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\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": []
@@ -1094,10 +2784,10 @@
}
},
{
- "contributor": "cxp-13",
+ "contributor": "harperaa",
"score": 1,
- "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",
+ "summary": "harperaa is currently working on addressing a bug related to the `pnpm run dev` command not functioning properly with character files. This is the main focus of their recent activity on GitHub in the last 90 days.",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1109,12 +2799,12 @@
"total_opened": 1,
"opened": [
{
- "number": 1447,
- "title": "connect ETIMEDOUT 142.250.217.106:443",
+ "number": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
"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",
+ "created_at": "2024-12-26T00:10:04Z",
+ "updated_at": "2024-12-26T00:10:04Z",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS \u26a1\ufe0f Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
"labels": [
{
"name": "bug",
diff --git a/data/daily/history/commits_2024_12_26.json b/data/daily/history/commits_2024_12_26.json
new file mode 100644
index 0000000..0be7f28
--- /dev/null
+++ b/data/daily/history/commits_2024_12_26.json
@@ -0,0 +1,15 @@
+[
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "committedDate": "2024-12-26T00:31:06Z",
+ "author": {
+ "user": {
+ "login": "lalalune"
+ }
+ },
+ "additions": 339,
+ "deletions": 251,
+ "changedFiles": 1
+ }
+]
diff --git a/data/daily/history/contributors_2024_12_26.json b/data/daily/history/contributors_2024_12_26.json
new file mode 100644
index 0000000..823e498
--- /dev/null
+++ b/data/daily/history/contributors_2024_12_26.json
@@ -0,0 +1,1137 @@
+[
+ {
+ "contributor": "mhxw",
+ "score": 17,
+ "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,
+ "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": "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,
+ "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": "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,
+ "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": 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": "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": "harperaa",
+ "score": 5,
+ "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,
+ "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": "Firbydude",
+ "score": 5,
+ "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,
+ "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": "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,
+ "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": 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": "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,
+ "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": 1,
+ "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,
+ "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/history/issues_2024_12_26.json b/data/daily/history/issues_2024_12_26.json
new file mode 100644
index 0000000..1e92bf1
--- /dev/null
+++ b/data/daily/history/issues_2024_12_26.json
@@ -0,0 +1,151 @@
+[
+ {
+ "id": "I_kwDOMT5cIs6khNOF",
+ "number": 1480,
+ "title": "Install fails",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\nโ clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\nโ make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\nโ gyp ERR! build error \r\nโ gyp ERR! stack Error: `make` failed with exit code: 2\r\nโ gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\nโ gyp ERR! System Darwin 24.1.0\r\nโ gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"โฆ\r\nโ gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\nโ gyp ERR! node -v v20.18.1\r\nโ gyp ERR! node-gyp -v v10.3.1\r\nโ gyp ERR! not ok \r\nโ node-pre-gyp ERR! build error \r\nโ node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modulโฆ\r\nโ node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compiโฆ\r\nโ node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\nโ node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\nโ node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\nโ node-pre-gyp ERR! System Darwin 24.1.0\r\nโ node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/noโฆ\r\nโ node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\nโ node-pre-gyp ERR! node -v v20.18.1\r\nโ node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\nโ node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T21:47:54Z",
+ "updatedAt": "2024-12-26T22:35:07Z",
+ "author": {
+ "login": "eskp",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6Yxm_C",
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nโERR_PNPM_READ_FROM_STOREโ Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YxnTW",
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
+ }
+ ]
+ },
+ {
+ "id": "I_kwDOMT5cIs6kgEz9",
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\nโELIFECYCLEโ Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T15:08:10Z",
+ "updatedAt": "2024-12-26T15:08:10Z",
+ "author": {
+ "login": "adapt7",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/88395064?v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "I_kwDOMT5cIs6ke8g0",
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\r\n\r\n\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T10:10:58Z",
+ "updatedAt": "2024-12-26T10:16:03Z",
+ "author": {
+ "login": "UiCandy",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "I_kwDOMT5cIs6kefBP",
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 โERR_PNPM_RECURSIVE_RUN_FIRST_FAILโ @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 โWARNโ Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 โELIFECYCLEโ Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T08:20:50Z",
+ "updatedAt": "2024-12-26T22:17:02Z",
+ "author": {
+ "login": "timolegros",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/62490329?v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6YxlKq",
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ },
+ {
+ "id": "I_kwDOMT5cIs6kd7LN",
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T05:44:35Z",
+ "updatedAt": "2024-12-26T05:44:35Z",
+ "author": {
+ "login": "nulLeeKH",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "I_kwDOMT5cIs6kdQiO",
+ "number": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS โก๏ธ Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\nโELIFECYCLEโ Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T00:10:04Z",
+ "updatedAt": "2024-12-26T00:10:04Z",
+ "author": {
+ "login": "harperaa",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?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_26.json b/data/daily/history/prs_2024_12_26.json
new file mode 100644
index 0000000..6446c78
--- /dev/null
+++ b/data/daily/history/prs_2024_12_26.json
@@ -0,0 +1,2303 @@
+[
+ {
+ "id": "PR_kwDOMT5cIs6GRvjq",
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T22:22:25Z",
+ "updatedAt": "2024-12-26T22:22:57Z",
+ "author": {
+ "login": "Archethect",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRsa_",
+ "number": 1481,
+ "title": "feat: add image features to react chat client",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T21:54:23Z",
+ "updatedAt": "2024-12-26T22:07:45Z",
+ "author": {
+ "login": "0xPBIT",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRp9o",
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T21:32:00Z",
+ "updatedAt": "2024-12-26T21:47:09Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRbTe",
+ "number": 1478,
+ "title": "Reality spiral/client testing",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "state": "CLOSED",
+ "merged": false,
+ "createdAt": "2024-12-26T19:44:19Z",
+ "updatedAt": "2024-12-26T19:54:58Z",
+ "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": 267,
+ "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": 250,
+ "deletions": 163
+ },
+ {
+ "path": "packages/client-github/src/templates.ts",
+ "additions": 72,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/types.ts",
+ "additions": 45,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/utils.ts",
+ "additions": 148,
+ "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": 179,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
+ "additions": 245,
+ "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": 208,
+ "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": 365,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/templates.ts",
+ "additions": 916,
+ "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_kwDOMT5cIs6GRWhW",
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\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-26T19:12:11Z",
+ "updatedAt": "2024-12-26T19:13:49Z",
+ "author": {
+ "login": "ag-wnl",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaH2v",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRUQE",
+ "number": 1476,
+ "title": "chore: Docs update",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T18:57:11Z",
+ "updatedAt": "2024-12-26T19:07:45Z",
+ "author": {
+ "login": "madjin",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
+ },
+ {
+ "path": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
+ {
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
+ },
+ {
+ "path": "docs/api/classes/DbCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
+ },
+ {
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
+ },
+ {
+ "path": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
+ },
+ {
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
+ },
+ {
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
+ },
+ {
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaHI8",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6YxLWv",
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRT8f",
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \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-26T18:55:18Z",
+ "updatedAt": "2024-12-26T19:12:06Z",
+ "author": {
+ "login": "ag-wnl",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaFht",
+ "author": "github-actions",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaHRc",
+ "author": "monilpat",
+ "body": "",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaHrT",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRJ2g",
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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-26T17:54:40Z",
+ "updatedAt": "2024-12-26T17:54:40Z",
+ "author": {
+ "login": "samarth30",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQ-FN",
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-26T16:42:26Z",
+ "updatedAt": "2024-12-26T16:59:16Z",
+ "author": {
+ "login": "Archethect",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WZyKF",
+ "author": "github-actions",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZ0fY",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQtSL",
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T15:08:59Z",
+ "updatedAt": "2024-12-26T19:00:03Z",
+ "author": {
+ "login": "tcm390",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaFpa",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQsox",
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-26T15:05:42Z",
+ "updatedAt": "2024-12-26T15:46:22Z",
+ "author": {
+ "login": "ShuochengWang",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": ".gitignore",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "Makefile",
+ "additions": 59,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "eliza.manifest.template",
+ "additions": 84,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
+ "deletions": 0
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/README.md",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQr_6",
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T15:02:31Z",
+ "updatedAt": "2024-12-26T18:47:06Z",
+ "author": {
+ "login": "todorkolev",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WZ32b",
+ "author": "monilpat",
+ "body": "LGTM - thanks for cleaning this up ",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaER2",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQn8F",
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T14:42:02Z",
+ "updatedAt": "2024-12-26T14:47:45Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQVSV",
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T13:15:32Z",
+ "updatedAt": "2024-12-26T19:09:29Z",
+ "author": {
+ "login": "jonathangus",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAAB0PEeUw",
+ "name": "Needs Testing",
+ "color": "84C035",
+ "description": ""
+ }
+ ],
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
+ },
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
+ },
+ {
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQAO1",
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T11:43:35Z",
+ "updatedAt": "2024-12-26T11:48:54Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GP6pD",
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "body": "### Description\r\n\r\n\r\n\r\nIโve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T11:15:26Z",
+ "updatedAt": "2024-12-26T11:49:46Z",
+ "author": {
+ "login": "mdqst",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WY4rw",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "DISMISSED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GP13E",
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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-26T10:53:22Z",
+ "updatedAt": "2024-12-26T14:52:49Z",
+ "author": {
+ "login": "samarth30",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAAB1NgIxA",
+ "name": "Plugin_new",
+ "color": "FBCA04",
+ "description": "Mark PRs that are a new plugin"
+ }
+ ],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WYykv",
+ "author": "github-actions",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZNOi",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6YwDIX",
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged ๐ "
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YwaXK",
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YwiNT",
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
+ }
+ ]
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GPt_I",
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\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-26T10:20:15Z",
+ "updatedAt": "2024-12-26T13:44:22Z",
+ "author": {
+ "login": "zkvm",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/54390919?v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WYref",
+ "author": "github-actions",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZRB-",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GPeOs",
+ "number": 1461,
+ "title": "feat: Add Solana 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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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-26T09:18:12Z",
+ "updatedAt": "2024-12-26T16:46:42Z",
+ "author": {
+ "login": "FWangZil",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/plugin-solana/package.json",
+ "additions": 33,
+ "deletions": 31
+ },
+ {
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-solana/src/index.ts",
+ "additions": 3,
+ "deletions": 2
+ },
+ {
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOkzJ",
+ "number": 1458,
+ "title": "Disable parse_mode on telegram client",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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-26T04:12:15Z",
+ "updatedAt": "2024-12-26T09:28:15Z",
+ "author": {
+ "login": "nulLeeKH",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".github/workflows/ci.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WYKSh",
+ "author": "simpletrontdip",
+ "body": "",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WYfgN",
+ "author": "nulLeeKH",
+ "body": "",
+ "state": "COMMENTED"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6Yt55C",
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YuIa2",
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` ๐ฏ It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YuJLx",
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YuO7a",
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
+ }
+ ]
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOicd",
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T03:51:53Z",
+ "updatedAt": "2024-12-26T06:13:27Z",
+ "author": {
+ "login": "odilitime",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXnwL",
+ "author": "monilpat",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOiFb",
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## 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-26T03:48:26Z",
+ "updatedAt": "2024-12-26T03:54:05Z",
+ "author": {
+ "login": "pythonberg1997",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48975233?v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/plugin-evm/src/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
+ },
+ {
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
+ },
+ {
+ "path": "packages/plugin-evm/src/templates/index.ts",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXlfT",
+ "author": "github-actions",
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOSl8",
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
+ "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-26T01:28:13Z",
+ "updatedAt": "2024-12-26T06:44:32Z",
+ "author": {
+ "login": "peersky",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXfXB",
+ "author": "monilpat",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOPo0",
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T00:53:16Z",
+ "updatedAt": "2024-12-26T06:22:47Z",
+ "author": {
+ "login": "odilitime",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 1
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "docs/docs/guides/secrets-management.md",
+ "additions": 6,
+ "deletions": 3
+ },
+ {
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
+ "deletions": 0
+ },
+ {
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXX0V",
+ "author": "Freytes",
+ "body": "Good documentation, I would recommend a refactor for AWS",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WXX2w",
+ "author": "Freytes",
+ "body": "",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WXdnW",
+ "author": "twilwa",
+ "body": "ok at a glance",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOORV",
+ "number": 1453,
+ "title": "New default character",
+ "body": "Update default character",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T00:32:43Z",
+ "updatedAt": "2024-12-26T00:46:01Z",
+ "author": {
+ "login": "lalalune",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXQpB",
+ "author": "monilpat",
+ "body": "LGTM",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ }
+]
diff --git a/data/daily/history/summary_2024_12_26.json b/data/daily/history/summary_2024_12_26.json
new file mode 100644
index 0000000..8f6d785
--- /dev/null
+++ b/data/daily/history/summary_2024_12_26.json
@@ -0,0 +1,47 @@
+{
+ "title": "elizaos Eliza (2024-12-25)",
+ "version": "",
+ "overview": "Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements.",
+ "metrics": {
+ "contributors": 10,
+ "merged_prs": 1,
+ "new_issues": 2,
+ "lines_changed": 4
+ },
+ "changes": {
+ "features": [],
+ "fixes": [
+ "fix incorrect link redirection issue"
+ ],
+ "chores": []
+ },
+ "areas": [
+ {
+ "name": "docs",
+ "files": 1,
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "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": "mhxw",
+ "summary": "mhxw is currently working on fixing an incorrect link redirection issue in the documentation",
+ "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": "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/history/summary_2024_12_26.md b/data/daily/history/summary_2024_12_26.md
new file mode 100644
index 0000000..314c25b
--- /dev/null
+++ b/data/daily/history/summary_2024_12_26.md
@@ -0,0 +1,36 @@
+# elizaos Eliza (2024-12-25)
+
+## ๐ Overview
+Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements.
+
+## ๐ Key Metrics
+| Metric | Count |
+|---------|--------|
+| ๐ฅ Contributors | 10 |
+| ๐ Commits | 0 |
+| ๐ Merged PRs | 1 |
+| โ ๏ธ New Issues | 2 |
+
+## ๐ Pull Request Summary
+- ๐งน **Chores**: 0
+- ๐ **Fixes**: 1
+- โจ **Features**: 0
+
+## ๐ File Changes
+- **docs**: 1 files (+2/-2 lines)
+
+## ๐ฅ Notable Changes
+- fix: fix incorrect link redirection issue
+
+## ๐ฅ Top Contributors
+- **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**: 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
+- **mhxw**: fix: fix incorrect link redirection issue
\ No newline at end of file
diff --git a/data/daily/issues.json b/data/daily/issues.json
index 3481f88..1e92bf1 100644
--- a/data/daily/issues.json
+++ b/data/daily/issues.json
@@ -1,37 +1,142 @@
[
{
- "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",
+ "id": "I_kwDOMT5cIs6khNOF",
+ "number": 1480,
+ "title": "Install fails",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\nโ clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\nโ make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\nโ gyp ERR! build error \r\nโ gyp ERR! stack Error: `make` failed with exit code: 2\r\nโ gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\nโ gyp ERR! System Darwin 24.1.0\r\nโ gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"โฆ\r\nโ gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\nโ gyp ERR! node -v v20.18.1\r\nโ gyp ERR! node-gyp -v v10.3.1\r\nโ gyp ERR! not ok \r\nโ node-pre-gyp ERR! build error \r\nโ node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modulโฆ\r\nโ node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compiโฆ\r\nโ node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\nโ node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\nโ node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\nโ node-pre-gyp ERR! System Darwin 24.1.0\r\nโ node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/noโฆ\r\nโ node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\nโ node-pre-gyp ERR! node -v v20.18.1\r\nโ node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\nโ node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
"state": "OPEN",
- "createdAt": "2024-12-25T15:31:37Z",
- "updatedAt": "2024-12-25T15:31:37Z",
+ "createdAt": "2024-12-26T21:47:54Z",
+ "updatedAt": "2024-12-26T22:35:07Z",
"author": {
- "login": "arthursjy",
- "avatarUrl": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4"
+ "login": "eskp",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4"
},
"labels": [
{
- "id": "LA_kwDOMT5cIs8AAAABrA0qYA",
- "name": "enhancement",
- "color": "a2eeef",
- "description": "New feature or request"
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6Yxm_C",
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\nโERR_PNPM_READ_FROM_STOREโ Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YxnTW",
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
+ }
+ ]
+ },
+ {
+ "id": "I_kwDOMT5cIs6kgEz9",
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\nโELIFECYCLEโ Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T15:08:10Z",
+ "updatedAt": "2024-12-26T15:08:10Z",
+ "author": {
+ "login": "adapt7",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/88395064?v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "I_kwDOMT5cIs6ke8g0",
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\r\n\r\n\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T10:10:58Z",
+ "updatedAt": "2024-12-26T10:16:03Z",
+ "author": {
+ "login": "UiCandy",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "I_kwDOMT5cIs6kefBP",
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 โERR_PNPM_RECURSIVE_RUN_FIRST_FAILโ @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 โWARNโ Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 โELIFECYCLEโ Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T08:20:50Z",
+ "updatedAt": "2024-12-26T22:17:02Z",
+ "author": {
+ "login": "timolegros",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/62490329?v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6YxlKq",
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ },
+ {
+ "id": "I_kwDOMT5cIs6kd7LN",
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "state": "OPEN",
+ "createdAt": "2024-12-26T05:44:35Z",
+ "updatedAt": "2024-12-26T05:44:35Z",
+ "author": {
+ "login": "nulLeeKH",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAABrA0qWA",
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
}
],
"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",
+ "id": "I_kwDOMT5cIs6kdQiO",
+ "number": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS โก๏ธ Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\nโELIFECYCLEโ Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
"state": "OPEN",
- "createdAt": "2024-12-25T08:31:14Z",
- "updatedAt": "2024-12-25T13:33:48Z",
+ "createdAt": "2024-12-26T00:10:04Z",
+ "updatedAt": "2024-12-26T00:10:04Z",
"author": {
- "login": "cxp-13",
- "avatarUrl": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4"
+ "login": "harperaa",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4"
},
"labels": [
{
diff --git a/data/daily/prs.json b/data/daily/prs.json
index cd90953..6446c78 100644
--- a/data/daily/prs.json
+++ b/data/daily/prs.json
@@ -1,13 +1,195 @@
[
{
- "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___",
+ "id": "PR_kwDOMT5cIs6GRvjq",
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T22:22:25Z",
+ "updatedAt": "2024-12-26T22:22:57Z",
+ "author": {
+ "login": "Archethect",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRsa_",
+ "number": 1481,
+ "title": "feat: add image features to react chat client",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T21:54:23Z",
+ "updatedAt": "2024-12-26T22:07:45Z",
+ "author": {
+ "login": "0xPBIT",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRp9o",
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T21:32:00Z",
+ "updatedAt": "2024-12-26T21:47:09Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRbTe",
+ "number": 1478,
+ "title": "Reality spiral/client testing",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\n## What kind of change is this?\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
"state": "CLOSED",
"merged": false,
- "createdAt": "2024-12-25T20:35:11Z",
- "updatedAt": "2024-12-25T20:37:42Z",
+ "createdAt": "2024-12-26T19:44:19Z",
+ "updatedAt": "2024-12-26T19:54:58Z",
"author": {
"login": "monilpat",
"avatarUrl": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4"
@@ -71,7 +253,7 @@
},
{
"path": "characters/logging-addict.character.json",
- "additions": 263,
+ "additions": 267,
"deletions": 0
},
{
@@ -381,22 +563,22 @@
},
{
"path": "packages/client-github/src/index.ts",
- "additions": 246,
+ "additions": 250,
"deletions": 163
},
{
"path": "packages/client-github/src/templates.ts",
- "additions": 89,
+ "additions": 72,
"deletions": 0
},
{
"path": "packages/client-github/src/types.ts",
- "additions": 48,
+ "additions": 45,
"deletions": 0
},
{
"path": "packages/client-github/src/utils.ts",
- "additions": 142,
+ "additions": 148,
"deletions": 0
},
{
@@ -426,12 +608,12 @@
},
{
"path": "packages/plugin-github/src/plugins/addCommentToIssue.ts",
- "additions": 159,
+ "additions": 179,
"deletions": 0
},
{
"path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
- "additions": 219,
+ "additions": 245,
"deletions": 0
},
{
@@ -456,7 +638,7 @@
},
{
"path": "packages/plugin-github/src/plugins/ideationPlugin.ts",
- "additions": 207,
+ "additions": 208,
"deletions": 0
},
{
@@ -496,12 +678,12 @@
},
{
"path": "packages/plugin-github/src/services/github.ts",
- "additions": 331,
+ "additions": 365,
"deletions": 0
},
{
"path": "packages/plugin-github/src/templates.ts",
- "additions": 918,
+ "additions": 916,
"deletions": 0
},
{
@@ -519,36 +701,30 @@
"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",
+ "id": "PR_kwDOMT5cIs6GRWhW",
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\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-26T19:12:11Z",
+ "updatedAt": "2024-12-26T19:13:49Z",
"author": {
- "login": "hanyh2004",
- "avatarUrl": "https://avatars.githubusercontent.com/u/213808?v=4"
+ "login": "ag-wnl",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4"
},
"labels": [],
"files": [
{
- "path": "packages/plugin-bootstrap/src/evaluators/goal.ts",
- "additions": 2,
- "deletions": 8
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
}
],
"reviews": [
{
- "id": "PRR_kwDOMT5cIs6WXHPW",
- "author": "monilpat",
- "body": "",
- "state": "DISMISSED"
- },
- {
- "id": "PRR_kwDOMT5cIs6WXNcd",
- "author": "odilitime",
+ "id": "PRR_kwDOMT5cIs6WaH2v",
+ "author": "shakkernerd",
"body": "",
"state": "APPROVED"
}
@@ -556,290 +732,1392 @@
"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",
+ "id": "PR_kwDOMT5cIs6GRUQE",
+ "number": 1476,
+ "title": "chore: Docs update",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T18:57:11Z",
+ "updatedAt": "2024-12-26T19:07:45Z",
"author": {
- "login": "harperaa",
- "avatarUrl": "https://avatars.githubusercontent.com/u/1330944?v=4"
+ "login": "madjin",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&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": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
},
{
- "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": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
{
- "path": "agent/src/index.ts",
- "additions": 4,
- "deletions": 0
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
},
{
- "path": "packages/plugin-3d-generation/.npmignore",
+ "path": "docs/api/classes/DbCacheAdapter.md",
"additions": 7,
- "deletions": 0
+ "deletions": 7
},
{
- "path": "packages/plugin-3d-generation/eslint.config.mjs",
- "additions": 3,
- "deletions": 0
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
},
{
- "path": "packages/plugin-3d-generation/package.json",
- "additions": 19,
- "deletions": 0
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
},
{
- "path": "packages/plugin-3d-generation/src/constants.ts",
- "additions": 4,
- "deletions": 0
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
},
{
- "path": "packages/plugin-3d-generation/src/index.ts",
- "additions": 198,
- "deletions": 0
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
},
{
- "path": "packages/plugin-3d-generation/tsconfig.json",
- "additions": 15,
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
"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"
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
},
{
- "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": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
},
{
- "path": "agent/src/index.ts",
- "additions": 20,
- "deletions": 77
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
},
{
- "path": "packages/client-reddit/.npmignore",
- "additions": 6,
- "deletions": 0
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
},
{
- "path": "packages/client-reddit/eslint.config.mjs",
- "additions": 3,
- "deletions": 0
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
},
{
- "path": "packages/client-reddit/package.json",
- "additions": 22,
- "deletions": 0
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
},
{
- "path": "packages/client-reddit/src/actions/comment.ts",
- "additions": 49,
- "deletions": 0
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/client-reddit/src/actions/post.ts",
- "additions": 88,
- "deletions": 0
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/client-reddit/src/actions/vote.ts",
- "additions": 49,
- "deletions": 0
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/client-reddit/src/clients/redditClient.ts",
- "additions": 52,
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/clients/redditPostClient.ts",
- "additions": 259,
- "deletions": 0
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/client-reddit/src/index.ts",
- "additions": 28,
- "deletions": 0
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
},
{
- "path": "packages/client-reddit/src/providers/redditProvider.ts",
- "additions": 123,
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaHI8",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6YxLWv",
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRT8f",
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \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-26T18:55:18Z",
+ "updatedAt": "2024-12-26T19:12:06Z",
+ "author": {
+ "login": "ag-wnl",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaFht",
+ "author": "github-actions",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaHRc",
+ "author": "monilpat",
+ "body": "",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaHrT",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GRJ2g",
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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-26T17:54:40Z",
+ "updatedAt": "2024-12-26T17:54:40Z",
+ "author": {
+ "login": "samarth30",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQ-FN",
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-26T16:42:26Z",
+ "updatedAt": "2024-12-26T16:59:16Z",
+ "author": {
+ "login": "Archethect",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WZyKF",
+ "author": "github-actions",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZ0fY",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQtSL",
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T15:08:59Z",
+ "updatedAt": "2024-12-26T19:00:03Z",
+ "author": {
+ "login": "tcm390",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WaFpa",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQsox",
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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-26T15:05:42Z",
+ "updatedAt": "2024-12-26T15:46:22Z",
+ "author": {
+ "login": "ShuochengWang",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": ".gitignore",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "Makefile",
+ "additions": 59,
+ "deletions": 0
+ },
+ {
+ "path": "agent/package.json",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "eliza.manifest.template",
+ "additions": 84,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
+ "deletions": 0
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/README.md",
+ "additions": 6,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQr_6",
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T15:02:31Z",
+ "updatedAt": "2024-12-26T18:47:06Z",
+ "author": {
+ "login": "todorkolev",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WZ32b",
+ "author": "monilpat",
+ "body": "LGTM - thanks for cleaning this up ",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WaER2",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQn8F",
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T14:42:02Z",
+ "updatedAt": "2024-12-26T14:47:45Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQVSV",
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "state": "OPEN",
+ "merged": false,
+ "createdAt": "2024-12-26T13:15:32Z",
+ "updatedAt": "2024-12-26T19:09:29Z",
+ "author": {
+ "login": "jonathangus",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAAB0PEeUw",
+ "name": "Needs Testing",
+ "color": "84C035",
+ "description": ""
+ }
+ ],
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
+ },
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
+ },
+ {
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GQAO1",
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T11:43:35Z",
+ "updatedAt": "2024-12-26T11:48:54Z",
+ "author": {
+ "login": "shakkernerd",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GP6pD",
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "body": "### Description\r\n\r\n\r\n\r\nIโve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T11:15:26Z",
+ "updatedAt": "2024-12-26T11:49:46Z",
+ "author": {
+ "login": "mdqst",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WY4rw",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "DISMISSED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GP13E",
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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-26T10:53:22Z",
+ "updatedAt": "2024-12-26T14:52:49Z",
+ "author": {
+ "login": "samarth30",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4"
+ },
+ "labels": [
+ {
+ "id": "LA_kwDOMT5cIs8AAAAB1NgIxA",
+ "name": "Plugin_new",
+ "color": "FBCA04",
+ "description": "Mark PRs that are a new plugin"
+ }
+ ],
+ "files": [
+ {
+ "path": ".env.example",
+ "additions": 4,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/types/index.ts",
- "additions": 18,
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsconfig.json",
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
"additions": 13,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsup.config.ts",
- "additions": 21,
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
"deletions": 0
}
],
"reviews": [
{
- "id": "PRR_kwDOMT5cIs6WXNZ8",
- "author": "odilitime",
+ "id": "PRR_kwDOMT5cIs6WYykv",
+ "author": "github-actions",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZNOi",
+ "author": "shakkernerd",
"body": "",
"state": "APPROVED"
}
],
"comments": [
{
- "id": "IC_kwDOMT5cIs6YsA9T",
- "author": "odilitime",
- "body": "needs to include the agent/ wiring (package.json src/index.ts)"
+ "id": "IC_kwDOMT5cIs6YwDIX",
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged ๐ "
},
{
- "id": "IC_kwDOMT5cIs6Ysx0q",
- "author": "Freytes",
- "body": "@odilitime Updated the requested files."
+ "id": "IC_kwDOMT5cIs6YwaXK",
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YwiNT",
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
}
]
},
{
- "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",
+ "id": "PR_kwDOMT5cIs6GPt_I",
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\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-26T10:20:15Z",
+ "updatedAt": "2024-12-26T13:44:22Z",
+ "author": {
+ "login": "zkvm",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/54390919?v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WYref",
+ "author": "github-actions",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WZRB-",
+ "author": "shakkernerd",
+ "body": "",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GPeOs",
+ "number": 1461,
+ "title": "feat: Add Solana 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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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-25T04:23:41Z",
- "updatedAt": "2024-12-25T22:20:59Z",
+ "createdAt": "2024-12-26T09:18:12Z",
+ "updatedAt": "2024-12-26T16:46:42Z",
"author": {
- "login": "0xPBIT",
- "avatarUrl": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4"
+ "login": "FWangZil",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4"
},
"labels": [],
"files": [
{
- "path": "docs/docs/core/actions.md",
- "additions": 3,
- "deletions": 0
+ "path": "packages/plugin-solana/package.json",
+ "additions": 33,
+ "deletions": 31
},
{
- "path": "packages/client-direct/src/index.ts",
- "additions": 18,
- "deletions": 3
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
+ "deletions": 0
},
{
- "path": "packages/core/src/types.ts",
+ "path": "packages/plugin-solana/src/index.ts",
"additions": 3,
+ "deletions": 2
+ },
+ {
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
"deletions": 0
},
{
- "path": "packages/plugin-image-generation/src/index.ts",
- "additions": 1,
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
"deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOkzJ",
+ "number": 1458,
+ "title": "Disable parse_mode on telegram client",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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-26T04:12:15Z",
+ "updatedAt": "2024-12-26T09:28:15Z",
+ "author": {
+ "login": "nulLeeKH",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/41930106?u=2f38e92f8ce46ad7dbb9e1c07c3e4ed3253c2d5b&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": ".github/workflows/ci.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
}
],
"reviews": [
{
- "id": "PRR_kwDOMT5cIs6WWJw9",
- "author": "odilitime",
+ "id": "PRR_kwDOMT5cIs6WYKSh",
+ "author": "simpletrontdip",
"body": "",
"state": "COMMENTED"
},
{
- "id": "PRR_kwDOMT5cIs6WXHFG",
- "author": "0xPBIT",
+ "id": "PRR_kwDOMT5cIs6WYfgN",
+ "author": "nulLeeKH",
"body": "",
"state": "COMMENTED"
+ }
+ ],
+ "comments": [
+ {
+ "id": "IC_kwDOMT5cIs6Yt55C",
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YuIa2",
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` ๐ฏ It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "id": "IC_kwDOMT5cIs6YuJLx",
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
},
{
- "id": "PRR_kwDOMT5cIs6WXNZi",
- "author": "odilitime",
+ "id": "IC_kwDOMT5cIs6YuO7a",
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
+ }
+ ]
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOicd",
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "body": "",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T03:51:53Z",
+ "updatedAt": "2024-12-26T06:13:27Z",
+ "author": {
+ "login": "odilitime",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXnwL",
+ "author": "monilpat",
"body": "",
"state": "APPROVED"
}
@@ -847,35 +2125,80 @@
"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",
+ "id": "PR_kwDOMT5cIs6GOiFb",
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## 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-26T03:48:26Z",
+ "updatedAt": "2024-12-26T03:54:05Z",
"author": {
- "login": "mhxw",
- "avatarUrl": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4"
+ "login": "pythonberg1997",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/48975233?v=4"
},
"labels": [],
"files": [
{
- "path": "docs/docs/advanced/eliza-in-tee.md",
+ "path": "packages/plugin-evm/src/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
+ },
+ {
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
+ },
+ {
+ "path": "packages/plugin-evm/src/templates/index.ts",
"additions": 2,
"deletions": 2
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
}
],
"reviews": [
{
- "id": "PRR_kwDOMT5cIs6WV3W9",
- "author": "monilpat",
- "body": "LGTM thanks :) ",
- "state": "DISMISSED"
+ "id": "PRR_kwDOMT5cIs6WXlfT",
+ "author": "github-actions",
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!",
+ "state": "COMMENTED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOSl8",
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
+ "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-26T01:28:13Z",
+ "updatedAt": "2024-12-26T06:44:32Z",
+ "author": {
+ "login": "peersky",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
},
{
- "id": "PRR_kwDOMT5cIs6WV3mi",
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXfXB",
"author": "monilpat",
"body": "",
"state": "APPROVED"
@@ -884,54 +2207,95 @@
"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",
+ "id": "PR_kwDOMT5cIs6GOPo0",
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T00:53:16Z",
+ "updatedAt": "2024-12-26T06:22:47Z",
"author": {
- "login": "Firbydude",
- "avatarUrl": "https://avatars.githubusercontent.com/u/5506146?v=4"
+ "login": "odilitime",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4"
},
- "labels": [
- {
- "id": "LA_kwDOMT5cIs8AAAAB0PEeUw",
- "name": "Needs Testing",
- "color": "84C035",
- "description": ""
- }
- ],
+ "labels": [],
"files": [
{
- "path": ".env.example",
- "additions": 6,
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 1
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 19,
"deletions": 0
},
{
- "path": "packages/core/src/embedding.ts",
- "additions": 73,
- "deletions": 120
+ "path": "docs/docs/guides/secrets-management.md",
+ "additions": 6,
+ "deletions": 3
},
{
- "path": "packages/core/src/tests/embeddings.test.ts",
- "additions": 102,
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
"deletions": 0
},
{
- "path": "packages/core/src/voyageai.ts",
- "additions": 156,
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
"deletions": 0
}
],
"reviews": [
{
- "id": "PRR_kwDOMT5cIs6WWI9_",
- "author": "odilitime",
+ "id": "PRR_kwDOMT5cIs6WXX0V",
+ "author": "Freytes",
+ "body": "Good documentation, I would recommend a refactor for AWS",
+ "state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WXX2w",
+ "author": "Freytes",
"body": "",
"state": "APPROVED"
+ },
+ {
+ "id": "PRR_kwDOMT5cIs6WXdnW",
+ "author": "twilwa",
+ "body": "ok at a glance",
+ "state": "APPROVED"
+ }
+ ],
+ "comments": []
+ },
+ {
+ "id": "PR_kwDOMT5cIs6GOORV",
+ "number": 1453,
+ "title": "New default character",
+ "body": "Update default character",
+ "state": "MERGED",
+ "merged": true,
+ "createdAt": "2024-12-26T00:32:43Z",
+ "updatedAt": "2024-12-26T00:46:01Z",
+ "author": {
+ "login": "lalalune",
+ "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4"
+ },
+ "labels": [],
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "id": "PRR_kwDOMT5cIs6WXQpB",
+ "author": "monilpat",
+ "body": "LGTM",
+ "state": "APPROVED"
}
],
"comments": []
diff --git a/data/daily/scored.json b/data/daily/scored.json
index 3fc60af..32f4584 100644
--- a/data/daily/scored.json
+++ b/data/daily/scored.json
@@ -1,40 +1,69 @@
[
{
- "contributor": "mhxw",
- "score": 17,
+ "contributor": "ag-wnl",
+ "score": 42,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/32643286?u=71e348f1052ac9add246fe517b0680eef5034fc1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/95609274?u=223ecb81a01b4c598eaf368101035fc7486d86c0&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1443,
- "title": "fix: fix incorrect link redirection issue",
+ "number": 1477,
+ "title": "chore: Do not consider self tweets when evaluating actions",
"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",
+ "created_at": "2024-12-26T19:12:11Z",
+ "updated_at": "2024-12-26T19:13:49Z",
+ "body": "\r\n\r\n# Relates to:\r\nNone existing issue pointed out, improvement in action evaluation by ignoring self tweets done by agent, as in some cases agent might take an action on their own post if it shows up on timeline\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to None\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nDo not consider self tweets when evaluating actions\r\n\r\n## What kind of change is this?\r\nImprovement in search space for action evaluation\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": 2,
- "deletions": 2
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 3,
+ "deletions": 1
}
],
"reviews": [
{
- "author": "monilpat",
- "state": "DISMISSED",
- "body": "LGTM thanks :) "
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1475,
+ "title": "Fetch timeline for followed accounts via Twitter client methods",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:55:18Z",
+ "updated_at": "2024-12-26T19:12:06Z",
+ "body": "\r\n\r\n# Relates to:\r\nNo existing issue, just an improvement to an existing method which allows filtering to only discovering posts from \"Following\" timeline for agent account instead of default \"For You\"\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow to none\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\nAdds ability to optionally fetch timeline only for followed accounts on twitter rather than default \"For you\" timeline presented by existing method\r\n\r\n## What kind of change is this?\r\nImprovements (misc. changes to existing features)\r\n\r\n## Why are we doing this? Any context or related work?\r\nThe reason for doing this is as \"For you\" timeline for agents can be pretty random, and users might want to have better catered interactions towards accounts they follow or accounts which have been interacting with those accounts. \r\n\r\n# Documentation changes needed?\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/base.ts",
+ "additions": 7,
+ "deletions": 5
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @ag-wnl! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
"author": "monilpat",
"state": "APPROVED",
"body": ""
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
}
],
"comments": []
@@ -47,68 +76,97 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 4,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "0xPBIT",
- "score": 10,
+ "contributor": "odilitime",
+ "score": 41,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/5788534?u=be4fc26d53b95d68c57f12fbf8ae846f10e73743&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/16395496?u=45c152d8433e37c62520e66c0dd6d754ccf3eaf4&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"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",
+ "number": 1457,
+ "title": "fix: update pnpm lock",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T03:51:53Z",
+ "updated_at": "2024-12-26T06:13:27Z",
+ "body": "",
"files": [
{
- "path": "docs/docs/core/actions.md",
- "additions": 3,
+ "path": "pnpm-lock.yaml",
+ "additions": 15,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ },
+ {
+ "number": 1454,
+ "title": "feat: allow passing secrets through environment",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:53:16Z",
+ "updated_at": "2024-12-26T06:22:47Z",
+ "body": "Resubmit #410 \r\n\r\n# Relates to:\r\nN/A\r\n\r\n# Risks\r\nMedium - This PR adds a new feature for character-specific environment variable namespacing.\r\n\r\nRisks include:\r\n- Changes to environment variable handling\r\n- Changes to character settings loading\r\n- Potential impact on existing character configurations\r\n\r\n# Background\r\nI wanted to be able to check in character files without having to sanitize them first\r\n\r\n## What does this PR do?\r\n\r\n### Feature Implementation\r\nAdds support for character-specific namespaced environment variables:\r\n1. New environment variable pattern: `CHARACTER.YOUR_CHARACTER_NAME.SETTING_NAME`\r\n2. Automatic handling of spaces in character names (converted to underscores)\r\n3. Enhanced settings hierarchy:\r\n - Character-specific namespaced env variables (highest priority)\r\n - Character settings from JSON\r\n - Global environment variables\r\n - Default values\r\n4. Maintains backward compatibility with existing settings system\r\n\r\nKey changes:\r\n- Modified settings loader in `packages/core/src/settings.ts`\r\n- Updated character loading in `packages/agent/src/index.ts`\r\n- Added automatic conversion of character name spaces to underscores\r\n\r\n### Documentation Updates\r\nUpdated documentation to reflect the new feature:\r\n1. Added namespaced settings pattern to secrets management guide\r\n2. Updated configuration guide with new examples\r\n3. Updated agent package documentation with hierarchy explanation\r\n4. Added clear examples for both .env and character.json methods\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nYes - Documentation has been updated to reflect the new feature:\r\n- Added namespaced settings pattern\r\n- Updated configuration examples\r\n- Updated settings hierarchy explanation\r\n- Added character name handling instructions\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n### Feature Testing\r\n1. Review code changes:\r\n - `packages/core/src/settings.ts`\r\n - `packages/agent/src/index.ts`\r\n\r\n2. Test functionality:\r\n ```env\r\n # Test with simple name\r\n CHARACTER.TESTBOT.OPENAI_API_KEY=sk-test\r\n \r\n # Test with spaces in name\r\n CHARACTER.MY_TEST_BOT.ANTHROPIC_API_KEY=sk-other\r\n ```\r\n\r\n### Documentation Testing\r\nReview updated docs:\r\n- docs/docs/guides/secrets-management.md\r\n- docs/docs/guides/configuration.md\r\n- docs/docs/packages/agent.md\r\n\r\n## Detailed testing steps\r\n\r\n1. Feature Testing:\r\n - Create character with spaces in name\r\n - Add namespaced variables to .env\r\n - Verify correct loading into character settings\r\n - Test precedence over character.json settings\r\n - Verify backward compatibility\r\n - Test global fallback behavior\r\n\r\n2. Documentation Verification:\r\n - Verify pattern examples are correct\r\n - Verify hierarchy explanation is clear\r\n - Verify character name handling is explained\r\n - Test example configurations\r\n\r\n# Screenshots\r\nN/A - Feature implementation and documentation changes\r\n",
+ "files": [
+ {
+ "path": ".gitignore",
+ "additions": 0,
+ "deletions": 1
+ },
+ {
+ "path": "agent/src/index.ts",
+ "additions": 19,
"deletions": 0
},
{
- "path": "packages/client-direct/src/index.ts",
- "additions": 18,
+ "path": "docs/docs/guides/secrets-management.md",
+ "additions": 6,
"deletions": 3
},
{
- "path": "packages/core/src/types.ts",
- "additions": 3,
+ "path": "docs/docs/packages/agent.md",
+ "additions": 14,
"deletions": 0
},
{
- "path": "packages/plugin-image-generation/src/index.ts",
- "additions": 1,
+ "path": "packages/core/src/settings.ts",
+ "additions": 31,
"deletions": 0
}
],
"reviews": [
{
- "author": "odilitime",
- "state": "COMMENTED",
- "body": ""
+ "author": "Freytes",
+ "state": "APPROVED",
+ "body": "Good documentation, I would recommend a refactor for AWS"
},
{
- "author": "0xPBIT",
- "state": "COMMENTED",
+ "author": "Freytes",
+ "state": "APPROVED",
"body": ""
},
{
- "author": "odilitime",
+ "author": "twilwa",
"state": "APPROVED",
- "body": ""
+ "body": "ok at a glance"
}
],
"comments": []
@@ -121,84 +179,76 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 3,
+ "total_reviews": 4,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "tomguluson92",
- "score": 6,
+ "contributor": "shakkernerd",
+ "score": 27,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/19585240?u=4a4465656050747dee79f5f97a8b61cf2fbc97e1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/165377636?u=5560dd9f2d310e1ba61dbba864006a951391a582&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 3,
"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",
+ "number": 1479,
+ "title": "feat: Enhance client direct",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T21:32:00Z",
+ "updated_at": "2024-12-26T21:47:09Z",
+ "body": "",
"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
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 32,
+ "deletions": 20
}
],
"reviews": [],
- "comments": [
+ "comments": []
+ },
+ {
+ "number": 1468,
+ "title": "fix: cronoszkEVM -> cronoszkevm",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T14:42:02Z",
+ "updated_at": "2024-12-26T14:47:45Z",
+ "body": "",
+ "files": [
{
- "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": "agent/src/index.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1466,
+ "title": "chore: update defailt character topic test case",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:43:35Z",
+ "updated_at": "2024-12-26T11:48:54Z",
+ "body": "",
+ "files": [
{
- "author": "tomguluson92",
- "body": "Thanks, I will make a new PR to fix this problem when this PR been merged.\r\n"
+ "path": "packages/core/src/tests/defaultCharacters.test.ts",
+ "additions": 1,
+ "deletions": 1
}
- ]
+ ],
+ "reviews": [],
+ "comments": []
}
]
},
@@ -215,25 +265,30 @@
}
},
{
- "contributor": "Freytes",
- "score": 6,
+ "contributor": "samarth30",
+ "score": 26,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/4147278?u=89aa9570e6f8b4a8e9e41e8f908c16fb69c5a43f&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48334430?u=1fc119a6c2deb8cf60448b4c8961cb21dc69baeb&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1445,
- "title": "Add: Client Reddit Files",
+ "number": 1474,
+ "title": "[Draft] feat : added security Plugin ",
"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",
+ "created_at": "2024-12-26T17:54:40Z",
+ "updated_at": "2024-12-26T17:54:40Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nThis plugin retrieves information on hacks associated with specific addresses by integrating multiple security APIs. It monitors on-chain activities to generate security reports and diagrams, helping users quickly identify and analyze suspicious behavior.\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": ".env.example",
+ "additions": 3,
+ "deletions": 0
+ },
{
"path": "agent/package.json",
"additions": 1,
@@ -241,146 +296,149 @@
},
{
"path": "agent/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-security/package.json",
"additions": 20,
- "deletions": 77
+ "deletions": 0
},
{
- "path": "packages/client-reddit/.npmignore",
- "additions": 6,
+ "path": "packages/plugin-security/src/actions/addressAnalysis.ts",
+ "additions": 374,
"deletions": 0
},
{
- "path": "packages/client-reddit/eslint.config.mjs",
- "additions": 3,
+ "path": "packages/plugin-security/src/actions/index.ts",
+ "additions": 5,
"deletions": 0
},
{
- "path": "packages/client-reddit/package.json",
- "additions": 22,
+ "path": "packages/plugin-security/src/actions/projectLevelAnalyses.ts",
+ "additions": 384,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/comment.ts",
- "additions": 49,
+ "path": "packages/plugin-security/src/actions/riskAnalyses.ts",
+ "additions": 414,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/post.ts",
- "additions": 88,
+ "path": "packages/plugin-security/src/actions/socialMediaLevelAnalyses.ts",
+ "additions": 510,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/actions/vote.ts",
- "additions": 49,
+ "path": "packages/plugin-security/src/actions/tokenAnalyses.ts",
+ "additions": 402,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/clients/redditClient.ts",
- "additions": 52,
+ "path": "packages/plugin-security/src/index.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/clients/redditPostClient.ts",
- "additions": 259,
+ "path": "packages/plugin-security/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/index.ts",
- "additions": 28,
+ "path": "packages/plugin-security/tsup.config.ts",
+ "additions": 23,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1464,
+ "title": "feat: Adding plugin for Cronos ZKEVM",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:53:22Z",
+ "updated_at": "2024-12-26T14:52:49Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\nhttps://github.com/elizaOS/eliza/pull/1128\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\nI have tested the branch by building it locally. LGTM\r\n\r\n\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": 4,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/providers/redditProvider.ts",
- "additions": 123,
+ "path": "agent/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "packages/client-reddit/src/types/index.ts",
- "additions": 18,
+ "path": "agent/src/index.ts",
+ "additions": 7,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-cronoszkevm/package.json",
+ "additions": 20,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsconfig.json",
- "additions": 13,
+ "path": "packages/plugin-cronoszkevm/src/actions/transfer.ts",
+ "additions": 231,
"deletions": 0
},
{
- "path": "packages/client-reddit/tsup.config.ts",
- "additions": 21,
+ "path": "packages/plugin-cronoszkevm/src/enviroment.ts",
+ "additions": 38,
"deletions": 0
- }
- ],
- "reviews": [
+ },
{
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
- }
- ],
- "comments": [
+ "path": "packages/plugin-cronoszkevm/src/index.ts",
+ "additions": 13,
+ "deletions": 0
+ },
{
- "author": "odilitime",
- "body": "needs to include the agent/ wiring (package.json src/index.ts)"
+ "path": "packages/plugin-cronoszkevm/tsconfig.json",
+ "additions": 8,
+ "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": "harperaa",
- "score": 5,
- "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": "packages/plugin-cronoszkevm/tsup.config.ts",
+ "additions": 20,
+ "deletions": 0
+ },
{
- "path": "package.json",
- "additions": 2,
+ "path": "pnpm-lock.yaml",
+ "additions": 24,
"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": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @samarth30! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
},
{
- "author": "odilitime",
+ "author": "shakkernerd",
"state": "APPROVED",
"body": ""
}
],
- "comments": []
+ "comments": [
+ {
+ "author": "samarth30",
+ "body": "@thomas-nguy thanks for your contribution and efforts. your PR is merged \ud83d\ude80 "
+ },
+ {
+ "author": "jonathangus",
+ "body": "This PR broke the integration tests. I think the issue might be related to the import of `@elizaos/plugin-cronoszkEVM` instead of `@elizaos/plugin-cronoszkevm`\r\n\r\n\r\n"
+ },
+ {
+ "author": "shakkernerd",
+ "body": "Fixed in #1468 "
+ }
+ ]
}
]
},
@@ -397,24 +455,24 @@
}
},
{
- "contributor": "Firbydude",
- "score": 5,
+ "contributor": "Archethect",
+ "score": 25,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/5506146?v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1192011?u=0d06e54308b75fb9814bf3ba80ee0cb806b842b5&v=4",
"activity": {
"code": {
"total_commits": 0,
- "total_prs": 1,
+ "total_prs": 2,
"commits": [],
"pull_requests": [
{
- "number": 1442,
- "title": "Add support for VoyageAI embeddings API",
+ "number": 1482,
+ "title": "Add cross chain swaps through Squid Router",
"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",
+ "created_at": "2024-12-26T22:22:25Z",
+ "updated_at": "2024-12-26T22:22:57Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nAdd cross-chain swaps to ElizaOS through Squid Router\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\nAdd support for cross-chain swaps through Squid Router. For now only EVM is supported, but as Squid Router also supports swaps from/to Solana and the Cosmos ecosystem, we can extend this plugin soon with this functionality.\r\n\r\nThe plugin supports both native and ERC20 cross-chain token swaps. \r\n\r\nMore info on Squid Router: https://www.squidrouter.com/\r\n\r\n\r\n\r\n\r\n\r\n## What kind of change is this?\r\n\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\n\r\nREADME.md file is added which explains which .env vars to add\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nSpin up an agent with the Squid Router plugin\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## Discord username\r\n\r\narchethect\r\n",
"files": [
{
"path": ".env.example",
@@ -422,28 +480,1265 @@
"deletions": 0
},
{
- "path": "packages/core/src/embedding.ts",
- "additions": 73,
- "deletions": 120
+ "path": "agent/package.json",
+ "additions": 1,
+ "deletions": 0
},
{
- "path": "packages/core/src/tests/embeddings.test.ts",
- "additions": 102,
+ "path": "agent/src/index.ts",
+ "additions": 8,
"deletions": 0
},
{
- "path": "packages/core/src/voyageai.ts",
- "additions": 156,
+ "path": "packages/plugin-squid-router/README.md",
+ "additions": 26,
"deletions": 0
- }
- ],
- "reviews": [
+ },
{
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
+ "path": "packages/plugin-squid-router/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/package.json",
+ "additions": 25,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/actions/xChainSwap.ts",
+ "additions": 260,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/helpers/utils.ts",
+ "additions": 167,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/index.ts",
+ "additions": 19,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/providers/squidRouter.ts",
+ "additions": 122,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/templates/index.ts",
+ "additions": 27,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/tests/router.test.ts",
+ "additions": 129,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/src/types/index.ts",
+ "additions": 20,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsconfig.json",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-squid-router/tsup.config.ts",
+ "additions": 19,
+ "deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ },
+ {
+ "number": 1473,
+ "title": "fix(core) make modelConfiguration optional",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T16:42:26Z",
+ "updated_at": "2024-12-26T16:59:16Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\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\n## What kind of change is this?\r\n\r\nBug fixes (non-breaking change which fixes an issue)\r\n\r\n\r\n\r\n## Why are we doing this? Any context or related work?\r\n\r\nmodelConfiguration was not optional resulting in the core module crashing during answer generation\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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/generation.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @Archethect! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "todorkolev",
+ "score": 22,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/15262234?u=2c8d18887acb485939106d0e8b5f7a8712b4b12e&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1469,
+ "title": "fix: cleaner interaction prompts in the Twitter plugin",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:02:31Z",
+ "updated_at": "2024-12-26T18:47:06Z",
+ "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# Background\r\n\r\n## What does this PR do?\r\n\r\nThe prompt text was a bit messy with duplicate parts, probably due to merging. The most critical part was double usage of {{recentPosts}} in the same prompt which was increasing the token usage. \r\n\r\n## What kind of change is this?\r\n\r\nImprovement\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## Discord username\r\ntodorkolev\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/interactions.ts",
+ "additions": 10,
+ "deletions": 9
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM - thanks for cleaning this up "
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "zkvm",
+ "score": 20,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/54390919?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1463,
+ "title": "fix: fix ENABLE_ACTION_PROCESSING logic",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T10:20:15Z",
+ "updated_at": "2024-12-26T13:44:22Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n# Background\r\nSetting `ENABLE_ACTION_PROCESSING=false` in `.env` file will not work as `enableActionProcessing` will always be non-nullish no matter `ENABLE_ACTION_PROCESSING` set to `true` or `false`.\r\n\r\n## What does this PR do?\r\nUpdate the code so `ENABLE_ACTION_PROCESSING` would work as expected. This fix also is consistent with https://github.com/elizaOS/eliza/pull/1392\r\n\r\n## What kind of change is this?\r\nBug fixes\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nNo\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @zkvm! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
+ },
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "peersky",
+ "score": 17,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/61459744?u=586c695e52ec5c9ff012a28944c5212f031c03ef&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1455,
+ "title": "feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties ",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T01:28:13Z",
+ "updated_at": "2024-12-26T06:44: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": "packages/core/src/generation.ts",
+ "additions": 16,
+ "deletions": 5
+ },
+ {
+ "path": "packages/core/src/types.ts",
+ "additions": 9,
+ "deletions": 0
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "lalalune",
+ "score": 16,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/18633264?u=8f2bca0a3cef958bd405ea89680a9b9a0ff38f06&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 1,
+ "total_prs": 1,
+ "commits": [
+ {
+ "sha": "b78fbfee95988a2b746a9b9eb34731c5925a1e3e",
+ "message": "update default character",
+ "created_at": "2024-12-26T00:31:06Z",
+ "additions": 339,
+ "deletions": 251,
+ "changed_files": 1
+ }
+ ],
+ "pull_requests": [
+ {
+ "number": 1453,
+ "title": "New default character",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T00:32:43Z",
+ "updated_at": "2024-12-26T00:46:01Z",
+ "body": "Update default character",
+ "files": [
+ {
+ "path": "packages/core/src/defaultCharacter.ts",
+ "additions": 339,
+ "deletions": 251
+ }
+ ],
+ "reviews": [
+ {
+ "author": "monilpat",
+ "state": "APPROVED",
+ "body": "LGTM"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "madjin",
+ "score": 14,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1476,
+ "title": "chore: Docs update",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T18:57:11Z",
+ "updated_at": "2024-12-26T19:07:45Z",
+ "body": "Fixed some of the changes with elizaos update that overwrote summaries from discord channels (mandela effect), added new pages from recent streams, including a couple new tutorials by dabit. Before it gets too long, updating.",
+ "files": [
+ {
+ "path": "docs/api/classes/AgentRuntime.md",
+ "additions": 83,
+ "deletions": 83
+ },
+ {
+ "path": "docs/api/classes/CacheManager.md",
+ "additions": 9,
+ "deletions": 9
+ },
+ {
+ "path": "docs/api/classes/DatabaseAdapter.md",
+ "additions": 88,
+ "deletions": 89
+ },
+ {
+ "path": "docs/api/classes/DbCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/FsCacheAdapter.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/classes/MemoryCacheAdapter.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/classes/MemoryManager.md",
+ "additions": 25,
+ "deletions": 25
+ },
+ {
+ "path": "docs/api/classes/Service.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/CacheStore.md",
+ "additions": 33,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/enumerations/Clients.md",
+ "additions": 16,
+ "deletions": 16
+ },
+ {
+ "path": "docs/api/enumerations/GoalStatus.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/enumerations/LoggingLevel.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/enumerations/ModelClass.md",
+ "additions": 10,
+ "deletions": 10
+ },
+ {
+ "path": "docs/api/enumerations/ModelProviderName.md",
+ "additions": 52,
+ "deletions": 52
+ },
+ {
+ "path": "docs/api/enumerations/ServiceType.md",
+ "additions": 30,
+ "deletions": 30
+ },
+ {
+ "path": "docs/api/functions/addHeader.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeActionExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/composeRandomUser.md",
+ "additions": 39,
+ "deletions": 0
+ },
+ {
+ "path": "docs/api/functions/configureSettings.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/createRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/embed.md",
+ "additions": 3,
+ "deletions": 3
+ },
+ {
+ "path": "docs/api/functions/findNearestEnvFile.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActionNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatActors.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExampleDescriptions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorExamples.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluatorNames.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatEvaluators.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatGoalsAsString.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatMessages.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatPosts.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/formatTimestamp.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateCaption.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateImage.md",
+ "additions": 6,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateMessageResponse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObject.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateObjectDeprecated.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateShouldRespond.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTextArray.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTrueOrFalse.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateTweetActions.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/generateWebSearch.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getActorDetails.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingConfig.md",
+ "additions": 4,
+ "deletions": 18
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingType.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEmbeddingZeroVector.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEndpoint.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getGoals.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getModel.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getProviders.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationship.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/getRelationships.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/handleProvider.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/hasEnvVariable.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/loadEnvConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseActionResponseFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseBooleanFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJSONObjectFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseJsonArrayFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/parseShouldRespondFromText.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/splitChunks.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/stringToUuid.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/trimTokens.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/updateGoal.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateCharacterConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/functions/validateEnv.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/index.md",
+ "additions": 10,
+ "deletions": 1
+ },
+ {
+ "path": "docs/api/interfaces/Account.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/Action.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/ActionExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ActionResponse.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Actor.md",
+ "additions": 8,
+ "deletions": 8
+ },
+ {
+ "path": "docs/api/interfaces/Content.md",
+ "additions": 13,
+ "deletions": 13
+ },
+ {
+ "path": "docs/api/interfaces/ConversationExample.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/EvaluationExample.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/Evaluator.md",
+ "additions": 14,
+ "deletions": 14
+ },
+ {
+ "path": "docs/api/interfaces/GenerationOptions.md",
+ "additions": 20,
+ "deletions": 20
+ },
+ {
+ "path": "docs/api/interfaces/Goal.md",
+ "additions": 12,
+ "deletions": 12
+ },
+ {
+ "path": "docs/api/interfaces/IAgentConfig.md",
+ "additions": 2,
+ "deletions": 2
+ },
+ {
+ "path": "docs/api/interfaces/IAgentRuntime.md",
+ "additions": 74,
+ "deletions": 74
+ },
+ {
+ "path": "docs/api/interfaces/IAwsS3Service.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/IBrowserService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ICacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/ICacheManager.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseAdapter.md",
+ "additions": 82,
+ "deletions": 82
+ },
+ {
+ "path": "docs/api/interfaces/IDatabaseCacheAdapter.md",
+ "additions": 6,
+ "deletions": 6
+ },
+ {
+ "path": "docs/api/interfaces/IImageDescriptionService.md",
+ "additions": 5,
+ "deletions": 5
+ },
+ {
+ "path": "docs/api/interfaces/IMemoryManager.md",
+ "additions": 26,
+ "deletions": 26
+ },
+ {
+ "path": "docs/api/interfaces/IPdfService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ISlackService.md",
+ "additions": 4,
+ "deletions": 4
+ },
+ {
+ "path": "docs/api/interfaces/ISpeechService.md",
+ "additions": 7,
+ "deletions": 7
+ },
+ {
+ "path": "docs/api/interfaces/ITextGenerationService.md",
+ "additions": 17,
+ "deletions": 17
+ },
+ {
+ "path": "docs/api/interfaces/ITranscriptionService.md",
+ "additions": 11,
+ "deletions": 11
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "madjin",
+ "body": "![image](https://github.com/user-attachments/assets/29cc984e-e734-467c-9b47-706e6a7a4ca6)\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "tcm390",
+ "score": 14,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1472,
+ "title": "fix: duplicate twitter post",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T15:08:59Z",
+ "updated_at": "2024-12-26T19:00:03Z",
+ "body": "I'm not entirely sure if this would resolve the issue: https://github.com/elizaOS/eliza/pull/1396#issuecomment-2559249056.\r\n\r\nFrom reviewing the code logic, it seems that enabling ENABLE_ACTION_PROCESSING might result in generating two TweetLoop instances. Is this the intended behavior?\r\n\r\n@samarth30, could you kindly clarify this when you have a moment? Thank you so much!\r\n\r\nrelated: https://github.com/elizaOS/eliza/issues/1395",
+ "files": [
+ {
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 2,
+ "deletions": 2
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "APPROVED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "mdqst",
+ "score": 13,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/98899785?u=fd5aa4e17f3d730078504cd9afcbfc7d321224bc&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1465,
+ "title": "docs: Fixed Incorrect Model Name in API Integration",
+ "state": "MERGED",
+ "merged": true,
+ "created_at": "2024-12-26T11:15:26Z",
+ "updated_at": "2024-12-26T11:49:46Z",
+ "body": "### Description\r\n\r\n\r\n\r\nI\u2019ve fixed the issue where the model name was mistakenly referenced as \"gpt-4\" instead of the correct \"gpt-4-mini\" in the API integration. This caused some inconsistencies in the results, as the system was calling the wrong version of the model. \r\n\r\nNow, everything is aligned with the intended model name, and the integration should work as expected.\r\n## Discord username\r\n\r\nmediaquest\r\n",
+ "files": [
+ {
+ "path": "docs/README.md",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "shakkernerd",
+ "state": "DISMISSED",
+ "body": ""
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "nulLeeKH",
+ "score": 13,
+ "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": 1458,
+ "title": "Disable parse_mode on telegram client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T04:12:15Z",
+ "updated_at": "2024-12-26T09:28:15Z",
+ "body": "# Relates to:\r\n\r\nModified without ticket\r\n\r\n# Risks\r\n\r\nmedium\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThere was issue when AI Agent send tg message with special characters.\r\n```\r\nCan't find end of the entity starting at byte offset 42\r\n```\r\nSo, just do not use markdown as parse mode on sending tg message\r\n\r\nAnd, this is chore update, but fix the node vertsion on integration test to 23.3.0 from 23 cause 23.5.0 is latest version so integration test will return fail till upgrade node version on whole repository to 23.5.0\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## Why are we doing this? Any context or related work?\r\n\r\nWhen my bot mean to send kaomoji or other special character, it throws error.\r\n\r\n# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\nDo not actually need testing, but should check if markdown parsing is necessary for the tg client.\r\nIn my opinion, I didn't find a reason why AI Agent should use Markdown format in tg. If I was wrong, I'm ready to update that telegram client to disable parse_mode only for cases where errors occur due to special characters.\r\n\r\n## Detailed testing steps\r\n\r\nNone, automated tests are fine.\r\n\r\n\r\n\r\n\r\n\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": ".github/workflows/ci.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/integrationTests.yaml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/pre-release.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": ".github/workflows/smoke-tests.yml",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-telegram/src/messageManager.ts",
+ "additions": 1,
+ "deletions": 1
+ },
+ {
+ "path": "scripts/integrationTests.sh",
+ "additions": 1,
+ "deletions": 1
+ }
+ ],
+ "reviews": [
+ {
+ "author": "simpletrontdip",
+ "state": "COMMENTED",
+ "body": ""
+ },
+ {
+ "author": "nulLeeKH",
+ "state": "COMMENTED",
+ "body": ""
+ }
+ ],
+ "comments": [
+ {
+ "author": "nulLeeKH",
+ "body": "FYI. Integration test failed due to node version issue. Github actions will work after merge my change.\r\nWe should specify node version in github action. For automated test, please check [my forked repository](https://github.com/nulLeeKH/eliza/tree/main)."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "I'm the one who added that `parse_mode` \ud83d\udc6f It helps formatting in many scenarios: code block, basic bold/italic, we can utilize it the code assistant bot...\r\n@nulLeeKH when we have issues, it should be go for a root-cause fix instead of disabling the feature"
+ },
+ {
+ "author": "nulLeeKH",
+ "body": "@simpletrontdip then, how about add fallback and conditional parse_mode selection.\r\n\r\n1. check if message can parsed by markdown\r\n2. if yes, use markdown parse_mode\r\n3. when tg server returns error, re-try without parse_mode setup.\r\n\r\nor jsut let user choose which parse_mode to utilize on tg client.\r\n\r\n\r\nI think give the key to user might be the best solution."
+ },
+ {
+ "author": "simpletrontdip",
+ "body": "Agree that it would be the best if it was passed down along with message, or an option in the bot client config.\r\nBut I'm also curious what special with your input? Is it caused by non-ascii character?"
+ }
+ ]
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1459,
+ "title": "[PROPOSAL] Setup lint/prettier and husky",
+ "state": "OPEN",
+ "created_at": "2024-12-26T05:44:35Z",
+ "updated_at": "2024-12-26T05:44:35Z",
+ "body": "**The Problem in eliza repository**\r\n\r\nI think we need to update lint setup. It has been depreciated. Our code style is falling apart in every single commit.\r\n\r\n\r\n**To Reproduce**\r\n\r\n``` bash\r\npnpm lint --fix\r\n```\r\n\r\nor fork repository and commit anything.\r\n\r\n**Screenshots**\r\n\r\n![Screenshot 2024-12-26 at 14 35 23](https://github.com/user-attachments/assets/ad1788cd-c9dc-4d56-aa93-c05ab8135727)\r\n\r\n**Additional context**\r\n\r\nI need to get confirmed by developer community and maintainer to start work on this.\r\nAlso, need developers' insight and opinions for lint/prettier rules.\r\nPlease react to support me!\r\n\r\nAfter this proposal get confirmed, I will start to work on this.\r\n\r\n1. setup husky and commit interceptor to check lint and fix style with prettier when commit in local env\r\n2. update ci github action to lint can work properly\r\n3. update community rule(PR and merge rule) to enforce lint/prettier observance\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 2,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "eskp",
+ "score": 8,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/500792?u=ac7dbb741854b4ffe6f2226aba5beef0fbb032fe&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1480,
+ "title": "Install fails",
+ "state": "OPEN",
+ "created_at": "2024-12-26T21:47:54Z",
+ "updated_at": "2024-12-26T22:35:07Z",
+ "body": "**Describe the bug**\r\n\r\n\r\n\r\nThe install command fails with the following error\r\n\r\n```\r\n\u2502 clang++: error: no such file or directory: 'Services/Agent/eliza/node_modules/@discordjs/opus/node_modules/node-addon-api'\r\n\u2502 make: *** [Release/obj.target/opus/src/node-opus.o] Error 1\r\n\u2502 gyp ERR! build error \r\n\u2502 gyp ERR! stack Error: `make` failed with exit code: 2\r\n\u2502 gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/lib/build.js:216:23)\r\n\u2502 gyp ERR! System Darwin 24.1.0\r\n\u2502 gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/node-gyp/bin/node-gyp.js\" \"\u2026\r\n\u2502 gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 gyp ERR! node -v v20.18.1\r\n\u2502 gyp ERR! node-gyp -v v10.3.1\r\n\u2502 gyp ERR! not ok \r\n\u2502 node-pre-gyp ERR! build error \r\n\u2502 node-pre-gyp ERR! stack Error: Failed to execute '/Users/skp/.nvm/versions/node/v20.18.1/bin/node /Users/skp/Dev/TechOps Services/Agent/eliza/node_modul\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess. (/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/node-pre-gyp/lib/util/compi\u2026\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess.emit (node:events:518:28)\r\n\u2502 node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1104:16)\r\n\u2502 node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:304:5)\r\n\u2502 node-pre-gyp ERR! System Darwin 24.1.0\r\n\u2502 node-pre-gyp ERR! command \"/Users/skp/.nvm/versions/node/v20.18.1/bin/node\" \"/Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus/no\u2026\r\n\u2502 node-pre-gyp ERR! cwd /Users/skp/Dev/TechOps Services/Agent/eliza/node_modules/@discordjs/opus\r\n\u2502 node-pre-gyp ERR! node -v v20.18.1\r\n\u2502 node-pre-gyp ERR! node-pre-gyp -v v0.4.5\r\n\u2502 node-pre-gyp ERR! not ok \r\n```\r\n\r\n\r\n**To Reproduce**\r\n\r\n\r\n\r\nCloned the repo\r\n\r\nFollow the instructions by running `pnpm i && pnpm build && pnpm start`\r\n\r\nTried checking out the stable release and from main - `git checkout $(git describe --tags --abbrev=0)`\r\n\r\nTried with node v20 and v23\r\n\r\nTried install node-gyp and discord/opus packages manually\r\n\r\n**Expected behavior**\r\n\r\n\r\n\r\nThe install succeeds and proceeds to build step\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "doxometrist",
+ "body": "```\r\npnpm i \r\nScope: all 50 workspace projects\r\nLockfile is up to date, resolution step is skipped\r\nPackages: +4692\r\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\r\n\u2009ERR_PNPM_READ_FROM_STORE\u2009 Unexpected end of JSON input\r\nProgress: resolved 0, reused 1485, downloaded 0, added 0\r\n\r\n```\r\n\r\n\r\nhaving the same issue at a varying number of package - 1472, 1485, etc. both on main and develop\r\nnode v23.3.0\r\n\r\nsuspected upstream break issue"
+ },
+ {
+ "author": "doxometrist",
+ "body": "trying installing having deleted the `pnpm-lock.yaml`\r\n"
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 2,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "timolegros",
+ "score": 7,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/62490329?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1460,
+ "title": "Broken Docker image on fresh build",
+ "state": "OPEN",
+ "created_at": "2024-12-26T08:20:50Z",
+ "updated_at": "2024-12-26T22:17:02Z",
+ "body": "**Describe the bug**\r\n\r\nBuilt Docker image (`pnpm docker:run`) fails to start - exits with the following error:\r\n```\r\n2024-12-26 07:24:12 /app/agent:\r\n2024-12-26 07:24:12 \u2009ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL\u2009 @elizaos/agent@0.1.7-alpha.1 start: `node --loader ts-node/esm src/index.ts \"--isRoot\"`\r\n2024-12-26 07:24:12 Exit status 1\r\n2024-12-26 07:24:12 \u2009WARN\u2009 Local package.json exists, but node_modules missing, did you mean to install?\r\n2024-12-26 07:24:12 (node:31) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`:\r\n2024-12-26 07:24:12 --import 'data:text/javascript,import { register } from \"node:module\"; import { pathToFileURL } from \"node:url\"; register(\"ts-node/esm\", pathToFileURL(\"./\"));'\r\n2024-12-26 07:24:12 (Use `node --trace-warnings ...` to show where the warning was created)\r\n2024-12-26 07:24:12 (node:31) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.\r\n2024-12-26 07:24:12 (Use `node --trace-deprecation ...` to show where the warning was created)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 node:internal/modules/run_main:122\r\n2024-12-26 07:24:12 triggerUncaughtException(\r\n2024-12-26 07:24:12 ^\r\n2024-12-26 07:24:12 Error: Cannot find package '@elizaos/adapter-postgres' imported from /app/agent/src/index.ts\r\n2024-12-26 07:24:12 at packageResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:757:9)\r\n2024-12-26 07:24:12 at moduleResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:798:18)\r\n2024-12-26 07:24:12 at Object.defaultResolve (/app/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js:912:11)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:218:35\r\n2024-12-26 07:24:12 at entrypointFallback (/app/node_modules/ts-node/src/esm.ts:168:34)\r\n2024-12-26 07:24:12 at /app/node_modules/ts-node/src/esm.ts:217:14\r\n2024-12-26 07:24:12 at addShortCircuitFlag (/app/node_modules/ts-node/src/esm.ts:409:21)\r\n2024-12-26 07:24:12 at resolve (/app/node_modules/ts-node/src/esm.ts:197:12)\r\n2024-12-26 07:24:12 at nextResolve (node:internal/modules/esm/hooks:748:28)\r\n2024-12-26 07:24:12 at Hooks.resolve (node:internal/modules/esm/hooks:240:30)\r\n2024-12-26 07:24:12 \r\n2024-12-26 07:24:12 Node.js v23.3.0\r\n2024-12-26 07:24:12 \u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nYou can fix this issue by running `pnpm install --no-frozen-lockfile` before executing `pnpm docker:build` but the installed dependencies should not affect the image build process.\r\n\r\n**To Reproduce**\r\nPrerequisites:\r\n- Ubuntu/Debian\r\n- Docker installed\r\n- PNPM installed\r\n- Repo cloned\r\n- `main` branch checked out\r\n\r\n1. `pnpm clean`\r\n2. `pnpm docker:build`\r\n3. `pnpm docker:run`\r\n4. `docker logs eliza`\r\n\r\n**Expected behavior**\r\n\r\nThe container should not exit with a dependency error and should start as normal regardless of whether `pnpm install` was executed before `pnpm docker:build`.\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\nPossibly related to: https://github.com/elizaOS/eliza/pull/1120 and https://github.com/elizaOS/eliza/pull/1352\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": [
+ {
+ "author": "HashWarlock",
+ "body": "I assume this is an amd64 cpu? I will try to reproduce and see what is wrong here."
+ }
+ ]
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 1,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "0xPBIT",
+ "score": 5,
+ "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": 1481,
+ "title": "feat: add image features to react chat client",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T21:54:23Z",
+ "updated_at": "2024-12-26T22:07:45Z",
+ "body": "# Relates to: Images in the react chat client\r\n\r\n# Risks\r\nLow - Changes are isolated to image handling functionality and don't affect core messaging or authentication systems.\r\n\r\n# Background\r\nI wanted to be able to upload images in the built in React client, and have the agent be able to respond with image attachments using various plugins.\r\n\r\n## What does this PR do?\r\nThis PR implements image handling capabilities by making some additions in a couple packages.\r\n\r\n1. Client App:\r\n- Added image display support in the chat interface\r\n- Implemented image upload functionality\r\n- Enhanced UI to handle image messages\r\n\r\n2. Client Direct:\r\n- Implemented image attachment handling in the `/:agentId/message` POST endpoint.\r\n- Added static file hosting for the direct client so that generated images and uploaded images can be displayed in the client.\r\n\r\n3. Plugin Node:\r\n- Added a `describeImage` Action in the plugin to take advantage of the `ImageDescriptionService` in the same plugin.\r\n- Modified `recognizeWithOpenAI` and `requestOpenAI` to accept local files, similar to how the first frame of .gif files is converted to a buffer and sent over the API\r\n\r\n## What kind of change is this?\r\nFeatures (non-breaking change which adds functionality)\r\n\r\n# Documentation changes needed?\r\nNA\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n1. `packages/plugin-node/src/services/image.ts` - Core image processing service\r\n2. Client app image upload functionality\r\n\r\n## Detailed testing steps\r\n1. Test image upload:\r\n - Upload various image formats (JPG, PNG, GIF)\r\n - Verify proper display in chat\r\n - Confirm image descriptions are generated using built in `describeImage` action\r\n\r\n2. Test generate image:\r\n - Request the agent generate an image using the built in image generator plugin\r\n - Verify proper display in chat\r\n\r\n\r\n\r\n",
+ "files": [
+ {
+ "path": "client/src/Chat.tsx",
+ "additions": 66,
+ "deletions": 10
+ },
+ {
+ "path": "packages/client-direct/package.json",
+ "additions": 2,
+ "deletions": 1
+ },
+ {
+ "path": "packages/client-direct/src/index.ts",
+ "additions": 57,
+ "deletions": 5
+ },
+ {
+ "path": "packages/plugin-node/src/actions/describe-image.ts",
+ "additions": 137,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/index.ts",
+ "additions": 2,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/services/image.ts",
+ "additions": 29,
+ "deletions": 8
+ },
+ {
+ "path": "packages/plugin-node/src/templates.ts",
+ "additions": 15,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-node/src/types.ts",
+ "additions": 11,
+ "deletions": 0
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 17801,
+ "deletions": 22743
}
],
+ "reviews": [],
"comments": []
}
]
@@ -454,7 +1749,7 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 1,
+ "total_reviews": 0,
"comments": [],
"reviews": []
}
@@ -462,7 +1757,7 @@
},
{
"contributor": "monilpat",
- "score": 4,
+ "score": 5,
"summary": "",
"avatar_url": "https://avatars.githubusercontent.com/u/15067321?u=1271e57605b48029307547127c90e1bd5e4f3f39&v=4",
"activity": {
@@ -472,13 +1767,13 @@
"commits": [],
"pull_requests": [
{
- "number": 1451,
- "title": "feat: reimplement add comment to issues + prs and generate useful content",
+ "number": 1478,
+ "title": "Reality spiral/client testing",
"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___",
+ "created_at": "2024-12-26T19:44:19Z",
+ "updated_at": "2024-12-26T19:54:58Z",
+ "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": ".env.example",
@@ -537,7 +1832,7 @@
},
{
"path": "characters/logging-addict.character.json",
- "additions": 263,
+ "additions": 267,
"deletions": 0
},
{
@@ -761,224 +2056,568 @@
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/README.md",
- "additions": 9,
+ "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": 250,
+ "deletions": 163
+ },
+ {
+ "path": "packages/client-github/src/templates.ts",
+ "additions": 72,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/types.ts",
+ "additions": 45,
+ "deletions": 0
+ },
+ {
+ "path": "packages/client-github/src/utils.ts",
+ "additions": 148,
+ "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": 179,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
+ "additions": 245,
+ "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": 208,
+ "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": 365,
+ "deletions": 0
+ },
+ {
+ "path": "packages/plugin-github/src/templates.ts",
+ "additions": 916,
+ "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": "ShuochengWang",
+ "score": 5,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/31532334?u=6bfb6db13b0f99ec61652ddd0f7b5bf87431f407&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1470,
+ "title": "Feat: support TEE logging and support running eliza in Intel SGX",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T15:05:42Z",
+ "updated_at": "2024-12-26T15:46:22Z",
+ "body": "\r\n\r\n# Relates to: \r\nKeywords: TEE, Intel SGX, Logging, Attestation, Verification, Gramine.\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\nLow\r\n\r\n\r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nThis PR introduces support for TEE (Trusted Execution Environment) logging and enables the Eliza application to run within Intel SGX (Software Guard Extensions).\r\n\r\nAs Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are entirely executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE.\r\n\r\nMeanwhile, the existing plugin-tee only supports running Eliza in dstack TDX CVM. However, although TDX is more convenient to use, Intel SGX remains a highly popular TEE in production environments. With the help of Gramine LibOS, it is possible to support running Eliza in SGX, thereby enabling the deployment of Eliza in a broader range of TEE scenarios.\r\n\r\n## What kind of change is this?\r\nFeatures\r\n1. Support running Eliza in SGX\r\n2. Add plugin-sgx to support SGX attestation \r\n3. Add plugin-tee-log to support TEE logging (Gramine SGX and Dstack TDX)\r\n4. Add REST API in client-direct to support retrieve TEE logs\r\n\r\n\r\n\r\n\r\n\r\n\r\n# Details\r\n## TEE Logging Mechanism:\r\n\r\n1. For each agent, generate a key pair during startup and create a remote attestation for the public key. The private key is securely stored only in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. Each time the agent is updated or restarted, a new key pair is regenerated to ensure the security of the keys.\r\n2. For each log, record basic information such as agentId, roomId, userId, type, content, and timestamp. Concatenate all this information and sign it using the agent's corresponding private key to ensure that each log is verifiable. The verification chain/trust chain is as follows: verify the attestation -> trust the public key contained in the attestation -> use the public key to verify the signature -> trust the complete log record.\r\n3. All log data stored locally must be saved in the TEE's encrypted file system in production environments. It must not be stored in plaintext to prevent tampering.\r\n5. Third parties can extract TEE logs for verification. Two types of information can be extracted: \r\n - Agent information: Extract the agent's metadata, public key, and attestation. The attestation can be used to verify the agent's public key.\r\n - Log information: Extract the required logs. The agent's attestation and public key can be used to verify the signature, ensuring that each record has not been tampered with.\r\n6. We also provide integrity protection when extracting TEE logs. When users extract TEE logs via the REST API, we hash the results and generate an attestation. After extracting the information, users can verify the attestation to compare the hash value contained within it with the results, thereby ensuring the integrity of the results.\r\n\r\n# Documentation changes needed?\r\n\r\nNeed to add new documentation about TEE logging and how to run Eliza in SGX\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\n1. plugin-sgx\r\n2. plugin-tee-log\r\n3. other parts\r\n\r\n## Detailed testing steps\r\n\r\n### Test SGX support\r\n\r\nFirst, you need to prepare the SGX environment and install the Gramine dependencies according to https://gramine.readthedocs.io/en/stable/index.html\r\n\r\nThen, start eliza in SGX:\r\n\r\n```bash\r\npnpm i\r\npnpm build\r\n\r\n# Start default character\r\nSGX=1 make start\r\n# Start specific character\r\nSGX=1 make start -- --character \"character/trump.character.json\"\r\n```\r\n\r\n### Test TEE logging\r\n\r\nTo get started, prepare the TEE environment. Both dstack TDX and Gramine SGX are supported.\r\n\r\nNext, enable TEE logging by configuring the .env file:\r\n```\r\nENABLE_TEE_LOG=true \r\n```\r\n\r\nFinally, integrate the TeeLogService into specific actions as needed. For example:\r\n\r\n```typescript\r\nimport { ServiceType, ITeeLogService } from \"@elizaos/core\";\r\n\r\n const teeLogService = runtime\r\n .getService(ServiceType.TEE_LOG)\r\n .getInstance();\r\n if (teeLogService.log(\r\n runtime.agentId,\r\n message.roomId,\r\n message.userId,\r\n \"Action:CONTINUE\",\r\n \"Continue\"\r\n )\r\n ) {\r\n console.log(\"Logged tee log\");\r\n }\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/coinbase-scenarios.md",
- "additions": 71,
+ "path": ".gitignore",
+ "additions": 4,
"deletions": 0
},
{
- "path": "docs/rs-documentation/scenarios/github-scenarios.md",
- "additions": 71,
+ "path": "Makefile",
+ "additions": 59,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/README.md",
- "additions": 30,
+ "path": "agent/package.json",
+ "additions": 2,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-arena-competition.md",
- "additions": 9,
+ "path": "agent/src/index.ts",
+ "additions": 8,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/agent-capabilities.md",
- "additions": 7,
+ "path": "eliza.manifest.template",
+ "additions": 84,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/ccr-si-concept.md",
- "additions": 15,
+ "path": "packages/client-direct/package.json",
+ "additions": 1,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/consciousness-expansion.md",
- "additions": 52,
+ "path": "packages/client-direct/src/README.md",
+ "additions": 97,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spiral-game.md",
- "additions": 7,
+ "path": "packages/client-direct/src/api.ts",
+ "additions": 93,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/reality-spirals-lore.md",
- "additions": 56,
+ "path": "packages/core/src/types.ts",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/relationships-between-agents.md",
- "additions": 9,
+ "path": "packages/plugin-sgx/.npmignore",
+ "additions": 6,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/self-promotion-as-survival-mechanism.md",
- "additions": 58,
+ "path": "packages/plugin-sgx/README.md",
+ "additions": 28,
"deletions": 0
},
{
- "path": "docs/rs-documentation/wiki/what-is-reality-spiraling.md",
+ "path": "packages/plugin-sgx/eslint.config.mjs",
"additions": 3,
"deletions": 0
},
{
- "path": "elizaConfig.yaml",
- "additions": 18,
+ "path": "packages/plugin-sgx/package.json",
+ "additions": 19,
"deletions": 0
},
{
- "path": "package.json",
- "additions": 6,
+ "path": "packages/plugin-sgx/src/index.ts",
+ "additions": 10,
"deletions": 0
},
{
- "path": "packages/client-github/package.json",
- "additions": 2,
- "deletions": 1
+ "path": "packages/plugin-sgx/src/plugins/sgxPlugin.ts",
+ "additions": 12,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/environment.ts",
- "additions": 0,
- "deletions": 8
+ "path": "packages/plugin-sgx/src/providers/sgxAttestationProvider.ts",
+ "additions": 103,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/index.ts",
- "additions": 246,
- "deletions": 163
+ "path": "packages/plugin-sgx/src/types/attestation.ts",
+ "additions": 4,
+ "deletions": 0
},
{
- "path": "packages/client-github/src/templates.ts",
- "additions": 89,
+ "path": "packages/plugin-sgx/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/client-github/src/types.ts",
- "additions": 48,
+ "path": "packages/plugin-sgx/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/client-github/src/utils.ts",
- "additions": 142,
+ "path": "packages/plugin-tee-log/.npmignore",
+ "additions": 6,
"deletions": 0
},
{
- "path": "packages/core/src/runtime.ts",
- "additions": 1,
- "deletions": 1
+ "path": "packages/plugin-tee-log/README.md",
+ "additions": 6,
+ "deletions": 0
},
{
- "path": "packages/core/src/types.ts",
- "additions": 1,
- "deletions": 1
+ "path": "packages/plugin-tee-log/eslint.config.mjs",
+ "additions": 3,
+ "deletions": 0
},
{
- "path": "packages/plugin-github/.npmignore",
- "additions": 6,
+ "path": "packages/plugin-tee-log/package.json",
+ "additions": 23,
"deletions": 0
},
{
- "path": "packages/plugin-github/package.json",
- "additions": 27,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteDAO.ts",
+ "additions": 125,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/index.ts",
- "additions": 96,
+ "path": "packages/plugin-tee-log/src/adapters/sqliteTables.ts",
+ "additions": 26,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToIssue.ts",
- "additions": 159,
+ "path": "packages/plugin-tee-log/src/index.ts",
+ "additions": 9,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/addCommentToPR.ts",
- "additions": 219,
+ "path": "packages/plugin-tee-log/src/plugins/teeLogPlugin.ts",
+ "additions": 12,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createCommit.ts",
- "additions": 226,
+ "path": "packages/plugin-tee-log/src/services/teeLogManager.ts",
+ "additions": 108,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createIssue.ts",
- "additions": 167,
+ "path": "packages/plugin-tee-log/src/services/teeLogService.ts",
+ "additions": 120,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createMemoriesFromFiles.ts",
- "additions": 350,
+ "path": "packages/plugin-tee-log/src/types.ts",
+ "additions": 66,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/createPullRequest.ts",
- "additions": 259,
+ "path": "packages/plugin-tee-log/tsconfig.json",
+ "additions": 13,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/ideationPlugin.ts",
- "additions": 207,
+ "path": "packages/plugin-tee-log/tsup.config.ts",
+ "additions": 21,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/plugins/initializeRepository.ts",
- "additions": 276,
+ "path": "pnpm-lock.yaml",
+ "additions": 47,
"deletions": 0
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "jonathangus",
+ "score": 5,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/7723195?u=2f07ca181065b387adcebe19eaf0798526e6f061&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1467,
+ "title": "feat: Make templates in composeContext dynamic",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T13:15:32Z",
+ "updated_at": "2024-12-26T19:09:29Z",
+ "body": "\r\n\r\n# Relates to:\r\n\r\n\r\n\r\n\r\n\r\n# Risks\r\n\r\nMedium, might be a package that I missed to update where this could introduce a typescript error. \r\n\r\n# Background\r\n\r\n## What does this PR do?\r\n\r\nMake it possible to use dynamic templates to make the agent more fun and unique\r\n\r\nIdea taken from:\r\nhttps://x.com/dabit3/status/1872126857774031201\r\n\r\n\r\n## What kind of change is this?\r\nFeatures\r\n\r\n\r\n\r\n\r\n\r\n# Documentation changes needed?\r\nUpdated the composeContext docs in`docs/docs/api/functions/composeContext.md` and `docs/api/functions/composeContext.md`\r\n\r\n\r\n\r\n\r\n\r\n# Testing\r\n\r\nAdded test logic to `packages/core/src/tests/context.test.ts`\r\n\r\n\r\n## Detailed testing steps\r\n\r\n- Create a character with Twitter/Lens/Farcaster etc\r\n- Update post template with a function. @dabit3 provided a gist for one here https://gist.github.com/dabit3/ca4495ed84e464ab397fca8abeb672be\r\n- Update templates, ex:\r\n```\r\ntemplates: {\r\n lensPostTemplate: generateTemplate()\r\n}\r\n ```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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@0xheavydev\r\n",
+ "files": [
+ {
+ "path": "docs/api/functions/composeContext.md",
+ "additions": 4,
+ "deletions": 4
},
{
- "path": "packages/plugin-github/src/plugins/modifyIssue.ts",
- "additions": 122,
- "deletions": 0
+ "path": "docs/docs/api/functions/composeContext.md",
+ "additions": 12,
+ "deletions": 8
},
{
- "path": "packages/plugin-github/src/providers/documentationFiles.ts",
- "additions": 14,
- "deletions": 0
+ "path": "packages/client-twitter/src/post.ts",
+ "additions": 4,
+ "deletions": 3
},
{
- "path": "packages/plugin-github/src/providers/releases.ts",
- "additions": 17,
- "deletions": 0
+ "path": "packages/core/src/context.ts",
+ "additions": 16,
+ "deletions": 5
},
{
- "path": "packages/plugin-github/src/providers/sourceCode.ts",
- "additions": 14,
- "deletions": 0
+ "path": "packages/core/src/tests/context.test.ts",
+ "additions": 91,
+ "deletions": 1
},
{
- "path": "packages/plugin-github/src/providers/testFiles.ts",
- "additions": 15,
- "deletions": 0
+ "path": "packages/core/src/types.ts",
+ "additions": 26,
+ "deletions": 24
+ }
+ ],
+ "reviews": [],
+ "comments": []
+ }
+ ]
+ },
+ "issues": {
+ "total_opened": 0,
+ "opened": []
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "FWangZil",
+ "score": 5,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/20198261?u=acffb003595218f621d5bdd6d3ccc31caa784d5b&v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 1,
+ "commits": [],
+ "pull_requests": [
+ {
+ "number": 1461,
+ "title": "feat: Add Solana liquid staking support",
+ "state": "OPEN",
+ "merged": false,
+ "created_at": "2024-12-26T09:18:12Z",
+ "updated_at": "2024-12-26T16:46:42Z",
+ "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- The StakeProtocolProvider uses the [Solana LST data provider](https://github.com/stafiprotocol/solana-lst-data-provider) open-sourced by stafiprotocol to provide data support. You can choose to use the default Stafi API or deploy it yourself.\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": 33,
+ "deletions": 31
},
{
- "path": "packages/plugin-github/src/providers/workflowFiles.ts",
- "additions": 15,
+ "path": "packages/plugin-solana/src/actions/liquidStake.ts",
+ "additions": 485,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/services/github.ts",
- "additions": 331,
- "deletions": 0
+ "path": "packages/plugin-solana/src/index.ts",
+ "additions": 3,
+ "deletions": 2
},
{
- "path": "packages/plugin-github/src/templates.ts",
- "additions": 918,
+ "path": "packages/plugin-solana/src/providers/stakeProtocol.ts",
+ "additions": 113,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/types.ts",
- "additions": 248,
+ "path": "packages/plugin-solana/src/types/stake.ts",
+ "additions": 52,
"deletions": 0
},
{
- "path": "packages/plugin-github/src/utils.ts",
- "additions": 379,
- "deletions": 0
+ "path": "pnpm-lock.yaml",
+ "additions": 478,
+ "deletions": 346
}
],
"reviews": [],
@@ -999,10 +2638,10 @@
}
},
{
- "contributor": "hanyh2004",
- "score": 2,
+ "contributor": "pythonberg1997",
+ "score": 4,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/213808?v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/48975233?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1010,30 +2649,40 @@
"commits": [],
"pull_requests": [
{
- "number": 1450,
- "title": "fix: Remove code duplication in getGoals call",
+ "number": 1456,
+ "title": "fix: complete swap and bridge actions for plugin-evm",
"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",
+ "created_at": "2024-12-26T03:48:26Z",
+ "updated_at": "2024-12-26T03:54:05Z",
+ "body": "# Relates to:\r\n\r\n- #1251 \r\n\r\n# Risks\r\n\r\nLow\r\n\r\n# Background\r\n\r\nThe inputs of swap and bridge actions are not right.\r\n\r\n## What does this PR do?\r\n\r\nThis PR implements the missing swap and bridge functionalities in the plugin-evm.\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# Documentation changes needed?\r\n\r\nMy changes do not require a change to the project documentation.\r\n\r\n# Testing\r\n\r\n## Where should a reviewer start?\r\n\r\n## Detailed testing steps\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
"files": [
{
- "path": "packages/plugin-bootstrap/src/evaluators/goal.ts",
+ "path": "packages/plugin-evm/src/actions/bridge.ts",
+ "additions": 56,
+ "deletions": 9
+ },
+ {
+ "path": "packages/plugin-evm/src/actions/swap.ts",
+ "additions": 47,
+ "deletions": 10
+ },
+ {
+ "path": "packages/plugin-evm/src/templates/index.ts",
"additions": 2,
- "deletions": 8
+ "deletions": 2
+ },
+ {
+ "path": "pnpm-lock.yaml",
+ "additions": 363,
+ "deletions": 99
}
],
"reviews": [
{
- "author": "monilpat",
- "state": "DISMISSED",
- "body": ""
- },
- {
- "author": "odilitime",
- "state": "APPROVED",
- "body": ""
+ "author": "github-actions",
+ "state": "COMMENTED",
+ "body": "Hi @pythonberg1997! Welcome to the ai16z community. Thanks for submitting your first pull request; your efforts are helping us accelerate towards AGI. We'll review it shortly. You are now a ai16z contributor!"
}
],
"comments": []
@@ -1046,17 +2695,58 @@
},
"engagement": {
"total_comments": 0,
- "total_reviews": 2,
+ "total_reviews": 1,
+ "comments": [],
+ "reviews": []
+ }
+ }
+ },
+ {
+ "contributor": "adapt7",
+ "score": 1,
+ "summary": "",
+ "avatar_url": "https://avatars.githubusercontent.com/u/88395064?v=4",
+ "activity": {
+ "code": {
+ "total_commits": 0,
+ "total_prs": 0,
+ "commits": [],
+ "pull_requests": []
+ },
+ "issues": {
+ "total_opened": 1,
+ "opened": [
+ {
+ "number": 1471,
+ "title": "eliza-starter, pnpm build, No input files, try \"tsup \" instead",
+ "state": "OPEN",
+ "created_at": "2024-12-26T15:08:10Z",
+ "updated_at": "2024-12-26T15:08:10Z",
+ "body": "`pnpm i && pnpm build && pnpm start`\r\n\r\nfails on build command with output:\r\n\r\n```\r\nDone in 5.8s\r\n\r\n> @ai16z/agent@0.1.1 build eliza-starter\r\n> tsup --format esm --dts\r\n\r\nNo input files, try \"tsup \" instead\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n```\r\n\r\nHow to fix this?\r\n",
+ "labels": [
+ {
+ "name": "bug",
+ "color": "d73a4a",
+ "description": "Something isn't working"
+ }
+ ],
+ "comments": []
+ }
+ ]
+ },
+ "engagement": {
+ "total_comments": 0,
+ "total_reviews": 0,
"comments": [],
"reviews": []
}
}
},
{
- "contributor": "arthursjy",
+ "contributor": "UiCandy",
"score": 1,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/165622341?u=e3237e02f82a5904439314fbde9a0f46699ca8c1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5708402?u=47bf44d655fd8ea5f77b7c707c18242bd9cd70ea&v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1068,17 +2758,17 @@
"total_opened": 1,
"opened": [
{
- "number": 1448,
- "title": "I don't want to use birdeye-api in plugin-solana!",
+ "number": 1462,
+ "title": "Issues with Aptos Integration - unable to build/run",
"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",
+ "created_at": "2024-12-26T10:10:58Z",
+ "updated_at": "2024-12-26T10:16:03Z",
+ "body": "**Describe the bug**\r\n\r\n`SyntaxError: The requested module '@aptos-labs/ts-sdk' does not provide an export named 'PrivateKey'`\r\nTried on a host of 0.1.6 alphas and 0.1.7-alpha\r\n\r\n**To Reproduce**\r\n\r\nRun pnpm build/start\r\n\r\n**Expected behavior**\r\n\r\nShould run or skip this part if no `.env` variable is found.\r\n\r\n**Screenshots**\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": []
@@ -1094,10 +2784,10 @@
}
},
{
- "contributor": "cxp-13",
+ "contributor": "harperaa",
"score": 1,
"summary": "",
- "avatar_url": "https://avatars.githubusercontent.com/u/84974164?u=3b5b5c18f44af73f1e2f9921381fe2e800f474d1&v=4",
+ "avatar_url": "https://avatars.githubusercontent.com/u/1330944?v=4",
"activity": {
"code": {
"total_commits": 0,
@@ -1109,12 +2799,12 @@
"total_opened": 1,
"opened": [
{
- "number": 1447,
- "title": "connect ETIMEDOUT 142.250.217.106:443",
+ "number": 1452,
+ "title": "bug: pnpm run dev not working with characterfiles",
"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",
+ "created_at": "2024-12-26T00:10:04Z",
+ "updated_at": "2024-12-26T00:10:04Z",
+ "body": "**Describe the bug**\r\nI would like to use dev mode, and turbo to watch for file changes, for faster development. I have been trying to get pnpm run dev to run with a character file, to no avail. It runs fine with default agent (no arguments), but does not appear to accept the command line arguments of --characters.\r\n\r\n\r\n**To Reproduce**\r\n\r\ntrying pnpm run dev --character characters/eliza-code-assistant.character.json yields the following output and error.\r\n\r\n```bash\r\n% pnpm run dev --characters characters/eliza-code-assistant.character.json\r\n...\r\n...\r\n@elizaos/plugin-solana:build: DTS Build start\r\n@elizaos/plugin-solana:build: DTS \u26a1\ufe0f Build success in 3729ms\r\n@elizaos/plugin-solana:build: DTS dist/index.d.ts 15.88 KB\r\n\r\n Tasks: 45 successful, 45 total\r\nCached: 45 cached, 45 total\r\n Time: 340ms >>> FULL TURBO\r\n\r\n(node:65388) ExperimentalWarning: CommonJS module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /Users/allenharper/.nvm/versions/node/v23.3.0/lib/node_modules/npm/node_modules/supports-color/index.js using require().\r\nSupport for loading ES Module in require() is an experimental feature and might change at any time\r\n(Use `node --trace-warnings ...` to show where the warning was created)\r\n[nodemon] 3.1.7\r\n[nodemon] to restart at any time, enter `rs`\r\n[nodemon] watching path(s): packages/client-direct/dist/**/*\r\n[nodemon] watching extensions: js,mjs,cjs,json\r\n[nodemon] starting `pnpm --filter \"@elizaos/agent\" start --isRoot`\r\n\r\n> @elizaos/core@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/core\r\n> tsup --format esm --dts --watch \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/client-direct@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/client-direct\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> eliza-client@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/client\r\n> vite \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\n\r\n> @elizaos/plugin-code-assistant@0.1.7-alpha.1 dev /Users/allenharper/Dropbox/code/eliza/packages/plugin-code-assistant\r\n> tsup --format esm --dts --watch \"--\" \"--characters\" \"characters/eliza-code-assistant.character.json\"\r\n\r\nCACError: Unknown option `--characters`\r\n at Command.checkUnknownOptions (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:404:17)\r\n at CAC.runMatchedCommand (/Users/allenharper/Dropbox/code/eliza/node_modules/cac/dist/index.js:602:13)\r\n at main (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/chunk-SNM7IVOJ.js:148:13)\r\n at Object. (/Users/allenharper/Dropbox/code/eliza/node_modules/tsup/dist/cli-default.js:12:23)\r\n at Module._compile (node:internal/modules/cjs/loader:1546:14)\r\n at Object..js (node:internal/modules/cjs/loader:1698:10)\r\n at Module.load (node:internal/modules/cjs/loader:1303:32)\r\n at Function._load (node:internal/modules/cjs/loader:1117:12)\r\n at TracingChannel.traceSync (node:diagnostics_channel:322:14)\r\n at wrapModuleLoad (node:internal/modules/cjs/loader:218:24)\r\n\u2009ELIFECYCLE\u2009 Command failed with exit code 1.\r\n\r\n> @elizaos/agent@0.1.7-alpha.1 start /Users/allenharper/Dropbox/code/eliza/agent\r\n> node --loader ts-node/esm src/index.ts \"--isRoot\"\r\n\r\nCLI Building entry: src/index.ts\r\nCLI Using tsconfig: tsconfig.json\r\nCLI tsup v8.3.5\r\n...\r\n```\r\n\r\nthen, it proceeds to load defaultAgent...\r\n\r\n\r\n\r\n**Expected behavior**\r\nI expect it to pick up the character file, launch agent, and enter turbo watch of those files... it runs correctly, if I use pnpm start --characters ...\r\n\r\nInstead, it won't launch with character file and defaults back to defaultAgent...when in dev mode.\r\n\r\n\r\n\r\n**Screenshots**\r\n\r\n\r\n\r\n**Additional context**\r\n\r\n\r\n",
"labels": [
{
"name": "bug",
diff --git a/data/daily/summary.json b/data/daily/summary.json
index 8f6d785..4ebb0f7 100644
--- a/data/daily/summary.json
+++ b/data/daily/summary.json
@@ -1,47 +1,76 @@
{
- "title": "elizaos Eliza (2024-12-25)",
+ "title": "elizaos Eliza (2024-12-26)",
"version": "",
- "overview": "Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements.",
+ "overview": "Development focused on package improvements (Enhance client direct), new features (allow passing secrets through environment), 5 bug fixes. with 24 contributors merging 16 PRs. Major work included various improvements.",
"metrics": {
- "contributors": 10,
- "merged_prs": 1,
- "new_issues": 2,
- "lines_changed": 4
+ "contributors": 24,
+ "merged_prs": 16,
+ "new_issues": 6,
+ "lines_changed": 2993
},
"changes": {
- "features": [],
+ "features": [
+ "allow passing secrets through environment",
+ "Enhance client direct",
+ "Adding plugin for Cronos ZKEVM"
+ ],
"fixes": [
- "fix incorrect link redirection issue"
+ "update pnpm lock",
+ "cronoszkEVM -> cronoszkevm",
+ "cleaner interaction prompts in the Twitter plugin"
],
- "chores": []
+ "chores": [
+ "Do not consider self tweets when evaluating actions",
+ "update defailt character topic test case",
+ "Docs update"
+ ]
},
"areas": [
{
"name": "docs",
- "files": 1,
- "additions": 2,
- "deletions": 2
+ "files": 103,
+ "additions": 962,
+ "deletions": 875
+ },
+ {
+ "name": "packages",
+ "files": 18,
+ "additions": 782,
+ "deletions": 296
+ },
+ {
+ "name": "root",
+ "files": 4,
+ "additions": 43,
+ "deletions": 1
}
],
- "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!'",
+ "issues_summary": "working on 6 bugs including '[PROPOSAL] Setup lint/prettier and husky', 'Install fails'",
"questions": [],
"top_contributors": [
{
- "name": "mhxw",
- "summary": "mhxw is currently working on fixing an incorrect link redirection issue in the documentation",
+ "name": "ag-wnl",
+ "summary": "ag-wnl is currently working on improving the evaluation of actions by excluding self tweets and fetching timelines for followed accounts using Twitter client methods",
"areas": [
- "docs"
+ "packages"
]
},
{
- "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": "odilitime",
+ "summary": "odilitime is currently working on updating the pnpm lock and allowing passing secrets through the environment in the docs, packages, and agent code areas",
+ "areas": [
+ "agent",
+ "packages",
+ "pnpm-lock.yaml"
+ ]
},
{
- "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": []
+ "name": "shakkernerd",
+ "summary": "shakkernerd is currently working on enhancing the client direct feature, fixing a typo in the cronoszkevm module, and updating test cases for the default character topic in the packages and agent code areas",
+ "areas": [
+ "agent",
+ "packages"
+ ]
}
]
}
\ No newline at end of file
diff --git a/data/daily/summary.md b/data/daily/summary.md
index 314c25b..84ecba0 100644
--- a/data/daily/summary.md
+++ b/data/daily/summary.md
@@ -1,36 +1,43 @@
-# elizaos Eliza (2024-12-25)
+# elizaos Eliza (2024-12-26)
## ๐ Overview
-Development focused on 1 bug fixes. with 10 contributors merging 1 PRs. Major work included various improvements.
+Development focused on package improvements (Enhance client direct), new features (allow passing secrets through environment), 5 bug fixes. with 24 contributors merging 16 PRs. Major work included various improvements.
## ๐ Key Metrics
| Metric | Count |
|---------|--------|
-| ๐ฅ Contributors | 10 |
-| ๐ Commits | 0 |
-| ๐ Merged PRs | 1 |
-| โ ๏ธ New Issues | 2 |
+| ๐ฅ Contributors | 24 |
+| ๐ Commits | 1 |
+| ๐ Merged PRs | 16 |
+| โ ๏ธ New Issues | 6 |
## ๐ Pull Request Summary
-- ๐งน **Chores**: 0
-- ๐ **Fixes**: 1
-- โจ **Features**: 0
+- ๐งน **Chores**: 3
+- ๐ **Fixes**: 5
+- โจ **Features**: 4
## ๐ File Changes
-- **docs**: 1 files (+2/-2 lines)
+- **docs**: 103 files (+962/-875 lines)
+- **packages**: 18 files (+782/-296 lines)
+- **root**: 4 files (+43/-1 lines)
+- **agent**: 4 files (+28/-6 lines)
## ๐ฅ Notable Changes
-- fix: fix incorrect link redirection issue
+- chore: Do not consider self tweets when evaluating actions
+- Fetch timeline for followed accounts via Twitter client methods
+- fix: update pnpm lock
## ๐ฅ Top Contributors
-- **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
+- **ag-wnl**: ag-wnl is currently working on improving the evaluation of actions by excluding self tweets and fetching timelines for followed accounts using Twitter client methods
+- **odilitime**: odilitime is currently working on updating the pnpm lock and allowing passing secrets through the environment in the docs, packages, and agent code areas
+- **shakkernerd**: shakkernerd is currently working on enhancing the client direct feature, fixing a typo in the cronoszkevm module, and updating test cases for the default character topic in the packages and agent code areas
## โ ๏ธ Issues
-- **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!').
+- **New Issues**: 6
+- **Labels**: `bug` (6)
+- **Summary**: 6 bugs reported (including '[PROPOSAL] Setup lint/prettier and husky', 'Install fails').
## Top Contributors
-- **mhxw**: fix: fix incorrect link redirection issue
\ No newline at end of file
+- **ag-wnl**: chore: Do not consider self tweets when evaluating actions
+- **odilitime**: fix: update pnpm lock
+- **shakkernerd**: feat: Enhance client direct
\ No newline at end of file