import re
import sys
import os
# Add src to sys.path to allow importing the package
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../src')))
from korean_law_mcp.main import search_korean_law, read_legal_resource
def run_demo():
print("=== ๐ฐ๐ท Korean Law MCP Agentic Demo ===")
print("Scenario: User asks 'What is the definition of School Violence and show me a related case.'\n")
# Step 1: Find Definition (Smart Statute Search)
print("๐ค Agent Action: Searching for 'ํ๊ตํญ๋ ฅ์๋ฐฉ ๋ฐ ๋์ฑ
์ ๊ดํ ๋ฒ๋ฅ ์ 2์กฐ' (Definition)...")
definition_result = search_korean_law("ํ๊ตํญ๋ ฅ์๋ฐฉ ๋ฐ ๋์ฑ
์ ๊ดํ ๋ฒ๋ฅ ์ 2์กฐ")
print("\n๐ [Result - Definition]:")
print(definition_result)
print("-" * 60)
# Step 2: Search for Precedents (Integrated Search)
print("\n๐ค Agent Action: Searching for 'ํ๊ตํญ๋ ฅ' (Broad Search)...")
search_result = search_korean_law("ํ๊ตํญ๋ ฅ")
print("\n๐ [Result - Search Summary]:")
print(search_result)
# Step 3: Extract a Precedent ID and Read it
# Regex to find a precedent ID: "ID: prec:(\d+)"
match = re.search(r'ID: (prec:\d+)', search_result)
if match:
prec_id = match.group(1)
print(f"\n๐ค Agent Action: Found Precedent ID '{prec_id}'. Reading full content...")
content = read_legal_resource(prec_id)
print("\n๐ [Result - Full Precedent Content (Snippet)]:")
print(content[:1000] + "\n... (truncated) ...") # Print first 1000 chars
else:
print("\nโ ๏ธ No precedent ID found in search results.")
print("\n=== Demo Complete ===")
if __name__ == "__main__":
run_demo()