Monorepo for Tangled

lexicons: introduce repo.temp xrpc methods

These experimental xrpc methods use at-uri instead of did/name format to
reference the repository.

Signed-off-by: Seongmin Lee <git@boltless.me>

boltless.me 60265346 301e81a1

verified
+1576
+41
api/tangled/temparchiveRepo.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.archiveRepo 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempArchiveRepoNSID = "sh.tangled.repo.temp.archiveRepo" 16 + ) 17 + 18 + // RepoTempArchiveRepo calls the XRPC method "sh.tangled.repo.temp.archiveRepo". 19 + // 20 + // format: Archive format 21 + // prefix: Prefix for files in the archive 22 + // ref: Git reference (branch, tag, or commit SHA) 23 + // repo: AT-URI of the repository 24 + func RepoTempArchiveRepo(ctx context.Context, c util.LexClient, format string, prefix string, ref string, repo string) ([]byte, error) { 25 + buf := new(bytes.Buffer) 26 + 27 + params := map[string]interface{}{} 28 + if format != "" { 29 + params["format"] = format 30 + } 31 + if prefix != "" { 32 + params["prefix"] = prefix 33 + } 34 + params["ref"] = ref 35 + params["repo"] = repo 36 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.archiveRepo", params, nil, buf); err != nil { 37 + return nil, err 38 + } 39 + 40 + return buf.Bytes(), nil 41 + }
+50
api/tangled/tempcheckConflict.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.checkConflict 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + RepoTempCheckConflictNSID = "sh.tangled.repo.temp.checkConflict" 15 + ) 16 + 17 + // RepoTempCheckConflict_ConflictInfo is a "conflictInfo" in the sh.tangled.repo.temp.checkConflict schema. 18 + type RepoTempCheckConflict_ConflictInfo struct { 19 + // filename: Name of the conflicted file 20 + Filename string `json:"filename" cborgen:"filename"` 21 + // reason: Reason for the conflict 22 + Reason string `json:"reason" cborgen:"reason"` 23 + } 24 + 25 + // RepoTempCheckConflict_Output is the output of a sh.tangled.repo.temp.checkConflict call. 26 + type RepoTempCheckConflict_Output struct { 27 + // conflicts: List of files with merge conflicts 28 + Conflicts []*RepoTempCheckConflict_ConflictInfo `json:"conflicts,omitempty" cborgen:"conflicts,omitempty"` 29 + // is_conflicted: Whether the merge has conflicts 30 + Is_conflicted bool `json:"is_conflicted" cborgen:"is_conflicted"` 31 + } 32 + 33 + // RepoTempCheckConflict calls the XRPC method "sh.tangled.repo.temp.checkConflict". 34 + // 35 + // branch: Target branch to merge into 36 + // patch: Patch or pull request to check for merge conflicts 37 + // repo: AT-URI of the repository 38 + func RepoTempCheckConflict(ctx context.Context, c util.LexClient, branch string, patch string, repo string) (*RepoTempCheckConflict_Output, error) { 39 + var out RepoTempCheckConflict_Output 40 + 41 + params := map[string]interface{}{} 42 + params["branch"] = branch 43 + params["patch"] = patch 44 + params["repo"] = repo 45 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.checkConflict", params, nil, &out); err != nil { 46 + return nil, err 47 + } 48 + 49 + return &out, nil 50 + }
+35
api/tangled/tempcompareRevs.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.compareRevs 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempCompareRevsNSID = "sh.tangled.repo.temp.compareRevs" 16 + ) 17 + 18 + // RepoTempCompareRevs calls the XRPC method "sh.tangled.repo.temp.compareRevs". 19 + // 20 + // repo: AT-URI of the repository 21 + // rev1: First revision (commit, branch, or tag) 22 + // rev2: Second revision (commit, branch, or tag) 23 + func RepoTempCompareRevs(ctx context.Context, c util.LexClient, repo string, rev1 string, rev2 string) ([]byte, error) { 24 + buf := new(bytes.Buffer) 25 + 26 + params := map[string]interface{}{} 27 + params["repo"] = repo 28 + params["rev1"] = rev1 29 + params["rev2"] = rev2 30 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.compareRevs", params, nil, buf); err != nil { 31 + return nil, err 32 + } 33 + 34 + return buf.Bytes(), nil 35 + }
+90
api/tangled/tempgetBlob.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getBlob 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + RepoTempGetBlobNSID = "sh.tangled.repo.temp.getBlob" 15 + ) 16 + 17 + // RepoTempGetBlob_LastCommit is a "lastCommit" in the sh.tangled.repo.temp.getBlob schema. 18 + type RepoTempGetBlob_LastCommit struct { 19 + Author *RepoTempGetBlob_Signature `json:"author,omitempty" cborgen:"author,omitempty"` 20 + // hash: Commit hash 21 + Hash string `json:"hash" cborgen:"hash"` 22 + // message: Commit message 23 + Message string `json:"message" cborgen:"message"` 24 + // when: Commit timestamp 25 + When string `json:"when" cborgen:"when"` 26 + } 27 + 28 + // RepoTempGetBlob_Output is the output of a sh.tangled.repo.temp.getBlob call. 29 + type RepoTempGetBlob_Output struct { 30 + // content: File content (base64 encoded for binary files) 31 + Content *string `json:"content,omitempty" cborgen:"content,omitempty"` 32 + // encoding: Content encoding 33 + Encoding *string `json:"encoding,omitempty" cborgen:"encoding,omitempty"` 34 + // isBinary: Whether the file is binary 35 + IsBinary *bool `json:"isBinary,omitempty" cborgen:"isBinary,omitempty"` 36 + LastCommit *RepoTempGetBlob_LastCommit `json:"lastCommit,omitempty" cborgen:"lastCommit,omitempty"` 37 + // mimeType: MIME type of the file 38 + MimeType *string `json:"mimeType,omitempty" cborgen:"mimeType,omitempty"` 39 + // path: The file path 40 + Path string `json:"path" cborgen:"path"` 41 + // ref: The git reference used 42 + Ref string `json:"ref" cborgen:"ref"` 43 + // size: File size in bytes 44 + Size *int64 `json:"size,omitempty" cborgen:"size,omitempty"` 45 + // submodule: Submodule information if path is a submodule 46 + Submodule *RepoTempGetBlob_Submodule `json:"submodule,omitempty" cborgen:"submodule,omitempty"` 47 + } 48 + 49 + // RepoTempGetBlob_Signature is a "signature" in the sh.tangled.repo.temp.getBlob schema. 50 + type RepoTempGetBlob_Signature struct { 51 + // email: Author email 52 + Email string `json:"email" cborgen:"email"` 53 + // name: Author name 54 + Name string `json:"name" cborgen:"name"` 55 + // when: Author timestamp 56 + When string `json:"when" cborgen:"when"` 57 + } 58 + 59 + // RepoTempGetBlob_Submodule is a "submodule" in the sh.tangled.repo.temp.getBlob schema. 60 + type RepoTempGetBlob_Submodule struct { 61 + // branch: Branch to track in the submodule 62 + Branch *string `json:"branch,omitempty" cborgen:"branch,omitempty"` 63 + // name: Submodule name 64 + Name string `json:"name" cborgen:"name"` 65 + // url: Submodule repository URL 66 + Url string `json:"url" cborgen:"url"` 67 + } 68 + 69 + // RepoTempGetBlob calls the XRPC method "sh.tangled.repo.temp.getBlob". 70 + // 71 + // path: Path to the file within the repository 72 + // raw: Return raw file content instead of JSON response 73 + // ref: Git reference (branch, tag, or commit SHA) 74 + // repo: AT-URI of the repository 75 + func RepoTempGetBlob(ctx context.Context, c util.LexClient, path string, raw bool, ref string, repo string) (*RepoTempGetBlob_Output, error) { 76 + var out RepoTempGetBlob_Output 77 + 78 + params := map[string]interface{}{} 79 + params["path"] = path 80 + if raw { 81 + params["raw"] = raw 82 + } 83 + params["ref"] = ref 84 + params["repo"] = repo 85 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getBlob", params, nil, &out); err != nil { 86 + return nil, err 87 + } 88 + 89 + return &out, nil 90 + }
+59
api/tangled/tempgetBranch.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getBranch 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + RepoTempGetBranchNSID = "sh.tangled.repo.temp.getBranch" 15 + ) 16 + 17 + // RepoTempGetBranch_Output is the output of a sh.tangled.repo.temp.getBranch call. 18 + type RepoTempGetBranch_Output struct { 19 + Author *RepoTempGetBranch_Signature `json:"author,omitempty" cborgen:"author,omitempty"` 20 + // hash: Latest commit hash on this branch 21 + Hash string `json:"hash" cborgen:"hash"` 22 + // isDefault: Whether this is the default branch 23 + IsDefault *bool `json:"isDefault,omitempty" cborgen:"isDefault,omitempty"` 24 + // message: Latest commit message 25 + Message *string `json:"message,omitempty" cborgen:"message,omitempty"` 26 + // name: Branch name 27 + Name string `json:"name" cborgen:"name"` 28 + // shortHash: Short commit hash 29 + ShortHash *string `json:"shortHash,omitempty" cborgen:"shortHash,omitempty"` 30 + // when: Timestamp of latest commit 31 + When string `json:"when" cborgen:"when"` 32 + } 33 + 34 + // RepoTempGetBranch_Signature is a "signature" in the sh.tangled.repo.temp.getBranch schema. 35 + type RepoTempGetBranch_Signature struct { 36 + // email: Author email 37 + Email string `json:"email" cborgen:"email"` 38 + // name: Author name 39 + Name string `json:"name" cborgen:"name"` 40 + // when: Author timestamp 41 + When string `json:"when" cborgen:"when"` 42 + } 43 + 44 + // RepoTempGetBranch calls the XRPC method "sh.tangled.repo.temp.getBranch". 45 + // 46 + // name: Branch name to get information for 47 + // repo: AT-URI of the repository 48 + func RepoTempGetBranch(ctx context.Context, c util.LexClient, name string, repo string) (*RepoTempGetBranch_Output, error) { 49 + var out RepoTempGetBranch_Output 50 + 51 + params := map[string]interface{}{} 52 + params["name"] = name 53 + params["repo"] = repo 54 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getBranch", params, nil, &out); err != nil { 55 + return nil, err 56 + } 57 + 58 + return &out, nil 59 + }
+33
api/tangled/tempgetCommit.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getCommit 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempGetCommitNSID = "sh.tangled.repo.temp.getCommit" 16 + ) 17 + 18 + // RepoTempGetCommit calls the XRPC method "sh.tangled.repo.temp.getCommit". 19 + // 20 + // ref: Git reference (branch, tag, or commit SHA) 21 + // repo: AT-URI of the repository 22 + func RepoTempGetCommit(ctx context.Context, c util.LexClient, ref string, repo string) ([]byte, error) { 23 + buf := new(bytes.Buffer) 24 + 25 + params := map[string]interface{}{} 26 + params["ref"] = ref 27 + params["repo"] = repo 28 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getCommit", params, nil, buf); err != nil { 29 + return nil, err 30 + } 31 + 32 + return buf.Bytes(), nil 33 + }
+45
api/tangled/tempgetLog.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getLog 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempGetLogNSID = "sh.tangled.repo.temp.getLog" 16 + ) 17 + 18 + // RepoTempGetLog calls the XRPC method "sh.tangled.repo.temp.getLog". 19 + // 20 + // cursor: Pagination cursor (commit SHA) 21 + // limit: Maximum number of commits to return 22 + // path: Path to filter commits by 23 + // ref: Git reference (branch, tag, or commit SHA) 24 + // repo: AT-URI of the repository 25 + func RepoTempGetLog(ctx context.Context, c util.LexClient, cursor string, limit int64, path string, ref string, repo string) ([]byte, error) { 26 + buf := new(bytes.Buffer) 27 + 28 + params := map[string]interface{}{} 29 + if cursor != "" { 30 + params["cursor"] = cursor 31 + } 32 + if limit != 0 { 33 + params["limit"] = limit 34 + } 35 + if path != "" { 36 + params["path"] = path 37 + } 38 + params["ref"] = ref 39 + params["repo"] = repo 40 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getLog", params, nil, buf); err != nil { 41 + return nil, err 42 + } 43 + 44 + return buf.Bytes(), nil 45 + }
+33
api/tangled/tempgetTag.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getTag 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempGetTagNSID = "sh.tangled.repo.temp.getTag" 16 + ) 17 + 18 + // RepoTempGetTag calls the XRPC method "sh.tangled.repo.temp.getTag". 19 + // 20 + // repo: AT-URI of the repository 21 + // tag: Name of tag, such as v1.3.0 22 + func RepoTempGetTag(ctx context.Context, c util.LexClient, repo string, tag string) ([]byte, error) { 23 + buf := new(bytes.Buffer) 24 + 25 + params := map[string]interface{}{} 26 + params["repo"] = repo 27 + params["tag"] = tag 28 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getTag", params, nil, buf); err != nil { 29 + return nil, err 30 + } 31 + 32 + return buf.Bytes(), nil 33 + }
+90
api/tangled/tempgetTree.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.getTree 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + RepoTempGetTreeNSID = "sh.tangled.repo.temp.getTree" 15 + ) 16 + 17 + // RepoTempGetTree_LastCommit is a "lastCommit" in the sh.tangled.repo.temp.getTree schema. 18 + type RepoTempGetTree_LastCommit struct { 19 + Author *RepoTempGetTree_Signature `json:"author,omitempty" cborgen:"author,omitempty"` 20 + // hash: Commit hash 21 + Hash string `json:"hash" cborgen:"hash"` 22 + // message: Commit message 23 + Message string `json:"message" cborgen:"message"` 24 + // when: Commit timestamp 25 + When string `json:"when" cborgen:"when"` 26 + } 27 + 28 + // RepoTempGetTree_Output is the output of a sh.tangled.repo.temp.getTree call. 29 + type RepoTempGetTree_Output struct { 30 + // dotdot: Parent directory path 31 + Dotdot *string `json:"dotdot,omitempty" cborgen:"dotdot,omitempty"` 32 + Files []*RepoTempGetTree_TreeEntry `json:"files" cborgen:"files"` 33 + LastCommit *RepoTempGetTree_LastCommit `json:"lastCommit,omitempty" cborgen:"lastCommit,omitempty"` 34 + // parent: The parent path in the tree 35 + Parent *string `json:"parent,omitempty" cborgen:"parent,omitempty"` 36 + // readme: Readme for this file tree 37 + Readme *RepoTempGetTree_Readme `json:"readme,omitempty" cborgen:"readme,omitempty"` 38 + // ref: The git reference used 39 + Ref string `json:"ref" cborgen:"ref"` 40 + } 41 + 42 + // RepoTempGetTree_Readme is a "readme" in the sh.tangled.repo.temp.getTree schema. 43 + type RepoTempGetTree_Readme struct { 44 + // contents: Contents of the readme file 45 + Contents string `json:"contents" cborgen:"contents"` 46 + // filename: Name of the readme file 47 + Filename string `json:"filename" cborgen:"filename"` 48 + } 49 + 50 + // RepoTempGetTree_Signature is a "signature" in the sh.tangled.repo.temp.getTree schema. 51 + type RepoTempGetTree_Signature struct { 52 + // email: Author email 53 + Email string `json:"email" cborgen:"email"` 54 + // name: Author name 55 + Name string `json:"name" cborgen:"name"` 56 + // when: Author timestamp 57 + When string `json:"when" cborgen:"when"` 58 + } 59 + 60 + // RepoTempGetTree_TreeEntry is a "treeEntry" in the sh.tangled.repo.temp.getTree schema. 61 + type RepoTempGetTree_TreeEntry struct { 62 + Last_commit *RepoTempGetTree_LastCommit `json:"last_commit,omitempty" cborgen:"last_commit,omitempty"` 63 + // mode: File mode 64 + Mode string `json:"mode" cborgen:"mode"` 65 + // name: Relative file or directory name 66 + Name string `json:"name" cborgen:"name"` 67 + // size: File size in bytes 68 + Size int64 `json:"size" cborgen:"size"` 69 + } 70 + 71 + // RepoTempGetTree calls the XRPC method "sh.tangled.repo.temp.getTree". 72 + // 73 + // path: Path within the repository tree 74 + // ref: Git reference (branch, tag, or commit SHA) 75 + // repo: AT-URI of the repository 76 + func RepoTempGetTree(ctx context.Context, c util.LexClient, path string, ref string, repo string) (*RepoTempGetTree_Output, error) { 77 + var out RepoTempGetTree_Output 78 + 79 + params := map[string]interface{}{} 80 + if path != "" { 81 + params["path"] = path 82 + } 83 + params["ref"] = ref 84 + params["repo"] = repo 85 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.getTree", params, nil, &out); err != nil { 86 + return nil, err 87 + } 88 + 89 + return &out, nil 90 + }
+39
api/tangled/templistBranches.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.listBranches 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempListBranchesNSID = "sh.tangled.repo.temp.listBranches" 16 + ) 17 + 18 + // RepoTempListBranches calls the XRPC method "sh.tangled.repo.temp.listBranches". 19 + // 20 + // cursor: Pagination cursor 21 + // limit: Maximum number of branches to return 22 + // repo: AT-URI of the repository 23 + func RepoTempListBranches(ctx context.Context, c util.LexClient, cursor string, limit int64, repo string) ([]byte, error) { 24 + buf := new(bytes.Buffer) 25 + 26 + params := map[string]interface{}{} 27 + if cursor != "" { 28 + params["cursor"] = cursor 29 + } 30 + if limit != 0 { 31 + params["limit"] = limit 32 + } 33 + params["repo"] = repo 34 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.listBranches", params, nil, buf); err != nil { 35 + return nil, err 36 + } 37 + 38 + return buf.Bytes(), nil 39 + }
+61
api/tangled/templistLanguages.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.listLanguages 6 + 7 + import ( 8 + "context" 9 + 10 + "github.com/bluesky-social/indigo/lex/util" 11 + ) 12 + 13 + const ( 14 + RepoTempListLanguagesNSID = "sh.tangled.repo.temp.listLanguages" 15 + ) 16 + 17 + // RepoTempListLanguages_Language is a "language" in the sh.tangled.repo.temp.listLanguages schema. 18 + type RepoTempListLanguages_Language struct { 19 + // color: Hex color code for this language 20 + Color *string `json:"color,omitempty" cborgen:"color,omitempty"` 21 + // extensions: File extensions associated with this language 22 + Extensions []string `json:"extensions,omitempty" cborgen:"extensions,omitempty"` 23 + // fileCount: Number of files in this language 24 + FileCount *int64 `json:"fileCount,omitempty" cborgen:"fileCount,omitempty"` 25 + // name: Programming language name 26 + Name string `json:"name" cborgen:"name"` 27 + // percentage: Percentage of total codebase (0-100) 28 + Percentage int64 `json:"percentage" cborgen:"percentage"` 29 + // size: Total size of files in this language (bytes) 30 + Size int64 `json:"size" cborgen:"size"` 31 + } 32 + 33 + // RepoTempListLanguages_Output is the output of a sh.tangled.repo.temp.listLanguages call. 34 + type RepoTempListLanguages_Output struct { 35 + Languages []*RepoTempListLanguages_Language `json:"languages" cborgen:"languages"` 36 + // ref: The git reference used 37 + Ref string `json:"ref" cborgen:"ref"` 38 + // totalFiles: Total number of files analyzed 39 + TotalFiles *int64 `json:"totalFiles,omitempty" cborgen:"totalFiles,omitempty"` 40 + // totalSize: Total size of all analyzed files in bytes 41 + TotalSize *int64 `json:"totalSize,omitempty" cborgen:"totalSize,omitempty"` 42 + } 43 + 44 + // RepoTempListLanguages calls the XRPC method "sh.tangled.repo.temp.listLanguages". 45 + // 46 + // ref: Git reference (branch, tag, or commit SHA) 47 + // repo: AT-URI of the repository 48 + func RepoTempListLanguages(ctx context.Context, c util.LexClient, ref string, repo string) (*RepoTempListLanguages_Output, error) { 49 + var out RepoTempListLanguages_Output 50 + 51 + params := map[string]interface{}{} 52 + if ref != "" { 53 + params["ref"] = ref 54 + } 55 + params["repo"] = repo 56 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.listLanguages", params, nil, &out); err != nil { 57 + return nil, err 58 + } 59 + 60 + return &out, nil 61 + }
+39
api/tangled/templistTags.go
··· 1 + // Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 + 3 + package tangled 4 + 5 + // schema: sh.tangled.repo.temp.listTags 6 + 7 + import ( 8 + "bytes" 9 + "context" 10 + 11 + "github.com/bluesky-social/indigo/lex/util" 12 + ) 13 + 14 + const ( 15 + RepoTempListTagsNSID = "sh.tangled.repo.temp.listTags" 16 + ) 17 + 18 + // RepoTempListTags calls the XRPC method "sh.tangled.repo.temp.listTags". 19 + // 20 + // cursor: Pagination cursor 21 + // limit: Maximum number of tags to return 22 + // repo: AT-URI of the repository 23 + func RepoTempListTags(ctx context.Context, c util.LexClient, cursor string, limit int64, repo string) ([]byte, error) { 24 + buf := new(bytes.Buffer) 25 + 26 + params := map[string]interface{}{} 27 + if cursor != "" { 28 + params["cursor"] = cursor 29 + } 30 + if limit != 0 { 31 + params["limit"] = limit 32 + } 33 + params["repo"] = repo 34 + if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.temp.listTags", params, nil, buf); err != nil { 35 + return nil, err 36 + } 37 + 38 + return buf.Bytes(), nil 39 + }
+56
lexicons/repo/temp/archiveRepo.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.archiveRepo", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo", "ref"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "ref": { 17 + "type": "string", 18 + "description": "Git reference (branch, tag, or commit SHA)" 19 + }, 20 + "format": { 21 + "type": "string", 22 + "description": "Archive format", 23 + "enum": ["tar", "zip", "tar.gz", "tar.bz2", "tar.xz"], 24 + "default": "tar.gz" 25 + }, 26 + "prefix": { 27 + "type": "string", 28 + "description": "Prefix for files in the archive" 29 + } 30 + } 31 + }, 32 + "output": { 33 + "encoding": "*/*", 34 + "description": "Binary archive data" 35 + }, 36 + "errors": [ 37 + { 38 + "name": "RepoNotFound", 39 + "description": "Repository not found or access denied" 40 + }, 41 + { 42 + "name": "RefNotFound", 43 + "description": "Git reference not found" 44 + }, 45 + { 46 + "name": "InvalidRequest", 47 + "description": "Invalid request parameters" 48 + }, 49 + { 50 + "name": "ArchiveError", 51 + "description": "Failed to create archive" 52 + } 53 + ] 54 + } 55 + } 56 + }
+64
lexicons/repo/temp/checkConflict.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.checkConflict", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "description": "Check if a merge is possible between two branches", 8 + "parameters": { 9 + "type": "params", 10 + "required": ["repo", "patch", "branch"], 11 + "properties": { 12 + "repo": { 13 + "type": "string", 14 + "format": "at-uri", 15 + "description": "AT-URI of the repository" 16 + }, 17 + "patch": { 18 + "type": "string", 19 + "description": "Patch or pull request to check for merge conflicts" 20 + }, 21 + "branch": { 22 + "type": "string", 23 + "description": "Target branch to merge into" 24 + } 25 + } 26 + }, 27 + "output": { 28 + "encoding": "application/json", 29 + "schema": { 30 + "type": "object", 31 + "required": ["is_conflicted"], 32 + "properties": { 33 + "is_conflicted": { 34 + "type": "boolean", 35 + "description": "Whether the merge has conflicts" 36 + }, 37 + "conflicts": { 38 + "type": "array", 39 + "description": "List of files with merge conflicts", 40 + "items": { 41 + "type": "ref", 42 + "ref": "#conflictInfo" 43 + } 44 + } 45 + } 46 + } 47 + } 48 + }, 49 + "conflictInfo": { 50 + "type": "object", 51 + "required": ["filename", "reason"], 52 + "properties": { 53 + "filename": { 54 + "type": "string", 55 + "description": "Name of the conflicted file" 56 + }, 57 + "reason": { 58 + "type": "string", 59 + "description": "Reason for the conflict" 60 + } 61 + } 62 + } 63 + } 64 + }
+50
lexicons/repo/temp/compareRevs.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.compareRevs", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo", "rev1", "rev2"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "rev1": { 17 + "type": "string", 18 + "description": "First revision (commit, branch, or tag)" 19 + }, 20 + "rev2": { 21 + "type": "string", 22 + "description": "Second revision (commit, branch, or tag)" 23 + } 24 + } 25 + }, 26 + "output": { 27 + "encoding": "*/*", 28 + "description": "Compare output in application/json" 29 + }, 30 + "errors": [ 31 + { 32 + "name": "RepoNotFound", 33 + "description": "Repository not found or access denied" 34 + }, 35 + { 36 + "name": "RevisionNotFound", 37 + "description": "One or both revisions not found" 38 + }, 39 + { 40 + "name": "InvalidRequest", 41 + "description": "Invalid request parameters" 42 + }, 43 + { 44 + "name": "CompareError", 45 + "description": "Failed to compare revisions" 46 + } 47 + ] 48 + } 49 + } 50 + }
+179
lexicons/repo/temp/getBlob.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getBlob", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": [ 10 + "repo", 11 + "ref", 12 + "path" 13 + ], 14 + "properties": { 15 + "repo": { 16 + "type": "string", 17 + "format": "at-uri", 18 + "description": "AT-URI of the repository" 19 + }, 20 + "ref": { 21 + "type": "string", 22 + "description": "Git reference (branch, tag, or commit SHA)" 23 + }, 24 + "path": { 25 + "type": "string", 26 + "description": "Path to the file within the repository" 27 + }, 28 + "raw": { 29 + "type": "boolean", 30 + "description": "Return raw file content instead of JSON response", 31 + "default": false 32 + } 33 + } 34 + }, 35 + "output": { 36 + "encoding": "application/json", 37 + "schema": { 38 + "type": "object", 39 + "required": [ 40 + "ref", 41 + "path" 42 + ], 43 + "properties": { 44 + "ref": { 45 + "type": "string", 46 + "description": "The git reference used" 47 + }, 48 + "path": { 49 + "type": "string", 50 + "description": "The file path" 51 + }, 52 + "content": { 53 + "type": "string", 54 + "description": "File content (base64 encoded for binary files)" 55 + }, 56 + "encoding": { 57 + "type": "string", 58 + "description": "Content encoding", 59 + "enum": [ 60 + "utf-8", 61 + "base64" 62 + ] 63 + }, 64 + "size": { 65 + "type": "integer", 66 + "description": "File size in bytes" 67 + }, 68 + "isBinary": { 69 + "type": "boolean", 70 + "description": "Whether the file is binary" 71 + }, 72 + "mimeType": { 73 + "type": "string", 74 + "description": "MIME type of the file" 75 + }, 76 + "submodule": { 77 + "type": "ref", 78 + "ref": "#submodule", 79 + "description": "Submodule information if path is a submodule" 80 + }, 81 + "lastCommit": { 82 + "type": "ref", 83 + "ref": "#lastCommit" 84 + } 85 + } 86 + } 87 + }, 88 + "errors": [ 89 + { 90 + "name": "RepoNotFound", 91 + "description": "Repository not found or access denied" 92 + }, 93 + { 94 + "name": "RefNotFound", 95 + "description": "Git reference not found" 96 + }, 97 + { 98 + "name": "FileNotFound", 99 + "description": "File not found at the specified path" 100 + }, 101 + { 102 + "name": "InvalidRequest", 103 + "description": "Invalid request parameters" 104 + } 105 + ] 106 + }, 107 + "lastCommit": { 108 + "type": "object", 109 + "required": [ 110 + "hash", 111 + "message", 112 + "when" 113 + ], 114 + "properties": { 115 + "hash": { 116 + "type": "string", 117 + "description": "Commit hash" 118 + }, 119 + "message": { 120 + "type": "string", 121 + "description": "Commit message" 122 + }, 123 + "author": { 124 + "type": "ref", 125 + "ref": "#signature" 126 + }, 127 + "when": { 128 + "type": "string", 129 + "format": "datetime", 130 + "description": "Commit timestamp" 131 + } 132 + } 133 + }, 134 + "signature": { 135 + "type": "object", 136 + "required": [ 137 + "name", 138 + "email", 139 + "when" 140 + ], 141 + "properties": { 142 + "name": { 143 + "type": "string", 144 + "description": "Author name" 145 + }, 146 + "email": { 147 + "type": "string", 148 + "description": "Author email" 149 + }, 150 + "when": { 151 + "type": "string", 152 + "format": "datetime", 153 + "description": "Author timestamp" 154 + } 155 + } 156 + }, 157 + "submodule": { 158 + "type": "object", 159 + "required": [ 160 + "name", 161 + "url" 162 + ], 163 + "properties": { 164 + "name": { 165 + "type": "string", 166 + "description": "Submodule name" 167 + }, 168 + "url": { 169 + "type": "string", 170 + "description": "Submodule repository URL" 171 + }, 172 + "branch": { 173 + "type": "string", 174 + "description": "Branch to track in the submodule" 175 + } 176 + } 177 + } 178 + } 179 + }
+95
lexicons/repo/temp/getBranch.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getBranch", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo", "name"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "name": { 17 + "type": "string", 18 + "description": "Branch name to get information for" 19 + } 20 + } 21 + }, 22 + "output": { 23 + "encoding": "application/json", 24 + "schema": { 25 + "type": "object", 26 + "required": ["name", "hash", "when"], 27 + "properties": { 28 + "name": { 29 + "type": "string", 30 + "description": "Branch name" 31 + }, 32 + "hash": { 33 + "type": "string", 34 + "description": "Latest commit hash on this branch" 35 + }, 36 + "shortHash": { 37 + "type": "string", 38 + "description": "Short commit hash" 39 + }, 40 + "when": { 41 + "type": "string", 42 + "format": "datetime", 43 + "description": "Timestamp of latest commit" 44 + }, 45 + "message": { 46 + "type": "string", 47 + "description": "Latest commit message" 48 + }, 49 + "author": { 50 + "type": "ref", 51 + "ref": "#signature" 52 + }, 53 + "isDefault": { 54 + "type": "boolean", 55 + "description": "Whether this is the default branch" 56 + } 57 + } 58 + } 59 + }, 60 + "errors": [ 61 + { 62 + "name": "RepoNotFound", 63 + "description": "Repository not found or access denied" 64 + }, 65 + { 66 + "name": "BranchNotFound", 67 + "description": "Branch not found" 68 + }, 69 + { 70 + "name": "InvalidRequest", 71 + "description": "Invalid request parameters" 72 + } 73 + ] 74 + }, 75 + "signature": { 76 + "type": "object", 77 + "required": ["name", "email", "when"], 78 + "properties": { 79 + "name": { 80 + "type": "string", 81 + "description": "Author name" 82 + }, 83 + "email": { 84 + "type": "string", 85 + "description": "Author email" 86 + }, 87 + "when": { 88 + "type": "string", 89 + "format": "datetime", 90 + "description": "Author timestamp" 91 + } 92 + } 93 + } 94 + } 95 + }
+41
lexicons/repo/temp/getCommit.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getCommit", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo", "ref"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "ref": { 17 + "type": "string", 18 + "description": "Git reference (branch, tag, or commit SHA)" 19 + } 20 + } 21 + }, 22 + "output": { 23 + "encoding": "*/*" 24 + }, 25 + "errors": [ 26 + { 27 + "name": "RepoNotFound", 28 + "description": "Repository not found or access denied" 29 + }, 30 + { 31 + "name": "RefNotFound", 32 + "description": "Git reference not found" 33 + }, 34 + { 35 + "name": "InvalidRequest", 36 + "description": "Invalid request parameters" 37 + } 38 + ] 39 + } 40 + } 41 + }
+61
lexicons/repo/temp/getLog.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getLog", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo", "ref"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "ref": { 17 + "type": "string", 18 + "description": "Git reference (branch, tag, or commit SHA)" 19 + }, 20 + "path": { 21 + "type": "string", 22 + "description": "Path to filter commits by", 23 + "default": "" 24 + }, 25 + "limit": { 26 + "type": "integer", 27 + "description": "Maximum number of commits to return", 28 + "minimum": 1, 29 + "maximum": 100, 30 + "default": 50 31 + }, 32 + "cursor": { 33 + "type": "string", 34 + "description": "Pagination cursor (commit SHA)" 35 + } 36 + } 37 + }, 38 + "output": { 39 + "encoding": "*/*" 40 + }, 41 + "errors": [ 42 + { 43 + "name": "RepoNotFound", 44 + "description": "Repository not found or access denied" 45 + }, 46 + { 47 + "name": "RefNotFound", 48 + "description": "Git reference not found" 49 + }, 50 + { 51 + "name": "PathNotFound", 52 + "description": "Path not found in repository" 53 + }, 54 + { 55 + "name": "InvalidRequest", 56 + "description": "Invalid request parameters" 57 + } 58 + ] 59 + } 60 + } 61 + }
+44
lexicons/repo/temp/getTag.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getTag", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": [ 10 + "repo", 11 + "tag" 12 + ], 13 + "properties": { 14 + "repo": { 15 + "type": "string", 16 + "format": "at-uri", 17 + "description": "AT-URI of the repository" 18 + }, 19 + "tag": { 20 + "type": "string", 21 + "description": "Name of tag, such as v1.3.0" 22 + } 23 + } 24 + }, 25 + "output": { 26 + "encoding": "*/*" 27 + }, 28 + "errors": [ 29 + { 30 + "name": "RepoNotFound", 31 + "description": "Repository not found or access denied" 32 + }, 33 + { 34 + "name": "TagNotFound", 35 + "description": "Tag not found" 36 + }, 37 + { 38 + "name": "InvalidRequest", 39 + "description": "Invalid request parameters" 40 + } 41 + ] 42 + } 43 + } 44 + }
+183
lexicons/repo/temp/getTree.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.getTree", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": [ 10 + "repo", 11 + "ref" 12 + ], 13 + "properties": { 14 + "repo": { 15 + "type": "string", 16 + "format": "at-uri", 17 + "description": "AT-URI of the repository" 18 + }, 19 + "ref": { 20 + "type": "string", 21 + "description": "Git reference (branch, tag, or commit SHA)" 22 + }, 23 + "path": { 24 + "type": "string", 25 + "description": "Path within the repository tree", 26 + "default": "" 27 + } 28 + } 29 + }, 30 + "output": { 31 + "encoding": "application/json", 32 + "schema": { 33 + "type": "object", 34 + "required": [ 35 + "ref", 36 + "files" 37 + ], 38 + "properties": { 39 + "ref": { 40 + "type": "string", 41 + "description": "The git reference used" 42 + }, 43 + "parent": { 44 + "type": "string", 45 + "description": "The parent path in the tree" 46 + }, 47 + "dotdot": { 48 + "type": "string", 49 + "description": "Parent directory path" 50 + }, 51 + "readme": { 52 + "type": "ref", 53 + "ref": "#readme", 54 + "description": "Readme for this file tree" 55 + }, 56 + "lastCommit": { 57 + "type": "ref", 58 + "ref": "#lastCommit" 59 + }, 60 + "files": { 61 + "type": "array", 62 + "items": { 63 + "type": "ref", 64 + "ref": "#treeEntry" 65 + } 66 + } 67 + } 68 + } 69 + }, 70 + "errors": [ 71 + { 72 + "name": "RepoNotFound", 73 + "description": "Repository not found or access denied" 74 + }, 75 + { 76 + "name": "RefNotFound", 77 + "description": "Git reference not found" 78 + }, 79 + { 80 + "name": "PathNotFound", 81 + "description": "Path not found in repository tree" 82 + }, 83 + { 84 + "name": "InvalidRequest", 85 + "description": "Invalid request parameters" 86 + } 87 + ] 88 + }, 89 + "readme": { 90 + "type": "object", 91 + "required": [ 92 + "filename", 93 + "contents" 94 + ], 95 + "properties": { 96 + "filename": { 97 + "type": "string", 98 + "description": "Name of the readme file" 99 + }, 100 + "contents": { 101 + "type": "string", 102 + "description": "Contents of the readme file" 103 + } 104 + } 105 + }, 106 + "treeEntry": { 107 + "type": "object", 108 + "required": [ 109 + "name", 110 + "mode", 111 + "size" 112 + ], 113 + "properties": { 114 + "name": { 115 + "type": "string", 116 + "description": "Relative file or directory name" 117 + }, 118 + "mode": { 119 + "type": "string", 120 + "description": "File mode" 121 + }, 122 + "size": { 123 + "type": "integer", 124 + "description": "File size in bytes" 125 + }, 126 + "last_commit": { 127 + "type": "ref", 128 + "ref": "#lastCommit" 129 + } 130 + } 131 + }, 132 + "lastCommit": { 133 + "type": "object", 134 + "required": [ 135 + "hash", 136 + "message", 137 + "when" 138 + ], 139 + "properties": { 140 + "hash": { 141 + "type": "string", 142 + "description": "Commit hash" 143 + }, 144 + "message": { 145 + "type": "string", 146 + "description": "Commit message" 147 + }, 148 + "author": { 149 + "type": "ref", 150 + "ref": "#signature" 151 + }, 152 + "when": { 153 + "type": "string", 154 + "format": "datetime", 155 + "description": "Commit timestamp" 156 + } 157 + } 158 + }, 159 + "signature": { 160 + "type": "object", 161 + "required": [ 162 + "name", 163 + "email", 164 + "when" 165 + ], 166 + "properties": { 167 + "name": { 168 + "type": "string", 169 + "description": "Author name" 170 + }, 171 + "email": { 172 + "type": "string", 173 + "description": "Author email" 174 + }, 175 + "when": { 176 + "type": "string", 177 + "format": "datetime", 178 + "description": "Author timestamp" 179 + } 180 + } 181 + } 182 + } 183 + }
+44
lexicons/repo/temp/listBranches.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.listBranches", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "limit": { 17 + "type": "integer", 18 + "description": "Maximum number of branches to return", 19 + "minimum": 1, 20 + "maximum": 100, 21 + "default": 50 22 + }, 23 + "cursor": { 24 + "type": "string", 25 + "description": "Pagination cursor" 26 + } 27 + } 28 + }, 29 + "output": { 30 + "encoding": "*/*" 31 + }, 32 + "errors": [ 33 + { 34 + "name": "RepoNotFound", 35 + "description": "Repository not found or access denied" 36 + }, 37 + { 38 + "name": "InvalidRequest", 39 + "description": "Invalid request parameters" 40 + } 41 + ] 42 + } 43 + } 44 + }
+100
lexicons/repo/temp/listLanguages.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.listLanguages", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "ref": { 17 + "type": "string", 18 + "description": "Git reference (branch, tag, or commit SHA)", 19 + "default": "HEAD" 20 + } 21 + } 22 + }, 23 + "output": { 24 + "encoding": "application/json", 25 + "schema": { 26 + "type": "object", 27 + "required": ["ref", "languages"], 28 + "properties": { 29 + "ref": { 30 + "type": "string", 31 + "description": "The git reference used" 32 + }, 33 + "languages": { 34 + "type": "array", 35 + "items": { 36 + "type": "ref", 37 + "ref": "#language" 38 + } 39 + }, 40 + "totalSize": { 41 + "type": "integer", 42 + "description": "Total size of all analyzed files in bytes" 43 + }, 44 + "totalFiles": { 45 + "type": "integer", 46 + "description": "Total number of files analyzed" 47 + } 48 + } 49 + } 50 + }, 51 + "errors": [ 52 + { 53 + "name": "RepoNotFound", 54 + "description": "Repository not found or access denied" 55 + }, 56 + { 57 + "name": "RefNotFound", 58 + "description": "Git reference not found" 59 + }, 60 + { 61 + "name": "InvalidRequest", 62 + "description": "Invalid request parameters" 63 + } 64 + ] 65 + }, 66 + "language": { 67 + "type": "object", 68 + "required": ["name", "size", "percentage"], 69 + "properties": { 70 + "name": { 71 + "type": "string", 72 + "description": "Programming language name" 73 + }, 74 + "size": { 75 + "type": "integer", 76 + "description": "Total size of files in this language (bytes)" 77 + }, 78 + "percentage": { 79 + "type": "integer", 80 + "description": "Percentage of total codebase (0-100)" 81 + }, 82 + "fileCount": { 83 + "type": "integer", 84 + "description": "Number of files in this language" 85 + }, 86 + "color": { 87 + "type": "string", 88 + "description": "Hex color code for this language" 89 + }, 90 + "extensions": { 91 + "type": "array", 92 + "items": { 93 + "type": "string" 94 + }, 95 + "description": "File extensions associated with this language" 96 + } 97 + } 98 + } 99 + } 100 + }
+44
lexicons/repo/temp/listTags.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "sh.tangled.repo.temp.listTags", 4 + "defs": { 5 + "main": { 6 + "type": "query", 7 + "parameters": { 8 + "type": "params", 9 + "required": ["repo"], 10 + "properties": { 11 + "repo": { 12 + "type": "string", 13 + "format": "at-uri", 14 + "description": "AT-URI of the repository" 15 + }, 16 + "limit": { 17 + "type": "integer", 18 + "description": "Maximum number of tags to return", 19 + "minimum": 1, 20 + "maximum": 100, 21 + "default": 50 22 + }, 23 + "cursor": { 24 + "type": "string", 25 + "description": "Pagination cursor" 26 + } 27 + } 28 + }, 29 + "output": { 30 + "encoding": "*/*" 31 + }, 32 + "errors": [ 33 + { 34 + "name": "RepoNotFound", 35 + "description": "Repository not found or access denied" 36 + }, 37 + { 38 + "name": "InvalidRequest", 39 + "description": "Invalid request parameters" 40 + } 41 + ] 42 + } 43 + } 44 + }