{"record":{"id":"2608d846acfa8e1d","repo":"chatboxai/chatbox","slug":"no-authentication-tokens-available","errorCode":null,"errorMessage":"No authentication tokens available","messagePattern":"No authentication tokens available","errorType":"exception","errorClass":"ApiError","httpStatus":null,"severity":"error","filePath":"src/shared/request/request.ts","lineNumber":216,"sourceCode":"\nexport function createAuthenticatedAfetch(config: AuthenticatedAfetchConfig) {\n  const { platformInfo, getTokens, refreshTokens, clearTokens } = config\n\n  // 用于防止并发刷新 token\n  let refreshPromise: Promise<AuthTokens> | null = null\n\n  return async function authenticatedAfetch(\n    url: RequestInfo | URL,\n    init?: RequestInit,\n    options: {\n      retry?: number\n      parseChatboxRemoteError?: boolean\n    } = {}\n  ) {\n    // 获取当前 tokens\n    const tokens = await getTokens()\n    if (!tokens) {\n      throw new ApiError('No authentication tokens available')\n    }\n\n    // 构建包含 token 的 headers 的辅助函数\n    function buildHeaders(accessToken: string) {\n      const authHeaders: Record<string, string> = {\n        'x-chatbox-access-token': accessToken,\n      }\n\n      if (isChatboxAPI(url)) {\n        authHeaders['CHATBOX-PLATFORM'] = platformInfo.platform\n        authHeaders['CHATBOX-PLATFORM-TYPE'] = platformInfo.type\n        authHeaders['CHATBOX-OS'] = platformInfo.os\n        authHeaders['CHATBOX-VERSION'] = platformInfo.version\n      }\n\n      return {\n        ...init?.headers,\n        ...authHeaders,","sourceCodeStart":198,"sourceCodeEnd":234,"githubUrl":"https://github.com/chatboxai/chatbox/blob/81571269addb6bafb589a920b2883f1e1e084fd1/src/shared/request/request.ts#L198-L234","documentation":"Error \"No authentication tokens available\" thrown in chatboxai/chatbox.","triggerScenarios":"Thrown at src/shared/request/request.ts:216 when the library encounters an invalid state.","commonSituations":"Occurs in src/shared/request/request.ts when an authenticated request is attempted but no access token is stored; the user must log in again.","solutions":["Sign in to the Chatbox account again to obtain new authentication tokens.","Check that token storage is working (not cleared by another process or private mode).","If tokens were recently revoked server-side, re-authenticate."],"exampleFix":"const tokens = await getTokens()\nif (!tokens) {\n  // Redirect user to login flow\n  throw new ApiError('No authentication tokens available')\n}","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"81571269addb6bafb589a920b2883f1e1e084fd1","analyzedAt":"2026-08-12T21:51:44.981Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}