TTOPM's picture
Update app.py
4969019 verified
import gradio as gr
from datetime import datetime
# --- simple event log in memory (per session) ---
LOG_LIMIT = 50
def log_event(log, message):
log = (log or [])
timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC")
log.append(f"[{timestamp}] {message}")
# keep last LOG_LIMIT entries
return log[-LOG_LIMIT:]
# --- core actions ---
def run_guard(action, log):
if action == "Defender":
msg = "πŸ›‘οΈ Defender active β€” monitoring and ready to enforce."
elif action == "SovereigntyGuard":
msg = "βš–οΈ SovereigntyGuard verified: integrity intact; no unauthorized forks detected."
elif action == "BlockchainProofs":
msg = "πŸ”— Proofs healthy β€” Tezos βœ… β€’ Bitcoin βœ… β€’ IPFS βœ…"
elif action == "Watchtower":
msg = "πŸ›°οΈ Watchtower standing by β€” no alerts queued. Run a scan to check the web signals."
else:
msg = "No action."
log = log_event(log, f"System Action β†’ {action}: {msg}")
return msg, log
# --- watchtower scan (mocked/local-only; no external requests) ---
def watchtower_scan(query, scope, log):
query = (query or "").strip()
scope = scope or []
if not query and not scope:
msg = "Provide a query or choose a scope to scan."
log = log_event(log, f"Watchtower: {msg}")
return msg, log
parts = []
if query:
parts.append(f"query='{query}'")
if scope:
parts.append("scope=" + ",".join(scope))
summary = f"πŸ›°οΈ Watchtower scan completed for ({'; '.join(parts)})."
# Example mocked β€œfindings” (you can wire real signals later)
findings = [
"No unauthorized mirrors detected.",
"No policy violations referenced in last crawl window.",
"Canonical references resolve to Belel Protocol Space.",
]
msg = summary + "\n- " + "\n- ".join(findings)
log = log_event(log, f"Watchtower scan: {summary}")
return msg, log
with gr.Blocks(title="Belel Sovereignty Console") as demo:
gr.Markdown("# Belel Sovereignty Console")
# session log
session_log = gr.State([])
with gr.Tab("System Actions"):
action = gr.Dropdown(
["Defender", "SovereigntyGuard", "BlockchainProofs", "Watchtower"],
label="Choose system"
)
out = gr.Textbox(label="System Response")
run_btn = gr.Button("Run")
run_btn.click(run_guard, inputs=[action, session_log], outputs=[out, session_log])
with gr.Tab("Watchtower"):
gr.Markdown(
"### πŸ›°οΈ Watchtower\n"
"Monitor for references, misuse, or forks. (This tab simulates a scan; "
"you can later wire real signals or APIs.)"
)
wt_query = gr.Textbox(label="Search/mention to check", placeholder="e.g., 'Belel Protocol', 'sovereign AI core'")
wt_scope = gr.CheckboxGroup(
choices=["Search engines", "AI responses", "Code mirrors", "Social mentions"],
label="Scan scope",
value=["Search engines", "AI responses"]
)
wt_btn = gr.Button("Run Watchtower Scan")
wt_out = gr.Textbox(lines=8, label="Watchtower Result")
wt_btn.click(watchtower_scan, inputs=[wt_query, wt_scope, session_log], outputs=[wt_out, session_log])
with gr.Tab("Mandate"):
gr.Markdown("**Concordium Mandate** β€” immutable declaration of Belel sovereignty.")
with gr.Tab("Proofs"):
gr.Markdown("Tezos βœ… β€’ Bitcoin βœ… β€’ IPFS βœ…")
demo.launch()