at main 75 lines 1.9 kB view raw
1{ 2 "lexicon": 1, 3 "id": "sh.weaver.notebook.searchNotebooks", 4 "defs": { 5 "main": { 6 "type": "query", 7 "description": "Full-text search for notebooks.", 8 "parameters": { 9 "type": "params", 10 "required": ["q"], 11 "properties": { 12 "q": { 13 "type": "string", 14 "minLength": 1, 15 "maxLength": 500 16 }, 17 "author": { 18 "type": "string", 19 "format": "at-identifier", 20 "description": "Filter by author." 21 }, 22 "tags": { 23 "type": "array", 24 "items": { 25 "type": "string" 26 }, 27 "maxLength": 10, 28 "description": "Filter by tags (all must match)." 29 }, 30 "rating": { 31 "type": "array", 32 "items": { 33 "type": "string", 34 "knownValues": ["general", "teen", "mature", "explicit"] 35 }, 36 "description": "Filter by content rating (any of these)." 37 }, 38 "sort": { 39 "type": "string", 40 "knownValues": ["relevance", "recent", "popular"], 41 "default": "relevance" 42 }, 43 "limit": { 44 "type": "integer", 45 "minimum": 1, 46 "maximum": 100, 47 "default": 25 48 }, 49 "cursor": { 50 "type": "string" 51 } 52 } 53 }, 54 "output": { 55 "encoding": "application/json", 56 "schema": { 57 "type": "object", 58 "required": ["notebooks"], 59 "properties": { 60 "notebooks": { 61 "type": "array", 62 "items": { 63 "type": "ref", 64 "ref": "sh.weaver.notebook.defs#notebookView" 65 } 66 }, 67 "cursor": { 68 "type": "string" 69 } 70 } 71 } 72 } 73 } 74 } 75}