Skip to content
Open
19 changes: 18 additions & 1 deletion src/tirith/core/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,24 @@ def generate_evaluator_result(evaluator_obj, input_data, provider_module):
continue

evaluation_result = evaluator_instance.evaluate(evaluator_input["value"], evaluator_data)
evaluation_result["meta"] = evaluator_input.get("meta")
meta = evaluator_input.get("meta")
Comment thread
refeed marked this conversation as resolved.
Outdated

# Include meta if it exists and isn't None
if meta:
evaluation_result["meta"] = meta

# Handle address - provider may have already set it
address = evaluator_input.get("address")
if address:
# Use the address directly from the provider result and add it to the evaluation result
evaluation_result["address"] = address
evaluation_result["message"] = f"{evaluation_result['message']} - (Address: `{address}`)"
Copy link

Copilot AI Jun 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The logic for updating the 'message' field in both the 'if address:' and 'elif meta and ...' blocks is duplicated. Consider refactoring this section to extract a common method that appends the address information to improve maintainability.

Copilot uses AI. Check for mistakes.
# Check if address is in meta as a fallback for backward compatibility
elif meta and isinstance(meta, dict) and "address" in meta:
address = meta["address"]
evaluation_result["address"] = address
evaluation_result["message"] = f"{evaluation_result['message']} - (Address: `{address}`)"

evaluation_results.append(evaluation_result)
has_valid_evaluation = True

Expand Down
7 changes: 6 additions & 1 deletion src/tirith/providers/json/handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@ def get_value(provider_args: Dict, input_data: Dict) -> List[dict]:
)
]

outputs = [create_result_dict(value=value, meta=None, err=None) for value in values]
# Create result dict with address as a separate property, not in meta
outputs = []
for value in values:
result = create_result_dict(value=value, meta=None, err=None)
result["address"] = key_path
outputs.append(result)

return outputs

Expand Down