This commit is contained in:
ValueOn AG 2026-01-04 20:01:46 +01:00
parent 1ef3c57e39
commit 7e04d70683

View file

@ -426,7 +426,7 @@ class LoopingUseCase:
"""Configuration for a specific looping use case.""" """Configuration for a specific looping use case."""
# Identification # Identification
useCaseId: str # "section_content", "chapter_structure", "document_structure", "code_structure", "code_content", "image_batch" useCaseId: str # "section_content", "chapter_structure", "code_structure", "code_content"
# JSON Format Detection # JSON Format Detection
jsonTemplate: Dict[str, Any] # Expected JSON structure template jsonTemplate: Dict[str, Any] # Expected JSON structure template
@ -533,15 +533,6 @@ class LoopingUseCaseRegistry:
requiresExtraction=False requiresExtraction=False
)) ))
# Use Case 3: Document Structure Generation
self.register(LoopingUseCase(
useCaseId="document_structure",
jsonTemplate={"documents": [{"sections": []}]},
detectionKeys=["sections"],
detectionPath="documents[0].sections",
initialPromptBuilder=buildDocumentStructurePrompt,
continuationPromptBuilder=buildDocumentStructureContinuationPrompt,
accumulator=accumulateDocumentSections,
merger=mergeDocumentSections, merger=mergeDocumentSections,
continuationContextBuilder=buildDocumentContinuationContext, continuationContextBuilder=buildDocumentContinuationContext,
resultBuilder=buildDocumentResultFromSections, resultBuilder=buildDocumentResultFromSections,
@ -598,17 +589,6 @@ class LoopingUseCaseRegistry:
requiresExtraction=False requiresExtraction=False
)) ))
# Use Case 6: Image Batch Generation (NEW)
self.register(LoopingUseCase(
useCaseId="image_batch",
jsonTemplate={"images": []},
detectionKeys=["images"],
detectionPath="images",
initialPromptBuilder=buildImageBatchPrompt,
continuationPromptBuilder=buildImageBatchContinuationPrompt,
accumulator=None, # Direct return
merger=None,
continuationContextBuilder=buildImageContinuationContext,
resultBuilder=None, resultBuilder=None,
supportsAccumulation=False, supportsAccumulation=False,
requiresExtraction=False requiresExtraction=False
@ -644,7 +624,7 @@ class AiCallLooper:
Generic looping system with parametrized use case. Generic looping system with parametrized use case.
Args: Args:
useCaseId: REQUIRED explicit use case ID (e.g., "code_structure", "document_structure", "section_content") useCaseId: REQUIRED explicit use case ID (e.g., "code_structure", "section_content", "chapter_structure")
promptArgs: Optional arguments for prompt builders promptArgs: Optional arguments for prompt builders
... (other args) ... (other args)
""" """
@ -1400,7 +1380,7 @@ async def execute(self, parameters: Dict[str, Any]) -> ActionResult:
2. **Generic Looping System** 2. **Generic Looping System**
- Create `LoopingUseCase` dataclass - Create `LoopingUseCase` dataclass
- Create `LoopingUseCaseRegistry` - Create `LoopingUseCaseRegistry`
- Register existing use cases (section_content, chapter_structure, document_structure) - Register existing use cases (section_content, chapter_structure, code_structure)
- Refactor `subAiCallLooping.py` to use registry - Refactor `subAiCallLooping.py` to use registry
### Phase 2: Code Generation (Weeks 3-4) ### Phase 2: Code Generation (Weeks 3-4)