{
  "name": "Scrobbled",
  "author": "Matt Daubney",
  "version": "0.1.0",
  "description": "Scrobbles Navidrome playback to a self-hosted Scrobbled (Last.fm-compatible) server.",
  "website": "https://scrobbled.uk",
  "permissions": {
    "http": {
      "reason": "Send now-playing updates and scrobbles to the user's configured Scrobbled server.",
      "requiredHosts": ["*"]
    },
    "kvstore": {
      "reason": "Cache the Scrobbled session key from the auth handshake so it isn't re-derived from the password on every call."
    },
    "users": {
      "reason": "Required by the scrobbler capability; only fires for the Navidrome user(s) the admin assigns to this plugin."
    }
  },
  "config": {
    "schema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "required": ["server_url", "api_key", "shared_secret", "scrobbled_username", "scrobbled_password"],
      "properties": {
        "server_url": {
          "type": "string",
          "title": "Scrobbled server URL",
          "description": "Base URL of your Scrobbled instance, e.g. https://scrobbled.uk (the plugin appends /2.0/).",
          "default": "https://scrobbled.uk"
        },
        "api_key": { "type": "string", "title": "API key" },
        "shared_secret": { "type": "string", "title": "Shared secret" },
        "scrobbled_username": { "type": "string", "title": "Scrobbled username" },
        "scrobbled_password": {
          "type": "string",
          "title": "Scrobbled password",
          "description": "Used only for the one-time/re-auth session handshake, never sent on scrobble calls."
        },
        "navidrome_username": {
          "type": "string",
          "title": "Restrict to Navidrome username (optional)",
          "description": "If set, only this Navidrome username is treated as authorized. Leave blank to allow any user the admin assigns via the plugin's users permission."
        }
      }
    },
    "uiSchema": {
      "scrobbled_password": { "ui:widget": "password" },
      "shared_secret": { "ui:widget": "password" }
    }
  }
}
