Spaces:
Paused
Paused
| import os | |
| import json | |
| from datetime import datetime | |
| from typing import Any, Dict, List, Optional | |
| def ensure_storage_dirs() -> None: | |
| os.makedirs("./data", exist_ok=True) | |
| def write_jsonl(path: str, record: Dict[str, Any]) -> None: | |
| ensure_storage_dirs() | |
| with open(path, "a", encoding="utf-8") as f: | |
| f.write(json.dumps(record, default=_json_default) + "\n") | |
| def read_jsonl(path: str) -> List[Dict[str, Any]]: | |
| records: List[Dict[str, Any]] = [] | |
| if not os.path.exists(path): | |
| return records | |
| with open(path, "r", encoding="utf-8") as f: | |
| for line in f: | |
| line = line.strip() | |
| if line: | |
| records.append(json.loads(line)) | |
| return records | |
| def save_receipt(receipt: Dict[str, Any]) -> None: | |
| write_jsonl("./data/receipts.jsonl", receipt) | |
| def load_receipt_by_id(receipt_id: str) -> Optional[Dict[str, Any]]: | |
| for record in read_jsonl("./data/receipts.jsonl"): | |
| if record.get("receipt_id") == receipt_id: | |
| return record | |
| return None | |
| def save_lease(lease: Dict[str, Any]) -> None: | |
| write_jsonl("./data/leases.jsonl", lease) | |
| def save_job_event(event: Dict[str, Any]) -> None: | |
| write_jsonl("./data/job_events.jsonl", event) | |
| def save_windsurf_packet(packet: Dict[str, Any]) -> None: | |
| write_jsonl("./data/windsurf_packets.jsonl", packet) | |
| def _json_default(obj: Any) -> Any: | |
| if isinstance(obj, datetime): | |
| return obj.isoformat() | |
| raise TypeError(f"Object of type {type(obj)} is not JSON serializable") | |