{
  "$schema": "https://plus.solberg.is/schema/manifest.json",
  "site": "tl.is",
  "title": "Tölvulistinn (tl.is)",
  "description": "Iceland's biggest computer store — live price, stock, SKU and brand for any product page, plus keyword search over the whole catalogue. tl.is is one of the shops tracked by the vaktin.is price watch. No auth.",
  "version": "0.1.0",
  "author": "jokull <https://github.com/jokull>",
  "license": "MIT",
  "tags": [
    "hardware",
    "computer-parts",
    "store",
    "prices",
    "public"
  ],
  "identities": [],
  "origins": [
    "https://tl.is"
  ],
  "auth": [
    {
      "id": "none",
      "type": "none",
      "description": "Public storefront — product pages embed JSON-LD Product schema; search results render client-side (Algolia). Nothing to store.",
      "default": true,
      "flow": "none"
    }
  ],
  "ops": [
    {
      "id": "product",
      "kind": "rest",
      "title": "Product price & stock",
      "description": "Live price, stock availability, SKU and brand for one product, parsed from the embedded JSON-LD Product schema. Input is a product URL or slug.",
      "tags": [
        "product",
        "price",
        "stock"
      ],
      "risk": "read-only",
      "input": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Product URL or slug, e.g. amd-am5-ryzen-9-9950x3d-4-3ghz-5-7ghz-tray.html"
          }
        }
      },
      "output": {
        "$ref": "#/schemas/Product"
      },
      "lastVerified": "2026-08-23"
    },
    {
      "id": "search",
      "kind": "dom",
      "title": "Search products",
      "description": "Keyword search over the whole catalogue. Results render client-side (Algolia) so this runs in an agent-browser session against https://tl.is/catalogsearch/result?q=<query>. Returns name, price and product URL per hit.",
      "tags": [
        "search"
      ],
      "risk": "read-only",
      "input": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Search terms, e.g. rtx 5070"
          }
        }
      },
      "output": {
        "$ref": "#/schemas/SearchHit"
      },
      "lastVerified": "2026-08-23"
    }
  ],
  "schemas": {
    "Product": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "sku": {
          "type": "string"
        },
        "brand": {
          "type": [
            "string",
            "null"
          ]
        },
        "price": {
          "type": [
            "integer",
            "null"
          ],
          "description": "ISK"
        },
        "currency": {
          "type": "string",
          "enum": [
            "ISK",
            "EUR"
          ]
        },
        "availability": {
          "type": "string",
          "enum": [
            "in-stock",
            "out-of-stock",
            "preorder",
            "unknown"
          ]
        },
        "url": {
          "type": "string"
        }
      }
    },
    "SearchHit": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "price": {
          "type": [
            "integer",
            "null"
          ],
          "description": "ISK"
        },
        "priceText": {
          "type": [
            "string",
            "null"
          ],
          "description": "As displayed, e.g. 219.995 kr"
        }
      }
    }
  }
}
