d5b041e942
A custom LangChain LLM passed to AsyncMemory._create_procedural_memory returns AIMessage.content, which is str | list[str | dict]. Providers that emit content blocks hit content.strip() on a list and raised AttributeError. remove_code_blocks already normalized None, so the list case is handled in the same guard rather than at the single call site. Closes #6150