feat(agent): migrate to native CrewAI tool loop and async resume enqueue

This commit is contained in:
zl-q
2026-03-08 16:01:16 +08:00
parent 120df903d2
commit 8a23018b6d
29 changed files with 2234 additions and 1115 deletions
+20 -1
View File
@@ -56,6 +56,25 @@ class ScheduleItemService(BaseService):
self._auth_gateway = auth_gateway or SupabaseAuthGateway()
async def create(self, request: ScheduleItemCreateRequest) -> ScheduleItemResponse:
return await self._create_with_source(
request=request,
source_type=ScheduleItemSourceType.MANUAL,
)
async def create_agent_generated(
self, request: ScheduleItemCreateRequest
) -> ScheduleItemResponse:
return await self._create_with_source(
request=request,
source_type=ScheduleItemSourceType.AGENT_GENERATED,
)
async def _create_with_source(
self,
*,
request: ScheduleItemCreateRequest,
source_type: ScheduleItemSourceType,
) -> ScheduleItemResponse:
user_id = self.require_user_id()
if request.end_at and request.end_at <= request.start_at:
@@ -69,7 +88,7 @@ class ScheduleItemService(BaseService):
"end_at": request.end_at,
"timezone": request.timezone,
"metadata": request.metadata.model_dump() if request.metadata else {},
"source_type": ScheduleItemSourceType.MANUAL,
"source_type": source_type,
"status": ScheduleItemStatus.ACTIVE,
"created_by": user_id,
}