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 f184da9898
commit 9ae2ffc415
4 changed files with 23 additions and 0 deletions

View file

@ -20,7 +20,11 @@ FILE_NODES = [
],
"inputs": 1,
"outputs": 1,
<<<<<<< HEAD
"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"}},
"meta": {"icon": "mdi-file-plus-outline", "color": "#2196F3", "usesAi": False},
"_method": "file",

View file

@ -723,9 +723,12 @@ def normalizeToSchema(raw: Any, schemaName: str) -> Dict[str, Any]:
if not schema or schemaName == "Transit":
return result
<<<<<<< HEAD
if schemaName == "DocumentList":
_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
# resolution never pick a synthetic `{}` or `[]` (e.g. AiResult.responseData when the
# model returned plain text only).

View file

@ -559,6 +559,7 @@ class AiCallLooper:
if iteration >= 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).
if lastValidCompletePart and useCase and not useCase.requiresExtraction:
try:
@ -577,6 +578,11 @@ class AiCallLooper:
except Exception as 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(
"End of callAiWithLooping without success for use case %r (iterations=%s, lastResultLen=%s)",
useCaseId,

View file

@ -39,6 +39,12 @@ class RendererCsv(BaseRenderer):
"""
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(
self,
extractedContent: Dict[str, Any],
@ -48,6 +54,10 @@ class RendererCsv(BaseRenderer):
*,
style: Dict[str, Any] = None,
) -> 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."""
_ = style
try: