__init__.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. """
  2. Trace 模块 - Context 管理 + 可视化
  3. 核心职责:
  4. 1. Trace/Step 模型定义
  5. 2. 存储接口和实现(内存/数据库)
  6. 3. RESTful API(可视化查询)
  7. 4. WebSocket 推送(实时更新)
  8. """
  9. # 模型(核心,无依赖)
  10. from agent.trace.models import Trace, Step, StepType, Status
  11. # 存储接口(核心,无依赖)
  12. from agent.trace.protocols import TraceStore
  13. # 内存存储实现(核心,无依赖)
  14. from agent.trace.memory_store import MemoryTraceStore
  15. # API 路由(可选,需要 FastAPI)
  16. def _get_api_router():
  17. """延迟导入 API Router(避免强制依赖 FastAPI)"""
  18. from agent.trace.api import router
  19. return router
  20. def _get_ws_router():
  21. """延迟导入 WebSocket Router(避免强制依赖 FastAPI)"""
  22. from agent.trace.websocket import router
  23. return router
  24. # WebSocket 广播函数(可选,需要 FastAPI)
  25. def _get_broadcast_functions():
  26. """延迟导入 WebSocket 广播函数"""
  27. from agent.trace.websocket import (
  28. broadcast_step_added,
  29. broadcast_step_updated,
  30. broadcast_trace_completed,
  31. )
  32. return broadcast_step_added, broadcast_step_updated, broadcast_trace_completed
  33. # 便捷属性(仅在访问时导入)
  34. @property
  35. def api_router():
  36. return _get_api_router()
  37. @property
  38. def ws_router():
  39. return _get_ws_router()
  40. __all__ = [
  41. # 模型
  42. "Trace",
  43. "Step",
  44. "StepType",
  45. "Status",
  46. # 存储
  47. "TraceStore",
  48. "MemoryTraceStore",
  49. ]