julee.api.routers.workflows =========================== .. py:module:: julee.api.routers.workflows .. autoapi-nested-parse:: Workflows API router for the julee CEAP system. This module provides workflow management API endpoints for starting, monitoring, and managing workflows in the system. Routes defined at root level: - POST /extract-assemble - Start extract-assemble workflow - GET /{workflow_id}/status - Get workflow status - GET / - List workflows These routes are mounted with '/workflows' prefix in the main app. Attributes ---------- .. autoapisummary:: julee.api.routers.workflows.logger julee.api.routers.workflows.router Classes ------- .. autoapisummary:: julee.api.routers.workflows.StartExtractAssembleRequest julee.api.routers.workflows.StartWorkflowResponse julee.api.routers.workflows.WorkflowStatusResponse Functions --------- .. autoapisummary:: julee.api.routers.workflows.get_workflow_status julee.api.routers.workflows.start_extract_assemble_workflow Module Contents --------------- .. py:class:: StartExtractAssembleRequest(/, **data) Bases: :py:obj:`pydantic.BaseModel` Request model for starting extract-assemble workflow. .. py:attribute:: assembly_specification_id :type: str :value: None .. py:attribute:: document_id :type: str :value: None .. py:attribute:: workflow_id :type: Optional[str] :value: None .. py:class:: StartWorkflowResponse(/, **data) Bases: :py:obj:`pydantic.BaseModel` Response model for starting a workflow. .. py:attribute:: message :type: str .. py:attribute:: run_id :type: str .. py:attribute:: status :type: str .. py:attribute:: workflow_id :type: str .. py:class:: WorkflowStatusResponse(/, **data) Bases: :py:obj:`pydantic.BaseModel` Response model for workflow status. .. py:attribute:: assembly_id :type: Optional[str] :value: None .. py:attribute:: current_step :type: Optional[str] :value: None .. py:attribute:: run_id :type: str .. py:attribute:: status :type: str .. py:attribute:: workflow_id :type: str .. py:function:: get_workflow_status(workflow_id, temporal_client = Depends(get_temporal_client)) :async: Get the status of a workflow. :param workflow_id: Workflow ID to query :param temporal_client: Temporal client dependency :returns: Current workflow status and details :raises HTTPException: If workflow not found or query fails .. py:function:: start_extract_assemble_workflow(request, temporal_client = Depends(get_temporal_client)) :async: Start an extract-assemble workflow. :param request: Workflow start request with document and spec IDs :param temporal_client: Temporal client dependency :returns: Workflow ID and initial status :raises HTTPException: If workflow start fails .. py:data:: logger .. py:data:: router