julee.api.routers.workflows

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

Classes

StartExtractAssembleRequest

Request model for starting extract-assemble workflow.

StartWorkflowResponse

Response model for starting a workflow.

WorkflowStatusResponse

Response model for workflow status.

Functions

get_workflow_status(workflow_id[, temporal_client])

Get the status of a workflow.

start_extract_assemble_workflow(request[, temporal_client])

Start an extract-assemble workflow.

Module Contents

class julee.api.routers.workflows.StartExtractAssembleRequest(/, **data)[source]

Bases: pydantic.BaseModel

Request model for starting extract-assemble workflow.

assembly_specification_id: str = None[source]
document_id: str = None[source]
workflow_id: str | None = None[source]
class julee.api.routers.workflows.StartWorkflowResponse(/, **data)[source]

Bases: pydantic.BaseModel

Response model for starting a workflow.

message: str[source]
run_id: str[source]
status: str[source]
workflow_id: str[source]
class julee.api.routers.workflows.WorkflowStatusResponse(/, **data)[source]

Bases: pydantic.BaseModel

Response model for workflow status.

assembly_id: str | None = None[source]
current_step: str | None = None[source]
run_id: str[source]
status: str[source]
workflow_id: str[source]
async julee.api.routers.workflows.get_workflow_status(workflow_id, temporal_client=Depends(get_temporal_client))[source]

Get the status of a workflow.

Parameters:
  • workflow_id (str) – Workflow ID to query

  • temporal_client (temporalio.client.Client) – Temporal client dependency

Returns:

Current workflow status and details

Raises:

HTTPException – If workflow not found or query fails

Return type:

WorkflowStatusResponse

async julee.api.routers.workflows.start_extract_assemble_workflow(request, temporal_client=Depends(get_temporal_client))[source]

Start an extract-assemble workflow.

Parameters:
  • request (StartExtractAssembleRequest) – Workflow start request with document and spec IDs

  • temporal_client (temporalio.client.Client) – Temporal client dependency

Returns:

Workflow ID and initial status

Raises:

HTTPException – If workflow start fails

Return type:

StartWorkflowResponse

julee.api.routers.workflows.logger[source]
julee.api.routers.workflows.router[source]