InboundDedupeStore (dedupe_store.py)

deer-flow · database, webhook-dedupe, deduplication, in-memory-store, storage

Inbound webhook dedupe store. The manager-level inbound dedupe (``ChannelManager._inbound_dedupe_key``) guards an agent run / final answer against provider redeliveries. The default store is an in-process ``OrderedDict`` (backward compatible, single-pod). A shared store (e.g. Pos

"""Inbound webhook dedupe store.

The manager-level inbound dedupe (``ChannelManager._inbound_dedupe_key``) guards an
agent run / final answer against provider redeliveries. The default store is an
in-process ``OrderedDict`` (backward compatible, single-pod). A shared store (e.g.
Postgres) can be injected for multi-pod deployments so a redelivery landing on a
different pod is still dropped as a duplicate. See issue #4120.
"""

from __future__ import annotations

import logging
import os
import time
from collections import OrderedDict
from typing import Any, Protocol

from sqlalchemy import text

logger = logging.getLogger(__name__)

INBOUND_DEDUPE_TTL_SECONDS = 10 * 60
INBOUND_DEDUPE_MAX_ENTRIES = 4096

# Key tuple matches ChannelManager._inbound_dedupe_key:
# (channel_name, workspace_id, 

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key