Skip to content

Commit 4c5534b

Browse files
fix: marked required fields for fields with MultilineInput input types. (#10579)
fix: marked required fields with MultilineInputs Co-authored-by: Edwin Jose <edwin.jose@datastax.com>
1 parent 250d5d8 commit 4c5534b

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/lfx/src/lfx/base/composio/composio_base.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,9 @@ def _validate_schema_inputs(self, action_key: str) -> list[InputTypes]:
723723
parameters_schema = parameters_schema.copy() # Don't modify the original
724724
parameters_schema["required"] = []
725725

726+
# Also get top-level required fields from original schema
727+
original_required = set(parameters_schema.get("required", []))
728+
726729
try:
727730
# Preserve original descriptions before flattening to restore if lost
728731
original_descriptions = {}
@@ -946,14 +949,16 @@ def _validate_schema_inputs(self, action_key: str) -> list[InputTypes]:
946949
if any(getattr(i, "name", None) == top_name for i in processed_inputs):
947950
continue
948951
top_schema = props_dict.get(top_name, {})
952+
# For MultilineInput fields (complex JSON objects/arrays)
953+
is_required = top_name in original_required
949954
processed_inputs.append(
950955
MultilineInput(
951956
name=top_name,
952957
display_name=top_schema.get("title") or top_name.replace("_", " ").title(),
953958
info=(
954959
top_schema.get("description") or "Provide JSON for this parameter (object or array)."
955960
),
956-
required=top_name in required_fields_set,
961+
required=is_required, # Setting original schema
957962
)
958963
)
959964

0 commit comments

Comments
 (0)