← Files AI-DM 4 EngineARCHIVED FILE
skills/run-ai-dm-4-engine/scripts/aidm4_core/jsonutil.py
668 Bytes · Sep 30, 2026 · 23:13 UTC
from __future__ import annotations
import hashlib
import json
from typing import Any
def canonical_json(value: Any) -> str:
"""Return the only JSON encoding used in hashes and deterministic exports."""
return json.dumps(
value,
ensure_ascii=False,
sort_keys=True,
separators=(",", ":"),
allow_nan=False,
)
def sha256_text(value: str) -> str:
return hashlib.sha256(value.encode("utf-8")).hexdigest()
def sha256_json(value: Any) -> str:
return sha256_text(canonical_json(value))
def normalize_json_text(value: str | None) -> Any:
if value is None:
return None
return json.loads(value)
SHA-256: f6a13cad6dcefbd06d997866e84af0aa7b628cd7cc8bc31f2e60a3b16016facb