#!/usr/bin/env python3 from __future__ import annotations import html import html.parser import pathlib import re import sys import urllib.parse import xml.etree.ElementTree as ET ROOT = pathlib.Path(__file__).resolve().parents[1] SITE = ROOT / "site" ROUTES = [ "/", "/quickstart/", "/usage/", "/activity/", "/recent-edits/", "/session-intelligence/", "/mcp/", "/token-usage/", "/chat-import/", "/insights/", "/commands/", "/stats/", "/session-api/", "/configuration/", "/remote-access/", "/pg-sync/", "/duckdb/", "/changelog/", ] REQUIRED_FRAGMENTS = [ "/configuration/#session-discovery", "/token-usage/#how-it-compares-to-ccusage", "/session-api/#agentsview-session-usage", ] REQUIRED_META = { ("property", "og:image"): "https://agentsview.io/assets/static/og-image.png", ("property", "og:image:width"): "1200", ("property", "og:image:height"): "630", ("property", "og:type"): "website", ("property", "og:site_name"): "AgentsView", ("name", "twitter:card"): "summary_large_image", ("name", "twitter:image"): "https://agentsview.io/assets/static/og-image.png", } REQUIRED_SITEMAP_URLS = [ "https://agentsview.io/", ] COMPACT_SVG_MAX_HEIGHTS: dict[str, float] = {} FORBIDDEN_PATTERNS = [ "virtual:starlight", "@astrojs/starlight", "discord-top-link", "