1{
2 "lexicon": 1,
3 "id": "sh.tangled.repo.archive",
4 "defs": {
5 "main": {
6 "type": "query",
7 "parameters": {
8 "type": "params",
9 "required": ["repo", "ref"],
10 "properties": {
11 "repo": {
12 "type": "string",
13 "description": "Repository identifier in format 'did:plc:.../repoName'"
14 },
15 "ref": {
16 "type": "string",
17 "description": "Git reference (branch, tag, or commit SHA)"
18 },
19 "format": {
20 "type": "string",
21 "description": "Archive format",
22 "enum": ["tar", "zip", "tar.gz", "tar.bz2", "tar.xz"],
23 "default": "tar.gz"
24 },
25 "prefix": {
26 "type": "string",
27 "description": "Prefix for files in the archive"
28 }
29 }
30 },
31 "output": {
32 "encoding": "*/*",
33 "description": "Binary archive data"
34 },
35 "errors": [
36 {
37 "name": "RepoNotFound",
38 "description": "Repository not found or access denied"
39 },
40 {
41 "name": "RefNotFound",
42 "description": "Git reference not found"
43 },
44 {
45 "name": "InvalidRequest",
46 "description": "Invalid request parameters"
47 },
48 {
49 "name": "ArchiveError",
50 "description": "Failed to create archive"
51 }
52 ]
53 }
54 }
55}