@amonstack/gitea-mcp 0.3.5 → 0.3.7

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 CHANGED
@@ -217,9 +217,9 @@ gitea-mcp init --dir /exact/path # custom location
217
217
 
218
218
  Supported `--tool` values: `amazon-q`, `antigravity`, `auggie`, `claude`,
219
219
  `cline`, `codex`, `codebuddy`, `continue`, `costrict`, `crush`, `cursor`,
220
- `factory`, `gemini`, `github-copilot`, `iflow`, `kilocode`, `opencode`, `qoder`,
221
- `qwen`, `roocode`, `windsurf`. Paths follow each tool's conventional skills
222
- directory; use `--dir` for an exact location. Then restart your tool. See
220
+ `factory`, `gemini`, `github-copilot`, `iflow`, `kimi`, `kilocode`, `opencode`,
221
+ `qoder`, `qwen`, `roocode`, `windsurf`. Paths follow each tool's conventional
222
+ skills directory; use `--dir` for an exact location. Then restart your tool. See
223
223
  [AI Guidance & Skills](#ai-guidance--skills) below.
224
224
 
225
225
  ### Other MCP Clients
@@ -294,6 +294,37 @@ gitea-mcp
294
294
  | `add_topic` | Add a single topic by name |
295
295
  | `remove_topic` | Remove a single topic by name |
296
296
 
297
+ ### Pull Requests
298
+
299
+ | Tool | Description |
300
+ |------|-------------|
301
+ | `list_pull_requests` | List pull requests in a repo (filter by state, labels, sort, milestone) |
302
+ | `get_pull_request` | Fetch one pull request by its number |
303
+ | `create_pull_request` | Create a pull request (title, head, base, body) |
304
+ | `update_pull_request` | Edit a pull request or close/reopen it (state: open \| closed) |
305
+ | `merge_pull_request` | Merge a pull request (strategy: merge \| squash \| rebase \| rebase-merge) — **irreversible** |
306
+ | `is_pull_merged` | Check whether a pull request has been merged |
307
+ | `list_pull_commits` | List the commits in a pull request |
308
+ | `list_pull_files` | List the files changed in a pull request |
309
+
310
+ > **Note:** a pull request shares its number space with issues (PR #N == Issue #N).
311
+ > Comments, labels, and milestones on a PR reuse the **issue** tools — pass the PR
312
+ > number as the `index`. Only PR-specific operations use the tools above.
313
+
314
+ ### Actions
315
+
316
+ | Tool | Description |
317
+ |------|-------------|
318
+ | `list_action_runs` | List Gitea Actions workflow runs (filter by `status`, `branch`, `event`, `actor`, `head_sha`) |
319
+ | `get_action_run` | Get a single workflow run by `runId` — check status before cancel/rerun |
320
+ | `cancel_action_run` | Cancel an **active** run (queued, in_progress, running) — partially destructive |
321
+ | `rerun_action_run` | Rerun an entire **completed** run — requires Gitea 1.26.0+ |
322
+ | `rerun_action_run_failed_jobs` | Rerun only the failed jobs of a completed run — requires Gitea 1.26.0+ |
323
+
324
+ > **Note:** cancel only works on active runs; rerun only works on completed runs.
325
+ > Always call `get_action_run` first to verify the current status, and confirm the
326
+ > `runId` with the user before cancelling or rerunning.
327
+
297
328
  ### Repository Helpers
298
329
 
299
330
  | Tool | Description |
@@ -312,8 +343,10 @@ through three channels:
312
343
  - **Tool descriptions** — every tool's description flags its key risk (pagination,
313
344
  label ID-vs-name, destructive scope) and a minimal usage example.
314
345
  - **Prompts & resources** — workflow templates (`triage_issues`,
315
- `summarize_issue`, `audit_labels`, `milestone_report`) and on-demand reference
316
- docs (field reference, label guide, tool cookbook) for clients that surface them.
346
+ `summarize_issue`, `triage_pull_requests`, `summarize_pull_request`,
347
+ `audit_labels`, `milestone_report`, `triage_action_runs`) and on-demand
348
+ reference docs (field reference, label guide, tool cookbook) for clients that
349
+ surface them.
317
350
 
318
351
  ### Action skills
319
352
 
@@ -334,6 +367,14 @@ say, delete instructions while creating). Install them with the
334
367
  | `gitea-plan-milestones` | creating / editing / closing milestones |
335
368
  | `gitea-resolve-repo` | resolving owner/repo or listing repositories |
336
369
  | `gitea-configure` | fixing the connection — instance URL, token, or 401/403 errors |
370
+ | `gitea-find-pulls` | discovering / reading pull requests, their commits and files |
371
+ | `gitea-create-pull` | creating a pull request (after a duplicate check) |
372
+ | `gitea-update-pull` | editing fields, closing without merging, reopening, WIP toggle |
373
+ | `gitea-merge-pull` | merging a pull request (after mergeability check + user confirmation) |
374
+ | `gitea-summarize-pull` | reading and summarizing a pull request for review |
375
+ | `gitea-find-actions` | discovering / reading Actions workflow runs |
376
+ | `gitea-cancel-action` | cancelling an active run (after status check + user confirmation) |
377
+ | `gitea-rerun-action` | rerunning a completed run — full or failed jobs only |
337
378
 
