blu-assistant / src /blu /tools.py
Aravindhan11's picture
Upload 33 files
9776024 verified
raw
history blame contribute delete
616 Bytes
import math, os, json, subprocess
from typing import Any, Dict
def calc(expression: str) -> str:
try:
allowed = {k: getattr(math, k) for k in dir(math) if not k.startswith('_')}
allowed['abs'] = abs
res = eval(expression, {'__builtins__': {}}, allowed)
return str(res)
except Exception as e:
return f"Calculator error: {e}"
def read_file(path: str, max_chars: int = 4000) -> str:
try:
with open(path, 'r', encoding='utf-8', errors='ignore') as f:
return f.read()[:max_chars]
except Exception as e:
return f"File read error: {e}"