M2b:删除旧 chat 体系——线性会话/叩心/情绪/纪念日模型与页面退役(迁移 003 双向验证),runs 去会话外键,测试全量修剪
This commit is contained in:
1 parent
5f36e3785c
commit
ad9c9e942a
22 files changed
+424
-427
No files matched your search
@@ -30,12 +30,10 @@ from app.core.logging import (
|
||||
from app.db.init_data import seed_default_data
|
||||
from app.db.session import AsyncSessionLocal, close_engine
|
||||
from app.integrations.sandbox.client import SandboxClient
|
||||
from app.modules.knocking.pivot import KnockingPivot
|
||||
from app.modules.safety.confirmation import InMemoryConfirmationStore
|
||||
from app.schemas.common import ErrorResponse
|
||||
from app.services.dispatcher import Dispatcher
|
||||
from app.services.event_store import DbEventStore
|
||||
from app.services.personality_emotion import handle_time_event
|
||||
from app.services.safety import load_governor_from_db
|
||||
|
||||
# 模块级初始化日志系统:import 本模块即完成 loguru 配置并接管标准 logging,
|
||||
@@ -117,12 +115,7 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
# 一炁进程内订阅分发器:订阅 EventStore 全量事件,按 glob pattern 分发给注册的 handler。
|
||||
# 各枢核心就绪后在 start() 前 register;lifespan 管理 start/stop。
|
||||
_app.state.dispatcher = Dispatcher(_app.state.event_store)
|
||||
# 灵核情绪状态机:订阅辰正 time.* 事件驱动 EmotionState(设计 §11,首个真实 handler)
|
||||
_app.state.dispatcher.register("time.*", handle_time_event)
|
||||
await _app.state.dispatcher.start()
|
||||
# 叩心枢主动对话守护进程:后台常驻循环,在 dispatcher 就绪后启动
|
||||
_app.state.knocking_pivot = KnockingPivot(_app.state.event_store)
|
||||
await _app.state.knocking_pivot.start()
|
||||
_app.state.confirmation_store = InMemoryConfirmationStore()
|
||||
if settings.use_db_confirmation_store:
|
||||
from app.modules.safety.confirmation import DbConfirmationStore
|
||||
@@ -177,9 +170,6 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
|
||||
yield
|
||||
|
||||
# 叩心枢先停,再停 dispatcher
|
||||
if getattr(_app.state, "knocking_pivot", None) is not None:
|
||||
await _app.state.knocking_pivot.stop()
|
||||
# Dispatcher 先停(取消 pump/consumer task + unsubscribe all_queue),再关 http/engine
|
||||
if getattr(_app.state, "dispatcher", None) is not None:
|
||||
await _app.state.dispatcher.stop()
|
||||
|
||||
Reference in new issue
Block a user