@oh-gc/cli 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -1
- package/dist/api/client.d.ts +5 -0
- package/dist/api/client.js +39 -0
- package/dist/api/client.js.map +1 -1
- package/dist/api/collaborators.d.ts +32 -0
- package/dist/api/collaborators.js +23 -0
- package/dist/api/collaborators.js.map +1 -0
- package/dist/api/contents.d.ts +88 -0
- package/dist/api/contents.js +44 -0
- package/dist/api/contents.js.map +1 -0
- package/dist/api/enterprises.d.ts +55 -0
- package/dist/api/enterprises.js +16 -0
- package/dist/api/enterprises.js.map +1 -0
- package/dist/api/hooks.d.ts +35 -0
- package/dist/api/hooks.js +35 -0
- package/dist/api/hooks.js.map +1 -0
- package/dist/api/issues.d.ts +42 -0
- package/dist/api/issues.js +35 -0
- package/dist/api/issues.js.map +1 -1
- package/dist/api/labels.d.ts +27 -0
- package/dist/api/labels.js +35 -0
- package/dist/api/labels.js.map +1 -0
- package/dist/api/milestones.d.ts +34 -0
- package/dist/api/milestones.js +35 -0
- package/dist/api/milestones.js.map +1 -0
- package/dist/api/orgs.d.ts +43 -0
- package/dist/api/orgs.js +27 -0
- package/dist/api/orgs.js.map +1 -0
- package/dist/api/prs.d.ts +27 -0
- package/dist/api/prs.js +17 -0
- package/dist/api/prs.js.map +1 -1
- package/dist/api/repos.d.ts +170 -0
- package/dist/api/repos.js +68 -0
- package/dist/api/repos.js.map +1 -0
- package/dist/api/search.d.ts +49 -0
- package/dist/api/search.js +22 -0
- package/dist/api/search.js.map +1 -0
- package/dist/api/tags.d.ts +21 -0
- package/dist/api/tags.js +23 -0
- package/dist/api/tags.js.map +1 -0
- package/dist/api/user.d.ts +31 -0
- package/dist/api/user.js +21 -0
- package/dist/api/user.js.map +1 -1
- package/dist/commands/branch/get.d.ts +13 -0
- package/dist/commands/branch/get.js +50 -0
- package/dist/commands/branch/get.js.map +1 -0
- package/dist/commands/branch/list.d.ts +13 -0
- package/dist/commands/branch/list.js +55 -0
- package/dist/commands/branch/list.js.map +1 -0
- package/dist/commands/branch/protect.d.ts +17 -0
- package/dist/commands/branch/protect.js +81 -0
- package/dist/commands/branch/protect.js.map +1 -0
- package/dist/commands/collaborator/add.d.ts +14 -0
- package/dist/commands/collaborator/add.js +50 -0
- package/dist/commands/collaborator/add.js.map +1 -0
- package/dist/commands/collaborator/list.d.ts +13 -0
- package/dist/commands/collaborator/list.js +61 -0
- package/dist/commands/collaborator/list.js.map +1 -0
- package/dist/commands/collaborator/permission.d.ts +13 -0
- package/dist/commands/collaborator/permission.js +39 -0
- package/dist/commands/collaborator/permission.js.map +1 -0
- package/dist/commands/collaborator/remove.d.ts +13 -0
- package/dist/commands/collaborator/remove.js +37 -0
- package/dist/commands/collaborator/remove.js.map +1 -0
- package/dist/commands/commit/compare.d.ts +14 -0
- package/dist/commands/commit/compare.js +73 -0
- package/dist/commands/commit/compare.js.map +1 -0
- package/dist/commands/commit/diff.d.ts +13 -0
- package/dist/commands/commit/diff.js +56 -0
- package/dist/commands/commit/diff.js.map +1 -0
- package/dist/commands/commit/get.d.ts +13 -0
- package/dist/commands/commit/get.js +65 -0
- package/dist/commands/commit/get.js.map +1 -0
- package/dist/commands/commit/list.d.ts +17 -0
- package/dist/commands/commit/list.js +67 -0
- package/dist/commands/commit/list.js.map +1 -0
- package/dist/commands/file/get.d.ts +14 -0
- package/dist/commands/file/get.js +61 -0
- package/dist/commands/file/get.js.map +1 -0
- package/dist/commands/file/list.d.ts +14 -0
- package/dist/commands/file/list.js +58 -0
- package/dist/commands/file/list.js.map +1 -0
- package/dist/commands/file/raw.d.ts +14 -0
- package/dist/commands/file/raw.js +48 -0
- package/dist/commands/file/raw.js.map +1 -0
- package/dist/commands/hook/create.d.ts +17 -0
- package/dist/commands/hook/create.js +62 -0
- package/dist/commands/hook/create.js.map +1 -0
- package/dist/commands/hook/delete.d.ts +16 -0
- package/dist/commands/hook/delete.js +37 -0
- package/dist/commands/hook/delete.js.map +1 -0
- package/dist/commands/hook/get.d.ts +16 -0
- package/dist/commands/hook/get.js +46 -0
- package/dist/commands/hook/get.js.map +1 -0
- package/dist/commands/hook/list.d.ts +12 -0
- package/dist/commands/hook/list.js +47 -0
- package/dist/commands/hook/list.js.map +1 -0
- package/dist/commands/issue/close.d.ts +13 -0
- package/dist/commands/issue/close.js +34 -0
- package/dist/commands/issue/close.js.map +1 -0
- package/dist/commands/issue/comment.d.ts +3 -2
- package/dist/commands/issue/comment.js +6 -7
- package/dist/commands/issue/comment.js.map +1 -1
- package/dist/commands/issue/create.d.ts +2 -2
- package/dist/commands/issue/create.js +7 -15
- package/dist/commands/issue/create.js.map +1 -1
- package/dist/commands/issue/history.d.ts +13 -0
- package/dist/commands/issue/history.js +39 -0
- package/dist/commands/issue/history.js.map +1 -0
- package/dist/commands/issue/labels.d.ts +15 -0
- package/dist/commands/issue/labels.js +53 -0
- package/dist/commands/issue/labels.js.map +1 -0
- package/dist/commands/issue/list.d.ts +3 -2
- package/dist/commands/issue/list.js +8 -9
- package/dist/commands/issue/list.js.map +1 -1
- package/dist/commands/issue/reactions.d.ts +13 -0
- package/dist/commands/issue/reactions.js +34 -0
- package/dist/commands/issue/reactions.js.map +1 -0
- package/dist/commands/issue/reopen.d.ts +13 -0
- package/dist/commands/issue/reopen.js +34 -0
- package/dist/commands/issue/reopen.js.map +1 -0
- package/dist/commands/issue/update.d.ts +18 -0
- package/dist/commands/issue/update.js +54 -0
- package/dist/commands/issue/update.js.map +1 -0
- package/dist/commands/issue/view.d.ts +3 -2
- package/dist/commands/issue/view.js +8 -9
- package/dist/commands/issue/view.js.map +1 -1
- package/dist/commands/label/create.d.ts +15 -0
- package/dist/commands/label/create.js +56 -0
- package/dist/commands/label/create.js.map +1 -0
- package/dist/commands/label/delete.d.ts +13 -0
- package/dist/commands/label/delete.js +44 -0
- package/dist/commands/label/delete.js.map +1 -0
- package/dist/commands/label/list.d.ts +12 -0
- package/dist/commands/label/list.js +53 -0
- package/dist/commands/label/list.js.map +1 -0
- package/dist/commands/label/update.d.ts +16 -0
- package/dist/commands/label/update.js +63 -0
- package/dist/commands/label/update.js.map +1 -0
- package/dist/commands/milestone/create.d.ts +15 -0
- package/dist/commands/milestone/create.js +49 -0
- package/dist/commands/milestone/create.js.map +1 -0
- package/dist/commands/milestone/delete.d.ts +16 -0
- package/dist/commands/milestone/delete.js +37 -0
- package/dist/commands/milestone/delete.js.map +1 -0
- package/dist/commands/milestone/get.d.ts +16 -0
- package/dist/commands/milestone/get.js +48 -0
- package/dist/commands/milestone/get.js.map +1 -0
- package/dist/commands/milestone/list.d.ts +13 -0
- package/dist/commands/milestone/list.js +53 -0
- package/dist/commands/milestone/list.js.map +1 -0
- package/dist/commands/milestone/update.d.ts +20 -0
- package/dist/commands/milestone/update.js +62 -0
- package/dist/commands/milestone/update.js.map +1 -0
- package/dist/commands/org/list.d.ts +11 -0
- package/dist/commands/org/list.js +53 -0
- package/dist/commands/org/list.js.map +1 -0
- package/dist/commands/org/members.d.ts +14 -0
- package/dist/commands/org/members.js +48 -0
- package/dist/commands/org/members.js.map +1 -0
- package/dist/commands/org/view.d.ts +12 -0
- package/dist/commands/org/view.js +42 -0
- package/dist/commands/org/view.js.map +1 -0
- package/dist/commands/pr/close.d.ts +13 -0
- package/dist/commands/pr/close.js +34 -0
- package/dist/commands/pr/close.js.map +1 -0
- package/dist/commands/pr/comment.d.ts +3 -3
- package/dist/commands/pr/comment.js +7 -15
- package/dist/commands/pr/comment.js.map +1 -1
- package/dist/commands/pr/comments.d.ts +3 -2
- package/dist/commands/pr/comments.js +8 -9
- package/dist/commands/pr/comments.js.map +1 -1
- package/dist/commands/pr/commits.d.ts +3 -2
- package/dist/commands/pr/commits.js +8 -9
- package/dist/commands/pr/commits.js.map +1 -1
- package/dist/commands/pr/create.d.ts +2 -2
- package/dist/commands/pr/create.js +6 -13
- package/dist/commands/pr/create.js.map +1 -1
- package/dist/commands/pr/diff.d.ts +3 -2
- package/dist/commands/pr/diff.js +6 -7
- package/dist/commands/pr/diff.js.map +1 -1
- package/dist/commands/pr/labels.d.ts +3 -2
- package/dist/commands/pr/labels.js +8 -9
- package/dist/commands/pr/labels.js.map +1 -1
- package/dist/commands/pr/link.d.ts +3 -2
- package/dist/commands/pr/link.js +7 -8
- package/dist/commands/pr/link.js.map +1 -1
- package/dist/commands/pr/list.d.ts +3 -2
- package/dist/commands/pr/list.js +8 -9
- package/dist/commands/pr/list.js.map +1 -1
- package/dist/commands/pr/logs.d.ts +3 -2
- package/dist/commands/pr/logs.js +8 -9
- package/dist/commands/pr/logs.js.map +1 -1
- package/dist/commands/pr/merge.d.ts +3 -2
- package/dist/commands/pr/merge.js +6 -7
- package/dist/commands/pr/merge.js.map +1 -1
- package/dist/commands/pr/reactions.d.ts +13 -0
- package/dist/commands/pr/reactions.js +34 -0
- package/dist/commands/pr/reactions.js.map +1 -0
- package/dist/commands/pr/reopen.d.ts +13 -0
- package/dist/commands/pr/reopen.js +34 -0
- package/dist/commands/pr/reopen.js.map +1 -0
- package/dist/commands/pr/review.d.ts +3 -2
- package/dist/commands/pr/review.js +6 -7
- package/dist/commands/pr/review.js.map +1 -1
- package/dist/commands/pr/reviewers.d.ts +4 -3
- package/dist/commands/pr/reviewers.js +30 -10
- package/dist/commands/pr/reviewers.js.map +1 -1
- package/dist/commands/pr/test.d.ts +3 -2
- package/dist/commands/pr/test.js +6 -7
- package/dist/commands/pr/test.js.map +1 -1
- package/dist/commands/pr/testers.d.ts +4 -3
- package/dist/commands/pr/testers.js +30 -10
- package/dist/commands/pr/testers.js.map +1 -1
- package/dist/commands/pr/update.d.ts +3 -2
- package/dist/commands/pr/update.js +6 -7
- package/dist/commands/pr/update.js.map +1 -1
- package/dist/commands/pr/view.d.ts +3 -2
- package/dist/commands/pr/view.js +8 -9
- package/dist/commands/pr/view.js.map +1 -1
- package/dist/commands/release/create.d.ts +3 -2
- package/dist/commands/release/create.js +6 -14
- package/dist/commands/release/create.js.map +1 -1
- package/dist/commands/repo/get-remote.d.ts +3 -2
- package/dist/commands/repo/get-remote.js +3 -3
- package/dist/commands/repo/set-remote.d.ts +3 -2
- package/dist/commands/repo/set-remote.js +3 -3
- package/dist/commands/repo/transfer.d.ts +14 -0
- package/dist/commands/repo/transfer.js +59 -0
- package/dist/commands/repo/transfer.js.map +1 -0
- package/dist/commands/repo/update.d.ts +15 -0
- package/dist/commands/repo/update.js +66 -0
- package/dist/commands/repo/update.js.map +1 -0
- package/dist/commands/repo/view.d.ts +10 -0
- package/dist/commands/repo/view.js +50 -0
- package/dist/commands/repo/view.js.map +1 -0
- package/dist/commands/search/code.d.ts +16 -0
- package/dist/commands/search/code.js +75 -0
- package/dist/commands/search/code.js.map +1 -0
- package/dist/commands/search/issues.d.ts +16 -0
- package/dist/commands/search/issues.js +77 -0
- package/dist/commands/search/issues.js.map +1 -0
- package/dist/commands/search/repos.d.ts +16 -0
- package/dist/commands/search/repos.js +77 -0
- package/dist/commands/search/repos.js.map +1 -0
- package/dist/commands/tag/list.d.ts +12 -0
- package/dist/commands/tag/list.js +45 -0
- package/dist/commands/tag/list.js.map +1 -0
- package/dist/commands/tag/protect.d.ts +14 -0
- package/dist/commands/tag/protect.js +53 -0
- package/dist/commands/tag/protect.js.map +1 -0
- package/dist/commands/user/emails.d.ts +9 -0
- package/dist/commands/user/emails.js +33 -0
- package/dist/commands/user/emails.js.map +1 -0
- package/dist/commands/user/followers.d.ts +14 -0
- package/dist/commands/user/followers.js +92 -0
- package/dist/commands/user/followers.js.map +1 -0
- package/dist/commands/user/following.d.ts +14 -0
- package/dist/commands/user/following.js +57 -0
- package/dist/commands/user/following.js.map +1 -0
- package/dist/commands/user/view.d.ts +12 -0
- package/dist/commands/user/view.js +46 -0
- package/dist/commands/user/view.js.map +1 -0
- package/dist/git/index.js +1 -1
- package/dist/git/index.js.map +1 -1
- package/dist/repo-command.d.ts +19 -0
- package/dist/repo-command.js +29 -0
- package/dist/repo-command.js.map +1 -0
- package/dist/ui/index.d.ts +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -84,8 +84,13 @@ oh-gc repo:set-remote upstream
|
|
|
84
84
|
| `oh-gc issue:create` | Create issue interactively |
|
|
85
85
|
| `oh-gc issue:create --title "Bug" --body "..."` | Create issue with flags |
|
|
86
86
|
| `oh-gc issue:create --repo owner/repo --title "Bug"` | Create issue on different repo |
|
|
87
|
+
| `oh-gc issue:update <number> --title "..."` | Update issue title or body |
|
|
88
|
+
| `oh-gc issue:close <number>` | Close an issue |
|
|
89
|
+
| `oh-gc issue:reopen <number>` | Reopen a closed issue |
|
|
87
90
|
| `oh-gc issue:comment <number>` | Add a comment interactively |
|
|
88
91
|
| `oh-gc issue:comment <number> --body "..."` | Add a comment with a flag |
|
|
92
|
+
| `oh-gc issue:labels <number> bug,feature` | Add labels to an issue |
|
|
93
|
+
| `oh-gc issue:labels <number> bug --remove` | Remove a label |
|
|
89
94
|
|
|
90
95
|
### Pull Requests
|
|
91
96
|
|
|
@@ -107,7 +112,8 @@ oh-gc repo:set-remote upstream
|
|
|
107
112
|
| `oh-gc pr:comment <number> --repo owner/repo --body "..."` | Add comment on different repo |
|
|
108
113
|
| `oh-gc pr:comment <number> --body "..." --path file.ts --line 10` | Comment on specific line |
|
|
109
114
|
| `oh-gc pr:update <number> --title "..."` | Update PR title, body, or state |
|
|
110
|
-
| `oh-gc pr:
|
|
115
|
+
| `oh-gc pr:close <number>` | Close a PR |
|
|
116
|
+
| `oh-gc pr:reopen <number>` | Reopen a closed PR |
|
|
111
117
|
| `oh-gc pr:merge <number>` | Merge PR (default: merge commit) |
|
|
112
118
|
| `oh-gc pr:merge <number> --method squash` | Squash merge |
|
|
113
119
|
| `oh-gc pr:merge <number> --method rebase` | Rebase merge |
|
|
@@ -140,6 +146,128 @@ oh-gc repo:set-remote upstream
|
|
|
140
146
|
|---|---|
|
|
141
147
|
| `oh-gc repo:get-remote` | Show which remote `oh-gc` uses |
|
|
142
148
|
| `oh-gc repo:set-remote <name>` | Set which remote `oh-gc` uses |
|
|
149
|
+
| `oh-gc repo:view` | View repository information |
|
|
150
|
+
| `oh-gc repo:update --description "..."` | Update repository settings |
|
|
151
|
+
| `oh-gc repo:transfer <new-owner>` | Transfer repository ownership |
|
|
152
|
+
|
|
153
|
+
### Branches
|
|
154
|
+
|
|
155
|
+
| Command | Description |
|
|
156
|
+
|---|---|
|
|
157
|
+
| `oh-gc branch:list` | List all branches |
|
|
158
|
+
| `oh-gc branch:list --protected` | List only protected branches |
|
|
159
|
+
| `oh-gc branch:get <name>` | Get branch details |
|
|
160
|
+
| `oh-gc branch:protect <name>` | Set branch protection rules |
|
|
161
|
+
|
|
162
|
+
### Commits
|
|
163
|
+
|
|
164
|
+
| Command | Description |
|
|
165
|
+
|---|---|
|
|
166
|
+
| `oh-gc commit:list` | List commits |
|
|
167
|
+
| `oh-gc commit:list --sha main` | List commits from specific branch |
|
|
168
|
+
| `oh-gc commit:get <sha>` | Get commit details |
|
|
169
|
+
| `oh-gc commit:diff <sha>` | View commit diff |
|
|
170
|
+
| `oh-gc commit:compare <base> <head>` | Compare two commits or branches |
|
|
171
|
+
|
|
172
|
+
### Files
|
|
173
|
+
|
|
174
|
+
| Command | Description |
|
|
175
|
+
|---|---|
|
|
176
|
+
| `oh-gc file:get <path>` | Get file contents (base64 encoded) |
|
|
177
|
+
| `oh-gc file:raw <path> --ref main` | Get raw file contents |
|
|
178
|
+
| `oh-gc file:list` | List repository files |
|
|
179
|
+
|
|
180
|
+
### Collaborators
|
|
181
|
+
|
|
182
|
+
| Command | Description |
|
|
183
|
+
|---|---|
|
|
184
|
+
| `oh-gc collaborator:list` | List repository collaborators |
|
|
185
|
+
| `oh-gc collaborator:add <username>` | Add a collaborator |
|
|
186
|
+
| `oh-gc collaborator:remove <username>` | Remove a collaborator |
|
|
187
|
+
| `oh-gc collaborator:permission <username>` | Get collaborator permission level |
|
|
188
|
+
|
|
189
|
+
### Labels
|
|
190
|
+
|
|
191
|
+
| Command | Description |
|
|
192
|
+
|---|---|
|
|
193
|
+
| `oh-gc label:list` | List repository labels |
|
|
194
|
+
| `oh-gc label:get <name>` | Get label details |
|
|
195
|
+
| `oh-gc label:create` | Create a new label |
|
|
196
|
+
| `oh-gc label:update <name>` | Update a label |
|
|
197
|
+
| `oh-gc label:delete <name>` | Delete a label |
|
|
198
|
+
|
|
199
|
+
### Milestones
|
|
200
|
+
|
|
201
|
+
| Command | Description |
|
|
202
|
+
|---|---|
|
|
203
|
+
| `oh-gc milestone:list` | List milestones |
|
|
204
|
+
| `oh-gc milestone:get <number>` | Get milestone details |
|
|
205
|
+
| `oh-gc milestone:create` | Create a new milestone |
|
|
206
|
+
| `oh-gc milestone:update <number>` | Update a milestone |
|
|
207
|
+
| `oh-gc milestone:delete <number>` | Delete a milestone |
|
|
208
|
+
|
|
209
|
+
### Webhooks
|
|
210
|
+
|
|
211
|
+
| Command | Description |
|
|
212
|
+
|---|---|
|
|
213
|
+
| `oh-gc hook:list` | List repository webhooks |
|
|
214
|
+
| `oh-gc hook:get <id>` | Get webhook details |
|
|
215
|
+
| `oh-gc hook:create` | Create a webhook |
|
|
216
|
+
| `oh-gc hook:delete <id>` | Delete a webhook |
|
|
217
|
+
|
|
218
|
+
### Tags
|
|
219
|
+
|
|
220
|
+
| Command | Description |
|
|
221
|
+
|---|---|
|
|
222
|
+
| `oh-gc tag:list` | List repository tags |
|
|
223
|
+
| `oh-gc tag:protect <name>` | Protect a tag |
|
|
224
|
+
|
|
225
|
+
### Organizations
|
|
226
|
+
|
|
227
|
+
| Command | Description |
|
|
228
|
+
|---|---|
|
|
229
|
+
| `oh-gc org:list` | List your organizations |
|
|
230
|
+
| `oh-gc org:view <org>` | Get organization details |
|
|
231
|
+
| `oh-gc org:members <org>` | List organization members |
|
|
232
|
+
| `oh-gc org:repos <org>` | List organization repositories |
|
|
233
|
+
|
|
234
|
+
### User
|
|
235
|
+
|
|
236
|
+
| Command | Description |
|
|
237
|
+
|---|---|
|
|
238
|
+
| `oh-gc user:view` | View your profile |
|
|
239
|
+
| `oh-gc user:view alice` | View another user's profile |
|
|
240
|
+
| `oh-gc user:emails` | List your email addresses |
|
|
241
|
+
| `oh-gc user:followers` | List your followers |
|
|
242
|
+
| `oh-gc user:following` | List users you follow |
|
|
243
|
+
|
|
244
|
+
### Search
|
|
245
|
+
|
|
246
|
+
| Command | Description |
|
|
247
|
+
|---|---|
|
|
248
|
+
| `oh-gc search:repos "keyword"` | Search repositories |
|
|
249
|
+
| `oh-gc search:issues "keyword"` | Search issues across repos |
|
|
250
|
+
| `oh-gc search:code "keyword"` | Search code across repos |
|
|
251
|
+
|
|
252
|
+
### Repository Flags
|
|
253
|
+
|
|
254
|
+
Most commands that operate on a repository support the `--repo` flag, which allows you to specify a target repository without being inside a git clone:
|
|
255
|
+
|
|
256
|
+
| Flag | Description |
|
|
257
|
+
|---|---|
|
|
258
|
+
| `--repo owner/repo` | Target repository in OWNER/REPO format |
|
|
259
|
+
|
|
260
|
+
Examples:
|
|
261
|
+
```bash
|
|
262
|
+
# List issues in any repository
|
|
263
|
+
oh-gc issue:list --repo openharmony/arkui_ace_engine
|
|
264
|
+
|
|
265
|
+
# Create an issue on a different repo
|
|
266
|
+
oh-gc issue:create --repo owner/repo --title "Bug report"
|
|
267
|
+
|
|
268
|
+
# View a PR without cloning
|
|
269
|
+
oh-gc pr:view 123 --repo owner/repo
|
|
270
|
+
```
|
|
143
271
|
|
|
144
272
|
### Global Flags
|
|
145
273
|
|
|
@@ -174,6 +302,23 @@ You can commit or gitignore the `.gitcode/` directory — `oh-gc` never modifies
|
|
|
174
302
|
|
|
175
303
|
---
|
|
176
304
|
|
|
305
|
+
## AI Skill
|
|
306
|
+
|
|
307
|
+
`oh-gc` ships with a skill file that teaches AI assistants (Claude Code, OpenCode, Gemini CLI) how to use the CLI. To install:
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
# Fetch the install guide and follow the instructions
|
|
311
|
+
curl -fsSL https://raw.gitcode.com/guozejun/ohos_gitcode_cli/raw/master/skills/gitcode-cli/INSTALL.md
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Or ask your AI assistant to fetch and follow the instructions from:
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
https://raw.gitcode.com/guozejun/ohos_gitcode_cli/raw/master/skills/gitcode-cli/INSTALL.md
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
177
322
|
## Exit Codes
|
|
178
323
|
|
|
179
324
|
- `0` — success
|
package/dist/api/client.d.ts
CHANGED
|
@@ -2,6 +2,11 @@ export declare class GitCodeError extends Error {
|
|
|
2
2
|
statusCode: number;
|
|
3
3
|
constructor(statusCode: number, message: string);
|
|
4
4
|
}
|
|
5
|
+
export declare function rawApiRequest(path: string, token: string, options?: {
|
|
6
|
+
method?: string;
|
|
7
|
+
body?: unknown;
|
|
8
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
9
|
+
}): Promise<string>;
|
|
5
10
|
export declare function apiRequest<T>(path: string, token: string, options?: {
|
|
6
11
|
method?: string;
|
|
7
12
|
body?: unknown;
|
package/dist/api/client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GitCodeError = void 0;
|
|
4
|
+
exports.rawApiRequest = rawApiRequest;
|
|
4
5
|
exports.apiRequest = apiRequest;
|
|
5
6
|
const BASE_URL = 'https://api.gitcode.com/api/v5';
|
|
6
7
|
class GitCodeError extends Error {
|
|
@@ -11,6 +12,44 @@ class GitCodeError extends Error {
|
|
|
11
12
|
}
|
|
12
13
|
}
|
|
13
14
|
exports.GitCodeError = GitCodeError;
|
|
15
|
+
async function rawApiRequest(path, token, options = {}) {
|
|
16
|
+
const { method = 'GET', body, query } = options;
|
|
17
|
+
const url = new URL(`${BASE_URL}${path}`);
|
|
18
|
+
if (query) {
|
|
19
|
+
for (const [key, value] of Object.entries(query)) {
|
|
20
|
+
if (value !== undefined)
|
|
21
|
+
url.searchParams.set(key, String(value));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
let response;
|
|
25
|
+
try {
|
|
26
|
+
response = await fetch(url.toString(), {
|
|
27
|
+
method,
|
|
28
|
+
headers: {
|
|
29
|
+
Authorization: `Bearer ${token}`,
|
|
30
|
+
'Content-Type': 'application/json',
|
|
31
|
+
Accept: 'text/plain',
|
|
32
|
+
},
|
|
33
|
+
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
throw new GitCodeError(0, 'Could not connect to GitCode. Check your internet connection.');
|
|
38
|
+
}
|
|
39
|
+
if (response.status === 401) {
|
|
40
|
+
await response.text().catch(() => { });
|
|
41
|
+
throw new GitCodeError(401, 'Authentication failed. Check your token or run: gc auth login');
|
|
42
|
+
}
|
|
43
|
+
if (response.status === 429) {
|
|
44
|
+
await response.text().catch(() => { });
|
|
45
|
+
throw new GitCodeError(429, 'Rate limit exceeded. Try again shortly.');
|
|
46
|
+
}
|
|
47
|
+
if (!response.ok) {
|
|
48
|
+
const text = await response.text();
|
|
49
|
+
throw new GitCodeError(response.status, `API error ${response.status}: ${text}`);
|
|
50
|
+
}
|
|
51
|
+
return response.text();
|
|
52
|
+
}
|
|
14
53
|
async function apiRequest(path, token, options = {}) {
|
|
15
54
|
const { method = 'GET', body, query } = options;
|
|
16
55
|
const url = new URL(`${BASE_URL}${path}`);
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":";;;AASA,gCAiEC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface Collaborator {
|
|
2
|
+
login: string;
|
|
3
|
+
id: number;
|
|
4
|
+
avatar_url: string;
|
|
5
|
+
type: string;
|
|
6
|
+
permissions?: {
|
|
7
|
+
admin?: boolean;
|
|
8
|
+
maintain?: boolean;
|
|
9
|
+
push?: boolean;
|
|
10
|
+
triage?: boolean;
|
|
11
|
+
pull?: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface CollaboratorPermission {
|
|
15
|
+
permission: 'admin' | 'maintain' | 'write' | 'triage' | 'read' | 'none';
|
|
16
|
+
user: {
|
|
17
|
+
login: string;
|
|
18
|
+
id: number;
|
|
19
|
+
avatar_url: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface AddCollaboratorParams {
|
|
23
|
+
permission?: 'pull' | 'triage' | 'push' | 'maintain' | 'admin';
|
|
24
|
+
}
|
|
25
|
+
export declare function listCollaborators(token: string, owner: string, repo: string, params?: {
|
|
26
|
+
page?: number;
|
|
27
|
+
per_page?: number;
|
|
28
|
+
affiliation?: 'outside' | 'direct' | 'all';
|
|
29
|
+
}): Promise<Collaborator[]>;
|
|
30
|
+
export declare function addCollaborator(token: string, owner: string, repo: string, username: string, params?: AddCollaboratorParams): Promise<Collaborator>;
|
|
31
|
+
export declare function removeCollaborator(token: string, owner: string, repo: string, username: string): Promise<void>;
|
|
32
|
+
export declare function getCollaboratorPermission(token: string, owner: string, repo: string, username: string): Promise<CollaboratorPermission>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCollaborators = listCollaborators;
|
|
4
|
+
exports.addCollaborator = addCollaborator;
|
|
5
|
+
exports.removeCollaborator = removeCollaborator;
|
|
6
|
+
exports.getCollaboratorPermission = getCollaboratorPermission;
|
|
7
|
+
const client_1 = require("./client");
|
|
8
|
+
// --- Collaborator API Functions ---
|
|
9
|
+
async function listCollaborators(token, owner, repo, params = {}) {
|
|
10
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators`, token, {
|
|
11
|
+
query: params,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async function addCollaborator(token, owner, repo, username, params = {}) {
|
|
15
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}`, token, { method: 'PUT', body: params });
|
|
16
|
+
}
|
|
17
|
+
async function removeCollaborator(token, owner, repo, username) {
|
|
18
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}`, token, { method: 'DELETE' });
|
|
19
|
+
}
|
|
20
|
+
async function getCollaboratorPermission(token, owner, repo, username) {
|
|
21
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/collaborators/${username}/permission`, token);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=collaborators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collaborators.js","sourceRoot":"","sources":["../../src/api/collaborators.ts"],"names":[],"mappings":";;AAiCA,8CASC;AAED,0CAYC;AAED,gDAWC;AAED,8DAUC;AAjFD,qCAAqC;AA+BrC,qCAAqC;AAE9B,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,SAA2F,EAAE;IAE7F,OAAO,IAAA,mBAAU,EAAiB,UAAU,KAAK,IAAI,IAAI,gBAAgB,EAAE,KAAK,EAAE;QAChF,KAAK,EAAE,MAAqD;KAC7D,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB,EAChB,SAAgC,EAAE;IAElC,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,EAAE,EACnD,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB;IAEhB,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,EAAE,EACnD,KAAK,EACL,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAC7C,KAAa,EACb,KAAa,EACb,IAAY,EACZ,QAAgB;IAEhB,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,kBAAkB,QAAQ,aAAa,EAC9D,KAAK,CACN,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export interface FileContent {
|
|
2
|
+
name: string;
|
|
3
|
+
path: string;
|
|
4
|
+
sha: string;
|
|
5
|
+
size: number;
|
|
6
|
+
url: string;
|
|
7
|
+
html_url: string;
|
|
8
|
+
git_url: string;
|
|
9
|
+
download_url: string;
|
|
10
|
+
type: 'file';
|
|
11
|
+
content?: string;
|
|
12
|
+
encoding?: string;
|
|
13
|
+
target?: string;
|
|
14
|
+
submodule_git_url?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DirectoryItem {
|
|
17
|
+
name: string;
|
|
18
|
+
path: string;
|
|
19
|
+
sha: string;
|
|
20
|
+
size: number;
|
|
21
|
+
url: string;
|
|
22
|
+
html_url: string;
|
|
23
|
+
git_url: string;
|
|
24
|
+
download_url?: string;
|
|
25
|
+
type: 'file' | 'dir' | 'symlink' | 'submodule';
|
|
26
|
+
target?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface GetFileOptions {
|
|
29
|
+
ref?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function getFile(token: string, owner: string, repo: string, path: string, options?: GetFileOptions): Promise<FileContent>;
|
|
32
|
+
export declare function getRawFile(token: string, owner: string, repo: string, path: string, ref: string): Promise<string>;
|
|
33
|
+
export declare function listDirectory(token: string, owner: string, repo: string, path?: string, options?: GetFileOptions): Promise<DirectoryItem[]>;
|
|
34
|
+
export declare function createFile(token: string, owner: string, repo: string, path: string, params: {
|
|
35
|
+
message: string;
|
|
36
|
+
content: string;
|
|
37
|
+
branch?: string;
|
|
38
|
+
author?: {
|
|
39
|
+
name: string;
|
|
40
|
+
email: string;
|
|
41
|
+
};
|
|
42
|
+
committer?: {
|
|
43
|
+
name: string;
|
|
44
|
+
email: string;
|
|
45
|
+
};
|
|
46
|
+
}): Promise<{
|
|
47
|
+
content: FileContent | null;
|
|
48
|
+
commit: {
|
|
49
|
+
sha: string;
|
|
50
|
+
};
|
|
51
|
+
}>;
|
|
52
|
+
export declare function updateFile(token: string, owner: string, repo: string, path: string, params: {
|
|
53
|
+
message: string;
|
|
54
|
+
content: string;
|
|
55
|
+
sha: string;
|
|
56
|
+
branch?: string;
|
|
57
|
+
author?: {
|
|
58
|
+
name: string;
|
|
59
|
+
email: string;
|
|
60
|
+
};
|
|
61
|
+
committer?: {
|
|
62
|
+
name: string;
|
|
63
|
+
email: string;
|
|
64
|
+
};
|
|
65
|
+
}): Promise<{
|
|
66
|
+
content: FileContent | null;
|
|
67
|
+
commit: {
|
|
68
|
+
sha: string;
|
|
69
|
+
};
|
|
70
|
+
}>;
|
|
71
|
+
export declare function deleteFile(token: string, owner: string, repo: string, path: string, params: {
|
|
72
|
+
message: string;
|
|
73
|
+
sha: string;
|
|
74
|
+
branch?: string;
|
|
75
|
+
author?: {
|
|
76
|
+
name: string;
|
|
77
|
+
email: string;
|
|
78
|
+
};
|
|
79
|
+
committer?: {
|
|
80
|
+
name: string;
|
|
81
|
+
email: string;
|
|
82
|
+
};
|
|
83
|
+
}): Promise<{
|
|
84
|
+
commit: {
|
|
85
|
+
sha: string;
|
|
86
|
+
};
|
|
87
|
+
content: null;
|
|
88
|
+
}>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFile = getFile;
|
|
4
|
+
exports.getRawFile = getRawFile;
|
|
5
|
+
exports.listDirectory = listDirectory;
|
|
6
|
+
exports.createFile = createFile;
|
|
7
|
+
exports.updateFile = updateFile;
|
|
8
|
+
exports.deleteFile = deleteFile;
|
|
9
|
+
const client_1 = require("./client");
|
|
10
|
+
// --- File API Functions ---
|
|
11
|
+
async function getFile(token, owner, repo, path, options = {}) {
|
|
12
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, {
|
|
13
|
+
query: options,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async function getRawFile(token, owner, repo, path, ref) {
|
|
17
|
+
// Raw file endpoint returns text, not JSON - use fetch directly
|
|
18
|
+
const BASE_URL = 'https://api.gitcode.com/api/v5';
|
|
19
|
+
const url = new URL(`${BASE_URL}/repos/${owner}/${repo}/raw/${path}`);
|
|
20
|
+
url.searchParams.set('ref', ref);
|
|
21
|
+
const response = await fetch(url.toString(), {
|
|
22
|
+
headers: {
|
|
23
|
+
Authorization: `Bearer ${token}`,
|
|
24
|
+
Accept: 'text/plain',
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
throw new Error(`Failed to get raw file: ${response.status}`);
|
|
29
|
+
}
|
|
30
|
+
return response.text();
|
|
31
|
+
}
|
|
32
|
+
async function listDirectory(token, owner, repo, path = '', options = {}) {
|
|
33
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { query: options });
|
|
34
|
+
}
|
|
35
|
+
async function createFile(token, owner, repo, path, params) {
|
|
36
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'PUT', body: params });
|
|
37
|
+
}
|
|
38
|
+
async function updateFile(token, owner, repo, path, params) {
|
|
39
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'PUT', body: params });
|
|
40
|
+
}
|
|
41
|
+
async function deleteFile(token, owner, repo, path, params) {
|
|
42
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/contents/${path}`, token, { method: 'DELETE', body: params });
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=contents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contents.js","sourceRoot":"","sources":["../../src/api/contents.ts"],"names":[],"mappings":";;AAuCA,0BAUC;AAED,gCAwBC;AAED,sCAYC;AAED,gCAkBC;AAED,gCAmBC;AAED,gCAkBC;AAtJD,qCAAqC;AAqCrC,6BAA6B;AAEtB,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,UAA0B,EAAE;IAE5B,OAAO,IAAA,mBAAU,EAAc,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAAE,KAAK,EAAE;QAChF,KAAK,EAAE,OAA6C;KACrD,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,GAAW;IAEX,gEAAgE;IAChE,MAAM,QAAQ,GAAG,gCAAgC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,QAAQ,UAAU,KAAK,IAAI,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAA;IACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEhC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,MAAM,EAAE,YAAY;SACrB;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,KAAa,EACb,IAAY,EACZ,OAAe,EAAE,EACjB,UAA0B,EAAE;IAE5B,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,KAAK,EAAE,OAA6C,EAAE,CACzD,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAMC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAOC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAChC,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,IAAY,EACZ,MAMC;IAED,OAAO,IAAA,mBAAU,EACf,UAAU,KAAK,IAAI,IAAI,aAAa,IAAI,EAAE,EAC1C,KAAK,EACL,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CACnC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface Enterprise {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
avatar_url: string;
|
|
7
|
+
members_count?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface EnterpriseMember {
|
|
10
|
+
id: number;
|
|
11
|
+
login: string;
|
|
12
|
+
name: string;
|
|
13
|
+
avatar_url: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
role?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface EnterpriseIssue {
|
|
18
|
+
id: number;
|
|
19
|
+
number: string;
|
|
20
|
+
title: string;
|
|
21
|
+
state: string;
|
|
22
|
+
html_url: string;
|
|
23
|
+
user: {
|
|
24
|
+
login: string;
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
repository?: {
|
|
28
|
+
full_name: string;
|
|
29
|
+
};
|
|
30
|
+
created_at: string;
|
|
31
|
+
updated_at: string;
|
|
32
|
+
}
|
|
33
|
+
export interface EnterpriseLabel {
|
|
34
|
+
id: number;
|
|
35
|
+
name: string;
|
|
36
|
+
color: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function listEnterpriseIssues(token: string, enterprise: string, params?: {
|
|
40
|
+
state?: 'open' | 'closed' | 'all';
|
|
41
|
+
labels?: string;
|
|
42
|
+
sort?: 'created' | 'updated';
|
|
43
|
+
direction?: 'asc' | 'desc';
|
|
44
|
+
page?: number;
|
|
45
|
+
per_page?: number;
|
|
46
|
+
}): Promise<EnterpriseIssue[]>;
|
|
47
|
+
export declare function listEnterpriseMembers(token: string, enterprise: string, params?: {
|
|
48
|
+
page?: number;
|
|
49
|
+
per_page?: number;
|
|
50
|
+
role?: 'member' | 'admin';
|
|
51
|
+
}): Promise<EnterpriseMember[]>;
|
|
52
|
+
export declare function listEnterpriseLabels(token: string, enterprise: string, params?: {
|
|
53
|
+
page?: number;
|
|
54
|
+
per_page?: number;
|
|
55
|
+
}): Promise<EnterpriseLabel[]>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listEnterpriseIssues = listEnterpriseIssues;
|
|
4
|
+
exports.listEnterpriseMembers = listEnterpriseMembers;
|
|
5
|
+
exports.listEnterpriseLabels = listEnterpriseLabels;
|
|
6
|
+
const client_1 = require("./client");
|
|
7
|
+
async function listEnterpriseIssues(token, enterprise, params = {}) {
|
|
8
|
+
return (0, client_1.apiRequest)(`/enterprises/${enterprise}/issues`, token, { query: params });
|
|
9
|
+
}
|
|
10
|
+
async function listEnterpriseMembers(token, enterprise, params = {}) {
|
|
11
|
+
return (0, client_1.apiRequest)(`/enterprises/${enterprise}/members`, token, { query: params });
|
|
12
|
+
}
|
|
13
|
+
async function listEnterpriseLabels(token, enterprise, params = {}) {
|
|
14
|
+
return (0, client_1.apiRequest)(`/enterprises/${enterprise}/labels`, token, { query: params });
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=enterprises.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enterprises.js","sourceRoot":"","sources":["../../src/api/enterprises.ts"],"names":[],"mappings":";;AAuCA,oDAiBC;AAED,sDAcC;AAED,oDAUC;AApFD,qCAAqC;AAuC9B,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,UAAkB,EAClB,SAOI,EAAE;IAEN,OAAO,IAAA,mBAAU,EACf,gBAAgB,UAAU,SAAS,EACnC,KAAK,EACL,EAAE,KAAK,EAAE,MAAqD,EAAE,CACjE,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,UAAkB,EAClB,SAII,EAAE;IAEN,OAAO,IAAA,mBAAU,EACf,gBAAgB,UAAU,UAAU,EACpC,KAAK,EACL,EAAE,KAAK,EAAE,MAAqD,EAAE,CACjE,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,KAAa,EACb,UAAkB,EAClB,SAA+C,EAAE;IAEjD,OAAO,IAAA,mBAAU,EACf,gBAAgB,UAAU,SAAS,EACnC,KAAK,EACL,EAAE,KAAK,EAAE,MAAqD,EAAE,CACjE,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface Hook {
|
|
2
|
+
id: number;
|
|
3
|
+
url: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: string;
|
|
6
|
+
active: boolean;
|
|
7
|
+
events: string[];
|
|
8
|
+
config: {
|
|
9
|
+
url?: string;
|
|
10
|
+
content_type?: string;
|
|
11
|
+
secret?: string;
|
|
12
|
+
insecure_ssl?: string;
|
|
13
|
+
};
|
|
14
|
+
created_at: string;
|
|
15
|
+
updated_at: string;
|
|
16
|
+
}
|
|
17
|
+
export interface CreateHookParams {
|
|
18
|
+
name: string;
|
|
19
|
+
config: {
|
|
20
|
+
url: string;
|
|
21
|
+
content_type?: string;
|
|
22
|
+
secret?: string;
|
|
23
|
+
insecure_ssl?: string;
|
|
24
|
+
};
|
|
25
|
+
events?: string[];
|
|
26
|
+
active?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare function listHooks(token: string, owner: string, repo: string, params?: {
|
|
29
|
+
page?: number;
|
|
30
|
+
per_page?: number;
|
|
31
|
+
}): Promise<Hook[]>;
|
|
32
|
+
export declare function getHook(token: string, owner: string, repo: string, id: number): Promise<Hook>;
|
|
33
|
+
export declare function createHook(token: string, owner: string, repo: string, params: CreateHookParams): Promise<Hook>;
|
|
34
|
+
export declare function updateHook(token: string, owner: string, repo: string, id: number, params: Partial<CreateHookParams>): Promise<Hook>;
|
|
35
|
+
export declare function deleteHook(token: string, owner: string, repo: string, id: number): Promise<void>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listHooks = listHooks;
|
|
4
|
+
exports.getHook = getHook;
|
|
5
|
+
exports.createHook = createHook;
|
|
6
|
+
exports.updateHook = updateHook;
|
|
7
|
+
exports.deleteHook = deleteHook;
|
|
8
|
+
const client_1 = require("./client");
|
|
9
|
+
// --- Hook API Functions ---
|
|
10
|
+
async function listHooks(token, owner, repo, params = {}) {
|
|
11
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/hooks`, token, {
|
|
12
|
+
query: params,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
async function getHook(token, owner, repo, id) {
|
|
16
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/hooks/${id}`, token);
|
|
17
|
+
}
|
|
18
|
+
async function createHook(token, owner, repo, params) {
|
|
19
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/hooks`, token, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
body: params,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async function updateHook(token, owner, repo, id, params) {
|
|
25
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/hooks/${id}`, token, {
|
|
26
|
+
method: 'PATCH',
|
|
27
|
+
body: params,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
async function deleteHook(token, owner, repo, id) {
|
|
31
|
+
return (0, client_1.apiRequest)(`/repos/${owner}/${repo}/hooks/${id}`, token, {
|
|
32
|
+
method: 'DELETE',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/api/hooks.ts"],"names":[],"mappings":";;AAmCA,8BASC;AAED,0BAOC;AAED,gCAUC;AAED,gCAWC;AAED,gCASC;AAzFD,qCAAqC;AAiCrC,6BAA6B;AAEtB,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,SAA+C,EAAE;IAEjD,OAAO,IAAA,mBAAU,EAAS,UAAU,KAAK,IAAI,IAAI,QAAQ,EAAE,KAAK,EAAE;QAChE,KAAK,EAAE,MAAqD;KAC7D,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,EAAU;IAEV,OAAO,IAAA,mBAAU,EAAO,UAAU,KAAK,IAAI,IAAI,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;AACvE,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,MAAwB;IAExB,OAAO,IAAA,mBAAU,EAAO,UAAU,KAAK,IAAI,IAAI,QAAQ,EAAE,KAAK,EAAE;QAC9D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,EAAU,EACV,MAAiC;IAEjC,OAAO,IAAA,mBAAU,EAAO,UAAU,KAAK,IAAI,IAAI,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;QACpE,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,MAAM;KACb,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,KAAa,EACb,IAAY,EACZ,EAAU;IAEV,OAAO,IAAA,mBAAU,EAAO,UAAU,KAAK,IAAI,IAAI,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;QACpE,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/api/issues.d.ts
CHANGED
|
@@ -58,3 +58,45 @@ export declare function listComments(token: string, owner: string, repo: string,
|
|
|
58
58
|
per_page?: number;
|
|
59
59
|
order?: string;
|
|
60
60
|
}): Promise<IssueComment[]>;
|
|
61
|
+
export interface UpdateIssueParams {
|
|
62
|
+
title?: string;
|
|
63
|
+
body?: string;
|
|
64
|
+
state?: 'open' | 'closed';
|
|
65
|
+
labels?: string;
|
|
66
|
+
assignee?: string;
|
|
67
|
+
milestone?: number;
|
|
68
|
+
}
|
|
69
|
+
export declare function updateIssue(token: string, owner: string, repo: string, number: string, params: UpdateIssueParams): Promise<Issue>;
|
|
70
|
+
export declare function closeIssue(token: string, owner: string, repo: string, number: string): Promise<Issue>;
|
|
71
|
+
export declare function reopenIssue(token: string, owner: string, repo: string, number: string): Promise<Issue>;
|
|
72
|
+
export interface IssueLabel {
|
|
73
|
+
id: number;
|
|
74
|
+
name: string;
|
|
75
|
+
color: string;
|
|
76
|
+
}
|
|
77
|
+
export declare function addIssueLabels(token: string, owner: string, repo: string, number: string, labels: string[]): Promise<IssueLabel[]>;
|
|
78
|
+
export declare function removeIssueLabel(token: string, owner: string, repo: string, number: string, name: string): Promise<void>;
|
|
79
|
+
export interface Reaction {
|
|
80
|
+
id: number;
|
|
81
|
+
user: {
|
|
82
|
+
login: string;
|
|
83
|
+
};
|
|
84
|
+
content: string;
|
|
85
|
+
created_at: string;
|
|
86
|
+
}
|
|
87
|
+
export declare function listIssueReactions(token: string, owner: string, repo: string, number: string): Promise<Reaction[]>;
|
|
88
|
+
export declare function createIssueReaction(token: string, owner: string, repo: string, number: string, content: string): Promise<Reaction>;
|
|
89
|
+
export interface IssueHistory {
|
|
90
|
+
id: number;
|
|
91
|
+
action: string;
|
|
92
|
+
content: string;
|
|
93
|
+
created_at: string;
|
|
94
|
+
user: {
|
|
95
|
+
login: string;
|
|
96
|
+
name: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
export declare function listIssueHistory(token: string, owner: string, repo: string, number: string, params?: {
|
|
100
|
+
page?: number;
|
|
101
|
+
per_page?: number;
|
|
102
|
+
}): Promise<IssueHistory[]>;
|