{
  "interval": {
    "intervalStart": "2025-12-26T00:00:00.000Z",
    "intervalEnd": "2025-12-27T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2025-12-26 to 2025-12-27, elizaos/eliza had 2 new PRs (0 merged), 0 new issues, and 2 active contributors.",
  "topIssues": [],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs66pZDH",
      "title": "feat(core): enhance multi-step workflow with retry logic and parameter extraction",
      "author": "wtfsayo",
      "number": 6286,
      "body": "## Summary\n\nEnhances multi-step workflows with retry logic and parameter extraction capabilities.\n\n### Changes\n\n- **Retry logic for XML parsing**: Multi-step workflows now retry parsing up to 5 times (configurable via `MULTISTEP_PARSE_RETRIES`) with exponential backoff (1s, 2s, 4s... capped at 8s)\n- **Summary generation retry with fallback**: Summary parsing retries with a graceful fallback message if all attempts fail (configurable via `MULTISTEP_SUMMARY_PARSE_RETRIES`)\n- **Parameter extraction**: The multi-step decision template now supports a `<parameters>` key allowing actions to receive structured parameters from the LLM\n- **Actions provider with parameter schemas**: Added `formatActionsWithParams()` function and `actionsWithParams` provider value for better LLM tool calling\n- **Bounds checking**: Retry counts validated to be within 1-10 range\n\n### Configuration\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `MULTISTEP_PARSE_RETRIES` | 5 | Number of retries for XML parsing failures |\n| `MULTISTEP_SUMMARY_PARSE_RETRIES` | 5 | Number of retries for summary generation failures |\n\n### Files Changed\n\n- `packages/core/src/services/default-message-service.ts` - Retry logic and parameter extraction\n- `packages/core/src/prompts.ts` - Updated multi-step template with parameters key\n- `packages/plugin-bootstrap/src/providers/actions.ts` - Added formatActionsWithParams\n- `packages/plugin-bootstrap/src/__tests__/multi-step.test.ts` - Added tests\n\n### Test Plan\n\n- [x] Added tests for retry logic (success after retries, failure after max retries)\n- [x] Added tests for summary fallback response\n- [x] Added tests for parameter extraction (object, JSON string, invalid JSON handling)\n- [x] All 19 multi-step tests pass\n- [x] Core package builds successfully\n- [x] Plugin-bootstrap package builds successfully\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> Improves robustness and tool-calling for multi-step workflows.\n> \n> - Updates `multiStepDecisionTemplate` to include explicit `parameters` and clarifies output keys\n> - In `default-message-service.ts`:\n>   - Adds bounded (1–10) retry with exponential backoff for decision-step XML parsing (`MULTISTEP_PARSE_RETRIES`) and summary generation (`MULTISTEP_SUMMARY_PARSE_RETRIES`)\n>   - Parses `parameters` (object or JSON string), stores in `state.data.actionParams` and action-specific namespace; logs validation issues\n>   - Provides fallback user response when summary parsing fails; improves structured logging\n>   - Minor cleanup to always-respond channel/source overrides and response message construction\n> - In `providers/actions.ts`, adds `formatActionsWithParams()` and exposes `actionsWithParams` so prompts include action parameter schemas\n> - Extends tests to cover retry success/failure paths, summary fallback, and parameter extraction (object, JSON string, invalid JSON)\n> \n> <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit cd4e6f34ab9c8c2e619806cf5ff0e585b30ecee5. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-26T16:31:52Z",
      "mergedAt": null,
      "additions": 940,
      "deletions": 106
    },
    {
      "id": "PR_kwDOMT5cIs66o0Al",
      "title": "fix(server): standardize message server route naming",
      "author": "standujar",
      "number": 6285,
      "body": "## fix(server): standardize message server route naming\r\n\r\n### Problem\r\n\r\nThe `api-client` package was calling `/message-servers/*` routes that didn't exist on the server. The server had inconsistent naming with `/servers/*` routes instead.\r\n\r\n```\r\nClient calls:  POST /message-servers\r\nServer had:    POST /servers          → 404!\r\n```\r\n\r\n### Solution\r\n\r\n- Renamed `/servers/*` → `/message-servers/*`\r\n- Renamed `:serverId` → `:messageServerId`\r\n- Added deprecated routes with forwarding for backward compatibility\r\n\r\n### Routes Changed\r\n\r\n| Old Route | New Route |\r\n|-----------|-----------|\r\n| `POST /servers` | `POST /message-servers` |\r\n| `GET /servers/:serverId/agents` | `GET /message-servers/:messageServerId/agents` |\r\n| `POST /servers/:serverId/agents` | `POST /message-servers/:messageServerId/agents` |\r\n| `DELETE /servers/:serverId/agents/:agentId` | `DELETE /message-servers/:messageServerId/agents/:agentId` |\r\n\r\n### Backward Compatibility\r\n\r\nOld routes still work but log deprecation warnings:\r\n```\r\n[DEPRECATED] POST /servers is deprecated. Use POST /message-servers instead.\r\n```\r\n\r\n### Tests\r\n\r\n- Added 17 unit tests for route naming conventions\r\n- All 420 server unit tests pass\r\n",
      "repository": "elizaos/eliza",
      "createdAt": "2025-12-26T14:04:10Z",
      "mergedAt": null,
      "additions": 638,
      "deletions": 109
    }
  ],
  "codeChanges": {
    "additions": 0,
    "deletions": 0,
    "files": 0,
    "commitCount": 5
  },
  "completedItems": [],
  "topContributors": [
    {
      "username": "wtfsayo",
      "avatarUrl": "https://avatars.githubusercontent.com/u/82053242?u=98209a1f10456f42d4d2fa71db4d5bf4a672cbc3&v=4",
      "totalScore": 80.89225876765497,
      "prScore": 80.89225876765497,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "0xbbjoker",
      "avatarUrl": "https://avatars.githubusercontent.com/u/54844437?u=90fe1762420de6ad493a1c1582f1f70c0d87d8e2&v=4",
      "totalScore": 38.84821373497066,
      "prScore": 38.84821373497066,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "standujar",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16385918?u=718bdcd1585be8447bdfffb8c11ce249baa7532d&v=4",
      "totalScore": 37.62098807096852,
      "prScore": 37.62098807096852,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 2,
  "mergedPRs": 0,
  "newIssues": 0,
  "closedIssues": 0,
  "activeContributors": 2
}