Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions src/julee/api/dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,16 @@
from temporalio.client import Client
from temporalio.contrib.pydantic import pydantic_data_converter

from julee.domain.repositories.assembly_specification import (
from julee.contrib.ceap.domain.repositories.assembly_specification import (
AssemblySpecificationRepository,
)
from julee.domain.repositories.document import (
from julee.contrib.ceap.domain.repositories.document import (
DocumentRepository,
)
from julee.domain.repositories.knowledge_service_config import (
from julee.contrib.ceap.domain.repositories.knowledge_service_config import (
KnowledgeServiceConfigRepository,
)
from julee.domain.repositories.knowledge_service_query import (
from julee.contrib.ceap.domain.repositories.knowledge_service_query import (
KnowledgeServiceQueryRepository,
)
from julee.repositories.minio.assembly_specification import (
Expand Down Expand Up @@ -224,7 +224,7 @@ async def get_system_initialization_service(
from julee.api.services.system_initialization import (
SystemInitializationService,
)
from julee.domain.use_cases.initialize_system_data import (
from julee.contrib.ceap.use_cases.initialize_system_data import (
InitializeSystemDataUseCase,
)

Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

from pydantic import BaseModel, Field, ValidationInfo, field_validator

from julee.domain.models import (
from julee.contrib.ceap.domain.models import (
AssemblySpecification,
AssemblySpecificationStatus,
KnowledgeServiceQuery,
Expand Down
4 changes: 2 additions & 2 deletions src/julee/api/routers/assembly_specifications.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
get_assembly_specification_repository,
)
from julee.api.requests import CreateAssemblySpecificationRequest
from julee.domain.models import AssemblySpecification
from julee.domain.repositories.assembly_specification import (
from julee.contrib.ceap.domain.models import AssemblySpecification
from julee.contrib.ceap.domain.repositories.assembly_specification import (
AssemblySpecificationRepository,
)

Expand Down
4 changes: 2 additions & 2 deletions src/julee/api/routers/documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
from fastapi_pagination import Page, paginate

from julee.api.dependencies import get_document_repository
from julee.domain.models.document import Document
from julee.domain.repositories.document import DocumentRepository
from julee.contrib.ceap.domain.models.document import Document
from julee.contrib.ceap.domain.repositories.document import DocumentRepository

logger = logging.getLogger(__name__)

Expand Down
4 changes: 2 additions & 2 deletions src/julee/api/routers/knowledge_service_configs.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@
from julee.api.dependencies import (
get_knowledge_service_config_repository,
)
from julee.domain.models.knowledge_service_config import (
from julee.contrib.ceap.domain.models.knowledge_service_config import (
KnowledgeServiceConfig,
)
from julee.domain.repositories.knowledge_service_config import (
from julee.contrib.ceap.domain.repositories.knowledge_service_config import (
KnowledgeServiceConfigRepository,
)

Expand Down
4 changes: 2 additions & 2 deletions src/julee/api/routers/knowledge_service_queries.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
get_knowledge_service_query_repository,
)
from julee.api.requests import CreateKnowledgeServiceQueryRequest
from julee.domain.models import KnowledgeServiceQuery
from julee.domain.repositories.knowledge_service_query import (
from julee.contrib.ceap.domain.models import KnowledgeServiceQuery
from julee.contrib.ceap.domain.repositories.knowledge_service_query import (
KnowledgeServiceQueryRepository,
)

Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/routers/workflows.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
from temporalio.client import Client

from julee.api.dependencies import get_temporal_client
from julee.workflows.extract_assemble import (
from julee.contrib.ceap.apps.worker.extract_assemble import (
EXTRACT_ASSEMBLE_RETRY_POLICY,
ExtractAssembleWorkflow,
)
Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/services/system_initialization.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import logging
from typing import Any

from julee.domain.use_cases.initialize_system_data import (
from julee.contrib.ceap.use_cases.initialize_system_data import (
InitializeSystemDataRequest,
InitializeSystemDataUseCase,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
get_assembly_specification_repository,
)
from julee.api.routers.assembly_specifications import router
from julee.domain.models import (
from julee.contrib.ceap.domain.models import (
AssemblySpecification,
AssemblySpecificationStatus,
)
Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/tests/routers/test_documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from julee.api.dependencies import get_document_repository
from julee.api.routers.documents import router
from julee.domain.models.document import Document, DocumentStatus
from julee.contrib.ceap.domain.models.document import Document, DocumentStatus
from julee.repositories.memory import MemoryDocumentRepository

pytestmark = pytest.mark.unit
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from julee.api.dependencies import (
get_knowledge_service_config_repository,
)
from julee.domain.models.knowledge_service_config import (
from julee.contrib.ceap.domain.models.knowledge_service_config import (
KnowledgeServiceConfig,
ServiceApi,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
get_knowledge_service_query_repository,
)
from julee.api.routers.knowledge_service_queries import router
from julee.domain.models import KnowledgeServiceQuery
from julee.contrib.ceap.domain.models import KnowledgeServiceQuery
from julee.repositories.memory import (
MemoryKnowledgeServiceQueryRepository,
)
Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/tests/test_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
get_knowledge_service_query_repository,
)
from julee.api.responses import ServiceStatus
from julee.domain.models import KnowledgeServiceQuery
from julee.contrib.ceap.domain.models import KnowledgeServiceQuery
from julee.repositories.memory import (
MemoryKnowledgeServiceQueryRepository,
)
Expand Down
2 changes: 1 addition & 1 deletion src/julee/api/tests/test_requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
CreateAssemblySpecificationRequest,
CreateKnowledgeServiceQueryRequest,
)
from julee.domain.models import (
from julee.contrib.ceap.domain.models import (
AssemblySpecification,
AssemblySpecificationStatus,
KnowledgeServiceQuery,
Expand Down
6 changes: 6 additions & 0 deletions src/julee/contrib/ceap/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""
CEAP (Capture, Extract, Assemble, Publish) contrib package.

This package contains the domain models, repositories, use cases, and
workflows for the CEAP pipeline, following Clean Architecture principles.
"""
3 changes: 3 additions & 0 deletions src/julee/contrib/ceap/apps/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"""
Application entry points for the CEAP contrib package.
"""
22 changes: 22 additions & 0 deletions src/julee/contrib/ceap/apps/worker/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
"""
Temporal workflow definitions for the CEAP pipeline.

This package contains Temporal workflow definitions that orchestrate
CEAP use cases with durability guarantees, retry logic, and state management.
"""

from .extract_assemble import (
EXTRACT_ASSEMBLE_RETRY_POLICY,
ExtractAssembleWorkflow,
)
from .validate_document import (
VALIDATE_DOCUMENT_RETRY_POLICY,
ValidateDocumentWorkflow,
)

__all__ = [
"ExtractAssembleWorkflow",
"EXTRACT_ASSEMBLE_RETRY_POLICY",
"ValidateDocumentWorkflow",
"VALIDATE_DOCUMENT_RETRY_POLICY",
]
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from temporalio import workflow
from temporalio.common import RetryPolicy

from julee.domain.models.assembly import Assembly
from julee.domain.use_cases import ExtractAssembleDataUseCase
from julee.contrib.ceap.domain.models.assembly import Assembly
from julee.contrib.ceap.use_cases import ExtractAssembleDataUseCase
from julee.repositories.temporal.proxies import (
WorkflowAssemblyRepositoryProxy,
WorkflowAssemblySpecificationRepositoryProxy,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
from temporalio import workflow
from temporalio.common import RetryPolicy

from julee.domain.models.policy import DocumentPolicyValidation
from julee.domain.use_cases import ValidateDocumentUseCase
from julee.contrib.ceap.domain.models.policy import DocumentPolicyValidation
from julee.contrib.ceap.use_cases import ValidateDocumentUseCase
from julee.repositories.temporal.proxies import (
WorkflowDocumentRepositoryProxy,
WorkflowKnowledgeServiceConfigRepositoryProxy,
Expand Down
3 changes: 3 additions & 0 deletions src/julee/contrib/ceap/domain/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
"""
CEAP domain package.
"""
44 changes: 44 additions & 0 deletions src/julee/contrib/ceap/domain/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
"""
Domain models for the CEAP (Capture, Extract, Assemble, Publish) pipeline.

Re-exports commonly used models for convenient importing:
from julee.contrib.ceap.domain.models import Document, Assembly, Policy
"""

# Document models
# Assembly models
from .assembly import Assembly, AssemblyStatus
from .assembly_specification import (
AssemblySpecification,
AssemblySpecificationStatus,
KnowledgeServiceQuery,
)

# Custom field types
from .custom_fields.content_stream import ContentStream
from .document import Document, DocumentStatus

# Configuration models
from .knowledge_service_config import KnowledgeServiceConfig

# Policy models
from .policy import DocumentPolicyValidation, Policy, PolicyStatus

__all__ = [
# Document models
"Document",
"DocumentStatus",
"ContentStream",
# Assembly models
"Assembly",
"AssemblyStatus",
"AssemblySpecification",
"AssemblySpecificationStatus",
"KnowledgeServiceQuery",
# Configuration models
"KnowledgeServiceConfig",
# Policy models
"Policy",
"PolicyStatus",
"DocumentPolicyValidation",
]
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from factory.declarations import LazyFunction
from factory.faker import Faker

from julee.domain.models.assembly import (
from julee.contrib.ceap.domain.models.assembly import (
Assembly,
AssemblyStatus,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.assembly import Assembly, AssemblyStatus
from julee.contrib.ceap.domain.models.assembly import Assembly, AssemblyStatus

from .factories import AssemblyFactory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from factory.declarations import LazyAttribute, LazyFunction
from factory.faker import Faker

from julee.domain.models.assembly_specification import (
from julee.contrib.ceap.domain.models.assembly_specification import (
AssemblySpecification,
AssemblySpecificationStatus,
KnowledgeServiceQuery,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.assembly_specification import (
from julee.contrib.ceap.domain.models.assembly_specification import (
AssemblySpecification,
AssemblySpecificationStatus,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.assembly_specification import (
from julee.contrib.ceap.domain.models.assembly_specification import (
KnowledgeServiceQuery,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import pytest

from julee.domain.models.custom_fields.content_stream import (
from julee.contrib.ceap.domain.models.custom_fields.content_stream import (
ContentStream,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

from pydantic import BaseModel, Field, ValidationInfo, field_validator, model_validator

from julee.domain.models.custom_fields.content_stream import (
from julee.contrib.ceap.domain.models.custom_fields.content_stream import (
ContentStream,
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@
from factory.declarations import LazyAttribute, LazyFunction
from factory.faker import Faker

from julee.domain.models.custom_fields.content_stream import (
from julee.contrib.ceap.domain.models.custom_fields.content_stream import (
ContentStream,
)
from julee.domain.models.document import Document, DocumentStatus
from julee.contrib.ceap.domain.models.document import Document, DocumentStatus


# Helper functions to generate content bytes consistently
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.document import Document
from julee.contrib.ceap.domain.models.document import Document

from .factories import ContentStreamFactory, DocumentFactory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from factory.declarations import LazyFunction
from factory.faker import Faker

from julee.domain.models.policy import (
from julee.contrib.ceap.domain.models.policy import (
DocumentPolicyValidation,
DocumentPolicyValidationStatus,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.policy import (
from julee.contrib.ceap.domain.models.policy import (
DocumentPolicyValidation,
DocumentPolicyValidationStatus,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import pytest
from pydantic import ValidationError

from julee.domain.models.policy import (
from julee.contrib.ceap.domain.models.policy import (
Policy,
PolicyStatus,
)
Expand Down
24 changes: 24 additions & 0 deletions src/julee/contrib/ceap/domain/repositories/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
"""
Repository protocols for the CEAP (Capture, Extract, Assemble, Publish) domain.

This module exports all repository protocol interfaces for the CEAP workflow,
following the Clean Architecture patterns established in the Julee framework.
"""

from .assembly import AssemblyRepository
from .assembly_specification import AssemblySpecificationRepository
from .document import DocumentRepository
from .document_policy_validation import DocumentPolicyValidationRepository
from .knowledge_service_config import KnowledgeServiceConfigRepository
from .knowledge_service_query import KnowledgeServiceQueryRepository
from .policy import PolicyRepository

__all__ = [
"DocumentRepository",
"AssemblyRepository",
"AssemblySpecificationRepository",
"KnowledgeServiceConfigRepository",
"KnowledgeServiceQueryRepository",
"PolicyRepository",
"DocumentPolicyValidationRepository",
]
Loading
Loading