{
  "interval": {
    "intervalStart": "2025-10-19T00:00:00.000Z",
    "intervalEnd": "2025-10-26T00:00:00.000Z",
    "intervalType": "week"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-10-19 to 2025-10-26, elizaos/eliza had 14 new PRs (13 merged), 6 new issues, and 13 active contributors.",
  "topIssues": [
    {
      "id": "I_kwDOMT5cIs7TIUSd",
      "title": "`Cannot find module '@anthropic-ai/claude-code'` after installing elizaOS CLI",
      "author": "schmidsi",
      "number": 6088,
      "repository": "elizaos/eliza",
      "body": "**Describe the bug**\n\nI'm following the steps described here: https://docs.elizaos.ai/installation#cli-version-conflicts-mismatches\n\nAfter running `elizaos --version`, I get an error message: `error: Cannot find module '@anthropic-ai/claude-code' from '/Users/schmidsi/.bun/install/global/node_modules/@elizaos/cli/dist/index.js'`\n\n**To Reproduce**\n\n1. Install the CLI globally: `bun install -g @elizaos/cli`\n2. Verify installation: `elizaos --version`\n3. Observe the error: `error: Cannot find module '@anthropic-ai/claude-code' from '/Users/schmidsi/.bun/install/global/node_modules/@elizaos/cli/dist/index.js'`\n\n**Expected behavior**\n\nThe `elizaos --version` command should display the installed version number (e.g., `1.6.2`).\n\n**Screenshots**\n```\n$ bun install -g @elizaos/cli\nbun add v1.2.15 (df017990)\nSaved lockfile\n\ninstalled @elizaos/cli@1.6.2 with binaries:\n\nelizaos\n\n[53.00ms] done\n\n$ elizaos --version\nerror: Cannot find module '@anthropic-ai/claude-code' from '/Users/schmidsi/.bun/install/global/node_modules/@elizaos/cli/dist/index.js'\n\nBun v1.2.15 (macOS arm64)\n```\n\n**Additional context**\n\n- OS: macOS 15.6.1 (Build 24G90)\n- Node version: v24.1.0\n- Bun version: v1.3.1\n- The `@anthropic-ai/claude-code` dependency appears to be missing from the package's transitive dependencies",
      "createdAt": "2025-10-22T19:47:14Z",
      "closedAt": "2025-10-23T12:29:40Z",
      "state": "CLOSED",
      "commentCount": 7
    },
    {
      "id": "I_kwDOMT5cIs7A73Gh",
      "title": "Make API key setup optional in 'npx elizaos create'",
      "author": "linear",
      "number": 5604,
      "repository": "elizaos/eliza",
      "body": "",
      "createdAt": "2025-07-16T18:16:33Z",
      "closedAt": "2025-10-20T16:16:59Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7COFYL",
      "title": "pino-pretty errors in export builds from bun - replace pino with adze",
      "author": "lalalune",
      "number": 5673,
      "repository": "elizaos/eliza",
      "body": "Our logger is not compatible with the bun binary compilation and build process. Since its built into the core, its very hard to get into and override, so we should rip it out and use a bun compatible logger instead. After some research, I think this is a good option: https://adzejs.com/\n\nWe could also just roll our own logging, but then we need color formatting and all that and I'd rather just have something that already works and is easy to drop in.\n\nPlease replace pino and all pino-related dependencies with adze and make sure everything works and all tests still pass @claude ",
      "createdAt": "2025-07-24T04:44:02Z",
      "closedAt": "2025-10-20T16:14:07Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7E1COv",
      "title": "🐛 Build failure in @elizaos/core causing bun run clean to fail",
      "author": "monilpat",
      "number": 5738,
      "repository": "elizaos/eliza",
      "body": "## Description\n\nThe `bun run clean` command is failing due to TypeScript errors in `@elizaos/core` package during the DTS (type definition) build phase.\n\n## Error Details\n\n### Build Process\n```\n• Running build in 17 packages\n• Remote caching disabled\n@elizaos/config:build: cache miss\n@elizaos/autodoc:build: cache miss\n@elizaos/core:build: cache miss\n```\n\n### TypeScript Errors in @elizaos/core/src/utils.ts\n1. Line 218: `error TS2345: Argument of type '`${string}-${string}-${string}-${string}-${string}`' is not assignable to parameter of type 'never'.`\n2. Line 366: `error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'.`\n3. Line 409: `error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'.`\n4. Line 536: `error TS2345: Argument of type '{ numberOfChunks: number; averageChunkSize: number; }' is not assignable to parameter of type 'never'.`\n\n### Impact\n- Blocks `bun run clean` command\n- Prevents successful build of `@elizaos/core`\n- Affects dependent packages in the monorepo\n\n## Steps to Reproduce\n1. Run `bun run clean`\n2. Observe build failure in `@elizaos/core`\n3. Build fails with TypeScript errors during DTS generation\n\n## Expected Behavior\n- `bun run clean` should complete successfully\n- `@elizaos/core` should build without TypeScript errors\n- Type definitions should be generated correctly\n\n## Suggested Fix\n\nThe errors suggest type mismatches in `utils.ts`. Need to:\n1. Review type definitions in affected lines\n2. Update type assertions or generic constraints\n3. Ensure string template literal types are properly handled\n4. Fix object type assignments\n\n### Files to Update\n- `packages/core/src/utils.ts`\n\n## Priority\n**HIGH** - This is blocking clean builds and potentially affecting development workflow.",
      "createdAt": "2025-08-08T00:26:11Z",
      "closedAt": "2025-10-20T16:17:44Z",
      "state": "CLOSED",
      "commentCount": 1
    },
    {
      "id": "I_kwDOMT5cIs7DT5Fj",
      "title": "Fix markdown rendering on frontend chat view",
      "author": "linear",
      "number": 5688,
      "repository": "elizaos/eliza",
      "body": "curently its too spaced out between lines\n\n<img src=\"https://uploads.linear.app/186bdefa-3633-464a-80cd-6e86fe765a5c/5906c2fa-5e6c-4e26-9e29-41b8f51bdaa8/69de40e4-4b6f-43b5-86ca-c29ad32f5541?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiLzE4NmJkZWZhLTM2MzMtNDY0YS04MGNkLTZlODZmZTc2NWE1Yy81OTA2YzJmYS01ZTZjLTRlMjYtOWUyOS00MWI4ZjUxYmRhYTgvNjlkZTQwZTQtNGI2Zi00M2I1LTg2Y2EtYzI5YWQzMmY1NTQxIiwiaWF0IjoxNzUzODc3MTQzLCJleHAiOjMzMzI0NDM3MTQzfQ.PstBzBO4qWG0Bt_8BEZVar9rPvGTz5_cdpRMMOx1mVs \" alt=\"Screenshot 2025-07-30 at 5.35.12 PM.png\" width=\"551\" data-linear-height=\"371\" />\n\n<img src=\"https://uploads.linear.app/186bdefa-3633-464a-80cd-6e86fe765a5c/20c5daf2-d459-4ef0-872b-49a84c21c5ab/b652bf84-a85e-4334-a497-1b3beedc4f17?signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXRoIjoiLzE4NmJkZWZhLTM2MzMtNDY0YS04MGNkLTZlODZmZTc2NWE1Yy8yMGM1ZGFmMi1kNDU5LTRlZjAtODcyYi00OWE4NGMyMWM1YWIvYjY1MmJmODQtYTg1ZS00MzM0LWE0OTctMWIzYmVlZGM0ZjE3IiwiaWF0IjoxNzUzODc3MTQzLCJleHAiOjMzMzI0NDM3MTQzfQ.Kwz-LExTq_mTjbRNoFfkjmllEclAehQegXaITpnlCMc \" alt=\"Screenshot 2025-07-30 at 5.35.07 PM.png\" width=\"442\" data-linear-height=\"466\" />",
      "createdAt": "2025-07-30T12:05:43Z",
      "closedAt": "2025-10-23T15:06:29Z",
      "state": "CLOSED",
      "commentCount": 0
    }
  ],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs6ugkhi",
      "title": "chore: merge develop into main",
      "author": "wtfsayo",
      "number": 6078,
      "body": "Merging latest changes from develop branch into main\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> Introduces a pluggable message service and generateText API in core, unifies server startup/config, adds a Docker/ECS deploy command to the CLI, enables duplicate agent names via UUID-only identity, and improves memory pagination, plugin/character handling, and tests.\n> \n> - **Core**:\n>   - Adds pluggable `IMessageService` with `DefaultMessageService` and `shouldRespond` logic; centralizes message deletion/channel clear.\n>   - Introduces `generateText()` API and refines model types/options.\n>   - Adds character utilities (`buildCharacterPlugins`, parsing/validation/merge) and secrets/env loading helpers.\n>   - Enhances DB `getMemories` with `offset` pagination.\n>   - Extensive tests for runtime, prompts, UUID, character, message service.\n> - **Server**:\n>   - Unifies startup via `AgentServer.start(config)` (auto-init, port resolution, optional agents), removes plugin/config managers.\n>   - Loader now ensures deterministic UUID from name; improves character env secret merging.\n>   - Agent update endpoint restarts on plugin changes, in-place updates otherwise.\n>   - Memory routes map `channelId`→agent `roomId`.\n>   - Broad test updates (bootstrap autoload, CLI API, lifecycle, socket flow, CRUD UUID).\n> - **CLI**:\n>   - Adds `deploy` command (Docker build/push to AWS ECR, ECS deploy) with API/Docker utilities.\n>   - Adds `tee eigen` wrapper; refactors `start/dev/test` to new server API; improves `create` flags and template resolution.\n>   - Removes legacy module/port utilities; updates docs and dependencies.\n> - **Plugins**:\n>   - Bootstrap: routes message handling through runtime message service; removes legacy provider; improves embedding checks.\n>   - SQL: drops unique constraint on agent name (UUID-only identity) and adds migration/tests; supports `offset` in memories.\n> - **Client/Examples**:\n>   - Adjusts entityId mapping for memories; adds `examples/generate-text.ts`.\n> - **Misc**:\n>   - Bumps versions to `1.6.2-alpha.26`; updates Renovate config and disables tests for types-only pkg.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 0538c6551724caf8ad746d613ee5adaa06407d48. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-19T12:59:17Z",
      "mergedAt": "2025-10-19T13:14:27Z",
      "additions": 11296,
      "deletions": 5473
    },
    {
      "id": "PR_kwDOMT5cIs6vVL6j",
      "title": "feat: create @elizaos/react package with headless React hooks",
      "author": "wtfsayo",
      "number": 6093,
      "body": "## Overview\n\nThis PR introduces a new **** package containing headless, reusable React hooks extracted from the client package. This enables external developers to build custom UIs for ElizaOS agents while maintaining full type safety and React Query integration.\n\n## What's New\n\n### Package: \n\nA standalone package providing headless React hooks with:\n- ✅ Zero UI coupling (no toasts, navigation, or DOM dependencies)\n- ✅ Full TypeScript support with proper type declarations\n- ✅ TanStack React Query for caching and state management\n- ✅ Network-aware polling that adapts to connection quality\n- ✅ Composable lifecycle callbacks (onSuccess, onError, onMutate)\n\n### Hooks Included (30 total)\n\n**Agents (8 hooks)**\n- `useAgents`, `useAgent`, `useStartAgent`, `useStopAgent`\n- `useAgentActions`, `useDeleteLog`, `useAgentPanels`, `useAgentsWithDetails`\n\n**Runs (2 hooks)**\n- `useAgentRuns`, `useAgentRunDetail`\n\n**Messaging (5 hooks)**\n- `useServers`, `useChannels`, `useChannelDetails`, `useChannelParticipants`, `useDeleteChannel`\n\n**Messages (3 hooks)**\n- `useChannelMessages` (stateful with pagination), `useDeleteChannelMessage`, `useClearChannelMessages`\n\n**Memories (6 hooks)**\n- `useAgentMemories`, `useDeleteMemory`, `useDeleteAllMemories`, `useUpdateMemory`, `useDeleteGroupMemory`, `useClearGroupChat`\n\n**Internal/Agent-Perspective (6 hooks)**\n- `useAgentInternalActions`, `useDeleteAgentInternalLog`, `useAgentInternalMemories`\n- `useDeleteAgentInternalMemory`, `useDeleteAllAgentInternalMemories`, `useUpdateAgentInternalMemory`\n\n## Architecture\n\n```tsx\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ElizaReactProvider, useAgents, useStartAgent } from '@elizaos/react';\n\nconst queryClient = new QueryClient();\n\nfunction App() {\n  return (\n    <QueryClientProvider client={queryClient}>\n      <ElizaReactProvider baseUrl=\"http://localhost:3000\">\n        <AgentList />\n      </ElizaReactProvider>\n    </QueryClientProvider>\n  );\n}\n\nfunction AgentList() {\n  const { data: agents, isLoading } = useAgents();\n  const startAgent = useStartAgent({\n    onSuccess: () => toast.success('Agent started!'),\n  });\n\n  if (isLoading) return <div>Loading...</div>;\n\n  return (\n    <div>\n      {agents?.map((agent) => (\n        <div key={agent.id}>\n          <h3>{agent.name}</h3>\n          <button onClick={() => startAgent.mutate(agent.id)}>\n            Start\n          </button>\n        </div>\n      ))}\n    </div>\n  );\n}\n```\n\n## Benefits\n\n1. **Reusability**: External developers can build custom UIs using these hooks\n2. **Type Safety**: Full TypeScript support with types from `@elizaos/api-client`\n3. **Performance**: Smart polling adapts to network quality (2G → 4G)\n4. **Separation of Concerns**: UI logic stays in components, data logic in hooks\n5. **Future-proof**: Ready for migration of `packages/client` to consume these hooks\n\n## Testing\n\n- ✅ Package builds successfully with TypeScript declarations\n- ✅ All hooks properly typed with React Query v5 signatures\n- ✅ Zero build errors or type issues\n- ✅ Ready for integration into turbo build pipeline\n\n## Next Steps (Future PRs)\n\n- Migrate `packages/client` to consume `@elizaos/react`\n- Add unit tests for hooks with mocked ElizaClient\n- Publish to npm for external consumption\n\n## Files Changed\n\n- `packages/react/` - New package with provider, hooks, and documentation\n- Comprehensive README with installation, API reference, and examples\n\n---\n\n**Ready for review!** 🚀\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> Introduces a new `@elizaos/react` package with headless, type-safe React hooks and provider (plus build/docs), integrates it into the workspace, and publishes comprehensive core type declarations.\n> \n> - **New package `@elizaos/react`**:\n>   - Headless React hooks and provider (`ElizaReactProvider`) built on `@tanstack/react-query` and `@elizaos/api-client`.\n>   - Hooks for: agents, runs, messaging (servers/channels), messages (stateful + pagination), memories, and internal agent-perspective operations.\n>   - Network-aware polling, composable mutation callbacks, TypeScript types, and index exports.\n>   - Build tooling (`build.ts`, bunfig, tsconfigs), and comprehensive README.\n> - **Workspace integration**:\n>   - Added to lockfile/workspace with peer/dev deps.\n> - **Type declarations**:\n>   - Added/updated numerous `@elizaos/core` `.d.ts` and source maps to expose APIs/types for consumers.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5a290e0071637d785858567d960ab7d1d5e54456. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-23T18:06:32Z",
      "mergedAt": null,
      "additions": 8223,
      "deletions": 1753
    },
    {
      "id": "PR_kwDOMT5cIs6sm8l_",
      "title": "feat(core): add MessageService interface and default implementation",
      "author": "0xbbjoker",
      "number": 6048,
      "body": "",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-08T03:13:15Z",
      "mergedAt": "2025-10-19T12:24:07Z",
      "additions": 2282,
      "deletions": 1441
    },
    {
      "id": "PR_kwDOMT5cIs6uq9LM",
      "title": "feat: Streamdown integration, cross-platform crypto, and server port autodiscovery",
      "author": "wtfsayo",
      "number": 6082,
      "body": "## Summary\n\nThis PR introduces three major improvements to the ElizaOS platform:\n\n1. **Streamdown Integration (Client)**: Modern AI response rendering with streaming support\n2. **Cross-Platform Crypto Utilities (Core)**: Browser and Node.js compatible cryptographic operations\n3. **Enhanced Port Autodiscovery (Server)**: Automatic fallback to available ports\n\n## Changes\n\n### Client ()\n- **New Dependency**: Added `streamdown` package for AI response rendering\n- **New Component**: Created `ai-elements/response.tsx` using Streamdown for unified response display\n- **Chat Refactor**: Replaced `Markdown` and `AnimatedMarkdown` components with new `AiResponse` component\n- **Styling**: Added Streamdown CSS source to `index.css`\n\n### Core ()\n- **New Module**: Created `utils/crypto-compat.ts` providing unified crypto interface for browser and Node.js\n  - Supports SHA-256 hashing across environments\n  - AES-256-CBC encryption/decryption\n  - Web Crypto API integration for browsers\n  - Node.js crypto module fallback\n- **Settings Migration**: Updated `settings.ts` to use new crypto utilities\n- **Buffer Improvements**: Enhanced `randomBytes` to prefer Web Crypto API with graceful fallback\n\n### Server ()\n- **Port Autodiscovery**: Automatic fallback to next available port on `EADDRINUSE` error\n- **Environment Sync**: Export bound port to `SERVER_PORT` environment variable\n- **Host Awareness**: Port availability checks now respect `SERVER_HOST` configuration\n- **Error Handling**: Better handling of `EACCES` and other binding errors\n- **Logging**: Improved port conflict warnings\n\n## Technical Details\n\n### Crypto Compatibility\nThe new crypto utilities support both synchronous (Node.js) and asynchronous (browser) operations:\n- Browser: Uses Web Crypto API (`crypto.subtle`)\n- Node.js: Uses native `crypto` module\n- Automatic environment detection\n\n### Port Discovery Logic\n1. Attempt to bind to configured port\n2. On `EADDRINUSE`, automatically find next available port\n3. Update `SERVER_PORT` environment variable\n4. Log warning about port fallback\n\n## Testing\n- ✅ Client rendering with Streamdown\n- ✅ Cross-platform crypto operations\n- ✅ Port autodiscovery with fallback\n- ✅ Environment variable synchronization\n\n## Migration Notes\n- No breaking changes to public APIs\n- Settings encryption/decryption behavior unchanged\n- Server will auto-adapt if configured port is unavailable\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> Integrates Streamdown for AI responses, adds browser/Node-compatible crypto utilities, and enhances server port autodiscovery with fallbacks and env sync.\n> \n> - **Client (UI)**:\n>   - **Streamdown Integration**: Added `streamdown` and new `components/ai-elements/response.tsx` to render AI responses; replaced legacy `Markdown`/`AnimatedMarkdown` usage in `components/chat.tsx`.\n>   - **Styling**: Included Streamdown CSS source in `src/index.css`.\n>   - **Tests**: Added unit tests for `Response` component.\n> - **Core (Crypto)**:\n>   - **New Module**: `utils/crypto-compat.ts` providing cross-platform hashing and AES-256-CBC encrypt/decrypt (Web Crypto in browser, native crypto in Node/Bun).\n>   - **Settings**: `settings.ts` migrated to use new crypto utils.\n>   - **Buffer**: `BufferUtils.randomBytes` now prefers Web Crypto with fallback.\n>   - **Tests**: Added comprehensive tests for hashing/encryption compatibility.\n> - **Server**:\n>   - **Port Autodiscovery**: On `EADDRINUSE`, find next free port; export bound port to `SERVER_PORT`; respect `SERVER_HOST`; handle `EACCES`.\n>   - **Tests**: Added port availability and fallback tests.\n>   - Minor CSP/formatting tweaks and loader cleanup.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit bf226b71667c9047558678d69e01a494a033b854. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-20T16:52:10Z",
      "mergedAt": "2025-10-21T16:14:33Z",
      "additions": 1637,
      "deletions": 466
    },
    {
      "id": "PR_kwDOMT5cIs6ugjhT",
      "title": "chore: Code formatting and style consistency",
      "author": "wtfsayo",
      "number": 6077,
      "body": "## Summary\n\nThis PR applies consistent code formatting across the codebase using prettier/eslint configuration.\n\n## Changes\n\nAll changes are **formatting only** - no logic changes, bug fixes, or feature additions:\n\n- **Quote Style**: Standardized to single quotes throughout\n- **Line Formatting**: Consistent line breaks and spacing\n- **Object/Array Formatting**: Consistent formatting for imports, function parameters, etc.\n- **Trailing Newlines**: Added/removed trailing newlines consistently\n\n## Files Affected\n\n- `lerna.json` - Array formatting\n- `packages/cli/` - Deploy commands, tee wrapper, tests\n- `packages/core/` - Core utilities, types, tests\n- `packages/server/` - Server tests and API routes\n\n## Testing\n\n- No functional changes - all existing tests should pass unchanged\n- Verified with: `git diff develop...HEAD`\n\n## Breaking Changes\n\nNone - purely cosmetic formatting changes\n\n## Type\n\n- [x] Chore (formatting, linting, no code logic change)",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-19T12:52:22Z",
      "mergedAt": "2025-10-19T12:54:51Z",
      "additions": 652,
      "deletions": 710
    }
  ],
  "codeChanges": {
    "additions": 8030,
    "deletions": 9824,
    "files": 123,
    "commitCount": 72
  },
  "completedItems": [
    {
      "title": "feat(core): add MessageService interface and default implementation",
      "prNumber": 6048,
      "type": "feature",
      "body": "",
      "files": [
        "packages/cli/src/commands/scenario/src/__tests__/e2e/centralized-data.test.ts",
        "packages/core/src/__tests__/message-service.test.ts",
        "packages/core/src/index.browser.ts",
        "packages/core/src/index.node.ts",
        "packages/core/src/index.ts",
        "packages/core/src/runtime.ts",
        "packages/core/src/services/default-message-service.ts",
        "packages/core/src/services/message-service.ts",
        "packages/core/src/types/runtime.ts",
        "packages/core/src/types/service.ts",
        "packages/plugin-bootstrap/src/__tests__/logic.test.ts",
        "packages/plugin-bootstrap/src/index.ts",
        "packages/server/src/services/message.ts",
        "packages/plugin-bootstrap/src/__tests__/plugin.test.ts",
        "packages/test-utils/src/mocks/runtime.ts"
      ]
    },
    {
      "title": "fix: add missing channelId to session API responses",
      "prNumber": 6079,
      "type": "bugfix",
      "body": "## Summary\n- Expose channelId in CreateSessionResponse and SessionInfoResponse\n- Update session endpoints to return channelId for WebSocket connections\n\n## Test plan\n- Create a session and verify channelId is returned\n- Get session info and",
      "files": [
        "packages/server/src/api/messaging/__tests__/sessions.test.ts",
        "packages/server/src/api/messaging/sessions.ts",
        "packages/server/src/types/sessions.ts"
      ]
    },
    {
      "title": "chore: merge develop into main",
      "prNumber": 6078,
      "type": "other",
      "body": "Merging latest changes from develop branch into main\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> Introduces a pluggable message service and generateText API in core, unifies server startup/config, adds a Docker/ECS deploy command to the CLI, ",
      "files": [
        ".github/renovate-preset.json",
        "Dockerfile",
        "bun.lock",
        "examples/generate-text.ts",
        "lerna.json",
        "packages/api-client/package.json",
        "packages/api-client/src/__tests__/services/memory.test.ts",
        "packages/api-client/src/types/memory.ts",
        "packages/app/package.json",
        "packages/cli/Dockerfile",
        "packages/cli/README.md",
        "packages/cli/package.json",
        "packages/cli/src/characters/eliza.ts",
        "packages/cli/src/commands/agent/actions/lifecycle.ts",
        "packages/cli/src/commands/agent/index.ts",
        "packages/cli/src/commands/create/actions/creators.ts",
        "packages/cli/src/commands/create/index.ts",
        "packages/cli/src/commands/deploy/README.md",
        "packages/cli/src/commands/deploy/actions/deploy-ecs.ts",
        "packages/cli/src/commands/deploy/actions/deploy.ts",
        "packages/cli/src/commands/deploy/index.ts",
        "packages/cli/src/commands/deploy/types.ts",
        "packages/cli/src/commands/deploy/utils/api-client.ts",
        "packages/cli/src/commands/deploy/utils/docker-build.ts",
        "packages/cli/src/commands/dev/actions/dev-server.ts",
        "packages/cli/src/commands/report/src/assets/report_template.html",
        "packages/cli/src/commands/scenario/docs/README.md",
        "packages/cli/src/commands/scenario/src/__tests__/e2e/centralized-data.test.ts",
        "packages/cli/src/commands/scenario/src/plugin-parser.ts",
        "packages/cli/src/commands/scenario/src/runtime-factory.ts",
        "packages/cli/src/commands/start/index.ts",
        "packages/cli/src/commands/tee/eigen-wrapper.ts",
        "packages/cli/src/commands/tee/index.ts",
        "packages/cli/src/commands/test/actions/e2e-tests.ts",
        "packages/cli/src/commands/test/index.ts",
        "packages/cli/src/index.ts",
        "packages/cli/src/project.ts",
        "packages/cli/src/utils/__tests__/port-handling.test.ts",
        "packages/cli/src/utils/copy-template.ts",
        "packages/cli/src/utils/index.ts",
        "packages/cli/src/utils/module-loader.test.ts",
        "packages/cli/src/utils/module-loader.ts",
        "packages/cli/src/utils/port-handling.ts",
        "packages/cli/src/utils/port-validation.ts",
        "packages/cli/src/utils/upgrade/CLAUDE.md",
        "packages/cli/src/utils/upgrade/README.md",
        "packages/cli/tests/commands/create.test.ts",
        "packages/cli/tests/unit/characters/character-plugin-ordering.test.ts",
        "packages/cli/tests/unit/commands/test/e2e-tests.test.ts",
        "packages/cli/tests/utils/copy-template.test.ts"
      ]
    },
    {
      "title": "chore: Code formatting and style consistency",
      "prNumber": 6077,
      "type": "other",
      "body": "## Summary\n\nThis PR applies consistent code formatting across the codebase using prettier/eslint configuration.\n\n## Changes\n\nAll changes are **formatting only** - no logic changes, bug fixes, or feature additions:\n\n- **Quote Style**: Standa",
      "files": [
        "lerna.json",
        "packages/cli/src/commands/deploy/README.md",
        "packages/cli/src/commands/deploy/actions/deploy-ecs.ts",
        "packages/cli/src/commands/deploy/actions/deploy.ts",
        "packages/cli/src/commands/deploy/index.ts",
        "packages/cli/src/commands/deploy/types.ts",
        "packages/cli/src/commands/deploy/utils/api-client.ts",
        "packages/cli/src/commands/deploy/utils/docker-build.ts",
        "packages/cli/src/commands/start/index.ts",
        "packages/cli/src/commands/tee/eigen-wrapper.ts",
        "packages/cli/tests/utils/copy-template.test.ts",
        "packages/core/src/__tests__/character.test.ts",
        "packages/core/src/__tests__/plugin.test.ts",
        "packages/core/src/character.ts",
        "packages/core/src/plugin.ts",
        "packages/core/src/secrets.ts",
        "packages/core/src/types/primitives.ts",
        "packages/core/src/utils.ts",
        "packages/core/src/utils/environment.ts",
        "packages/server/src/__tests__/agent-plugin-reload.test.ts",
        "packages/server/src/__tests__/agent-server-database.test.ts",
        "packages/server/src/__tests__/agent-server-middleware.test.ts",
        "packages/server/src/__tests__/api.test.ts",
        "packages/server/src/__tests__/bootstrap-autoload.test.ts",
        "packages/server/src/__tests__/integration/agent-server-interaction.test.ts",
        "packages/server/src/api/agents/crud.ts",
        "packages/server/src/index.ts"
      ]
    },
    {
      "title": "feat(core): add PATCH method support to Route type",
      "prNumber": 6076,
      "type": "feature",
      "body": "",
      "files": [
        "packages/core/src/types/plugin.ts"
      ]
    },
    {
      "title": "feat: make embedding service optional when no TEXT_EMBEDDING model",
      "prNumber": 6075,
      "type": "feature",
      "body": "<!-- CURSOR_SUMMARY -->\n> [!NOTE]\n> Embedding service becomes a no-op when no TEXT_EMBEDDING model is registered; tests and mocks updated to support and verify this behavior.\n> \n> - **Service (`packages/plugin-bootstrap/src/services/embeddi",
      "files": [
        "packages/plugin-bootstrap/src/__tests__/embedding-queue-management.test.ts",
        "packages/plugin-bootstrap/src/__tests__/embedding-service.test.ts",
        "packages/plugin-bootstrap/src/__tests__/test-utils.ts",
        "packages/plugin-bootstrap/src/services/embedding.ts"
      ]
    },
    {
      "title": "feat: Streamdown integration, cross-platform crypto, and server port autodiscovery",
      "prNumber": 6082,
      "type": "feature",
      "body": "## Summary\n\nThis PR introduces three major improvements to the ElizaOS platform:\n\n1. **Streamdown Integration (Client)**: Modern AI response rendering with streaming support\n2. **Cross-Platform Crypto Utilities (Core)**: Browser and Node.js",
      "files": [
        "bun.lock",
        "packages/client/package.json",
        "packages/client/src/components/ai-elements/__tests__/response.test.tsx",
        "packages/client/src/components/ai-elements/response.tsx",
        "packages/client/src/components/chat.tsx",
        "packages/client/src/components/ui/chat/animated-markdown.tsx",
        "packages/client/src/components/ui/chat/code-block.tsx",
        "packages/client/src/components/ui/chat/markdown.tsx",
        "packages/client/src/index.css",
        "packages/core/src/__tests__/utils/crypto-compat.test.ts",
        "packages/core/src/settings.ts",
        "packages/core/src/utils/buffer.ts",
        "packages/core/src/utils/crypto-compat.ts",
        "packages/server/src/__tests__/port-autodiscovery.test.ts",
        "packages/server/src/index.ts",
        "packages/server/src/loader.ts"
      ]
    },
    {
      "title": "feat: add get action results",
      "prNumber": 6081,
      "type": "feature",
      "body": "# Risks\n**Low**. This change is purely additive - it adds a new public method to the `IAgentRuntime` interface without modifying any existing functionality. No breaking changes.\n\nWhat could be affected:\n- Plugins can now access action resul",
      "files": [
        "packages/core/src/__tests__/runtime.test.ts",
        "packages/core/src/runtime.ts",
        "packages/core/src/types/runtime.ts"
      ]
    },
    {
      "title": "fix(cli): include dotfiles in published package",
      "prNumber": 6080,
      "type": "bugfix",
      "body": "## Problem\n\nFixes #6074\n\nWhen users run `eliza create` to scaffold new projects, the generated projects are missing critical dotfiles like `.gitignore`, `.npmignore`, and `.env.example`.\n\n## Root Cause\n\nThe npm `files` field in `packages/cl",
      "files": [
        "packages/cli/package.json"
      ]
    },
    {
      "title": "fix: add action thought",
      "prNumber": 6083,
      "type": "bugfix",
      "body": "<!-- CURSOR_SUMMARY -->\n> [!NOTE]\n> Add `actionPlan.thought` to `ACTION_COMPLETED` event content for `agent_action` messages.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ec04587e20c86e1020b1ea488",
      "files": [
        "packages/core/src/runtime.ts"
      ]
    },
    {
      "title": "feat: remove claude code / upgrade / plugin gen from CLI",
      "prNumber": 6087,
      "type": "feature",
      "body": "## Remove Anthropic Claude Code Dependencies and AI-Powered Plugin Commands\n\n### Summary\nThis PR removes the AI-powered plugin upgrade and generation functionality from the CLI package, along with all associated Anthropic/Claude Code depend",
      "files": [
        "bun.lock",
        "packages/cli/build.ts",
        "packages/cli/examples/create-plugin-cli.sh",
        "packages/cli/examples/create-time-tracker-plugin-demo.sh",
        "packages/cli/examples/create-time-tracker-plugin.sh",
        "packages/cli/examples/generate-plugin-simple.sh",
        "packages/cli/examples/generate-time-plugin.sh",
        "packages/cli/examples/plugin-creator-example.sh",
        "packages/cli/examples/run-upgrade-safely.sh",
        "packages/cli/examples/upgrade-giphy.sh",
        "packages/cli/package.json",
        "packages/cli/src/commands/plugins/actions/generate.ts",
        "packages/cli/src/commands/plugins/actions/upgrade.ts",
        "packages/cli/src/commands/plugins/index.ts",
        "packages/cli/src/commands/plugins/types.ts",
        "packages/cli/src/utils/plugin-creator.ts",
        "packages/cli/src/utils/upgrade/CLAUDE.md",
        "packages/cli/src/utils/upgrade/README.md",
        "packages/cli/src/utils/upgrade/migration-guide-loader.ts",
        "packages/cli/src/utils/upgrade/simple-migration-agent.ts",
        "packages/cli/tests/unit/utils/simple-migration-agent-eventemitter-compatibility.test.ts"
      ]
    },
    {
      "title": "chore(types): replace Agent.description with bio",
      "prNumber": 6085,
      "type": "other",
      "body": "- Replace Agent.description with bio (string | string[]) in api-client types\\n- Keep AgentWorld.description (unchanged)\\n- Follow-up commits will update tests and any description usage in agent tests to use bio or bio[0] fallback\\n\\nThis al",
      "files": [
        "packages/api-client/src/__tests__/services/agents.test.ts",
        "packages/api-client/src/types/agents.ts",
        "packages/core/src/__tests__/elizaos.test.ts"
      ]
    },
    {
      "title": "fix: action thought",
      "prNumber": 6084,
      "type": "bugfix",
      "body": "<!-- CURSOR_SUMMARY -->\n> [!NOTE]\n> Compute `thought` once from the first response and include it in ACTION_STARTED/COMPLETED events, ensuring availability even for single-action runs.\n> \n> - **Runtime (`packages/core/src/runtime.ts`)**:\n> ",
      "files": [
        "packages/core/src/runtime.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 323.19981503527026,
      "prScore": 322.7618150352703,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.43799999999999994,
      "summary": "wtfsayo: Drove significant feature development and maintenance across the Eliza ecosystem, merging 6 PRs. They landed a major feature integrating Streamdown and cross-platform crypto in `elizaos/eliza#6082` (+1962/-774 lines), fixed a key packaging issue in the CLI via `elizaos/eliza#6080`, and opened a PR for a new headless React hooks package (`elizaos/eliza#6093`). Their 51 commits demonstrate a balanced focus on new feature work, bug fixes, and code refactoring."
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 304.9517953974373,
      "prScore": 290.9517953974373,
      "issueScore": 0,
      "reviewScore": 14,
      "commentScore": 0,
      "summary": "standujar: Delivered several new features and fixes across multiple repositories, merging five pull requests this week. Their most impactful contribution was implementing the 'get action results' feature in `elizaos/eliza#6081` (+1950/-670 lines), while also attempting a significant environment validation fix in `elizaos/elizaos.github.io#165` that was later reverted via `#166`. Their effort was distributed across feature work, bug fixes, and other tasks, with changes primarily touching code and configuration files."
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 159.6388399668295,
      "prScore": 157.20083996682948,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0.43799999999999994,
      "summary": "madjin: Focused on shipping significant new features for `elizaos/elizaos.github.io`, merging three pull requests this week. The most impactful contribution was the implementation of an MVP Badge System for contributor achievements in a substantial PR (#161, +3978/-77 lines), complemented by the addition of adaptive rate limiting (#160) and badge progress indicators (#162). This activity shows a clear concentration on feature work, with changes primarily affecting code files."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 132.12919778226703,
      "prScore": 122.12919778226703,
      "issueScore": 0,
      "reviewScore": 10,
      "commentScore": 0,
      "summary": "0xbbjoker: This week, 0xbbjoker enhanced functionality and stability across the Eliza ecosystem by merging three pull requests. They resolved a significant crash in the Telegram plugin (elizaos-plugins/plugin-telegram#19) and introduced new features for flexible deployment modes (elizaos-plugins/plugin-knowledge#44) and an optional embedding service (elizaos/eliza#6075). Their work showed a strong emphasis on quality, with half of all file modifications dedicated to tests, supporting a mix of bug fixes and new feature development."
    },
    {
      "username": "yungalgo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/113615973?u=92e0f29f7e2fbb8ce46ed13c51f692ca803de02d&v=4",
      "totalScore": 87.19214968785415,
      "prScore": 86.85214968785415,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.33999999999999997,
      "summary": "yungalgo: Focused on improving project documentation this week, merging two pull requests in elizaos/docs. They added a new launch resources page (#76), which involved a significant content refactor, and improved clarity by renaming the API reference (#75). This work reflects a primary focus on documentation, which constituted 94% of the files modified."
    },
    {
      "username": "ChristopherTrimboli",
      "avatarUrl": "https://avatars.githubusercontent.com/u/27584221?u=0d816ce1dcdea8f925aba18bb710153d4a87a719&v=4",
      "totalScore": 59.7437738965761,
      "prScore": 59.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "ChristopherTrimboli: Focused on a significant refactor within the `elizaos/eliza` repository, merging a pull request (#6087) to remove the Claude integration and upgrade dependencies. This single PR represented a major cleanup, removing over 5,400 lines of code from the project. Their work was primarily categorized as refactoring and bug fixes."
    },
    {
      "username": "lalalune",
      "avatarUrl": "https://avatars.githubusercontent.com/u/18633264?u=e2e906c3712c2506ebfa98df01c2cfdc50050b30&v=4",
      "totalScore": 55.5437738965761,
      "prScore": 49.5437738965761,
      "issueScore": 6,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "lalalune: Made a foundational contribution to the `jeju` repository, merging a massive pull request that introduced new applications (elizaos/jeju#1, +71k/-25k lines). In addition to this core delivery, they planned future development by opening issues for new agents and load testing (jeju#2, jeju#3, jeju#4) and identified a build issue in the `eliza` repository (elizaos/eliza#5673). Their code changes indicate this effort involved a significant mix of refactoring and testing work."
    },
    {
      "username": "tcm390",
      "avatarUrl": "https://avatars.githubusercontent.com/u/60634884?u=c6c41679b8322eaa0c81f72e0b4ed95e80f0ac16&v=4",
      "totalScore": 50.3591022550876,
      "prScore": 45.3591022550876,
      "issueScore": 0,
      "reviewScore": 5,
      "commentScore": 0,
      "summary": "tcm390: Focused on bug fixes within the `elizaos/eliza` repository, merging two PRs to address issues with action thoughts (#6083, #6084). They also provided one review approval, with their contributions primarily consisting of bugfix and other work on code files."
    },
    {
      "username": "MonteCrypto999",
      "avatarUrl": "https://avatars.githubusercontent.com/u/58423789?u=7db7196121472df50395eadf84f9d5963d886d69&v=4",
      "totalScore": 43.5437738965761,
      "prScore": 43.5437738965761,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "MonteCrypto999: Focused on adding new functionality to the Jupiter plugin, opening a pull request to add referral fee support (elizaos-plugins/plugin-jupiter#3). This in-progress feature work involved substantial changes across 31 files (+5965/-431 lines). Their effort touched a mix of configuration, code, and test files, indicating a focus on feature development."
    },
    {
      "username": "alex-nax",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82507604?u=b3af75d82f80ed83007a77c351a64bdd9e5d67de&v=4",
      "totalScore": 42.35087518789015,
      "prScore": 42.15087518789015,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "alex-nax: Focused on a significant feature enhancement, opening a large-scale pull request in elizaos/eliza (#6094) to enable a custom storage service, which involved over 35,000 new lines of code. The underlying commits show a balanced effort across bugfixes and adding tests to support this new functionality."
    },
    {
      "username": "0xRabbidfly",
      "avatarUrl": "https://avatars.githubusercontent.com/u/93952856?v=4",
      "totalScore": 33.90101911726088,
      "prScore": 33.90101911726088,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "0xRabbidfly: Focused on bug fixing within the Telegram plugin, opening a pull request to address an issue where GIF animations would not play (elizaos-plugins/plugin-telegram#20). The proposed fix represents a substantial effort, with +720/-402 lines of changes across 8 files, including tests. This work was entirely concentrated on improving functionality for the Telegram plugin."
    },
    {
      "username": "amlord",
      "avatarUrl": "https://avatars.githubusercontent.com/u/7287225?u=c9efedf5ceccac420c39b5bcd5b44e0f0692c4d5&v=4",
      "totalScore": 28.422573590279974,
      "prScore": 28.422573590279974,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "amlord: Focused on expanding the plugin ecosystem by adding the new 'nuggets' plugin to the registry via PR elizaos-plugins/registry#236. This feature work consisted of minor configuration changes to enable the new plugin."
    },
    {
      "username": "linear",
      "avatarUrl": "https://avatars.githubusercontent.com/in/20150?v=4",
      "totalScore": 10,
      "prScore": 0,
      "issueScore": 10,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "linear: Focused on identifying and defining work within the elizaos/eliza repository, creating 8 new issues. These included tracking a frontend bug fix for markdown rendering (#5688) and planning for new documentation like an API/SDK section (#6090). This activity shows a focus on product quality and planning."
    },
    {
      "username": "icecoins",
      "avatarUrl": "https://avatars.githubusercontent.com/u/92659856?u=015d38990c9348e60ff7c4dfc86a68cc2d4cece1&v=4",
      "totalScore": 8.087768721952859,
      "prScore": 8.087768721952859,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "icecoins: This week, icecoins focused on enhancing the Twitter plugin by opening a pull request (elizaos-plugins/plugin-twitter#45). This work introduces the ability to upload media data using the Twitter API v2."
    },
    {
      "username": "github-advanced-security",
      "avatarUrl": "https://avatars.githubusercontent.com/in/57789?v=4",
      "totalScore": 4.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 4.5,
      "commentScore": 0,
      "summary": "github-advanced-security: No activity this week."
    },
    {
      "username": "schmidsi",
      "avatarUrl": "https://avatars.githubusercontent.com/u/103280?u=77faaad95c5f0f1af815e2e46438c0ceb3945031&v=4",
      "totalScore": 4.4,
      "prScore": 0,
      "issueScore": 4.2,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": "schmidsi: This week, schmidsi contributed to project health by identifying, reporting, and helping resolve an installation issue in the `elizaos/eliza` repository (#6088). Their activity was focused on troubleshooting within the main application."
    },
    {
      "username": "borisudovicic",
      "avatarUrl": "https://avatars.githubusercontent.com/u/31806472?u=8935f4d43fd7e4eb9bf5ff92d54d4d2f8ac8a786&v=4",
      "totalScore": 2,
      "prScore": 0,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "borisudovicic: Focused on project planning and organization within the elizaos/eliza repository this week. They created six issues to outline improvements, including \"Documentation & Release Process\" (#5936), \"Release Automation\" (#5937), and \"Core Documentation Expansion\" (#5938). This activity indicates a focus on structuring future work around documentation and release procedures."
    },
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 0.8799999999999999,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.8799999999999999,
      "summary": "odilitime: Made significant code changes this week across 16 commits, totaling +1745/-953 lines. While no pull requests were merged, they contributed to ongoing development by leaving 5 comments on pull requests. This work was primarily a mix of bug fixes and other general tasks."
    },
    {
      "username": "letmehateu",
      "avatarUrl": "https://avatars.githubusercontent.com/u/133153661?u=2217cec1ebd7bf22a8e4e3ace28b3183720dd444&v=4",
      "totalScore": 0.2,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0.2,
      "summary": null
    }
  ],
  "newPRs": 14,
  "mergedPRs": 13,
  "newIssues": 6,
  "closedIssues": 14,
  "activeContributors": 13
}