{
 "flight": {
  "id": 903164,
  "agent": "devin",
  "state": "merged",
  "title": "fix: allow null values for prompt_tokens_details and completion_tokens_details",
  "number": 75,
  "source": "aidev",
  "commits": 2,
  "debrief": "Devin was asked to fix null validation for prompt_tokens_details and completion_tokens_details in the OpenRouter provider, which rejected null values that the OpenRouter API can return for some models. The change touched two files, with three additions and three deletions, across two commits. It drew one review round and no change requests, and was merged clean in 2.14 hours.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Devin"
  ],
  "index_ok": true,
  "additions": 3,
  "closed_at": "2025-06-04T23:07:46+00:00",
  "deletions": 3,
  "merged_at": "2025-06-04T23:07:46+00:00",
  "opened_at": "2025-06-04T20:59:31+00:00",
  "task_type": "fix",
  "body_chars": 1162,
  "confidence": "dataset",
  "updated_at": "2026-11-04T02:31:01.211096+00:00",
  "enriched_at": null,
  "body_excerpt": "# Fix null validation for prompt_tokens_details and completion_tokens_details\n\nFixes #73\n\n## Problem\nThe OpenRouter API can return `null` for `prompt_tokens_details` and `completion_tokens_details` fields (e.g., with models like `deepseek/deepseek-chat-v3-0324:free`), but the current Zod schema vali",
  "review_count": 1,
  "files_changed": 2,
  "hours_to_merge": 2.14,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T02:31:01.211096+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "ai-sdk-provider",
  "owner": "OpenRouterTeam",
  "stars": 695,
  "license": "Apache-2.0",
  "full_name": "OpenRouterTeam/ai-sdk-provider",
  "primary_language": "TypeScript"
 },
 "author": {
  "login": "devin-ai-integration[bot]",
  "name": null,
  "github_profile": "https://github.com/devin-ai-integration[bot]",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "reviewed",
   "actor_login": null
  },
  {
   "at": "2025-06-04T23:07:46+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "louisgv"
  },
  {
   "at": "2025-06-04T23:07:46+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "louisgv"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: AI SDK v5 Migration",
   "number": 77,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 1395,
   "deletions": 1675,
   "merged_at": "2025-07-10T15:47:47+00:00",
   "opened_at": "2025-06-07T21:31:50+00:00",
   "task_type": "feat",
   "files_changed": 36,
   "hours_to_merge": 786.27
  },
  {
   "agent": "devin",
   "state": "closed",
   "title": "fix: allow tool calls with invalid JSON to trigger repair functionality",
   "number": 76,
   "outcome": "burn",
   "index_ok": true,
   "additions": 10,
   "deletions": 13,
   "merged_at": null,
   "opened_at": "2025-06-04T23:15:23+00:00",
   "task_type": "fix",
   "files_changed": 1,
   "hours_to_merge": null
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: add models array for fallback routing",
   "number": 13,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 52,
   "deletions": 0,
   "merged_at": "2025-01-30T20:05:57+00:00",
   "opened_at": "2025-01-29T18:44:21+00:00",
   "task_type": "feat",
   "files_changed": 6,
   "hours_to_merge": 25.36
  }
 ],
 "pr_url": "https://github.com/OpenRouterTeam/ai-sdk-provider/pull/75",
 "page": "https://agentriders.com/logs/OpenRouterTeam/ai-sdk-provider/75/"
}