import sys import os import json import asyncio # Add src to path sys.path.append(os.path.abspath(os.path.join(os.getcwd()))) from src.ircfa_interaction.tools.root_cause_spln_tool import RootCauseSPLNTool tool = RootCauseSPLNTool() test_inputs = [ "hph 5", "lph 1", "LP Feedwater Heater No.2", "HP Feedwater Heater No.6", "centrifugal pump" ] async def test_resolve(): for inp in test_inputs: print(f"\nTesting input: '{inp}'") # Resolve logic matches = await tool._resolve_equipment_type(inp) matched_slugs = [m.equipment_type for m in matches] print(f"Matched slugs: {matched_slugs}") # Test full call result = tool.call({"equipment_type": inp}) if "Error" in result or "error" in result: print(f"Result: ERROR found") else: try: # result might have a guide at the end json_part = result.split("\n\n")[0] records = json.loads(json_part) print(f"Num records found: {len(records.get('standard_reference_spln', []))}") print(f"Sample records: {records.get('standard_reference_spln', [])[:1]}") except Exception as e: print(f"Result (truncated): {result[:200]}...") print("Error parsing:", str(e)) if __name__ == "__main__": asyncio.run(test_resolve())