signalvault-verifiable-priv.../signalvault_verifiable_priv.../dsl.py

42 lines
875 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from typing import Dict, List, Optional
@dataclass
class LocalProblem:
id: str
asset: str
objective: str
constraints: Dict[str, object] = field(default_factory=dict)
version: int = 1
@dataclass
class SharedVariables:
contract_id: str
variables: Dict[str, object] = field(default_factory=dict)
version: int = 1
@dataclass
class PlanDelta:
delta: Dict[str, object]
timestamp: int
author: Optional[str] = None
contract_id: Optional[str] = None
privacy_budget: Optional[float] = None
@dataclass
class AuditLog:
entries: List[str] = field(default_factory=list)
signer: Optional[str] = None
timestamp: Optional[int] = None
contract_id: Optional[str] = None
# Backwards-compat alias for external imports
DSLAuditLog = AuditLog