from __future__ import annotations import hashlib import json import re from collections.abc import AsyncIterator, Sequence from secrag.providers.base import ChatMessage, Completion, LLMProvider _CONTEXT_RE = re.compile( r"^\[(?P\d+)\]\s*(?P