ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes

This commit is contained in:
Ida 2026-05-03 18:01:10 +02:00
parent 218c58709e
commit c698413eaa
4 changed files with 23 additions and 0 deletions

View file

@ -20,7 +20,11 @@ FILE_NODES = [
], ],
"inputs": 1, "inputs": 1,
"outputs": 1, "outputs": 1,
<<<<<<< HEAD
"inputPorts": {0: {"accepts": ["AiResult", "TextResult", "Transit", "FormPayload", "LoopItem", "ActionResult"]}}, "inputPorts": {0: {"accepts": ["AiResult", "TextResult", "Transit", "FormPayload", "LoopItem", "ActionResult"]}},
=======
"inputPorts": {0: {"accepts": ["AiResult", "TextResult", "Transit", "FormPayload"]}},
>>>>>>> 875f8252 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
"outputPorts": {0: {"schema": "DocumentList"}}, "outputPorts": {0: {"schema": "DocumentList"}},
"meta": {"icon": "mdi-file-plus-outline", "color": "#2196F3", "usesAi": False}, "meta": {"icon": "mdi-file-plus-outline", "color": "#2196F3", "usesAi": False},
"_method": "file", "_method": "file",

View file

@ -723,9 +723,12 @@ def normalizeToSchema(raw: Any, schemaName: str) -> Dict[str, Any]:
if not schema or schemaName == "Transit": if not schema or schemaName == "Transit":
return result return result
<<<<<<< HEAD
if schemaName == "DocumentList": if schemaName == "DocumentList":
_coerce_document_list_upload_fields(result) _coerce_document_list_upload_fields(result)
=======
>>>>>>> 875f8252 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
# Only default **required** fields. Optional fields stay absent so DataRefs / context # Only default **required** fields. Optional fields stay absent so DataRefs / context
# resolution never pick a synthetic `{}` or `[]` (e.g. AiResult.responseData when the # resolution never pick a synthetic `{}` or `[]` (e.g. AiResult.responseData when the
# model returned plain text only). # model returned plain text only).

View file

@ -559,6 +559,7 @@ class AiCallLooper:
if iteration >= maxIterations: if iteration >= maxIterations:
logger.warning(f"AI call stopped after maximum iterations ({maxIterations})") logger.warning(f"AI call stopped after maximum iterations ({maxIterations})")
<<<<<<< HEAD
# Prefer last repaired complete JSON from getContexts (raw `result` is only the last fragment). # Prefer last repaired complete JSON from getContexts (raw `result` is only the last fragment).
if lastValidCompletePart and useCase and not useCase.requiresExtraction: if lastValidCompletePart and useCase and not useCase.requiresExtraction:
try: try:
@ -577,6 +578,11 @@ class AiCallLooper:
except Exception as e: except Exception as e:
logger.debug("Max-iterations fallback on completePart failed: %s", e) logger.debug("Max-iterations fallback on completePart failed: %s", e)
=======
# This code path should never be reached because all registered use cases
# return early when JSON is complete. This would only execute for use cases that
# require section extraction, but no such use cases are currently registered.
>>>>>>> 875f8252 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
logger.error( logger.error(
"End of callAiWithLooping without success for use case %r (iterations=%s, lastResultLen=%s)", "End of callAiWithLooping without success for use case %r (iterations=%s, lastResultLen=%s)",
useCaseId, useCaseId,

View file

@ -39,6 +39,12 @@ class RendererCsv(BaseRenderer):
""" """
return ["table", "code_block"] return ["table", "code_block"]
<<<<<<< HEAD
=======
<<<<<<< HEAD
async def render(self, extractedContent: Dict[str, Any], title: str, userPrompt: str = None, aiService=None, *, style: Dict[str, Any] = None) -> List[RenderedDocument]:
=======
>>>>>>> 875f8252 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
async def render( async def render(
self, self,
extractedContent: Dict[str, Any], extractedContent: Dict[str, Any],
@ -48,6 +54,10 @@ class RendererCsv(BaseRenderer):
*, *,
style: Dict[str, Any] = None, style: Dict[str, Any] = None,
) -> List[RenderedDocument]: ) -> List[RenderedDocument]:
<<<<<<< HEAD
=======
>>>>>>> 0659d0d2 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
>>>>>>> 875f8252 (ValueOn Lead to Offer durchgespielt, bugfixes in Dateigenerierung und ai nodes)
"""Render extracted JSON content to CSV format. Produces one CSV file per table section.""" """Render extracted JSON content to CSV format. Produces one CSV file per table section."""
_ = style _ = style
try: try: