A vibe coded tangled fork which supports pijul.
at master 122 lines 3.0 kB view raw
1{ 2 "lexicon": 1, 3 "id": "sh.tangled.repo.changeList", 4 "defs": { 5 "main": { 6 "type": "query", 7 "description": "List changes in a Pijul repository", 8 "parameters": { 9 "type": "params", 10 "required": ["repo"], 11 "properties": { 12 "repo": { 13 "type": "string", 14 "description": "Repository identifier in format 'did:plc:.../repoName'" 15 }, 16 "channel": { 17 "type": "string", 18 "description": "Pijul channel name (defaults to main channel)" 19 }, 20 "limit": { 21 "type": "integer", 22 "description": "Maximum number of changes to return", 23 "minimum": 1, 24 "maximum": 100, 25 "default": 50 26 }, 27 "cursor": { 28 "type": "string", 29 "description": "Pagination cursor (offset)" 30 } 31 } 32 }, 33 "output": { 34 "encoding": "application/json", 35 "schema": { 36 "type": "object", 37 "required": ["changes", "page", "per_page", "total"], 38 "properties": { 39 "changes": { 40 "type": "array", 41 "items": { 42 "type": "ref", 43 "ref": "#changeEntry" 44 } 45 }, 46 "channel": { 47 "type": "string" 48 }, 49 "page": { 50 "type": "integer" 51 }, 52 "per_page": { 53 "type": "integer" 54 }, 55 "total": { 56 "type": "integer" 57 } 58 } 59 } 60 }, 61 "errors": [ 62 { 63 "name": "RepoNotFound", 64 "description": "Repository not found or access denied" 65 }, 66 { 67 "name": "ChannelNotFound", 68 "description": "Channel not found" 69 }, 70 { 71 "name": "InvalidRequest", 72 "description": "Invalid request parameters" 73 } 74 ] 75 }, 76 "changeEntry": { 77 "type": "object", 78 "required": ["hash", "authors", "message"], 79 "properties": { 80 "hash": { 81 "type": "string", 82 "description": "Change hash (base32 encoded)" 83 }, 84 "authors": { 85 "type": "array", 86 "items": { 87 "type": "ref", 88 "ref": "#author" 89 } 90 }, 91 "message": { 92 "type": "string", 93 "description": "Change description" 94 }, 95 "timestamp": { 96 "type": "string", 97 "format": "datetime", 98 "description": "When the change was recorded" 99 }, 100 "dependencies": { 101 "type": "array", 102 "items": { 103 "type": "string" 104 }, 105 "description": "Hashes of changes this change depends on" 106 } 107 } 108 }, 109 "author": { 110 "type": "object", 111 "required": ["name"], 112 "properties": { 113 "name": { 114 "type": "string" 115 }, 116 "email": { 117 "type": "string" 118 } 119 } 120 } 121 } 122}