{
  "interval": {
    "intervalStart": "2025-05-19T00:00:00.000Z",
    "intervalEnd": "2025-05-20T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-05-19 to 2025-05-20, elizaos/eliza had 5 new PRs (7 merged), 0 new issues, and 8 active contributors.",
  "topIssues": [],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6Wx7cy",
      "title": "[SpartanDev] Update elizaos",
      "author": "odilitime",
      "number": 4648,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-19T20:05:12Z",
      "mergedAt": "2025-05-19T20:48:43Z",
      "additions": 42982,
      "deletions": 54376
    },
    {
      "id": "PR_kwDOMT5cIs6WRJFb",
      "title": "wip: Plugin-Jupiter Swap",
      "author": "Freytes",
      "number": 4593,
      "body": "Added:\r\n\r\nPlugin-Jupiter which would be used to handle all jupiter swaps within plugin-trade and the Spartan product.",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-15T06:23:52Z",
      "mergedAt": "2025-05-19T19:22:26Z",
      "additions": 3771,
      "deletions": 6
    },
    {
      "id": "PR_kwDOMT5cIs6WxRpB",
      "title": "Eliza290/update docs readme and tests for all cli commands",
      "author": "yungalgo",
      "number": 4646,
      "body": "this is a complimentary PR to update docs, readme, and tests for all the changes related to ELIZA290, cli testing + polish.\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n- **New Features**\n  - The CLI now supports creating \"agent\" character files alongside projects and plugins.\n  - The `dev` and `start` commands accept multiple character files or URLs in various formats, with improved error handling and fallback behavior.\n  - The `update` command introduces `--check` and `--skip-build` flags for safer and more flexible updates.\n  - The environment management command (`env`) now includes expanded interactive and non-interactive options, with clearer feedback and support for PGLite databases.\n  - The `setup-monorepo` command and documentation clarify support for custom branches and directories.\n\n- **Documentation**\n  - CLI documentation was extensively updated for agent, project, plugin, environment, dev, start, update, and setup-monorepo commands, with new examples, option clarifications, and usage notes.\n  - A new \"Developing Agents\" section and expanded lifecycle and interactive mode explanations were added.\n\n- **Bug Fixes**\n  - Improved error handling and logging for character loading and environment resets.\n\n- **Tests**\n  - Comprehensive new and enhanced tests for agent, plugin, create, dev, env, start, update, and setup-monorepo commands, increasing coverage and robustness.\n  - Refactored and expanded plugin command tests, including alias and GitHub installation scenarios.\n\n- **Chores**\n  - Test scripts and helper functions were updated for consistency, reliability, and better output validation.\n  - Package scripts were updated to include new test commands and ensure all relevant tests are run.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-19T18:34:27Z",
      "mergedAt": "2025-05-20T06:30:21Z",
      "additions": 2306,
      "deletions": 574
    },
    {
      "id": "PR_kwDOMT5cIs6WoIdf",
      "title": "feat: use registry",
      "author": "wtfsayo",
      "number": 4641,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-18T18:21:57Z",
      "mergedAt": "2025-05-19T16:52:31Z",
      "additions": 650,
      "deletions": 487
    },
    {
      "id": "PR_kwDOMT5cIs6WyhcC",
      "title": "chore(deps): bump the pip group across 1 directory with 3 updates",
      "author": "dependabot",
      "number": 4649,
      "body": "Bumps the pip group with 3 updates in the /scripts/bug_hunt directory: [cryptography](https://github.com/pyca/cryptography), [h11](https://github.com/python-hyper/h11) and [setuptools](https://github.com/pypa/setuptools).\n\nUpdates `cryptography` from 44.0.0 to 44.0.1\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst\">cryptography's changelog</a>.</em></p>\n<blockquote>\n<p>44.0.1 - 2025-02-11</p>\n<pre><code>\n* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.4.1.\n* We now build ``armv7l`` ``manylinux`` wheels and publish them to PyPI.\n* We now build ``manylinux_2_34`` wheels and publish them to PyPI.\n<p>.. _v44-0-0:\n</code></pre></p>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/pyca/cryptography/commit/adaaaed77db676bbaa9d171175db81dce056e2a7\"><code>adaaaed</code></a> Bump for 44.0.1 release (<a href=\"https://redirect.github.com/pyca/cryptography/issues/12441\">#12441</a>)</li>\n<li><a href=\"https://github.com/pyca/cryptography/commit/ccc61dabe38b86956bf218565cd4e82b918345a1\"><code>ccc61da</code></a> [backport] test and build on armv7l (<a href=\"https://redirect.github.com/pyca/cryptography/issues/12420\">#12420</a>) (<a href=\"https://redirect.github.com/pyca/cryptography/issues/12431\">#12431</a>)</li>\n<li>See full diff in <a href=\"https://github.com/pyca/cryptography/compare/44.0.0...44.0.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `h11` from 0.14.0 to 0.16.0\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/python-hyper/h11/commit/1c5b07581f058886c8bdd87adababd7d959dc7ca\"><code>1c5b075</code></a> this time for surer</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/d9c369935e853a7ee1aeb7e481f6dddf9b9c9b8a\"><code>d9c3699</code></a> this time for sure...</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/d91b9dd2290a25c8c3f5ec15feb57de5873e6e39\"><code>d91b9dd</code></a> blacken</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/5a4683ca466b59bbab9b19cfea20ee157b31cee0\"><code>5a4683c</code></a> Soothe mypy</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/9c9567f0a92d13a83a8d8ebdbc757c8c2d384536\"><code>9c9567f</code></a> Bump version to 0.16.0</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/114803a29ce50116dc47951c690ad4892b1a36ed\"><code>114803a</code></a> Merge commit from fork</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/9462006f6ce4941661888228cbd4ac1ea80689b0\"><code>9462006</code></a> Bump version to 0.15.0</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/70a96bea8e55403e5d92db14c111432c6d7a8685\"><code>70a96be</code></a> Merge pull request <a href=\"https://redirect.github.com/python-hyper/h11/issues/181\">#181</a> from Julien00859/Julien00859/get_int_max_str_digits</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/60782ad107e538b9312aac7e1c119c8358bf797c\"><code>60782ad</code></a> Reject Content-Length longer 1 billion TB</li>\n<li><a href=\"https://github.com/python-hyper/h11/commit/dff7cc397a26ed4acdedd92d1bda6c8f18a6ed9f\"><code>dff7cc3</code></a> Validate Chunked-Encoding chunk footer</li>\n<li>Additional commits viewable in <a href=\"https://github.com/python-hyper/h11/compare/v0.14.0...v0.16.0\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `setuptools` from 75.8.0 to 78.1.1\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/pypa/setuptools/blob/main/NEWS.rst\">setuptools's changelog</a>.</em></p>\n<blockquote>\n<h1>v78.1.1</h1>\n<h2>Bugfixes</h2>\n<ul>\n<li>More fully sanitized the filename in PackageIndex._download. (<a href=\"https://redirect.github.com/pypa/setuptools/issues/4946\">#4946</a>)</li>\n</ul>\n<h1>v78.1.0</h1>\n<h2>Features</h2>\n<ul>\n<li>Restore access to _get_vc_env with a warning. (<a href=\"https://redirect.github.com/pypa/setuptools/issues/4874\">#4874</a>)</li>\n</ul>\n<h1>v78.0.2</h1>\n<h2>Bugfixes</h2>\n<ul>\n<li>Postponed removals of deprecated dash-separated and uppercase fields in <code>setup.cfg</code>.\nAll packages with deprecated configurations are advised to move before 2026. (<a href=\"https://redirect.github.com/pypa/setuptools/issues/4911\">#4911</a>)</li>\n</ul>\n<h1>v78.0.1</h1>\n<h2>Misc</h2>\n<ul>\n<li><a href=\"https://redirect.github.com/pypa/setuptools/issues/4909\">#4909</a></li>\n</ul>\n<h1>v78.0.0</h1>\n<h2>Bugfixes</h2>\n<ul>\n<li>Reverted distutils changes that broke the monkey patching of command classes. (<a href=\"https://redirect.github.com/pypa/setuptools/issues/4902\">#4902</a>)</li>\n</ul>\n<h2>Deprecations and Removals</h2>\n<ul>\n<li>Setuptools no longer accepts options containing uppercase or dash characters in <code>setup.cfg</code>.</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/pypa/setuptools/commit/8e4868a036b7fae3208d16cb4e5fe6d63c3752df\"><code>8e4868a</code></a> Bump version: 78.1.0 → 78.1.1</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/100e9a61ad24d5a147ada57357425a8d40626d09\"><code>100e9a6</code></a> Merge pull request <a href=\"https://redirect.github.com/pypa/setuptools/issues/4951\">#4951</a></li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/8faf1d7e0ca309983252e4f21837b73ee12e960f\"><code>8faf1d7</code></a> Add news fragment.</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/2ca4a9fe4758fcd39d771d3d3a5b4840aacebdf7\"><code>2ca4a9f</code></a> Rely on re.sub to perform the decision in one expression.</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/e409e8002932f2b86aae7b1abc8f8c2ebf96df2c\"><code>e409e80</code></a> Extract _sanitize method for sanitizing the filename.</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/250a6d17978f9f6ac3ac887091f2d32886fbbb0b\"><code>250a6d1</code></a> Add a check to ensure the name resolves relative to the tmpdir.</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/d8390feaa99091d1ba9626bec0e4ba7072fc507a\"><code>d8390fe</code></a> Extract _resolve_download_filename with test.</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/4e1e89392de5cb405e7844cdc8b20fc2755dbaba\"><code>4e1e893</code></a> Merge <a href=\"https://github.com/jaraco/skeleton\">https://github.com/jaraco/skeleton</a></li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/3a3144f0d2887fa37c06550f42a101e9eebd953a\"><code>3a3144f</code></a> Fix typo: <code>pyproject.license</code> -&gt; <code>project.license</code> (<a href=\"https://redirect.github.com/pypa/setuptools/issues/4931\">#4931</a>)</li>\n<li><a href=\"https://github.com/pypa/setuptools/commit/d751068fd2627d6d8f1729e39cbcd8119049998f\"><code>d751068</code></a> Fix typo: pyproject.license -&gt; project.license</li>\n<li>Additional commits viewable in <a href=\"https://github.com/pypa/setuptools/compare/v75.8.0...v78.1.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/elizaOS/eliza/network/alerts).\n\n</details>",
      "repository": "elizaos/eliza",
      "createdAt": "2025-05-19T21:31:49Z",
      "mergedAt": "2025-05-21T00:05:29Z",
      "additions": 204,
      "deletions": 66
    }
  ],
  "codeChanges": {
    "additions": 7787,
    "deletions": 5328,
    "files": 110,
    "commitCount": 48
  },
  "completedItems": [
    {
      "title": "wip: Plugin-Jupiter Swap",
      "prNumber": 4593,
      "type": "other",
      "body": "Added:\r\n\r\nPlugin-Jupiter which would be used to handle all jupiter swaps within plugin-trade and the Spartan product."
    },
    {
      "title": "cleanup: optz actions functions",
      "prNumber": 4633,
      "type": "refactor",
      "body": "# PR: Optimize Action Formatting Functions\r\n\r\nThis PR improves the code quality and performance of the action formatting functions in `actions.ts`.\r\n\r\n## Changes Made\r\n\r\n### For all functions:\r\n- Added proper input validation for edge cases"
    },
    {
      "title": "Fix chokidar watch usage",
      "prNumber": 4629,
      "type": "bugfix",
      "body": "## Summary\n- add chokidar as a regular dependency for the CLI\n- ensure chokidar is treated as external when bundling\n- use the dependency directly in `dev` command\n\n## Testing\n- ❌ `bun run test:setup-commands` *(failed to find `vitest` comm"
    },
    {
      "title": "fix: agent start button refetch agent.status.",
      "prNumber": 4642,
      "type": "bugfix",
      "body": "When click: \"start\" on agents, it would start, but the UI would not update, until you refreshed page.\r\n\r\nNow it is realtime in the UI.\r\n\r\n![image](https://github.com/user-attachments/assets/c876553f-6710-4345-8366-6fef52fb4418)\r\n"
    },
    {
      "title": "feat: use registry",
      "prNumber": 4641,
      "type": "feature",
      "body": ""
    },
    {
      "title": "[SpartanDev] Update elizaos",
      "prNumber": 4648,
      "type": "other",
      "body": ""
    },
    {
      "title": "remove pr title CI",
      "prNumber": 4644,
      "type": "other",
      "body": "annoying imo, idc what name PR, should not fail CI, causes more failed looking PRs then needed."
    }
  ],
  "topContributors": [
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 49.7437738965761,
      "prScore": 49.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 44.3117738965761,
      "prScore": 39.111773896576096,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0.2,
      "summary": null
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 36.50199360224258,
      "prScore": 22.001993602242575,
      "issueScore": 0,
      "reviewScore": 14.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xCardiE",
      "avatarUrl": "https://avatars.githubusercontent.com/u/8969767?u=8b05509ceb96fd63a6246dfbf0860fd1df586e59&v=4",
      "totalScore": 14.560828834461905,
      "prScore": 14.560828834461905,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 4.84,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0.33999999999999997,
      "summary": null
    }
  ],
  "newPRs": 5,
  "mergedPRs": 7,
  "newIssues": 0,
  "closedIssues": 0,
  "activeContributors": 8
}