Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
"""Filesystem paths for the unbroker skill (stdlib only).
|
||||
|
||||
All per-subject data lives under PDD_DATA_DIR (default: $HERMES_HOME/unbroker),
|
||||
which is the same trust boundary Hermes uses for .env and OAuth tokens.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def hermes_home() -> Path:
|
||||
return Path(os.environ.get("HERMES_HOME") or (Path.home() / ".hermes"))
|
||||
|
||||
|
||||
def data_dir() -> Path:
|
||||
override = os.environ.get("PDD_DATA_DIR")
|
||||
return Path(override) if override else hermes_home() / "unbroker"
|
||||
|
||||
|
||||
def config_path() -> Path:
|
||||
return data_dir() / "config.json"
|
||||
|
||||
|
||||
def subjects_dir() -> Path:
|
||||
return data_dir() / "subjects"
|
||||
|
||||
|
||||
def subject_dir(subject_id: str) -> Path:
|
||||
return subjects_dir() / subject_id
|
||||
|
||||
|
||||
def dossier_path(subject_id: str) -> Path:
|
||||
return subject_dir(subject_id) / "dossier.json"
|
||||
|
||||
|
||||
def ledger_path(subject_id: str) -> Path:
|
||||
return subject_dir(subject_id) / "ledger.json"
|
||||
|
||||
|
||||
def audit_path(subject_id: str) -> Path:
|
||||
return subject_dir(subject_id) / "audit.jsonl"
|
||||
|
||||
|
||||
def evidence_dir(subject_id: str) -> Path:
|
||||
return subject_dir(subject_id) / "evidence"
|
||||
|
||||
|
||||
def skill_root() -> Path:
|
||||
"""The skill directory (parent of scripts/)."""
|
||||
return Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
def brokers_dir() -> Path:
|
||||
return skill_root() / "references" / "brokers"
|
||||
|
||||
|
||||
def brokers_cache_path() -> Path:
|
||||
"""Live broker snapshot pulled from BADBOOL (merged under the curated DB)."""
|
||||
return data_dir() / "brokers-cache" / "badbool.json"
|
||||
|
||||
|
||||
def registry_cache_path() -> Path:
|
||||
"""CA Data Broker Registry snapshot (separate coverage lane; DROP/email, not scanned)."""
|
||||
return data_dir() / "brokers-cache" / "ca-registry.json"
|
||||
|
||||
|
||||
def age_identity_path() -> Path:
|
||||
"""age identity (private key) used for at-rest encryption when enabled.
|
||||
|
||||
Defaults beside the data; point PDD_AGE_IDENTITY at a separate volume/token
|
||||
for real key separation from the encrypted data.
|
||||
"""
|
||||
override = os.environ.get("PDD_AGE_IDENTITY")
|
||||
return Path(override) if override else data_dir() / "age-identity.txt"
|
||||
|
||||
|
||||
def templates_dir() -> Path:
|
||||
return skill_root() / "templates"
|
||||
Reference in New Issue
Block a user