{
  "schemaVersion": 1,
  "collectionId": "vibeguard-default",
  "name": "VibeGuard default definitions",
  "description": "Definitions maintained by the VibeGuard project.",
  "definitions": [
    {
      "id": "mastodon",
      "name": "Mastodon (official web interface)",
      "urlPatterns": [
        "<all_urls>"
      ],
      "requiredSelectors": [
        ".status__content",
        ".status, .detailed-status"
      ],
      "post": {
        "rootSelectors": [
          ".status",
          ".detailed-status"
        ],
        "textSelectors": [
          ".status__content",
          ".e-content"
        ],
        "excludedSelectors": [
          ".status__content__spoiler-link",
          ".status__content__read-more-button"
        ],
        "idAttributes": [
          "data-id"
        ],
        "permalinkSelectors": [
          "a.status__relative-time[href]",
          "a.detailed-status__datetime[href]",
          "a.u-url.u-uid[href]"
        ]
      }
    },
    {
      "id": "threads",
      "name": "Threads",
      "urlPatterns": [
        "https://threads.com/*",
        "https://www.threads.com/*",
        "https://threads.net/*",
        "https://www.threads.net/*"
      ],
      "requiredSelectors": [
        "[role=\"article\"], article, [data-pressable-container=\"true\"], div[data-pagelet^=\"threads_post_page_\"]"
      ],
      "post": {
        "rootSelectors": [
          "[role=\"article\"]",
          "article",
          "[data-pressable-container=\"true\"]",
          "div[data-pagelet^=\"threads_post_page_\"]"
        ],
        "textSelectors": [
          "span[dir=\"auto\"]"
        ],
        "excludedSelectors": [
          "button",
          "[role=\"button\"]",
          "time",
          "svg",
          "a span",
          "time span",
          "[role=\"button\"] span"
        ],
        "permalinkSelectors": [
          "a[href*=\"/post/\"]"
        ]
      }
    }
  ]
}
