Ship an independent, feature-flag-gated MAF roundtable skeleton with six isolated tables, atomic single-transaction run launch/cancel, owner-scoped read/write split, shared config enums, and HTTP/concurrency regression tests. Co-authored-by: Cursor <cursoragent@cursor.com>
70 lines
2.1 KiB
Python
70 lines
2.1 KiB
Python
"""Microsoft Agent Framework (MAF) multi-agent roundtable experiment.
|
|
|
|
An independent, feature-flag-gated sibling of the legacy multi-agent
|
|
roundtable (``/api/roundtable-*`` / ``/api/multi-agent/*``). It uses MAF's
|
|
Agent / Workflow / Group Chat orchestration while reusing the existing
|
|
DeerFlow Agent Runtime for each seat's actual execution (tools / skills /
|
|
MCP / sandbox / external writes). Phase 1 ships the persistence skeleton +
|
|
API contracts; the MAF SDK is loaded lazily inside this package only when
|
|
the feature flag is on and a run is actually started (Phase 2+).
|
|
|
|
Boundary: this package is the **only** place the MAF SDK is imported. It may
|
|
import ``deerflow.*`` (harness) freely but must not be imported by
|
|
``deerflow.*``. The harness-layer persistence (``deerflow.persistence.maf_roundtable``)
|
|
holds only pure data models and never imports the MAF SDK.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from app.maf_roundtable.schemas import ( # noqa: F401 — re-exported for the router
|
|
ActionListResponse,
|
|
ActionResponse,
|
|
ApprovalDecisionRequest,
|
|
ApprovalListResponse,
|
|
ApprovalResponse,
|
|
CreateRunRequest,
|
|
CreateSessionRequest,
|
|
EventListResponse,
|
|
EventResponse,
|
|
HealthResponse,
|
|
ParticipantInput,
|
|
ParticipantResponse,
|
|
RunListResponse,
|
|
RunResponse,
|
|
SessionListResponse,
|
|
SessionResponse,
|
|
UpdateSessionRequest,
|
|
)
|
|
from app.maf_roundtable.service import ( # noqa: F401
|
|
MafConflictError,
|
|
MafDisabledError,
|
|
MafForbiddenError,
|
|
MafNotFoundError,
|
|
MafRoundtableService,
|
|
)
|
|
|
|
__all__ = [
|
|
"ActionListResponse",
|
|
"ActionResponse",
|
|
"ApprovalDecisionRequest",
|
|
"ApprovalListResponse",
|
|
"ApprovalResponse",
|
|
"CreateRunRequest",
|
|
"CreateSessionRequest",
|
|
"EventListResponse",
|
|
"EventResponse",
|
|
"HealthResponse",
|
|
"MafConflictError",
|
|
"MafDisabledError",
|
|
"MafForbiddenError",
|
|
"MafNotFoundError",
|
|
"MafRoundtableService",
|
|
"ParticipantInput",
|
|
"ParticipantResponse",
|
|
"RunListResponse",
|
|
"RunResponse",
|
|
"SessionListResponse",
|
|
"SessionResponse",
|
|
"UpdateSessionRequest",
|
|
]
|