{"record":{"id":"aa9fdbe5c4b3dc98","repo":"diegosouzapw/OmniRoute","slug":"selected-credit-unavailable","errorCode":"selected_credit_unavailable","errorMessage":"The selected Codex reset credit is no longer available.","messagePattern":"The selected Codex reset credit is no longer available\\.","errorType":"exception","errorClass":"CodexResetCreditError","httpStatus":409,"severity":"error","filePath":"src/lib/usage/codexResetCredits.ts","lineNumber":252,"sourceCode":"  return {\n    credits,\n    availableCount: Number.isFinite(reportedCount)\n      ? Math.max(0, Math.trunc(reportedCount))\n      : credits.length,\n  };\n}\n\nfunction toPublicResetCredit(credit: CodexResetCredit): PublicCodexResetCredit {\n  const { id, ...metadata } = credit;\n  return { ...metadata, selectionToken: id };\n}\n\nfunction selectResetCredit(payload: unknown, requestedCreditId?: string): CodexResetCredit {\n  const { credits } = parseAvailableResetCredits(payload);\n  if (requestedCreditId) {\n    const selected = credits.find((credit) => credit.id === requestedCreditId);\n    if (selected) return selected;\n    throw new CodexResetCreditError(\n      409,\n      \"selected_credit_unavailable\",\n      \"The selected Codex reset credit is no longer available.\"\n    );\n  }\n\n  if (credits[0]) return credits[0];\n\n  throw new CodexResetCreditError(409, \"no_credit\", \"No Codex reset credits are available.\");\n}\n\nasync function readResponsePayload(response: Response): Promise<unknown> {\n  const text = await response.text();\n  if (!text) return {};\n  try {\n    return JSON.parse(text);\n  } catch {\n    return text;","sourceCodeStart":234,"sourceCodeEnd":270,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/usage/codexResetCredits.ts#L234-L270","documentation":"Error \"The selected Codex reset credit is no longer available.\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/usage/codexResetCredits.ts:252 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}