{"record":{"id":"e3771ccb62588991","repo":"deepseek-ai/deepseek-harness","slug":"no-attachment-store-is-mounted","errorCode":null,"errorMessage":"no attachment store is mounted","messagePattern":"no attachment store is mounted","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/mcp/mcp-client/src/tools.ts","lineNumber":401,"sourceCode":"  if (block.data === undefined || !CANONICAL_BASE64.test(block.data)) {\n    throw new Error('the image data is not canonical base64')\n  }\n  const data = Buffer.from(block.data, 'base64')\n  if (data.toString('base64') !== block.data) {\n    throw new Error('the image data is not canonical base64')\n  }\n  return { data, mediaType: block.mimeType }\n}\n\n/**\n * Resolve the active model route and durable store for an image-bearing result.\n * @param ctx - plugin context with optional services.\n * @param exec - exact tool execution whose agent supplies the latest route.\n * @returns the attachment store after exact positive image-capability proof.\n */\nasync function resolveImageAdmission(ctx: Context, exec: ToolExecution): Promise<AttachmentStore> {\n  const attachments = ctx.get('attachments')\n  if (attachments === undefined) throw new Error('no attachment store is mounted')\n  const routed = exec.agent?.session.requestHeader()?.config\n  const provider = routed?.provider ?? exec.agent?.options.provider\n  const model = routed?.model ?? exec.agent?.options.model\n  const llm = ctx.get('llm')\n  if (provider === undefined || model === undefined || llm === undefined) {\n    throw new Error('the current model route could not be resolved')\n  }\n  let info: Awaited<ReturnType<typeof llm.resolveModelInfo>>\n  try {\n    info = await llm.resolveModelInfo(provider, model, exec.signal)\n  } catch {\n    throw new Error('the current model route could not be verified')\n  }\n  if (info.inputModalities === undefined || !info.inputModalities.includes('image')) {\n    throw new Error(`model \"${model}\" does not declare image input`)\n  }\n  if (exec.signal.aborted) throw new Error('the tool call was canceled before image storage')\n  return attachments","sourceCodeStart":383,"sourceCodeEnd":419,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/mcp/mcp-client/src/tools.ts#L383-L419","documentation":"Error \"no attachment store is mounted\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/mcp/mcp-client/src/tools.ts:401 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Mount an attachment store in the composition."],"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"}