@ghx-dev/core 0.2.0 → 0.2.1
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/.claude-plugin/plugin.json +2 -2
- package/README.md +44 -37
- package/dist/cards/issue.assignees.add.yaml +1 -0
- package/dist/cards/issue.assignees.remove.yaml +1 -0
- package/dist/cards/issue.assignees.set.yaml +1 -0
- package/dist/cards/issue.close.yaml +1 -0
- package/dist/cards/issue.comments.create.yaml +1 -0
- package/dist/cards/issue.comments.list.yaml +1 -0
- package/dist/cards/issue.create.yaml +1 -0
- package/dist/cards/issue.delete.yaml +1 -0
- package/dist/cards/issue.labels.add.yaml +1 -0
- package/dist/cards/issue.labels.remove.yaml +1 -0
- package/dist/cards/issue.labels.set.yaml +1 -0
- package/dist/cards/issue.list.yaml +1 -0
- package/dist/cards/issue.milestone.clear.yaml +1 -0
- package/dist/cards/issue.milestone.set.yaml +1 -0
- package/dist/cards/issue.relations.blocked_by.add.yaml +1 -0
- package/dist/cards/issue.relations.blocked_by.remove.yaml +1 -0
- package/dist/cards/issue.relations.parent.remove.yaml +1 -0
- package/dist/cards/issue.relations.parent.set.yaml +1 -0
- package/dist/cards/issue.relations.prs.list.yaml +1 -0
- package/dist/cards/issue.relations.view.yaml +1 -0
- package/dist/cards/issue.reopen.yaml +1 -0
- package/dist/cards/issue.update.yaml +1 -0
- package/dist/cards/issue.view.yaml +1 -0
- package/dist/cards/pr.assignees.add.yaml +6 -2
- package/dist/cards/pr.assignees.remove.yaml +6 -2
- package/dist/cards/pr.branch.update.yaml +6 -2
- package/dist/cards/pr.create.yaml +7 -3
- package/dist/cards/pr.diff.files.yaml +1 -0
- package/dist/cards/pr.list.yaml +1 -0
- package/dist/cards/pr.merge.status.yaml +1 -0
- package/dist/cards/pr.merge.yaml +9 -3
- package/dist/cards/pr.reviews.list.yaml +1 -0
- package/dist/cards/pr.reviews.request.yaml +6 -3
- package/dist/cards/pr.reviews.submit.yaml +1 -0
- package/dist/cards/pr.threads.list.yaml +1 -0
- package/dist/cards/pr.threads.reply.yaml +1 -0
- package/dist/cards/pr.threads.resolve.yaml +1 -0
- package/dist/cards/pr.threads.unresolve.yaml +1 -0
- package/dist/cards/pr.update.yaml +7 -2
- package/dist/cards/pr.view.yaml +1 -0
- package/dist/cards/project_v2.fields.list.yaml +18 -2
- package/dist/cards/project_v2.items.field.update.yaml +8 -5
- package/dist/cards/project_v2.items.issue.add.yaml +9 -5
- package/dist/cards/project_v2.items.issue.remove.yaml +8 -5
- package/dist/cards/project_v2.items.list.yaml +8 -2
- package/dist/cards/project_v2.org.view.yaml +6 -2
- package/dist/cards/project_v2.user.view.yaml +6 -2
- package/dist/cards/release.list.yaml +8 -3
- package/dist/cards/release.view.yaml +8 -4
- package/dist/cards/repo.issue_types.list.yaml +7 -3
- package/dist/cards/repo.labels.list.yaml +7 -2
- package/dist/cards/repo.view.yaml +1 -0
- package/dist/chunk-7HUKYNI2.js +536 -0
- package/dist/chunk-7HUKYNI2.js.map +1 -0
- package/dist/chunk-GQO6BHJV.js +98 -0
- package/dist/chunk-GQO6BHJV.js.map +1 -0
- package/dist/chunk-H7CLZHRO.js +280 -0
- package/dist/chunk-H7CLZHRO.js.map +1 -0
- package/dist/{chunk-3P3KHWFU.js → chunk-M5PJLKL5.js} +1079 -726
- package/dist/chunk-M5PJLKL5.js.map +1 -0
- package/dist/chunk-NQ53ETYV.js +128 -0
- package/dist/chunk-NQ53ETYV.js.map +1 -0
- package/dist/{chunk-BIWBJA2F.js → chunk-OQWLEFAH.js} +220 -12
- package/dist/chunk-OQWLEFAH.js.map +1 -0
- package/dist/{chunk-Q7RCIK2C.js → chunk-Q2NW7DJE.js} +167 -62
- package/dist/chunk-Q2NW7DJE.js.map +1 -0
- package/dist/{pr-queries-UOEOXIJQ.js → chunk-QRHKAMRY.js} +11 -131
- package/dist/chunk-QRHKAMRY.js.map +1 -0
- package/dist/{issue-queries-GRA4MKPD.js → chunk-TGL33GEA.js} +7 -83
- package/dist/chunk-TGL33GEA.js.map +1 -0
- package/dist/chunk-ZGBVX2VG.js +32 -0
- package/dist/chunk-ZGBVX2VG.js.map +1 -0
- package/dist/cli/index.js +79 -14
- package/dist/cli/index.js.map +1 -1
- package/dist/core/registry/cards/issue.assignees.add.yaml +1 -0
- package/dist/core/registry/cards/issue.assignees.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.assignees.set.yaml +1 -0
- package/dist/core/registry/cards/issue.close.yaml +1 -0
- package/dist/core/registry/cards/issue.comments.create.yaml +1 -0
- package/dist/core/registry/cards/issue.comments.list.yaml +1 -0
- package/dist/core/registry/cards/issue.create.yaml +1 -0
- package/dist/core/registry/cards/issue.delete.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.add.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.labels.set.yaml +1 -0
- package/dist/core/registry/cards/issue.list.yaml +1 -0
- package/dist/core/registry/cards/issue.milestone.clear.yaml +1 -0
- package/dist/core/registry/cards/issue.milestone.set.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.blocked_by.add.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.blocked_by.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.parent.remove.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.parent.set.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.prs.list.yaml +1 -0
- package/dist/core/registry/cards/issue.relations.view.yaml +1 -0
- package/dist/core/registry/cards/issue.reopen.yaml +1 -0
- package/dist/core/registry/cards/issue.update.yaml +1 -0
- package/dist/core/registry/cards/issue.view.yaml +1 -0
- package/dist/core/registry/cards/pr.assignees.add.yaml +6 -2
- package/dist/core/registry/cards/pr.assignees.remove.yaml +6 -2
- package/dist/core/registry/cards/pr.branch.update.yaml +6 -2
- package/dist/core/registry/cards/pr.create.yaml +7 -3
- package/dist/core/registry/cards/pr.diff.files.yaml +1 -0
- package/dist/core/registry/cards/pr.list.yaml +1 -0
- package/dist/core/registry/cards/pr.merge.status.yaml +1 -0
- package/dist/core/registry/cards/pr.merge.yaml +9 -3
- package/dist/core/registry/cards/pr.reviews.list.yaml +1 -0
- package/dist/core/registry/cards/pr.reviews.request.yaml +6 -3
- package/dist/core/registry/cards/pr.reviews.submit.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.list.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.reply.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.resolve.yaml +1 -0
- package/dist/core/registry/cards/pr.threads.unresolve.yaml +1 -0
- package/dist/core/registry/cards/pr.update.yaml +7 -2
- package/dist/core/registry/cards/pr.view.yaml +1 -0
- package/dist/core/registry/cards/project_v2.fields.list.yaml +18 -2
- package/dist/core/registry/cards/project_v2.items.field.update.yaml +8 -5
- package/dist/core/registry/cards/project_v2.items.issue.add.yaml +9 -5
- package/dist/core/registry/cards/project_v2.items.issue.remove.yaml +8 -5
- package/dist/core/registry/cards/project_v2.items.list.yaml +8 -2
- package/dist/core/registry/cards/project_v2.org.view.yaml +6 -2
- package/dist/core/registry/cards/project_v2.user.view.yaml +6 -2
- package/dist/core/registry/cards/release.list.yaml +8 -3
- package/dist/core/registry/cards/release.view.yaml +8 -4
- package/dist/core/registry/cards/repo.issue_types.list.yaml +7 -3
- package/dist/core/registry/cards/repo.labels.list.yaml +7 -2
- package/dist/core/registry/cards/repo.view.yaml +1 -0
- package/dist/index.d.ts +297 -0
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/{issue-mutations-FJNZW7L5.js → issue-mutations-OW464JP3.js} +97 -120
- package/dist/issue-mutations-OW464JP3.js.map +1 -0
- package/dist/issue-queries-ORG3VPK4.js +93 -0
- package/dist/issue-queries-ORG3VPK4.js.map +1 -0
- package/dist/{pr-mutations-UG67YOF5.js → pr-mutations-WOTG6FAB.js} +234 -94
- package/dist/pr-mutations-WOTG6FAB.js.map +1 -0
- package/dist/pr-queries-6CJJW7BT.js +143 -0
- package/dist/pr-queries-6CJJW7BT.js.map +1 -0
- package/dist/project-QFSCYDDW.js +429 -0
- package/dist/project-QFSCYDDW.js.map +1 -0
- package/dist/release-33236BBA.js +57 -0
- package/dist/release-33236BBA.js.map +1 -0
- package/dist/repo-M6DKCWBG.js +82 -0
- package/dist/repo-M6DKCWBG.js.map +1 -0
- package/package.json +6 -6
- package/skills/using-ghx/SKILL.md +76 -10
- package/dist/chunk-3P3KHWFU.js.map +0 -1
- package/dist/chunk-BIWBJA2F.js.map +0 -1
- package/dist/chunk-Q7RCIK2C.js.map +0 -1
- package/dist/chunk-TDABI6C7.js +0 -167
- package/dist/chunk-TDABI6C7.js.map +0 -1
- package/dist/issue-mutations-FJNZW7L5.js.map +0 -1
- package/dist/issue-queries-GRA4MKPD.js.map +0 -1
- package/dist/pr-mutations-UG67YOF5.js.map +0 -1
- package/dist/pr-queries-UOEOXIJQ.js.map +0 -1
- package/dist/repo-JDUHFPZF.js +0 -66
- package/dist/repo-JDUHFPZF.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghx",
|
|
3
|
-
"description": "GitHub execution router for AI agents —
|
|
4
|
-
"version": "0.2.
|
|
3
|
+
"description": "GitHub execution router for AI agents — 70 capabilities with deterministic routing and normalized output",
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Arye Kogan"
|
|
7
7
|
},
|
package/README.md
CHANGED
|
@@ -14,16 +14,16 @@ Typed GitHub execution router for AI agents. Deterministic routing across CLI an
|
|
|
14
14
|
|
|
15
15
|
## Why ghx
|
|
16
16
|
|
|
17
|
-
Agents instructed to "use `gh` CLI" for common PR and issue operations waste significant tokens on research, trial-and-error, and output parsing. Benchmarked across
|
|
17
|
+
Agents instructed to "use `gh` CLI" for common PR and issue operations waste significant tokens on research, trial-and-error, and output parsing. Benchmarked across 40 runs on standard PR and issue workflows (MCP mode benchmark coming soon):
|
|
18
18
|
|
|
19
19
|
| Metric | Improvement |
|
|
20
20
|
|---|---|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
| Success rate | **100%**
|
|
21
|
+
| Tool calls | **-55%** (PR review), **-47%** (issue triage) |
|
|
22
|
+
| Active tokens | **-88%** (PR review), **-41%** (thread resolution) |
|
|
23
|
+
| Latency | **-57%** (PR review), **-26%** (thread resolution) |
|
|
24
|
+
| Success rate | **100%** both modes |
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Full report: [Codex 5.3 Benchmark](https://github.com/aryeko/ghx/blob/main/reports/codex-5.3-benchmark/README.md)
|
|
27
27
|
|
|
28
28
|
## Installation
|
|
29
29
|
|
|
@@ -84,6 +84,20 @@ Every capability returns a stable envelope:
|
|
|
84
84
|
}
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
+
## Chain: Batch Operations
|
|
88
|
+
|
|
89
|
+
Batch multiple operations into a single tool call:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
ghx chain --steps - <<'EOF'
|
|
93
|
+
[
|
|
94
|
+
{"task":"issue.labels.remove","input":{"owner":"acme","name":"repo","issueNumber":42,"labels":["triage"]}},
|
|
95
|
+
{"task":"issue.labels.add","input":{"owner":"acme","name":"repo","issueNumber":42,"labels":["enhancement"]}},
|
|
96
|
+
{"task":"issue.comments.create","input":{"owner":"acme","name":"repo","issueNumber":42,"body":"Triaged."}}
|
|
97
|
+
]
|
|
98
|
+
EOF
|
|
99
|
+
```
|
|
100
|
+
|
|
87
101
|
## Quick Start (Library API)
|
|
88
102
|
|
|
89
103
|
```ts
|
|
@@ -104,28 +118,21 @@ if (result.ok) {
|
|
|
104
118
|
}
|
|
105
119
|
```
|
|
106
120
|
|
|
107
|
-
Need a custom GraphQL transport?
|
|
121
|
+
Need a custom GraphQL transport? See [Custom GraphQL Transport](#custom-graphql-transport).
|
|
108
122
|
|
|
109
123
|
## Agent Onboarding
|
|
110
124
|
|
|
111
|
-
|
|
125
|
+
<details>
|
|
126
|
+
<summary>Install ghx as a project skill for Claude Code</summary>
|
|
112
127
|
|
|
113
128
|
```bash
|
|
114
129
|
npx @ghx-dev/core setup --scope project --yes
|
|
115
130
|
npx @ghx-dev/core setup --scope project --verify
|
|
116
131
|
```
|
|
117
132
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
The canonical setup skill content is stored in:
|
|
121
|
-
|
|
122
|
-
- `skills/using-ghx/SKILL.md` (package root)
|
|
123
|
-
|
|
124
|
-
During build/publish it is copied to:
|
|
125
|
-
|
|
126
|
-
- `dist/skills/using-ghx/SKILL.md`
|
|
133
|
+
The canonical setup skill content is stored in `skills/using-ghx/SKILL.md` (package root). During build/publish it is copied to `dist/skills/using-ghx/SKILL.md`. `ghx setup` writes this content to `.agents/skills/ghx/SKILL.md` in user or project scope.
|
|
127
134
|
|
|
128
|
-
|
|
135
|
+
</details>
|
|
129
136
|
|
|
130
137
|
## Agent Tools
|
|
131
138
|
|
|
@@ -152,25 +159,18 @@ console.log(explainCapability("repo.view"))
|
|
|
152
159
|
const result = await tool.execute("repo.view", { owner: "aryeko", name: "ghx" })
|
|
153
160
|
```
|
|
154
161
|
|
|
155
|
-
##
|
|
162
|
+
## 70 Capabilities
|
|
156
163
|
|
|
157
|
-
|
|
164
|
+
| Domain | Count | Examples |
|
|
165
|
+
|---|---|---|
|
|
166
|
+
| Repository | 3 | `repo.view`, `repo.labels.list` |
|
|
167
|
+
| Issues | 23 | create/update/close, labels, assignees, milestones, relations |
|
|
168
|
+
| Pull Requests | 21 | diff, threads, reviews, checks, merge, branch update |
|
|
169
|
+
| Workflows and CI | 11 | runs, jobs, logs, dispatch, rerun, cancel, artifacts |
|
|
170
|
+
| Releases | 5 | view, list, create, update, publish |
|
|
171
|
+
| Projects v2 | 7 | items, fields, add/remove issues |
|
|
158
172
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
**Pull Requests (read)** -- `pr.view`, `pr.list`, `pr.threads.list`, `pr.reviews.list`, `pr.diff.files`, `pr.checks.list`, `pr.merge.status`
|
|
162
|
-
|
|
163
|
-
**Pull Requests (execute)** -- `pr.threads.reply`, `pr.threads.resolve`, `pr.threads.unresolve`, `pr.update`, `pr.reviews.submit`, `pr.reviews.request`, `pr.merge`, `pr.checks.rerun.failed`, `pr.checks.rerun.all`, `pr.branch.update`, `pr.assignees.add`, `pr.assignees.remove`
|
|
164
|
-
|
|
165
|
-
**CI Diagnostics** -- `workflow.runs.list`, `workflow.job.logs.get`
|
|
166
|
-
|
|
167
|
-
**Releases** -- `release.list`, `release.get`, `release.create_draft`, `release.update`, `release.publish_draft`
|
|
168
|
-
|
|
169
|
-
**Workflow Controls** -- `workflow.list`, `workflow.get`, `workflow_dispatch.run`, `workflow_run.view`, `workflow_run.rerun_failed`, `workflow_run.rerun_all`, `workflow_run.cancel`, `workflow_run.artifacts.list`
|
|
170
|
-
|
|
171
|
-
**Projects v2** -- `project_v2.org.get`, `project_v2.user.get`, `project_v2.fields.list`, `project_v2.items.list`, `project_v2.item.add_issue`, `project_v2.item.field.update`
|
|
172
|
-
|
|
173
|
-
For exact input/output contracts, see the [operation card registry](https://github.com/aryeko/ghx/tree/main/packages/core/src/core/registry/cards).
|
|
173
|
+
Full list: `ghx capabilities list` or [operation card registry](https://github.com/aryeko/ghx/tree/main/packages/core/src/core/registry/cards).
|
|
174
174
|
|
|
175
175
|
## Result Envelope
|
|
176
176
|
|
|
@@ -218,7 +218,8 @@ type ResultEnvelope<TData = unknown> = {
|
|
|
218
218
|
- GitHub Cloud and GitHub Enterprise hosts (`GH_HOST` supported)
|
|
219
219
|
- Route adapters: CLI and GraphQL
|
|
220
220
|
|
|
221
|
-
|
|
221
|
+
<details>
|
|
222
|
+
<summary>Public Exports</summary>
|
|
222
223
|
|
|
223
224
|
Root (`@ghx-dev/core`):
|
|
224
225
|
|
|
@@ -233,7 +234,11 @@ Subpaths:
|
|
|
233
234
|
|
|
234
235
|
- `@ghx-dev/core/cli` -- CLI entrypoint
|
|
235
236
|
|
|
236
|
-
|
|
237
|
+
</details>
|
|
238
|
+
|
|
239
|
+
<details>
|
|
240
|
+
<a id="custom-graphql-transport"></a>
|
|
241
|
+
<summary>Custom GraphQL Transport</summary>
|
|
237
242
|
|
|
238
243
|
For full control over the GraphQL layer, pass your own transport to `createGithubClient`:
|
|
239
244
|
|
|
@@ -263,6 +268,8 @@ const result = await executeTask(
|
|
|
263
268
|
)
|
|
264
269
|
```
|
|
265
270
|
|
|
271
|
+
</details>
|
|
272
|
+
|
|
266
273
|
## Documentation
|
|
267
274
|
|
|
268
275
|
- [Documentation Hub](https://github.com/aryeko/ghx/blob/main/docs/README.md)
|
|
@@ -23,7 +23,11 @@ output_schema:
|
|
|
23
23
|
items: { type: string }
|
|
24
24
|
additionalProperties: false
|
|
25
25
|
routing:
|
|
26
|
-
preferred:
|
|
27
|
-
fallbacks: []
|
|
26
|
+
preferred: graphql
|
|
27
|
+
fallbacks: [cli]
|
|
28
|
+
graphql:
|
|
29
|
+
operationName: PrAssigneesAdd
|
|
30
|
+
operationType: mutation
|
|
31
|
+
documentPath: src/gql/operations/pr-assignees-add.graphql
|
|
28
32
|
cli:
|
|
29
33
|
command: pr edit
|
|
@@ -23,7 +23,11 @@ output_schema:
|
|
|
23
23
|
items: { type: string }
|
|
24
24
|
additionalProperties: false
|
|
25
25
|
routing:
|
|
26
|
-
preferred:
|
|
27
|
-
fallbacks: []
|
|
26
|
+
preferred: graphql
|
|
27
|
+
fallbacks: [cli]
|
|
28
|
+
graphql:
|
|
29
|
+
operationName: PrAssigneesRemove
|
|
30
|
+
operationType: mutation
|
|
31
|
+
documentPath: src/gql/operations/pr-assignees-remove.graphql
|
|
28
32
|
cli:
|
|
29
33
|
command: pr edit
|
|
@@ -17,7 +17,11 @@ output_schema:
|
|
|
17
17
|
updated: { type: boolean }
|
|
18
18
|
additionalProperties: false
|
|
19
19
|
routing:
|
|
20
|
-
preferred:
|
|
21
|
-
fallbacks: []
|
|
20
|
+
preferred: graphql
|
|
21
|
+
fallbacks: [cli]
|
|
22
|
+
graphql:
|
|
23
|
+
operationName: PrBranchUpdate
|
|
24
|
+
operationType: mutation
|
|
25
|
+
documentPath: src/gql/operations/pr-branch-update.graphql
|
|
22
26
|
cli:
|
|
23
27
|
command: pr update-branch
|
|
@@ -3,7 +3,7 @@ version: "1.0.0"
|
|
|
3
3
|
description: Create a pull request.
|
|
4
4
|
input_schema:
|
|
5
5
|
type: object
|
|
6
|
-
required: [owner, name, title, head]
|
|
6
|
+
required: [owner, name, title, head, base]
|
|
7
7
|
properties:
|
|
8
8
|
owner: { type: string, minLength: 1 }
|
|
9
9
|
name: { type: string, minLength: 1 }
|
|
@@ -24,7 +24,11 @@ output_schema:
|
|
|
24
24
|
draft: { type: boolean }
|
|
25
25
|
additionalProperties: false
|
|
26
26
|
routing:
|
|
27
|
-
preferred:
|
|
28
|
-
fallbacks: []
|
|
27
|
+
preferred: graphql
|
|
28
|
+
fallbacks: [cli]
|
|
29
|
+
graphql:
|
|
30
|
+
operationName: PrCreate
|
|
31
|
+
operationType: mutation
|
|
32
|
+
documentPath: src/gql/operations/pr-create.graphql
|
|
29
33
|
cli:
|
|
30
34
|
command: pr create
|
package/dist/cards/pr.list.yaml
CHANGED
package/dist/cards/pr.merge.yaml
CHANGED
|
@@ -15,15 +15,21 @@ input_schema:
|
|
|
15
15
|
additionalProperties: false
|
|
16
16
|
output_schema:
|
|
17
17
|
type: object
|
|
18
|
-
required: [prNumber, method, queued, deleteBranch]
|
|
18
|
+
required: [prNumber, method, isMethodAssumed, queued, deleteBranch]
|
|
19
19
|
properties:
|
|
20
20
|
prNumber: { type: integer, minimum: 1 }
|
|
21
21
|
method: { type: string, enum: [merge, squash, rebase] }
|
|
22
|
+
isMethodAssumed: { type: boolean, description: "true when method was not specified by the caller and defaults to merge" }
|
|
22
23
|
queued: { type: boolean }
|
|
23
24
|
deleteBranch: { type: boolean }
|
|
24
25
|
additionalProperties: false
|
|
25
26
|
routing:
|
|
26
|
-
preferred:
|
|
27
|
-
fallbacks: []
|
|
27
|
+
preferred: graphql
|
|
28
|
+
fallbacks: [cli]
|
|
29
|
+
graphql:
|
|
30
|
+
# GQL limitation: deleteBranch: true unsupported, triggers CLI fallback
|
|
31
|
+
operationName: PrMerge
|
|
32
|
+
operationType: mutation
|
|
33
|
+
documentPath: src/gql/operations/pr-merge.graphql
|
|
28
34
|
cli:
|
|
29
35
|
command: pr merge
|
|
@@ -20,12 +20,15 @@ output_schema:
|
|
|
20
20
|
prNumber: { type: integer, minimum: 1 }
|
|
21
21
|
reviewers:
|
|
22
22
|
type: array
|
|
23
|
-
minItems: 1
|
|
24
23
|
items: { type: string, minLength: 1 }
|
|
25
24
|
updated: { type: boolean }
|
|
26
25
|
additionalProperties: false
|
|
27
26
|
routing:
|
|
28
|
-
preferred:
|
|
29
|
-
fallbacks: []
|
|
27
|
+
preferred: graphql
|
|
28
|
+
fallbacks: [cli]
|
|
29
|
+
graphql:
|
|
30
|
+
operationName: PrReviewsRequest
|
|
31
|
+
operationType: mutation
|
|
32
|
+
documentPath: src/gql/operations/pr-reviews-request.graphql
|
|
30
33
|
cli:
|
|
31
34
|
command: pr edit
|
|
@@ -23,7 +23,12 @@ output_schema:
|
|
|
23
23
|
draft: { type: boolean }
|
|
24
24
|
additionalProperties: false
|
|
25
25
|
routing:
|
|
26
|
-
preferred:
|
|
27
|
-
fallbacks: []
|
|
26
|
+
preferred: graphql
|
|
27
|
+
fallbacks: [cli]
|
|
28
|
+
graphql:
|
|
29
|
+
# GQL limitation: draft-only updates fall back to CLI
|
|
30
|
+
operationName: PrUpdate
|
|
31
|
+
operationType: mutation
|
|
32
|
+
documentPath: src/gql/operations/pr-update.graphql
|
|
28
33
|
cli:
|
|
29
34
|
command: pr edit
|
package/dist/cards/pr.view.yaml
CHANGED
|
@@ -7,6 +7,8 @@ input_schema:
|
|
|
7
7
|
properties:
|
|
8
8
|
owner: { type: string, minLength: 1 }
|
|
9
9
|
projectNumber: { type: integer, minimum: 1 }
|
|
10
|
+
first: { type: integer, minimum: 1 }
|
|
11
|
+
after: { type: [string, "null"] }
|
|
10
12
|
additionalProperties: false
|
|
11
13
|
output_schema:
|
|
12
14
|
type: object
|
|
@@ -21,6 +23,15 @@ output_schema:
|
|
|
21
23
|
id: { type: [string, "null"] }
|
|
22
24
|
name: { type: [string, "null"] }
|
|
23
25
|
dataType: { type: [string, "null"] }
|
|
26
|
+
options:
|
|
27
|
+
type: [array, "null"]
|
|
28
|
+
items:
|
|
29
|
+
type: object
|
|
30
|
+
required: [id, name]
|
|
31
|
+
properties:
|
|
32
|
+
id: { type: string }
|
|
33
|
+
name: { type: string }
|
|
34
|
+
additionalProperties: false
|
|
24
35
|
additionalProperties: false
|
|
25
36
|
pageInfo:
|
|
26
37
|
type: object
|
|
@@ -31,7 +42,12 @@ output_schema:
|
|
|
31
42
|
additionalProperties: false
|
|
32
43
|
additionalProperties: false
|
|
33
44
|
routing:
|
|
34
|
-
preferred:
|
|
35
|
-
fallbacks: []
|
|
45
|
+
preferred: graphql
|
|
46
|
+
fallbacks: [cli]
|
|
47
|
+
graphql:
|
|
48
|
+
# GQL limitation: user fallback handled in domain handler
|
|
49
|
+
operationName: ProjectV2FieldsListOrg
|
|
50
|
+
operationType: query
|
|
51
|
+
documentPath: src/gql/operations/project-v2-fields-list-org.graphql
|
|
36
52
|
cli:
|
|
37
53
|
command: project field-list
|
|
@@ -17,13 +17,16 @@ input_schema:
|
|
|
17
17
|
additionalProperties: false
|
|
18
18
|
output_schema:
|
|
19
19
|
type: object
|
|
20
|
-
required: [itemId
|
|
20
|
+
required: [itemId]
|
|
21
21
|
properties:
|
|
22
|
-
itemId: { type:
|
|
23
|
-
updated: { type: boolean }
|
|
22
|
+
itemId: { type: string }
|
|
24
23
|
additionalProperties: false
|
|
25
24
|
routing:
|
|
26
|
-
preferred:
|
|
27
|
-
fallbacks: []
|
|
25
|
+
preferred: graphql
|
|
26
|
+
fallbacks: [cli]
|
|
27
|
+
graphql:
|
|
28
|
+
operationName: UpdateProjectV2ItemField
|
|
29
|
+
operationType: mutation
|
|
30
|
+
documentPath: src/gql/operations/project-v2-item-field-update.graphql
|
|
28
31
|
cli:
|
|
29
32
|
command: project item-edit
|