Symbolon packs

kausalflow/lightkone / components/search-query/versions/1/schema/input.json · raw

{
  "$defs": {
    "Paper": {
      "additionalProperties": false,
      "description": "The fields of a lightkone paper that search reads.",
      "properties": {
        "abstract": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Abstract"
        },
        "added": {
          "description": "When it was added, as JavaScript's toISOString writes it.",
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$",
          "title": "Added",
          "type": "string"
        },
        "arxiv": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Arxiv"
        },
        "authors": {
          "description": "'Last, First' strings, in order.",
          "items": {
            "type": "string"
          },
          "title": "Authors",
          "type": "array"
        },
        "doi": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Doi"
        },
        "file": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "A PDF path from another reference manager.",
          "title": "File"
        },
        "folders": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Folder paths like 'Physics/QFT'.",
          "title": "Folders"
        },
        "id": {
          "minLength": 1,
          "title": "Id",
          "type": "string"
        },
        "key": {
          "default": "",
          "description": "BibTeX citation key.",
          "title": "Key",
          "type": "string"
        },
        "notes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notes"
        },
        "opened": {
          "anyOf": [
            {
              "pattern": "^$|^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "When it was last opened; empty means never.",
          "title": "Opened"
        },
        "pdf": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Storage key of a PDF in the library's own storage.",
          "title": "Pdf"
        },
        "starred": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Starred"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "title": "Tags",
          "type": "array"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "trashed": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "When it was moved to the trash.",
          "title": "Trashed"
        },
        "venue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Venue"
        },
        "year": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Year"
        }
      },
      "required": [
        "id",
        "title",
        "added"
      ],
      "title": "Paper",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "papers": {
      "description": "The library, in stored order. Ids are unique.",
      "items": {
        "$ref": "#/$defs/Paper"
      },
      "title": "Papers",
      "type": "array"
    },
    "query": {
      "description": "What was typed in the search box.",
      "title": "Query",
      "type": "string"
    },
    "sort": {
      "default": "added",
      "enum": [
        "added",
        "year",
        "title",
        "relevance",
        "opened"
      ],
      "title": "Sort",
      "type": "string"
    }
  },
  "required": [
    "papers",
    "query"
  ],
  "title": "Input",
  "type": "object"
}