{"record":{"id":"1b2dc5c2c8029be9","repo":"NousResearch/hermes-agent","slug":"text-input-block-requires-text-string","errorCode":null,"errorMessage":"text input block requires 'text' string","messagePattern":"text input block requires 'text' string","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"agent/plugin_llm.py","lineNumber":469,"sourceCode":"    if isinstance(block, PluginLlmTextInput):\n        return {\"type\": \"text\", \"text\": block.text}\n    if isinstance(block, PluginLlmImageInput):\n        d: Dict[str, Any] = {\n            \"type\": \"image\",\n            \"mime_type\": block.mime_type,\n            \"file_name\": block.file_name,\n        }\n        if block.data is not None:\n            d[\"data\"] = block.data\n        if block.url:\n            d[\"url\"] = block.url\n        return d\n    if isinstance(block, dict):\n        kind = block.get(\"type\")\n        if kind == \"text\":\n            text = block.get(\"text\")\n            if not isinstance(text, str):\n                raise ValueError(\"text input block requires 'text' string\")\n            return {\"type\": \"text\", \"text\": text}\n        if kind == \"image\":\n            if \"data\" not in block and not block.get(\"url\"):\n                raise ValueError(\"image input block requires 'data' bytes or 'url'\")\n            return {\n                \"type\": \"image\",\n                \"data\": block.get(\"data\"),\n                \"url\": block.get(\"url\"),\n                \"mime_type\": block.get(\"mime_type\") or \"image/png\",\n                \"file_name\": block.get(\"file_name\") or \"\",\n            }\n        raise ValueError(f\"Unknown input block type: {kind!r}\")\n    raise ValueError(f\"Unsupported input block: {type(block).__name__}\")\n\n\ndef _build_structured_messages(\n    *,\n    instructions: str,","sourceCodeStart":451,"sourceCodeEnd":487,"githubUrl":"https://github.com/NousResearch/hermes-agent/blob/c896c09c42910c584c4c7d2325b58c14713ea42c/agent/plugin_llm.py#L451-L487","documentation":"Error \"text input block requires 'text' string\" thrown in NousResearch/hermes-agent.","triggerScenarios":"Thrown at agent/plugin_llm.py:469 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a 'text' string field on text input blocks.","Fix the plugin code constructing the input block."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c896c09c42910c584c4c7d2325b58c14713ea42c","analyzedAt":"2026-08-14T17:18:01.089Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}