338
379
  Each skill is a short, AI-facing action flow (purpose, when to use, when not to,
339
380
  rules, and what to check first). The create, comment, and milestone skills also
package/README.zh-CN.md CHANGED
@@ -205,7 +205,7 @@ gitea-mcp init --dir /exact/path # 自定义路径
205
205
 
206
206
  支持的 `--tool` 取值:`amazon-q`、`antigravity`、`auggie`、`claude`、`cline`、
207
207
  `codex`、`codebuddy`、`continue`、`costrict`、`crush`、`cursor`、`factory`、
208
- `gemini`、`github-copilot`、`iflow`、`kilocode`、`opencode`、`qoder`、`qwen`、
208
+ `gemini`、`github-copilot`、`iflow`、`kimi`、`kilocode`、`opencode`、`qoder`、`qwen`、
209
209
  `roocode`、`windsurf`。路径遵循各工具约定的 skills 目录;如需精确位置请用 `--dir`。
210
210
  随后重启对应工具。详见下方 [AI 引导与技能](#ai-引导与技能)。
211
211
 
@@ -281,6 +281,36 @@ gitea-mcp
281
281
  | `add_topic` | 按名称添加单个主题 |
282
282
  | `remove_topic` | 按名称移除单个主题 |
283
283
 
284
+ ### 合并请求 (Pull Requests)
285
+
286
+ | 工具 | 说明 |
287
+ |------|------|
288
+ | `list_pull_requests` | 列出仓库的 PR(按状态、标签、排序、里程碑筛选) |
289
+ | `get_pull_request` | 按 PR 编号获取单个 PR 详情 |
290
+ | `create_pull_request` | 创建 PR(标题、源分支 head、目标分支 base、正文) |
291
+ | `update_pull_request` | 编辑 PR 或关闭/重开(state: open \| closed) |
292
+ | `merge_pull_request` | 合并 PR(策略: merge \| squash \| rebase \| rebase-merge)—— **不可逆** |
293
+ | `is_pull_merged` | 检查 PR 是否已合并 |
294
+ | `list_pull_commits` | 列出 PR 中的提交 |
295
+ | `list_pull_files` | 列出 PR 变更的文件 |
296
+
297
+ > **说明:** PR 与 issue 共享编号空间(PR #N == Issue #N)。PR 的评论、标签、
298
+ > 里程碑复用 **issue** 工具——把 PR 编号当作 `index` 传入即可。只有 PR 专属操作
299
+ > 才使用上表工具。
300
+
301
+ ### Actions
302
+
303
+ | 工具 | 说明 |
304
+ |------|------|
305
+ | `list_action_runs` | 列出 Gitea Actions 工作流运行(按 `status`、`branch`、`event`、`actor`、`head_sha` 筛选) |
306
+ | `get_action_run` | 按 `runId` 获取单个工作流运行——取消/重试前检查状态 |
307
+ | `cancel_action_run` | 取消**进行中**的运行(queued、in_progress、running)——部分破坏性 |
308
+ | `rerun_action_run` | 重试整个**已完成**的运行——需 Gitea 1.26.0+ |
309
+ | `rerun_action_run_failed_jobs` | 仅重试已完成运行中失败的 job——需 Gitea 1.26.0+ |
310
+
311
+ > **说明:** 取消仅对进行中的运行有效;重试仅对已完成的运行有效。操作前务必先调用
312
+ > `get_action_run` 确认当前状态,并向用户确认 `runId` 后再取消或重试。
313
+
284
314
  ### 仓库辅助 (Repository Helpers)
285
315
 
286
316
  | 工具 | 说明 |
@@ -298,8 +328,9 @@ gitea-mcp
298
328
  - **工具描述** —— 每个工具的描述都标出其关键风险(分页、标签 ID 与名称、破坏性
299
329
  作用范围)和最小用法示例。
300
330
  - **Prompts 与 Resources** —— 工作流模板(`triage_issues`、`summarize_issue`、
301
- `audit_labels`、`milestone_report`)与按需参考文档(字段参考、标签指南、工具
302
- 食谱),供支持的客户端使用。
331
+ `triage_pull_requests`、`summarize_pull_request`、`audit_labels`、
332
+ `milestone_report`、`triage_action_runs`)与按需参考文档(字段参考、标签指南、
333
+ 工具食谱),供支持的客户端使用。
303
334
 
304
335
  ### 动作技能
305
336
 
@@ -319,6 +350,14 @@ gitea-mcp
319
350
  | `gitea-plan-milestones` | 创建 / 编辑 / 关闭里程碑 |
320
351
  | `gitea-resolve-repo` | 解析 owner/repo 或列出仓库 |
321
352
  | `gitea-configure` | 修复连接——实例地址、令牌或 401/403 报错 |
353
+ | `gitea-find-pulls` | 发现 / 读取 PR 及其提交与变更文件 |
354
+ | `gitea-create-pull` | 创建 PR(先做查重) |
355
+ | `gitea-update-pull` | 编辑字段、关闭不合并、重开、WIP 切换 |
356
+ | `gitea-merge-pull` | 合并 PR(先检查可合并性并经用户确认) |
357
+ | `gitea-summarize-pull` | 读取并总结 PR 以供审查 |
358
+ | `gitea-find-actions` | 发现 / 读取 Actions 工作流运行 |
359
+ | `gitea-cancel-action` | 取消进行中的运行(先检查状态并经用户确认) |
360
+ | `gitea-rerun-action` | 重试已完成的运行——全部或仅失败的 job |
322
361
 
323
362
  每个技能都是面向 AI 的简短动作流程(目的、何时用、何时不用、规则、先检查什么)。
324
363
  创建、评论、里程碑三类技能还内嵌**正文模板**(bug / 新功能 / 性能 issue、评论、
@@ -1,8 +1,8 @@
1
1
  # Gitea MCP — usage strategy
2
2
 
3
- You manage Gitea issues, comments, labels, milestones, and repository topics through this MCP server.
4
- Every tool returns Gitea's JSON verbatim as text. Follow these rules to use them
5
- correctly.
3
+ You manage Gitea issues, comments, labels, milestones, repository topics, and
4
+ pull requests through this MCP server. Every tool returns Gitea's JSON verbatim
5
+ as text. Follow these rules to use them correctly.
6
6
 
7
7
  ## Config is auto-discovered from git (env vars optional)
8
8
 
@@ -58,10 +58,27 @@ These are irreversible on most Gitea instances (no trash/recycle):
58
58
  - `delete_issue`, `delete_label`, `delete_milestone`, `delete_comment`
59
59
  - `clear_issue_labels`, `replace_issue_labels` (replaces the ENTIRE label set)
60
60
  - `replace_topics` (replaces the ENTIRE topic set; pass `[]` to clear all topics)
61
+ - `merge_pull_request` (IRREVERSIBLE — merging is final; confirm the index and strategy)
61
62
 
62
63
  Confirm the target id/index and scope with the user before calling. For labels,
63
64
  `replace_issue_labels` overwrites — read current labels first if any must survive.
64
65
 
66
+ ## Pull requests — PR is an Issue superset
67
+
68
+ A pull request shares its number space with issues (PR #N == Issue #N). Comments,
69
+ labels, and milestones on a PR reuse the **issue** tools — pass the PR `index` to
70
+ `list_comments`, `create_comment`, `add_issue_labels`, etc. Only PR-specific
71
+ operations (create/update/merge, commits, files, merge-check) use the
72
+ `*_pull_request` / `list_pull_*` tools.
73
+
74
+ - WIP / draft: Gitea blocks merges when the PR title starts with `WIP:`, `[WIP]`,
75
+ or `Draft:`. Toggle the prefix via `update_pull_request({ title })`.
76
+ - Close WITHOUT merging: `update_pull_request({ state: "closed" })` — the commits
77
+ stay on the head branch.
78
+ - Merge: `merge_pull_request` is IRREVERSIBLE. Check `is_pull_merged` first, confirm
79
+ `mergeable: true` via `get_pull_request`, and get explicit user approval before
80
+ choosing a `Do` strategy (merge / squash / rebase / rebase-merge).
81
+
65
82
  ## Search vs list
66
83
 
67
84
  - `list_issues` — one repo, paginated, filterable by state/labels.
@@ -53,3 +53,32 @@ Use this to read results correctly and pick the right identifier.
53
53
  `replace_topics` sends this object back to SET the whole set (empty array
54
54
  clears all topics); `add_topic` / `remove_topic` operate on a single name and
55
55
  return no body.
56
+
57
+ ## PullRequest (from list_pull_requests / get_pull_request / create / update)
58
+ - `id` (number) — internal id. NOT used by tools; tools use `number`.
59
+ - `number` (number) — the PR index shown in the URL (#42). This is the `index`
60
+ passed to get/update/merge_pull_request and list_pull_commits/files. Shares the
61
+ number space with issues (PR #N == Issue #N — comments/labels reuse issue tools).
62
+ - `title` (string), `body` (string?), `state` ("open" | "closed")
63
+ - `html_url`, `url` (string)
64
+ - `labels` (Label[]), `assignee` (User?), `assignees` (User[]?), `milestone` (Milestone?)
65
+ - `user` (User) — PR author
66
+ - `base` / `head` (PullRequestBranch) — `{ label, ref, sha, repo }`. `head.ref` is the
67
+ source branch; `base.ref` is the target branch.
68
+ - `merged` (boolean?) — whether the PR has been merged
69
+ - `merged_at` (string?, ISO) — merge timestamp
70
+ - `mergeable` (boolean?) — whether Gitea can auto-merge (no conflicts). Check before
71
+ calling merge_pull_request.
72
+ - `draft` (boolean?) — draft / WIP status
73
+ - `created_at`, `updated_at` (string ISO); `closed_at` (string?, when closed)
74
+
75
+ ## PullCommit (from list_pull_commits)
76
+ - `sha` (string), `html_url` (string)
77
+ - `commit.message` (string), `commit.author` ({ name, email, date? })
78
+ - `author` (User?) — the Gitea user, if linked
79
+
80
+ ## PullFile (from list_pull_files)
81
+ - `sha` (string), `filename` (string) — path in the repo
82
+ - `status` (string) — "added" | "modified" | "deleted" | "renamed" | "copied"
83
+ - `additions`, `deletions`, `changes` (number) — line counts
84
+ - `html_url` (string) — link to the diff
@@ -44,6 +44,22 @@ Quick recipes for common goals. Always resolve owner/repo first (explicit args,
44
44
  `replace_topics({ topics: ["go","mcp"] })` — REPLACES the whole set; pass `[]` to
45
45
  clear. Confirm with the user before replacing.
46
46
 
47
+ ## Pull requests
48
+ - List a repo's open PRs → `list_pull_requests({ state: "open", page: 1, limit: 50 })`,
49
+ page until a page returns < 50. Filter by `labels` (names) or `sort`.
50
+ - PRs across repos by keyword → `search_issues({ type: "pulls", query })`.
51
+ - One PR's full picture → `get_pull_request` (check `mergeable`, `merged`, `draft`),
52
+ then `list_pull_commits` + `list_pull_files` for scope, then `list_comments` for
53
+ the review thread (PR #N == Issue #N — comments are shared; one default page).
54
+ - Create a PR → `create_pull_request({ title, head, base, body? })`. Prefix title
55
+ with `WIP:` while in progress. For forks use `"owner:branch"` in `head`. Link an
56
+ issue with `Closes #123` in the body.
57
+ - Edit a PR → `update_pull_request({ index, title?, body?, state? })`. `state:
58
+ "closed"` closes WITHOUT merging. Remove the `WIP:` prefix to mark ready.
59
+ - Merge a PR (IRREVERSIBLE) → `is_pull_merged` first; `get_pull_request` to confirm
60
+ `mergeable: true`; get user approval; then `merge_pull_request({ index, Do })`.
61
+ `Do`: `merge` / `squash` / `rebase` / `rebase-merge`.
62
+
47
63
  ## Pagination pattern (all list tools)
48
64
  ```
49
65
  page = 1
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: gitea-cancel-action
3
+ description: Invoke to CANCEL one active Gitea Actions workflow run. PARTIALLY DESTRUCTIVE — active jobs are killed and partial results discarded. The flow confirms the run is still active first, then cancels after user approval. Do NOT invoke to rerun (gitea-rerun-action), find/read runs (gitea-find-actions), or manage issues/pull requests.
4
+ ---
5
+
6
+ # gitea-cancel-action
7
+
8
+ Cancel one active Actions workflow run. PARTIALLY DESTRUCTIVE. Tools: `get_action_run`, `cancel_action_run`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo).
12
+ - Cancellation kills in-progress jobs; partial results and logs are NOT preserved. Always confirm the runId and the user's intent BEFORE calling `cancel_action_run`.
13
+
14
+ ## Flow
15
+ 1. CHECK STATUS: `get_action_run({ runId })` — verify the run is still ACTIVE (status is one of: queued, waiting, in_progress, running, pending). If the run has already completed (status is success, failure, cancelled, or skipped), STOP — cancelling a finished run returns an error.
16
+ 2. CONFIRM: state the runId, display_title, current status, and how long it has been running, then ask the user for explicit approval.
17
+ 3. CANCEL: `cancel_action_run({ runId })`.
18
+ 4. VERIFY (optional): call `get_action_run({ runId })` again to confirm the conclusion is now "cancelled".
19
+
20
+ ## cancel_action_run
21
+ - RULES: `runId` is the numeric run ID from list_action_runs or the Gitea web UI — never confuse it with a workflow name, issue number, or job ID.
22
+ - Only ACTIVE runs can be cancelled. Attempting to cancel a completed run returns an error.
23
+ - The API returns 204 No Content on success — the tool returns a text confirmation.
24
+ - CHECK FIRST: `get_action_run` (step 1) + user confirmation (step 2).
25
+ - CHECK AFTER: if it errors with 400/409, the run may have already completed — re-read `get_action_run` and do NOT retry blindly.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: gitea-create-pull
3
+ description: Invoke to CREATE / OPEN a new Gitea pull request. The flow confirms the branch exists and checks for an existing open PR on the same head/base first, then creates. Do NOT invoke to edit/close (gitea-update-pull), merge (gitea-merge-pull), read/find (gitea-find-pulls), or post a review comment (gitea-comment-issue).
4
+ ---
5
+
6
+ # gitea-create-pull
7
+
8
+ Open one new pull request after ruling out a duplicate. Tools: `list_pull_requests`, `create_pull_request`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo). Never guess — wrong values create the PR in the wrong repo.
12
+ - The `head` (source) branch MUST already exist and contain the commits to merge; the `base` (target) branch is typically the default branch.
13
+
14
+ ## Flow
15
+ 1. DUPLICATE CHECK (always first): `list_pull_requests({ state: "open" })`. If an open PR with the same `head`/`base` already exists, comment on it (gitea-comment-issue) instead of creating a duplicate. Do NOT skip this — creation does not de-duplicate.
16
+ 2. CREATE: `create_pull_request({ title, head, base, body? })`.
17
+
18
+ ## create_pull_request
19
+ - RULES: `title`, `head`, and `base` are required. For cross-fork PRs use `"owner:branch"` in `head` (e.g. `"ake131998:feat/my-change"`). `body` is Markdown.
20
+ - Do NOT pass `labels` or `milestone` here: `labels` expect IDs (error-prone). Create WITHOUT them, then attach labels by name via `add_issue_labels` (gitea-label-issue — PR #N == Issue #N) and set the milestone via `update_pull_request`.
21
+ - WIP / draft: Gitea blocks merges when the title starts with `WIP:`, `[WIP]`, or `Draft:`. Prefix the title while work is in progress; remove the prefix when ready to merge (gitea-update-pull).
22
+ - CHECK FIRST: confirm no duplicate open PR (step 1), that `head` exists and is pushed, and that `owner`/`repo` are correct before writing.
23
+ - CHECK AFTER: the returned object's `number` is the new PR index; `mergeable` indicates whether Gitea can auto-merge it.
24
+
25
+ ## Body template — standardize what you write into `body`
26
+ Always structure `body`. Ask the user for details if the change is not obvious. Drop a section only when it is genuinely empty; never invent data.
27
+
28
+ ```markdown
29
+ ## Summary
30
+ <1-2 sentences: what this PR changes and why>
31
+
32
+ ## Changes
33
+ - <bullet: specific change>
34
+ - <bullet: specific change>
35
+
36
+ ## Related issues
37
+ Closes #<issue number>
38
+
39
+ ## Checklist
40
+ - [ ] Tests added/updated
41
+ - [ ] Documentation updated
42
+ - [ ] Breaking changes noted below
43
+
44
+ ## Breaking changes
45
+ <none, or describe>
46
+ ```
47
+
48
+ Use `Closes #123` / `Fixes #123` in the body to auto-close the linked issue when the PR merges.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: gitea-find-actions
3
+ description: Invoke to DISCOVER or READ Gitea Actions workflow runs — listing runs in one repo (filtered by status/branch/event/actor) or reading a single run's detail. Do NOT invoke to cancel (gitea-cancel-action), rerun (gitea-rerun-action), or to manage issues/pull requests.
4
+ ---
5
+
6
+ # gitea-find-actions
7
+
8
+ Read-only Gitea Actions workflow run discovery. Tools: `list_action_runs`, `get_action_run`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo). Never guess — wrong values 404 or silently target the wrong repo.
12
+ - Actions requires Gitea 1.20+ with Actions enabled; the rerun endpoints require Gitea 1.26.0+.
13
+
14
+ ## Choose the tool
15
+ - LIST runs in one repo, filtered by status/branch/event/actor → `list_action_runs`.
16
+ - ONE run's full detail (status, conclusion, timestamps, actor) → `get_action_run`.
17
+
18
+ ## list_action_runs
19
+ - RULES: the response is a WRAPPER object `{ workflow_runs: [...], count: number }` — the runs live under `workflow_runs`, NOT at the top level. Paginate 1-based, `limit` <= 100. A page is final ONLY when `workflow_runs.length < limit`.
20
+ - FILTERS: `status` accepts pending, queued, waiting, in_progress, running, success, failure, skipped, cancelled. `actor` is the username that triggered the run. `event` is the trigger (push, pull_request, schedule, etc.). `head_sha` filters by commit.
21
+ - CHECK AFTER: if `workflow_runs.length === limit`, fetch the next page before treating the list as complete.
22
+
23
+ ## get_action_run
24
+ - RULES: pass `runId` = the numeric run ID from `list_action_runs` or the Gitea web UI URL. Never confuse it with a workflow name, issue number, or job ID.
25
+ - NOTE: the response carries `status` (current state) and `conclusion` (final outcome, set only after completion). Check these before cancel (gitea-cancel-action) or rerun (gitea-rerun-action):
26
+ - Cancel only valid on ACTIVE runs: status in (queued, waiting, in_progress, running, pending).
27
+ - Rerun only valid on COMPLETED runs: status in (success, failure, cancelled, skipped).
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: gitea-find-pulls
3
+ description: Invoke to DISCOVER or READ Gitea pull requests — listing one repo's PRs, cross-repo PR search, reading a single PR, its commits, or its changed files. Do NOT invoke to create/edit/close/merge (gitea-create-pull / gitea-update-pull / gitea-merge-pull), or to read the comment discussion (gitea-summarize-pull).
4
+ ---
5
+
6
+ # gitea-find-pulls
7
+
8
+ Read-only pull request discovery. Tools: `list_pull_requests`, `search_issues`, `get_pull_request`, `list_pull_commits`, `list_pull_files`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo` for `list_pull_requests`/`get_pull_request`/`list_pull_commits`/`list_pull_files`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo). Never guess — wrong values 404 or silently target the wrong repo.
12
+ - Paginate 1-based, `limit` ≤ 100. A page is final ONLY when it returns fewer than `limit` items. Always set `limit` (default page size is server-controlled).
13
+
14
+ ## Choose the tool
15
+ - ONE repo's PRs, filtered by state/labels/sort/milestone → `list_pull_requests`.
16
+ - ACROSS repos by keyword → `search_issues({ type: "pulls" })` (global; no owner/repo).
17
+ - ONE PR's full detail (branches, mergeable, merged) → `get_pull_request`.
18
+ - Commits in one PR → `list_pull_commits`.
19
+ - Files changed in one PR → `list_pull_files`.
20
+
21
+ ## list_pull_requests
22
+ - RULES: `labels` = comma-separated NAMES, AND-matched; a mistyped or non-existent name returns EMPTY with no error. `sort` options: `oldest`, `recentupdate`, `leastupdate`, `mostcomment`, `leastcomment`, `priority`. `state` default is `open`.
23
+ - CHECK FIRST: confirm label names via `list_labels` (gitea-manage-labels) before filtering by labels.
24
+ - CHECK AFTER: if `length === limit`, fetch the next page before treating the list as complete.
25
+
26
+ ## search_issues
27
+ - RULES: GLOBAL — no owner/repo; each result carries its own `repository`. Set `type: "pulls"` to search only PRs. `labels` = names. `query` matches title + body.
28
+ - CHECK FIRST: set `type` deliberately.
29
+ - CHECK AFTER: page fully if completeness matters.
30
+
31
+ ## get_pull_request
32
+ - RULES: pass `index` = the PR `number` (URL #42 → 42), never the internal `id`.
33
+ - NOTE: the response carries `mergeable` (boolean), `merged` (boolean), `merged_at`, `draft`, plus `base`/`head` branch objects. Check `mergeable` before attempting a merge (gitea-merge-pull).
34
+
35
+ ## list_pull_commits / list_pull_files
36
+ - RULES: pass the PR `index`. Both paginate 1-based.
37
+ - Commits: each has `sha`, `html_url`, `commit.message`, optional `author`.
38
+ - Files: each has `filename`, `status` (added/modified/deleted/renamed), `additions`, `deletions`, `changes`, `html_url`.
39
+ - CHECK AFTER: if `length === limit`, fetch the next page.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: gitea-merge-pull
3
+ description: Invoke to MERGE one Gitea pull request after confirming it is mergeable and the user has explicitly approved the strategy. IRREVERSIBLE. Do NOT invoke to create (gitea-create-pull), edit/close without merging (gitea-update-pull), find/read (gitea-find-pulls), or check merge status only (gitea-find-pulls get_pull_request).
4
+ ---
5
+
6
+ # gitea-merge-pull
7
+
8
+ Merge one pull request. IRREVERSIBLE. Tools: `get_pull_request`, `is_pull_merged`, `merge_pull_request`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo).
12
+ - This is DESTRUCTIVE and IRREVERSIBLE — merging is final. Always confirm the index, the strategy, and the user's approval BEFORE calling `merge_pull_request`.
13
+
14
+ ## Flow
15
+ 1. CHECK MERGED: `is_pull_merged({ index })` — if already merged, STOP and report; do not attempt a redundant merge.
16
+ 2. CHECK MERGEABLE: `get_pull_request({ index })` — confirm `mergeable: true`, `state: "open"`, and that the PR is not `draft` or WIP-titled. If `mergeable` is false or null, STOP — conflicts must be resolved on the branch first.
17
+ 3. CONFIRM: state the index, the chosen `Do` strategy, and ask the user for explicit approval.
18
+ 4. MERGE: `merge_pull_request({ index, Do, MergeTitleField?, MergeMessageField?, SHA? })`.
19
+
20
+ ## merge_pull_request
21
+ - RULES: `Do` is required and selects the strategy:
22
+ - `merge` — creates a merge commit (preserves all individual commits).
23
+ - `squash` — squashes all commits into one on the base branch.
24
+ - `rebase` — rebases commits onto the base branch, then fast-forwards.
25
+ - `rebase-merge` — rebases commits, then creates a merge commit.
26
+ - `MergeTitleField` / `MergeMessageField` customize the merge commit message. `SHA` pins the expected HEAD — the merge FAILS if the branch moved since (guards against racing pushes).
27
+ - CHECK FIRST: `is_pull_merged` (step 1) + `get_pull_request` `mergeable` (step 2) + user confirmation (step 3).
28
+ - CHECK AFTER: the tool returns a text confirmation. If it errors with 409, the PR is not mergeable (conflicts or already merged) — re-read `get_pull_request` and do NOT retry blindly.
@@ -0,0 +1,33 @@
1
+ ---
2
+ name: gitea-rerun-action
3
+ description: Invoke to RERUN a completed Gitea Actions workflow run — either the entire run or only its failed jobs. The flow confirms the run has completed and is rerunnable first, then reruns after user approval. Do NOT invoke to cancel (gitea-cancel-action), find/read runs (gitea-find-actions), or manage issues/pull requests.
4
+ ---
5
+
6
+ # gitea-rerun-action
7
+
8
+ Rerun one completed Actions workflow run. Tools: `get_action_run`, `rerun_action_run`, `rerun_action_run_failed_jobs`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo).
12
+ - Requires Gitea 1.26.0+ for the rerun endpoints. Rerunning consumes CI minutes and resources — always confirm the runId, the rerun scope (full vs failed-only), and the user's intent BEFORE calling either rerun tool.
13
+
14
+ ## Flow
15
+ 1. CHECK STATUS: `get_action_run({ runId })` — verify the run has COMPLETED (status is one of: success, failure, cancelled, skipped). If still ACTIVE (queued, waiting, in_progress, running, pending), STOP — cannot rerun an active run; use gitea-cancel-action if you want to stop it first.
16
+ 2. CHOOSE SCOPE:
17
+ - `rerun_action_run` — reruns the ENTIRE run (all jobs, regardless of prior success/failure). Use when the run is fundamentally broken or you need a clean re-run.
18
+ - `rerun_action_run_failed_jobs` — reruns ONLY the jobs that failed. More efficient when most jobs succeeded; preserves the successful job results. The run must have conclusion "failure" for this to make sense.
19
+ 3. CONFIRM: state the runId, display_title, conclusion, and the chosen scope, then ask the user for explicit approval.
20
+ 4. RERUN: `rerun_action_run({ runId })` or `rerun_action_run_failed_jobs({ runId })`.
21
+ 5. VERIFY (optional): call `list_action_runs` to find the new run (it will have an incremented `run_attempt`).
22
+
23
+ ## rerun_action_run
24
+ - RULES: `runId` is the numeric run ID. Only COMPLETED runs can be reruned. Creates a NEW run; the original is not modified. Returns the new run object or a text confirmation.
25
+ - CHECK FIRST: `get_action_run` (step 1) + scope decision (step 2) + user confirmation (step 3).
26
+
27
+ ## rerun_action_run_failed_jobs
28
+ - RULES: same as rerun_action_run but only re-executes failed jobs. Only meaningful when the run's conclusion is "failure". Returns a text confirmation.
29
+ - CHECK FIRST: `get_action_run` to confirm the run has failed jobs + user confirmation.
30
+
31
+ ## Error handling
32
+ - 400/409: the run may still be active or not rerunnable — re-read `get_action_run` and do NOT retry blindly.
33
+ - 404: wrong runId or repo — verify with `list_action_runs`.
@@ -0,0 +1,23 @@
1
+ ---
2
+ name: gitea-summarize-pull
3
+ description: Invoke to READ and SUMMARIZE a pull request — the PR body, commits, changed files, and comment thread. Produces a review-oriented summary (what it changes, mergeability, open questions). Do NOT invoke to create/edit/merge/close a PR (gitea-create-pull / gitea-update-pull / gitea-merge-pull), or to post a comment (gitea-comment-issue).
4
+ ---
5
+
6
+ # gitea-summarize-pull
7
+
8
+ Read a pull request and its discussion, then synthesize. Tools: `get_pull_request`, `list_pull_commits`, `list_pull_files`, `list_comments`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo).
12
+
13
+ ## Flow
14
+ 1. `get_pull_request({ index })` — `index` = PR `number` (URL #N → N), never the internal `id`. Read title, body, `base`/`head`, `mergeable`, `merged`, `draft`, labels, milestone.
15
+ 2. `list_pull_commits({ index })` — the commit history (page if `length === limit`).
16
+ 3. `list_pull_files({ index })` — the diff scope: filenames, statuses, additions/deletions (page if `length === limit`).
17
+ 4. `list_comments({ index })` — the review discussion. PR #N == Issue #N — the comment endpoints are shared.
18
+
19
+ ## list_comments — TRUNCATION TRAP
20
+ - This tool passes NO page/limit and returns at most the server's default page size. For long review threads the list is SILENTLY TRUNCATED. If the `comments` count (from `get_pull_request`) exceeds the number returned, warn that part of the thread is missing and do NOT claim a complete summary.
21
+
22
+ ## Synthesis
23
+ - Report: the PR state (open/closed/merged/draft), WHAT it changes (from commits + files), the mergeability/conflict status, then the thread's consensus / decisions / open questions. Attribute by author. Flag unresolved review feedback or blocking questions explicitly — do not paper over disagreement. End with one recommended NEXT ACTION (merge / request changes / close).
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: gitea-update-pull
3
+ description: Invoke to EDIT fields, CLOSE (without merging), REOPEN, retarget, or toggle WIP on ONE existing Gitea pull request. Do NOT invoke to create (gitea-create-pull), merge (gitea-merge-pull — destructive), find/read (gitea-find-pulls), or change a single label (gitea-label-issue).
4
+ ---
5
+
6
+ # gitea-update-pull
7
+
8
+ Edit one pull request's fields or change its state. Tools: `get_pull_request`, `update_pull_request`.
9
+
10
+ ## Prerequisites
11
+ - Resolve `owner`+`repo`: pass explicitly, else `GITEA_DEFAULT_OWNER`/`GITEA_DEFAULT_REPO`, else `resolve_repo` (gitea-resolve-repo).
12
+ - There is NO optimistic locking — always read current state first.
13
+
14
+ ## Flow
15
+ 1. READ CURRENT: `get_pull_request({ index })` — `index` = PR `number` (URL #N → N), never the internal `id`.
16
+ 2. APPLY: `update_pull_request({ index, ...changedFields })`.
17
+
18
+ ## update_pull_request
19
+ - RULES: PATCH — only fields you pass change; omit = unchanged. To CLEAR a field pass its EMPTY form, do NOT omit it: `milestone: 0` clears the milestone, `assignees: []` clears assignees. Use `assignees` (array), not the deprecated `assignee`. State values are `open` | `closed`.
20
+ - CLOSE WITHOUT MERGING: `update_pull_request({ index, state: "closed" })`. This closes the PR but does NOT merge it — the commits stay on the `head` branch. Reopen later with `state: "open"`.
21
+ - WIP TOGGLE: to mark work-in-progress, prefix the title with `WIP:` or `[WIP]`. To mark ready, remove the prefix. Pass the full new `title`.
22
+ - RETARGET: `base` changes the target branch. RARELY REVERSIBLE — confirm with the user before retargeting; it can invalidate reviews and conflict checks.
23
+ - NOT FOR single-label changes: `labels` here are IDs and REPLACE the entire set — to add/remove one label use `add_issue_labels` / `remove_issue_label` (gitea-label-issue, PR #N == Issue #N).
24
+ - CHECK FIRST: `get_pull_request` for current values if state may have changed since your last read; state the intended change to the user before writing.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,GAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAEtG,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAErB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,mEAAmE;IACnE,6EAA6E;IAC7E,mBAAmB;IACnB,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC/D,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,qCAAqC,OAAO,CAAC,GAAG,EAAE,wDAAwD,CAC3G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CACP,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,WAAW,CACvB,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,GAAI,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAyB,CAAC,OAAO,CAAC;AAEtG,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAErB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,UAAU,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IACvD,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,wEAAwE;IACxE,mEAAmE;IACnE,6EAA6E;IAC7E,mBAAmB;IACnB,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC/D,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,qCAAqC,OAAO,CAAC,GAAG,EAAE,wDAAwD,CAC3G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,SAAS,CACP,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,WAAW,CACvB,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACvB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"git-config.js","sourceRoot":"","sources":["../src/git-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAGL,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AA2C1B;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,MAAM,GAAG,QAAQ;IAC9D,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAErB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAChG,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACnF,CAAC;IAED,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACnG,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3E,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACjG,CAAC;IAED,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC3E,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5D,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,WAAW,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC1D,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtD,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,cAAc,CAAC,OAAO,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,CAAC,EAAqB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,OAAuB;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,CACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC1C,OAAO,CAAC,CAAC,CAAC,CACX,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,OAAe;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,OAAO,kCAAkC,CAAC,CAAC,CAAC;IACpG,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACtF,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC/D,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,IAAY;IAC/D,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACpC,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7E,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7E,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACvE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,SAAiB,EAAE,QAAgB;IACzD,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IACzB,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IACxB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,oGAAoG;AACpG,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAW;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElD,qEAAqE;IACrE,wEAAwE;IACxE,uEAAuE;IACvE,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,kBAAkB,CAAC;QACtE,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,oEAAoE;IACpE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAElC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC;YACzC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,2EAA2E;IAC3E,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,kBAAkB,CAAC,KAA4B;IACtD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,OAAO,EAAE,8BAA8B,CAAC,KAAK,CAAC,QAAQ,CAAC;YACvD,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;YAC3B,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAA2B,EAAE;IAChE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC;IAEtC,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,gBAAgB,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,UAAU,IAAI,QAAQ,EAAE,OAAO,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,IAAwB,CAAC;IAC7B,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,UAAU,GAA0B,EAAE,CAAC;IAE7C,wEAAwE;IACxE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,WAAW,GAAG,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,CAAC,OAAO,CAAC;gBAClB,MAAM,EAAE,SAAS;gBACjB,eAAe,EAAE,CAAC;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;IACjC,IAAI,QAAQ,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,CAAC,OAAO,CAAC;YAClB,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,OAAO,CAAC,gBAAgB,IAAI,uBAAuB,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,MAAM,GAAqE,EAAE,CAAC;QACpF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QACD,gFAAgF;QAChF,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9D,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,SAAS;gBAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,YAAY,EAAE,GAAG,CAAC,mBAAmB,IAAI,QAAQ,EAAE,KAAK;QACxD,WAAW,EAAE,GAAG,CAAC,kBAAkB,IAAI,QAAQ,EAAE,IAAI;QACrD,MAAM,EAAE,QAAQ,EAAE,MAAM;QACxB,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"git-config.js","sourceRoot":"","sources":["../src/git-config.ts"],"names":[],"mappings":"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"}