feat(feishu): 添加飞书入站事件inbox和混合数据库协调功能

- 实现飞书入站事件持久化inbox机制,支持状态管理、租约锁定和重试退避
- 添加混合数据库基线协调工具,确保平台PostgreSQL结构安全对齐
- 增加运行组件心跳检测和readiness就绪检查机制
- 实现app_ticket事件的安全轮换和验证处理
- 添加生产环境运行编排和fail-closed安全机制
- 支持webhook快速确认和长连接独立进程处理
- 完善个人数据擦除时的待处理事件清理功能
```
This commit is contained in:
2026-07-27 17:14:37 +08:00
parent d7db84571d
commit eb8267ed18
61 changed files with 8703 additions and 183 deletions

View File

@@ -0,0 +1,26 @@
from pathlib import Path
from alembic.config import Config
from alembic.script import ScriptDirectory
from sqlalchemy import inspect, text
from sqlalchemy.engine import Connection
def expected_alembic_heads(project_root: Path | None = None) -> tuple[str, ...]:
"""Return the repository's configured Alembic heads."""
root = project_root or Path(__file__).resolve().parents[3]
config = Config(str(root / "alembic.ini"))
config.set_main_option("script_location", str(root / "alembic"))
return tuple(sorted(ScriptDirectory.from_config(config).get_heads()))
def current_alembic_revisions(connection: Connection) -> tuple[str, ...] | None:
"""Return database revisions, or ``None`` when it was never versioned."""
if "alembic_version" not in inspect(connection).get_table_names():
return None
revisions = connection.execute(
text("SELECT version_num FROM alembic_version ORDER BY version_num")
).scalars()
return tuple(str(revision) for revision in revisions)