{"record":{"id":"1fb605a54b3204a2","repo":"deepseek-ai/deepseek-harness","slug":"llm-pi-ai-provider-provider-requestimagemaxb","errorCode":null,"errorMessage":"llm-pi-ai: provider \"${provider}\" requestImageMaxBytes must be a positive safe integer","messagePattern":"llm-pi-ai: provider \"(.+?)\" requestImageMaxBytes must be a positive safe integer","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/llm/llm-pi-ai/src/config.ts","lineNumber":414,"sourceCode":"    const streamIdleTimeoutMs = source.streamIdleTimeoutMs ?? DEFAULT_STREAM_IDLE_TIMEOUT_MS\n    if (!Number.isFinite(streamIdleTimeoutMs)\n      || streamIdleTimeoutMs <= 0\n      || streamIdleTimeoutMs > MAX_TIMER_DELAY_MS) {\n      throw new Error(\n        `llm-pi-ai: provider \"${provider}\" streamIdleTimeoutMs must be a positive finite number no greater than ${MAX_TIMER_DELAY_MS}`,\n      )\n    }\n    const maxRequestImageBytes = source.maxRequestImageBytes ?? DEFAULT_MAX_REQUEST_IMAGE_BYTES\n    if (!Number.isInteger(maxRequestImageBytes) || maxRequestImageBytes <= 0) {\n      throw new Error(`llm-pi-ai: provider \"${provider}\" maxRequestImageBytes must be a positive integer`)\n    }\n    const requestImagePixelBudget = source.requestImagePixelBudget ?? DEFAULT_REQUEST_IMAGE_PIXEL_BUDGET\n    if (!Number.isSafeInteger(requestImagePixelBudget) || requestImagePixelBudget <= 0) {\n      throw new Error(`llm-pi-ai: provider \"${provider}\" requestImagePixelBudget must be a positive safe integer`)\n    }\n    const requestImageMaxBytes = source.requestImageMaxBytes ?? DEFAULT_REQUEST_IMAGE_MAX_BYTES\n    if (!Number.isSafeInteger(requestImageMaxBytes) || requestImageMaxBytes <= 0) {\n      throw new Error(`llm-pi-ai: provider \"${provider}\" requestImageMaxBytes must be a positive safe integer`)\n    }\n    // Detached from the configuration object because pi-ai types `Model.input`\n    // mutable. The schema's explicit default covers an absent key, so an empty\n    // list here is always one someone typed — and unlike an entry's, nothing\n    // below it can answer instead — so it is refused rather than read as \"no\n    // answer\".\n    const defaultInput = [...source.defaultInput ?? DEFAULT_INPUT]\n    if (defaultInput.length === 0) {\n      throw new Error(`llm-pi-ai: provider \"${provider}\" defaultInput must name at least one modality`)\n    }\n    // The route key, not the installed provider's own name: the directory has\n    // always shown route keys, and a catalog route must not silently rename\n    // itself on every configuration surface just because it gained a profile.\n    const displayName = source.displayName ?? provider\n    const catalog = resolveRouteModels({\n      provider,\n      ...source.api === undefined ? {} : { api: source.api },\n      ...source.baseURL === undefined ? {} : { baseURL: source.baseURL },","sourceCodeStart":396,"sourceCodeEnd":432,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/llm/llm-pi-ai/src/config.ts#L396-L432","documentation":"Error \"llm-pi-ai: provider \"${provider}\" requestImageMaxBytes must be a positive safe integer\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/llm/llm-pi-ai/src/config.ts:414 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set requestImageMaxBytes to a positive safe integer."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}