{"record":{"id":"8423cd6c60025c16","repo":"deepseek-ai/deepseek-harness","slug":"unsupported-image-type","errorCode":"UNSUPPORTED_IMAGE_TYPE","errorMessage":"Image type ${input.mediaType} is not accepted by this deployment.","messagePattern":"Image type (.+?) is not accepted by this deployment\\.","errorType":"exception","errorClass":"AttachmentError","httpStatus":null,"severity":"error","filePath":"packages/attachment/attachment/src/index.ts","lineNumber":72,"sourceCode":"   * Validate one ordered image batch before committing any member.\n   * Validation failures start no writes; storage failures return no partial\n   * references, although already published content-addressed objects may stay\n   * unreachable until a future retention policy collects them.\n   * @param inputs - encoded images in their owning message order.\n   * @returns durable references in the exact input order.\n   */\n  protected validateImageBatch(inputs: readonly SaveImageAttachment[]): void {\n    const { maxImagesPerMessage, maxMessageImageBytes, mediaTypes } = this.imageLimits\n    if (inputs.length > maxImagesPerMessage) {\n      throw new AttachmentError('Image batch exceeds the configured image-count limit.', 'TOO_MANY_IMAGES')\n    }\n    const totalBytes = inputs.reduce((sum, input) => sum + input.data.byteLength, 0)\n    if (totalBytes > maxMessageImageBytes) {\n      throw new AttachmentError('Image batch exceeds the configured aggregate image-byte limit.', 'IMAGES_TOO_LARGE')\n    }\n    for (const input of inputs) {\n      if (!mediaTypes.includes(input.mediaType)) {\n        throw new AttachmentError(`Image type ${input.mediaType} is not accepted by this deployment.`, 'UNSUPPORTED_IMAGE_TYPE')\n      }\n    }\n  }\n\n  /**\n   * Validate and durably commit one ordered image batch.\n   * @param inputs - encoded images in owning-message order.\n   * @returns durable normalized attachment references in the same order after every member succeeds.\n   */\n  async saveImages(inputs: readonly SaveImageAttachment[]): Promise<readonly ImageAttachmentRef[]> {\n    this.validateImageBatch(inputs)\n    for (const input of inputs) await this.validateImage(input)\n\n    const refs: ImageAttachmentRef[] = []\n    for (const input of inputs) refs.push(await this.saveImage(input))\n    return refs\n  }\n","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/attachment/attachment/src/index.ts#L54-L90","documentation":"Error \"Image type ${input.mediaType} is not accepted by this deployment.\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/attachment/attachment/src/index.ts:72 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Convert the image to an accepted type or add the type to the deployment accepted list."],"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"}