A vibe coded tangled fork which supports pijul.
1{
2 "lexicon": 1,
3 "id": "sh.tangled.repo.pijulTree",
4 "defs": {
5 "main": {
6 "type": "query",
7 "description": "Get the file tree from 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 "path": {
21 "type": "string",
22 "description": "Path within the repository (defaults to root)",
23 "default": ""
24 }
25 }
26 },
27 "output": {
28 "encoding": "application/json",
29 "schema": {
30 "type": "object",
31 "required": ["files"],
32 "properties": {
33 "ref": {
34 "type": "string",
35 "description": "Channel name"
36 },
37 "parent": {
38 "type": "string",
39 "description": "Parent path"
40 },
41 "dotdot": {
42 "type": "string",
43 "description": "Path to navigate up"
44 },
45 "files": {
46 "type": "array",
47 "items": {
48 "type": "ref",
49 "ref": "#treeEntry"
50 }
51 },
52 "readme": {
53 "type": "ref",
54 "ref": "#readme"
55 }
56 }
57 }
58 },
59 "errors": [
60 {
61 "name": "RepoNotFound",
62 "description": "Repository not found or access denied"
63 },
64 {
65 "name": "PathNotFound",
66 "description": "Path not found in repository"
67 },
68 {
69 "name": "InvalidRequest",
70 "description": "Invalid request parameters"
71 }
72 ]
73 },
74 "treeEntry": {
75 "type": "object",
76 "required": ["name", "mode", "size"],
77 "properties": {
78 "name": {
79 "type": "string"
80 },
81 "mode": {
82 "type": "string"
83 },
84 "size": {
85 "type": "integer"
86 }
87 }
88 },
89 "readme": {
90 "type": "object",
91 "properties": {
92 "filename": {
93 "type": "string"
94 },
95 "contents": {
96 "type": "string"
97 }
98 }
99 }
100 }
101}