{
  "interval": {
    "intervalStart": "2025-10-19T00:00:00.000Z",
    "intervalEnd": "2025-10-20T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-10-19 to 2025-10-20, elizaos/eliza had 5 new PRs (6 merged), 0 new issues, and 3 active contributors.",
  "topIssues": [],
  "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_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_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
    },
    {
      "id": "PR_kwDOMT5cIs6ufCae",
      "title": "feat: make embedding service optional when no TEXT_EMBEDDING model",
      "author": "0xbbjoker",
      "number": 6075,
      "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/embedding.ts`)**:\n>   - Checks `runtime.getModel(ModelType.TEXT_EMBEDDING)` on start; if absent, returns a disabled no-op service.\n>   - Adds `isDisabled` flag with guards in `initialize`, `handleEmbeddingRequest`, `startProcessing`, and `stop` to skip work when disabled.\n> - **Tests**:\n>   - `embedding-service.test.ts`: adds test ensuring service is disabled when no `TEXT_EMBEDDING` model; verifies no handlers registered and queue remains empty.\n>   - `embedding-queue-management.test.ts`: runtime mock extended with `getModel`.\n>   - `test-utils.ts`: adds default `getModel` mock (returns handler for `TEXT_EMBEDDING`) and updates `MockRuntime` type.\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e29be330a7dee3c007d50439d7dc8f009abda8c2. 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-19T05:34:02Z",
      "mergedAt": "2025-10-19T12:23:00Z",
      "additions": 64,
      "deletions": 0
    },
    {
      "id": "PR_kwDOMT5cIs6uhE29",
      "title": "fix: add missing channelId to session API responses",
      "author": "standujar",
      "number": 6079,
      "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 verify channelId is included",
      "repository": "elizaos/eliza",
      "createdAt": "2025-10-19T16:26:38Z",
      "mergedAt": "2025-10-19T17:00:40Z",
      "additions": 10,
      "deletions": 0
    }
  ],
  "codeChanges": {
    "additions": 6200,
    "deletions": 3955,
    "files": 88,
    "commitCount": 15
  },
  "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"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 109.1195477931522,
      "prScore": 109.1195477931522,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "wtfsayo: Focused on code maintenance and consistency, merging two significant pull requests in elizaos/eliza, including a large merge of develop into main (#6078) and a separate effort on code formatting and style consistency (#6077). Their work primarily involved other work and bug fixes, with a focus on code and test files."
    },
    {
      "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": null
    },
    {
      "username": "madjin",
      "avatarUrl": "https://avatars.githubusercontent.com/u/32600939?u=cdcf89f44c7a50906c7a80d889efa85023af2049&v=4",
      "totalScore": 46.6556473929184,
      "prScore": 44.6556473929184,
      "issueScore": 2,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "madjin: Focused on enhancing system efficiency by creating an issue (elizaos/elizaos.github.io#159) and subsequently opening a pull request (elizaos/elizaos.github.io#160) to implement adaptive rate limiting with low-volume optimization, involving substantial feature work across 11 files."
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 44.953149053531604,
      "prScore": 44.953149053531604,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "standujar: Focused on enhancing API functionality and reliability, merging a feature to add PATCH method support to the Route type in elizaos/eliza#6076 and fixing a bug by adding a missing channelId to session API responses in elizaos/eliza#6079. Their work primarily involved feature development, bug fixes, and tests across code and test files."
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 31.819774539791275,
      "prScore": 31.819774539791275,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": "0xbbjoker: Contributed a new feature by merging PR elizaos/eliza#6075, which makes the embedding service optional, demonstrating a focus on both feature development and bug fixes, primarily impacting tests and code."
    }
  ],
  "newPRs": 5,
  "mergedPRs": 6,
  "newIssues": 0,
  "closedIssues": 0,
  "activeContributors": 3
}