From f02c3433f6d8e554aaca5b6a489f051a3159cf26 Mon Sep 17 00:00:00 2001 From: Stream Date: Mon, 18 Aug 2025 16:19:03 +0800 Subject: [PATCH 1/5] fix: treat default template of code as empty --- api/controllers/console/app/generator.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/controllers/console/app/generator.py b/api/controllers/console/app/generator.py index 2a81d1b6457bdf..c49412a419284e 100644 --- a/api/controllers/console/app/generator.py +++ b/api/controllers/console/app/generator.py @@ -128,7 +128,8 @@ def post(self): args = parser.parse_args() providers: list[type[CodeNodeProvider]] = [Python3CodeProvider, JavascriptCodeProvider] code_provider: type[CodeNodeProvider] | None = next( - (p for p in providers if p.is_accept_language(args["language"])), None + (p for p in providers if p.is_accept_language(args["language"])), + None ) code_template = code_provider.get_default_code() if code_provider else "" try: From 643c547df3dc0e8ff64e6df38ea44fe598df9884 Mon Sep 17 00:00:00 2001 From: Stream Date: Mon, 18 Aug 2025 20:21:19 +0800 Subject: [PATCH 2/5] feat: better prompt for code fix --- api/core/llm_generator/prompts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/core/llm_generator/prompts.py b/api/core/llm_generator/prompts.py index e38828578a9282..92683475268287 100644 --- a/api/core/llm_generator/prompts.py +++ b/api/core/llm_generator/prompts.py @@ -414,7 +414,7 @@ - Get inputs from the parameters of the function and have explicit type annotations. - Write proper imports at the top of the code. - Use return statement to return the result. -- You should return a `dict`. +- You should return a `dict`. If you need to return a `result: str`, you should `return {"result": result}`. Your output must strictly follow the schema format, do not output any content outside of the JSON body. """ # noqa: E501 From 7d72e5d4f6bd9823282fcfa1ef5285295c3d647a Mon Sep 17 00:00:00 2001 From: Stream Date: Mon, 18 Aug 2025 20:22:27 +0800 Subject: [PATCH 3/5] fix: get correct code template from params --- api/controllers/console/app/generator.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/api/controllers/console/app/generator.py b/api/controllers/console/app/generator.py index c49412a419284e..0f0d9e9b7c0b18 100644 --- a/api/controllers/console/app/generator.py +++ b/api/controllers/console/app/generator.py @@ -12,7 +12,6 @@ ) from controllers.console.wraps import account_initialization_required, setup_required from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError -from core.helper.code_executor.code_node_provider import CodeNodeProvider from core.helper.code_executor.javascript.javascript_code_provider import JavascriptCodeProvider from core.helper.code_executor.python3.python3_code_provider import Python3CodeProvider from core.llm_generator.llm_generator import LLMGenerator @@ -126,12 +125,8 @@ def post(self): parser.add_argument("model_config", type=dict, required=True, nullable=False, location="json") parser.add_argument("ideal_output", type=str, required=False, default="", location="json") args = parser.parse_args() - providers: list[type[CodeNodeProvider]] = [Python3CodeProvider, JavascriptCodeProvider] - code_provider: type[CodeNodeProvider] | None = next( - (p for p in providers if p.is_accept_language(args["language"])), - None - ) - code_template = code_provider.get_default_code() if code_provider else "" + code_template = Python3CodeProvider.get_default_code() if args["language"] == "python" else ( + JavascriptCodeProvider.get_default_code()) if args["language"] == "javascript" else "" try: # Generate from nothing for a workflow node if (args["current"] == code_template or args["current"] == "") and args["node_id"] != "": From 58df5be4ef5d9edde3b247a422774ef273eff6c4 Mon Sep 17 00:00:00 2001 From: Joel Date: Tue, 19 Aug 2025 10:49:37 +0800 Subject: [PATCH 4/5] fix: backend return code --- .../config/code-generator/get-code-generator-res.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx index e0e87aa090256f..b581da979f3453 100644 --- a/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx +++ b/web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx @@ -142,7 +142,7 @@ export const GetCodeGeneratorResModal: FC = ( ideal_output: ideaOutput, language: languageMap[codeLanguages] || 'javascript', }) - if(!currentCode) + if((res as any).code) // not current or current is the same as the template would return a code field res.modified = (res as any).code if (error) { From 27a646bfe4ca6d64518281a2d49dcca2126ce28f Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 05:53:00 +0000 Subject: [PATCH 5/5] [autofix.ci] apply automated fixes --- api/controllers/console/app/generator.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/api/controllers/console/app/generator.py b/api/controllers/console/app/generator.py index 0f0d9e9b7c0b18..9d2acb2520ee58 100644 --- a/api/controllers/console/app/generator.py +++ b/api/controllers/console/app/generator.py @@ -125,8 +125,13 @@ def post(self): parser.add_argument("model_config", type=dict, required=True, nullable=False, location="json") parser.add_argument("ideal_output", type=str, required=False, default="", location="json") args = parser.parse_args() - code_template = Python3CodeProvider.get_default_code() if args["language"] == "python" else ( - JavascriptCodeProvider.get_default_code()) if args["language"] == "javascript" else "" + code_template = ( + Python3CodeProvider.get_default_code() + if args["language"] == "python" + else (JavascriptCodeProvider.get_default_code()) + if args["language"] == "javascript" + else "" + ) try: # Generate from nothing for a workflow node if (args["current"] == code_template or args["current"] == "") and args["node_id"] != "":