#!/usr/bin/env python # coding=utf-8 """ @author: CNWei,ChenWei @Software: PyCharm @contact: t6g888@163.com @file: context @date: 2026/3/14 09:07 @desc: """ from dataclasses import dataclass from typing import Any from pathlib import Path from core.exchange import Exchange from core.session import Session from commons.file_processors.yaml_processor import YamlProcessor class VariableStore: """内存变量仓库:负责 L2 缓存与磁盘的唯一交互""" def __init__(self, seed_file: Path): """ 初始化变量仓库。 Args: seed_file: 初始变量文件路径(YAML格式),用于加载种子数据。 """ self.seed_file = seed_file self.processor = YamlProcessor(seed_file) # 启动时仅加载一次 self.store: dict[str, Any] = self.processor.load() or {} def persist(self): """测试结束时统一写盘""" self.processor.save(self.store) @dataclass class ExecutionEnv: """环境上下文:持有共享资源""" session: Session store: VariableStore exchanger: "Exchange"