42 lines
875 B
Python
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
|