{"record":{"id":"61fd456bcaad3d5c","repo":"deepseek-ai/deepseek-harness","slug":"too-many-images","errorCode":"TOO_MANY_IMAGES","errorMessage":"Image batch exceeds the configured image-count limit.","messagePattern":"Image batch exceeds the configured image-count limit\\.","errorType":"exception","errorClass":"AttachmentError","httpStatus":null,"severity":"error","filePath":"packages/attachment/attachment/src/index.ts","lineNumber":64,"sourceCode":"   * Validate one image without persisting it.\n   * Batch callers validate every member before saving any member.\n   * @param input - encoded bytes, declared media type, and optional display name.\n   * @returns completion after the encoded raster has been fully decoded.\n   */\n  abstract validateImage(input: SaveImageAttachment): Promise<void>\n\n  /**\n   * 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[]> {","sourceCodeStart":46,"sourceCodeEnd":82,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/attachment/attachment/src/index.ts#L46-L82","documentation":"Error \"Image batch exceeds the configured image-count limit.\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/attachment/attachment/src/index.ts:64 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Send fewer images per batch or raise the configured image-count limit."],"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"}