@ghx-dev/core 0.1.2 → 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.
Files changed (216) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/README.md +49 -45
  3. package/dist/cards/issue.assignees.add.yaml +51 -0
  4. package/dist/cards/issue.assignees.remove.yaml +51 -0
  5. package/dist/cards/issue.assignees.set.yaml +48 -0
  6. package/dist/cards/issue.close.yaml +17 -2
  7. package/dist/cards/issue.comments.create.yaml +17 -2
  8. package/dist/cards/issue.comments.list.yaml +1 -0
  9. package/dist/cards/issue.create.yaml +12 -0
  10. package/dist/cards/issue.delete.yaml +17 -2
  11. package/dist/cards/issue.labels.add.yaml +49 -0
  12. package/dist/cards/issue.labels.remove.yaml +51 -0
  13. package/dist/cards/issue.labels.set.yaml +48 -0
  14. package/dist/cards/issue.list.yaml +1 -0
  15. package/dist/cards/issue.milestone.clear.yaml +41 -0
  16. package/dist/cards/issue.milestone.set.yaml +24 -4
  17. package/dist/{core/registry/cards/issue.blocked_by.add.yaml → cards/issue.relations.blocked_by.add.yaml} +4 -2
  18. package/dist/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +2 -1
  19. package/dist/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +12 -1
  20. package/dist/{core/registry/cards/issue.parent.set.yaml → cards/issue.relations.parent.set.yaml} +4 -2
  21. package/dist/{core/registry/cards/issue.linked_prs.list.yaml → cards/issue.relations.prs.list.yaml} +2 -1
  22. package/dist/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +2 -1
  23. package/dist/cards/issue.reopen.yaml +17 -2
  24. package/dist/cards/issue.update.yaml +17 -2
  25. package/dist/cards/issue.view.yaml +8 -5
  26. package/dist/cards/pr.assignees.add.yaml +33 -0
  27. package/dist/cards/pr.assignees.remove.yaml +33 -0
  28. package/dist/cards/pr.branch.update.yaml +6 -2
  29. package/dist/{core/registry/cards/pr.status.checks.yaml → cards/pr.checks.list.yaml} +15 -2
  30. package/dist/{core/registry/cards/pr.checks.rerun_all.yaml → cards/pr.checks.rerun.all.yaml} +2 -4
  31. package/dist/{core/registry/cards/pr.checks.rerun_failed.yaml → cards/pr.checks.rerun.failed.yaml} +3 -5
  32. package/dist/cards/pr.create.yaml +34 -0
  33. package/dist/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +2 -1
  34. package/dist/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
  35. package/dist/cards/pr.list.yaml +1 -0
  36. package/dist/{core/registry/cards/pr.mergeability.view.yaml → cards/pr.merge.status.yaml} +7 -3
  37. package/dist/{core/registry/cards/pr.merge.execute.yaml → cards/pr.merge.yaml} +10 -4
  38. package/dist/cards/pr.reviews.list.yaml +2 -1
  39. package/dist/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +7 -4
  40. package/dist/cards/pr.reviews.submit.yaml +68 -0
  41. package/dist/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +3 -2
  42. package/dist/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +5 -2
  43. package/dist/{core/registry/cards/pr.comment.resolve.yaml → cards/pr.threads.resolve.yaml} +2 -1
  44. package/dist/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +2 -1
  45. package/dist/cards/pr.update.yaml +34 -0
  46. package/dist/cards/pr.view.yaml +8 -5
  47. package/dist/cards/project_v2.fields.list.yaml +18 -2
  48. package/dist/cards/{project_v2.item.field.update.yaml → project_v2.items.field.update.yaml} +9 -6
  49. package/dist/cards/{project_v2.item.add_issue.yaml → project_v2.items.issue.add.yaml} +10 -6
  50. package/dist/cards/project_v2.items.issue.remove.yaml +26 -0
  51. package/dist/cards/project_v2.items.list.yaml +8 -2
  52. package/dist/{core/registry/cards/project_v2.org.get.yaml → cards/project_v2.org.view.yaml} +7 -3
  53. package/dist/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +7 -3
  54. package/dist/{core/registry/cards/release.create_draft.yaml → cards/release.create.yaml} +1 -1
  55. package/dist/cards/release.list.yaml +8 -3
  56. package/dist/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
  57. package/dist/cards/{release.get.yaml → release.view.yaml} +9 -5
  58. package/dist/cards/repo.issue_types.list.yaml +7 -3
  59. package/dist/cards/repo.labels.list.yaml +7 -2
  60. package/dist/cards/repo.view.yaml +3 -4
  61. package/dist/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
  62. package/dist/cards/{workflow_job.logs.get.yaml → workflow.job.logs.raw.yaml} +2 -2
  63. package/dist/{core/registry/cards/workflow_job.logs.analyze.yaml → cards/workflow.job.logs.view.yaml} +1 -1
  64. package/dist/{core/registry/cards/workflow_run.artifacts.list.yaml → cards/workflow.run.artifacts.list.yaml} +1 -1
  65. package/dist/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
  66. package/dist/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
  67. package/dist/{core/registry/cards/workflow_run.rerun_failed.yaml → cards/workflow.run.rerun.failed.yaml} +3 -3
  68. package/dist/{core/registry/cards/workflow_run.get.yaml → cards/workflow.run.view.yaml} +19 -4
  69. package/dist/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
  70. package/dist/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
  71. package/dist/chunk-3DU2WHXF.js +15 -0
  72. package/dist/chunk-3DU2WHXF.js.map +1 -0
  73. package/dist/chunk-7HUKYNI2.js +536 -0
  74. package/dist/chunk-7HUKYNI2.js.map +1 -0
  75. package/dist/chunk-GQO6BHJV.js +98 -0
  76. package/dist/chunk-GQO6BHJV.js.map +1 -0
  77. package/dist/chunk-H7CLZHRO.js +280 -0
  78. package/dist/chunk-H7CLZHRO.js.map +1 -0
  79. package/dist/chunk-HEHONZTO.js +121 -0
  80. package/dist/chunk-HEHONZTO.js.map +1 -0
  81. package/dist/chunk-M5PJLKL5.js +6132 -0
  82. package/dist/chunk-M5PJLKL5.js.map +1 -0
  83. package/dist/chunk-NQ53ETYV.js +128 -0
  84. package/dist/chunk-NQ53ETYV.js.map +1 -0
  85. package/dist/chunk-OQWLEFAH.js +436 -0
  86. package/dist/chunk-OQWLEFAH.js.map +1 -0
  87. package/dist/chunk-Q2NW7DJE.js +878 -0
  88. package/dist/chunk-Q2NW7DJE.js.map +1 -0
  89. package/dist/chunk-QRHKAMRY.js +211 -0
  90. package/dist/chunk-QRHKAMRY.js.map +1 -0
  91. package/dist/chunk-R3CBGJZX.js +12 -0
  92. package/dist/chunk-R3CBGJZX.js.map +1 -0
  93. package/dist/chunk-TGL33GEA.js +132 -0
  94. package/dist/chunk-TGL33GEA.js.map +1 -0
  95. package/dist/chunk-TPQYVCAS.js +15 -0
  96. package/dist/chunk-TPQYVCAS.js.map +1 -0
  97. package/dist/chunk-ZGBVX2VG.js +32 -0
  98. package/dist/chunk-ZGBVX2VG.js.map +1 -0
  99. package/dist/cli/index.js +268 -22
  100. package/dist/cli/index.js.map +1 -1
  101. package/dist/core/registry/cards/issue.assignees.add.yaml +51 -0
  102. package/dist/core/registry/cards/issue.assignees.remove.yaml +51 -0
  103. package/dist/core/registry/cards/issue.assignees.set.yaml +48 -0
  104. package/dist/core/registry/cards/issue.close.yaml +17 -2
  105. package/dist/core/registry/cards/issue.comments.create.yaml +17 -2
  106. package/dist/core/registry/cards/issue.comments.list.yaml +1 -0
  107. package/dist/core/registry/cards/issue.create.yaml +12 -0
  108. package/dist/core/registry/cards/issue.delete.yaml +17 -2
  109. package/dist/core/registry/cards/issue.labels.add.yaml +49 -0
  110. package/dist/core/registry/cards/issue.labels.remove.yaml +51 -0
  111. package/dist/core/registry/cards/issue.labels.set.yaml +48 -0
  112. package/dist/core/registry/cards/issue.list.yaml +1 -0
  113. package/dist/core/registry/cards/issue.milestone.clear.yaml +41 -0
  114. package/dist/core/registry/cards/issue.milestone.set.yaml +24 -4
  115. package/dist/{cards/issue.blocked_by.add.yaml → core/registry/cards/issue.relations.blocked_by.add.yaml} +4 -2
  116. package/dist/core/registry/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +2 -1
  117. package/dist/core/registry/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +12 -1
  118. package/dist/{cards/issue.parent.set.yaml → core/registry/cards/issue.relations.parent.set.yaml} +4 -2
  119. package/dist/{cards/issue.linked_prs.list.yaml → core/registry/cards/issue.relations.prs.list.yaml} +2 -1
  120. package/dist/core/registry/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +2 -1
  121. package/dist/core/registry/cards/issue.reopen.yaml +17 -2
  122. package/dist/core/registry/cards/issue.update.yaml +17 -2
  123. package/dist/core/registry/cards/issue.view.yaml +8 -5
  124. package/dist/core/registry/cards/pr.assignees.add.yaml +33 -0
  125. package/dist/core/registry/cards/pr.assignees.remove.yaml +33 -0
  126. package/dist/core/registry/cards/pr.branch.update.yaml +6 -2
  127. package/dist/{cards/pr.status.checks.yaml → core/registry/cards/pr.checks.list.yaml} +15 -2
  128. package/dist/{cards/pr.checks.rerun_all.yaml → core/registry/cards/pr.checks.rerun.all.yaml} +2 -4
  129. package/dist/{cards/pr.checks.rerun_failed.yaml → core/registry/cards/pr.checks.rerun.failed.yaml} +3 -5
  130. package/dist/core/registry/cards/pr.create.yaml +34 -0
  131. package/dist/core/registry/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +2 -1
  132. package/dist/core/registry/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
  133. package/dist/core/registry/cards/pr.list.yaml +1 -0
  134. package/dist/{cards/pr.mergeability.view.yaml → core/registry/cards/pr.merge.status.yaml} +7 -3
  135. package/dist/{cards/pr.merge.execute.yaml → core/registry/cards/pr.merge.yaml} +10 -4
  136. package/dist/core/registry/cards/pr.reviews.list.yaml +2 -1
  137. package/dist/core/registry/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +7 -4
  138. package/dist/core/registry/cards/pr.reviews.submit.yaml +68 -0
  139. package/dist/core/registry/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +3 -2
  140. package/dist/core/registry/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +5 -2
  141. package/dist/{cards/pr.comment.resolve.yaml → core/registry/cards/pr.threads.resolve.yaml} +2 -1
  142. package/dist/core/registry/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +2 -1
  143. package/dist/core/registry/cards/pr.update.yaml +34 -0
  144. package/dist/core/registry/cards/pr.view.yaml +8 -5
  145. package/dist/core/registry/cards/project_v2.fields.list.yaml +18 -2
  146. package/dist/core/registry/cards/{project_v2.item.field.update.yaml → project_v2.items.field.update.yaml} +9 -6
  147. package/dist/core/registry/cards/{project_v2.item.add_issue.yaml → project_v2.items.issue.add.yaml} +10 -6
  148. package/dist/core/registry/cards/project_v2.items.issue.remove.yaml +26 -0
  149. package/dist/core/registry/cards/project_v2.items.list.yaml +8 -2
  150. package/dist/{cards/project_v2.org.get.yaml → core/registry/cards/project_v2.org.view.yaml} +7 -3
  151. package/dist/core/registry/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +7 -3
  152. package/dist/{cards/release.create_draft.yaml → core/registry/cards/release.create.yaml} +1 -1
  153. package/dist/core/registry/cards/release.list.yaml +8 -3
  154. package/dist/core/registry/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
  155. package/dist/core/registry/cards/{release.get.yaml → release.view.yaml} +9 -5
  156. package/dist/core/registry/cards/repo.issue_types.list.yaml +7 -3
  157. package/dist/core/registry/cards/repo.labels.list.yaml +7 -2
  158. package/dist/core/registry/cards/repo.view.yaml +3 -4
  159. package/dist/core/registry/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
  160. package/dist/core/registry/cards/{workflow_job.logs.get.yaml → workflow.job.logs.raw.yaml} +2 -2
  161. package/dist/{cards/workflow_job.logs.analyze.yaml → core/registry/cards/workflow.job.logs.view.yaml} +1 -1
  162. package/dist/{cards/workflow_run.artifacts.list.yaml → core/registry/cards/workflow.run.artifacts.list.yaml} +1 -1
  163. package/dist/core/registry/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
  164. package/dist/core/registry/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
  165. package/dist/{cards/workflow_run.rerun_failed.yaml → core/registry/cards/workflow.run.rerun.failed.yaml} +3 -3
  166. package/dist/{cards/workflow_run.get.yaml → core/registry/cards/workflow.run.view.yaml} +19 -4
  167. package/dist/core/registry/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
  168. package/dist/core/registry/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
  169. package/dist/index.d.ts +671 -35
  170. package/dist/index.js +41 -5
  171. package/dist/index.js.map +1 -1
  172. package/dist/issue-mutations-OW464JP3.js +645 -0
  173. package/dist/issue-mutations-OW464JP3.js.map +1 -0
  174. package/dist/issue-queries-ORG3VPK4.js +93 -0
  175. package/dist/issue-queries-ORG3VPK4.js.map +1 -0
  176. package/dist/pr-mutations-WOTG6FAB.js +484 -0
  177. package/dist/pr-mutations-WOTG6FAB.js.map +1 -0
  178. package/dist/pr-queries-6CJJW7BT.js +143 -0
  179. package/dist/pr-queries-6CJJW7BT.js.map +1 -0
  180. package/dist/project-QFSCYDDW.js +429 -0
  181. package/dist/project-QFSCYDDW.js.map +1 -0
  182. package/dist/release-33236BBA.js +57 -0
  183. package/dist/release-33236BBA.js.map +1 -0
  184. package/dist/repo-M6DKCWBG.js +82 -0
  185. package/dist/repo-M6DKCWBG.js.map +1 -0
  186. package/package.json +19 -16
  187. package/skills/using-ghx/SKILL.md +127 -0
  188. package/dist/agent.d.ts +0 -32
  189. package/dist/agent.js +0 -36
  190. package/dist/agent.js.map +0 -1
  191. package/dist/cards/check_run.annotations.list.yaml +0 -35
  192. package/dist/cards/issue.assignees.update.yaml +0 -27
  193. package/dist/cards/issue.labels.update.yaml +0 -27
  194. package/dist/cards/pr.assignees.update.yaml +0 -38
  195. package/dist/cards/pr.checks.get_failed.yaml +0 -42
  196. package/dist/cards/pr.review.submit_approve.yaml +0 -26
  197. package/dist/cards/pr.review.submit_comment.yaml +0 -26
  198. package/dist/cards/pr.review.submit_request_changes.yaml +0 -26
  199. package/dist/cards/workflow_run.jobs.list.yaml +0 -35
  200. package/dist/chunk-2FCPR3XZ.js +0 -54
  201. package/dist/chunk-2FCPR3XZ.js.map +0 -1
  202. package/dist/chunk-RDUPMVHG.js +0 -4139
  203. package/dist/chunk-RDUPMVHG.js.map +0 -1
  204. package/dist/chunk-UN5YHUNK.js +0 -245
  205. package/dist/chunk-UN5YHUNK.js.map +0 -1
  206. package/dist/cli/assets/skills/ghx/SKILL.md +0 -57
  207. package/dist/core/registry/cards/check_run.annotations.list.yaml +0 -35
  208. package/dist/core/registry/cards/issue.assignees.update.yaml +0 -27
  209. package/dist/core/registry/cards/issue.labels.update.yaml +0 -27
  210. package/dist/core/registry/cards/pr.assignees.update.yaml +0 -38
  211. package/dist/core/registry/cards/pr.checks.get_failed.yaml +0 -42
  212. package/dist/core/registry/cards/pr.review.submit_approve.yaml +0 -26
  213. package/dist/core/registry/cards/pr.review.submit_comment.yaml +0 -26
  214. package/dist/core/registry/cards/pr.review.submit_request_changes.yaml +0 -26
  215. package/dist/core/registry/cards/workflow_run.jobs.list.yaml +0 -35
  216. package/dist/envelope-BpF6MNCv.d.ts +0 -55
@@ -3,21 +3,41 @@ version: "1.0.0"
3
3
  description: Set issue milestone number or clear with null.
4
4
  input_schema:
5
5
  type: object
6
- required: [issueId, milestoneNumber]
6
+ required: [owner, name, issueNumber, milestoneNumber]
7
7
  properties:
8
- issueId: { type: string, minLength: 1 }
9
- milestoneNumber: { type: [integer, "null"], minimum: 1 }
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ issueNumber: { type: integer, minimum: 1 }
11
+ milestoneNumber: { type: integer, minimum: 1 }
10
12
  additionalProperties: false
11
13
  output_schema:
12
14
  type: object
13
- required: [id, milestoneNumber]
15
+ required: [id, milestoneNumber, updated]
14
16
  properties:
15
17
  id: { type: string, minLength: 1 }
16
18
  milestoneNumber: { type: [integer, "null"] }
19
+ updated: { type: boolean }
17
20
  additionalProperties: false
18
21
  routing:
19
22
  preferred: graphql
20
23
  fallbacks: []
21
24
  graphql:
22
25
  operationName: IssueMilestoneSet
26
+ operationType: mutation
23
27
  documentPath: src/gql/operations/issue-milestone-set.graphql
28
+ resolution:
29
+ lookup:
30
+ operationName: IssueMilestoneLookupByNumber
31
+ documentPath: src/gql/operations/issue-milestone-lookup-by-number.graphql
32
+ vars:
33
+ owner: owner
34
+ name: name
35
+ issueNumber: issueNumber
36
+ milestoneNumber: milestoneNumber
37
+ inject:
38
+ - target: issueId
39
+ source: scalar
40
+ path: repository.issue.id
41
+ - target: milestoneId
42
+ source: scalar
43
+ path: repository.milestone.id
@@ -1,4 +1,4 @@
1
- capability_id: issue.blocked_by.add
1
+ capability_id: issue.relations.blocked_by.add
2
2
  version: "1.0.0"
3
3
  description: Add a blocked-by relation for an issue.
4
4
  input_schema:
@@ -10,14 +10,16 @@ input_schema:
10
10
  additionalProperties: false
11
11
  output_schema:
12
12
  type: object
13
- required: [issueId, blockedByIssueId]
13
+ required: [issueId, blockedByIssueId, added]
14
14
  properties:
15
15
  issueId: { type: string, minLength: 1 }
16
16
  blockedByIssueId: { type: string, minLength: 1 }
17
+ added: { type: boolean }
17
18
  additionalProperties: false
18
19
  routing:
19
20
  preferred: graphql
20
21
  fallbacks: []
21
22
  graphql:
22
23
  operationName: IssueBlockedByAdd
24
+ operationType: mutation
23
25
  documentPath: src/gql/operations/issue-blocked-by-add.graphql
@@ -1,4 +1,4 @@
1
- capability_id: issue.blocked_by.remove
1
+ capability_id: issue.relations.blocked_by.remove
2
2
  version: "1.0.0"
3
3
  description: Remove a blocked-by relation for an issue.
4
4
  input_schema:
@@ -21,4 +21,5 @@ routing:
21
21
  fallbacks: []
22
22
  graphql:
23
23
  operationName: IssueBlockedByRemove
24
+ operationType: mutation
24
25
  documentPath: src/gql/operations/issue-blocked-by-remove.graphql
@@ -1,4 +1,4 @@
1
- capability_id: issue.parent.remove
1
+ capability_id: issue.relations.parent.remove
2
2
  version: "1.0.0"
3
3
  description: Remove an issue parent relation.
4
4
  input_schema:
@@ -19,4 +19,15 @@ routing:
19
19
  fallbacks: []
20
20
  graphql:
21
21
  operationName: IssueParentRemove
22
+ operationType: mutation
22
23
  documentPath: src/gql/operations/issue-parent-remove.graphql
24
+ resolution:
25
+ lookup:
26
+ operationName: IssueParentLookup
27
+ documentPath: src/gql/operations/issue-parent-lookup.graphql
28
+ vars:
29
+ issueId: issueId
30
+ inject:
31
+ - target: parentIssueId
32
+ source: scalar
33
+ path: node.parent.id
@@ -1,4 +1,4 @@
1
- capability_id: issue.parent.set
1
+ capability_id: issue.relations.parent.set
2
2
  version: "1.0.0"
3
3
  description: Set an issue parent relation.
4
4
  input_schema:
@@ -10,14 +10,16 @@ input_schema:
10
10
  additionalProperties: false
11
11
  output_schema:
12
12
  type: object
13
- required: [issueId, parentIssueId]
13
+ required: [issueId, parentIssueId, updated]
14
14
  properties:
15
15
  issueId: { type: string, minLength: 1 }
16
16
  parentIssueId: { type: string, minLength: 1 }
17
+ updated: { type: boolean }
17
18
  additionalProperties: false
18
19
  routing:
19
20
  preferred: graphql
20
21
  fallbacks: []
21
22
  graphql:
22
23
  operationName: IssueParentSet
24
+ operationType: mutation
23
25
  documentPath: src/gql/operations/issue-parent-set.graphql
@@ -1,4 +1,4 @@
1
- capability_id: issue.linked_prs.list
1
+ capability_id: issue.relations.prs.list
2
2
  version: "1.0.0"
3
3
  description: List pull requests linked to an issue.
4
4
  input_schema:
@@ -31,4 +31,5 @@ routing:
31
31
  fallbacks: []
32
32
  graphql:
33
33
  operationName: IssueLinkedPrsList
34
+ operationType: query
34
35
  documentPath: src/gql/operations/issue-linked-prs-list.graphql
@@ -1,4 +1,4 @@
1
- capability_id: issue.relations.get
1
+ capability_id: issue.relations.view
2
2
  version: "1.0.0"
3
3
  description: Get issue parent/children/blocking relations.
4
4
  input_schema:
@@ -51,4 +51,5 @@ routing:
51
51
  fallbacks: []
52
52
  graphql:
53
53
  operationName: IssueRelationsGet
54
+ operationType: query
54
55
  documentPath: src/gql/operations/issue-relations-get.graphql
@@ -3,9 +3,11 @@ version: "1.0.0"
3
3
  description: Reopen a closed issue.
4
4
  input_schema:
5
5
  type: object
6
- required: [issueId]
6
+ required: [owner, name, issueNumber]
7
7
  properties:
8
- issueId: { type: string, minLength: 1 }
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ issueNumber: { type: integer, minimum: 1 }
9
11
  additionalProperties: false
10
12
  output_schema:
11
13
  type: object
@@ -21,4 +23,17 @@ routing:
21
23
  fallbacks: []
22
24
  graphql:
23
25
  operationName: IssueReopen
26
+ operationType: mutation
24
27
  documentPath: src/gql/operations/issue-reopen.graphql
28
+ resolution:
29
+ lookup:
30
+ operationName: IssueNodeIdLookup
31
+ documentPath: src/gql/operations/issue-node-id-lookup.graphql
32
+ vars:
33
+ owner: owner
34
+ name: name
35
+ issueNumber: issueNumber
36
+ inject:
37
+ - target: issueId
38
+ source: scalar
39
+ path: repository.issue.id
@@ -3,9 +3,11 @@ version: "1.0.0"
3
3
  description: Update issue title and/or body.
4
4
  input_schema:
5
5
  type: object
6
- required: [issueId]
6
+ required: [owner, name, issueNumber]
7
7
  properties:
8
- issueId: { type: string, minLength: 1 }
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ issueNumber: { type: integer, minimum: 1 }
9
11
  title: { type: string }
10
12
  body: { type: string }
11
13
  additionalProperties: false
@@ -24,4 +26,17 @@ routing:
24
26
  fallbacks: []
25
27
  graphql:
26
28
  operationName: IssueUpdate
29
+ operationType: mutation
27
30
  documentPath: src/gql/operations/issue-update.graphql
31
+ resolution:
32
+ lookup:
33
+ operationName: IssueNodeIdLookup
34
+ documentPath: src/gql/operations/issue-node-id-lookup.graphql
35
+ vars:
36
+ owner: owner
37
+ name: name
38
+ issueNumber: issueNumber
39
+ inject:
40
+ - target: issueId
41
+ source: scalar
42
+ path: repository.issue.id
@@ -11,22 +11,25 @@ input_schema:
11
11
  additionalProperties: false
12
12
  output_schema:
13
13
  type: object
14
- required: [id, number, title, state, url]
14
+ required: [id, number, title, state, url, body, labels]
15
15
  properties:
16
16
  id: { type: string, minLength: 1 }
17
17
  number: { type: integer, minimum: 1 }
18
18
  title: { type: string }
19
19
  state: { type: string }
20
20
  url: { type: string, minLength: 1 }
21
+ body: { type: string }
22
+ labels: { type: array, items: { type: string } }
21
23
  additionalProperties: false
22
24
  routing:
23
- preferred: cli
24
- fallbacks: [graphql]
25
+ preferred: graphql
26
+ fallbacks: [cli]
25
27
  notes:
26
- - Prefer CLI for low-latency structured fetches when gh authentication is available.
28
+ - Prefer GraphQL for structured fetch; CLI fallback if gh auth unavailable.
27
29
  graphql:
28
30
  operationName: IssueView
31
+ operationType: query
29
32
  documentPath: src/gql/operations/issue-view.graphql
30
33
  cli:
31
34
  command: issue view
32
- jsonFields: [id, number, title, state, url]
35
+ jsonFields: [id, number, title, state, url, body, labels]
@@ -0,0 +1,33 @@
1
+ capability_id: pr.assignees.add
2
+ version: "1.0.0"
3
+ description: Add assignees to a pull request without replacing existing ones.
4
+ input_schema:
5
+ type: object
6
+ required: [owner, name, prNumber, assignees]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ prNumber: { type: integer, minimum: 1 }
11
+ assignees:
12
+ type: array
13
+ items: { type: string, minLength: 1 }
14
+ minItems: 1
15
+ additionalProperties: false
16
+ output_schema:
17
+ type: object
18
+ required: [prNumber, added]
19
+ properties:
20
+ prNumber: { type: integer, minimum: 1 }
21
+ added:
22
+ type: array
23
+ items: { type: string }
24
+ additionalProperties: false
25
+ routing:
26
+ preferred: graphql
27
+ fallbacks: [cli]
28
+ graphql:
29
+ operationName: PrAssigneesAdd
30
+ operationType: mutation
31
+ documentPath: src/gql/operations/pr-assignees-add.graphql
32
+ cli:
33
+ command: pr edit
@@ -0,0 +1,33 @@
1
+ capability_id: pr.assignees.remove
2
+ version: "1.0.0"
3
+ description: Remove specific assignees from a pull request.
4
+ input_schema:
5
+ type: object
6
+ required: [owner, name, prNumber, assignees]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ prNumber: { type: integer, minimum: 1 }
11
+ assignees:
12
+ type: array
13
+ items: { type: string, minLength: 1 }
14
+ minItems: 1
15
+ additionalProperties: false
16
+ output_schema:
17
+ type: object
18
+ required: [prNumber, removed]
19
+ properties:
20
+ prNumber: { type: integer, minimum: 1 }
21
+ removed:
22
+ type: array
23
+ items: { type: string }
24
+ additionalProperties: false
25
+ routing:
26
+ preferred: graphql
27
+ fallbacks: [cli]
28
+ graphql:
29
+ operationName: PrAssigneesRemove
30
+ operationType: mutation
31
+ documentPath: src/gql/operations/pr-assignees-remove.graphql
32
+ cli:
33
+ command: pr edit
@@ -17,7 +17,11 @@ output_schema:
17
17
  updated: { type: boolean }
18
18
  additionalProperties: false
19
19
  routing:
20
- preferred: cli
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
@@ -1,4 +1,4 @@
1
- capability_id: pr.status.checks
1
+ capability_id: pr.checks.list
2
2
  version: "1.0.0"
3
3
  description: List pull request check statuses with summary counts.
4
4
  input_schema:
@@ -8,6 +8,7 @@ input_schema:
8
8
  owner: { type: string, minLength: 1 }
9
9
  name: { type: string, minLength: 1 }
10
10
  prNumber: { type: integer, minimum: 1 }
11
+ state: { type: string, enum: [failed, pending, passed] }
11
12
  additionalProperties: false
12
13
  output_schema:
13
14
  type: object
@@ -17,12 +18,24 @@ output_schema:
17
18
  type: array
18
19
  items:
19
20
  type: object
20
- required: [name, state, workflow, link]
21
+ required: [name, state, workflow, link, annotations]
21
22
  properties:
22
23
  name: { type: [string, "null"] }
23
24
  state: { type: [string, "null"] }
24
25
  workflow: { type: [string, "null"] }
25
26
  link: { type: [string, "null"] }
27
+ annotations:
28
+ type: array
29
+ items:
30
+ type: object
31
+ required: [path, startLine, endLine, level, message]
32
+ properties:
33
+ path: { type: [string, "null"] }
34
+ startLine: { type: [integer, "null"] }
35
+ endLine: { type: [integer, "null"] }
36
+ level: { type: [string, "null"] }
37
+ message: { type: [string, "null"] }
38
+ additionalProperties: false
26
39
  additionalProperties: false
27
40
  summary:
28
41
  type: object
@@ -1,4 +1,4 @@
1
- capability_id: pr.checks.rerun_all
1
+ capability_id: pr.checks.rerun.all
2
2
  version: "1.0.0"
3
3
  description: Rerun all pull request workflow checks for a selected run.
4
4
  input_schema:
@@ -12,11 +12,9 @@ input_schema:
12
12
  additionalProperties: false
13
13
  output_schema:
14
14
  type: object
15
- required: [prNumber, runId, mode, queued]
15
+ required: [runId, queued]
16
16
  properties:
17
- prNumber: { type: integer, minimum: 1 }
18
17
  runId: { type: integer, minimum: 1 }
19
- mode: { type: string, const: all }
20
18
  queued: { type: boolean }
21
19
  additionalProperties: false
22
20
  routing:
@@ -1,4 +1,4 @@
1
- capability_id: pr.checks.rerun_failed
1
+ capability_id: pr.checks.rerun.failed
2
2
  version: "1.0.0"
3
3
  description: Rerun failed pull request workflow checks for a selected run.
4
4
  input_schema:
@@ -12,11 +12,9 @@ input_schema:
12
12
  additionalProperties: false
13
13
  output_schema:
14
14
  type: object
15
- required: [prNumber, runId, mode, queued]
15
+ required: [runId, queued]
16
16
  properties:
17
- prNumber: { type: integer, minimum: 1 }
18
- runId: { type: integer, minimum: 1 }
19
- mode: { type: string, const: failed }
17
+ runId: { type: integer }
20
18
  queued: { type: boolean }
21
19
  additionalProperties: false
22
20
  routing:
@@ -0,0 +1,34 @@
1
+ capability_id: pr.create
2
+ version: "1.0.0"
3
+ description: Create a pull request.
4
+ input_schema:
5
+ type: object
6
+ required: [owner, name, title, head, base]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ title: { type: string, minLength: 1 }
11
+ body: { type: string }
12
+ head: { type: string, minLength: 1 }
13
+ base: { type: string, minLength: 1 }
14
+ draft: { type: boolean }
15
+ additionalProperties: false
16
+ output_schema:
17
+ type: object
18
+ required: [number, url, title, state, draft]
19
+ properties:
20
+ number: { type: integer, minimum: 1 }
21
+ url: { type: string, minLength: 1 }
22
+ title: { type: string }
23
+ state: { type: string }
24
+ draft: { type: boolean }
25
+ additionalProperties: false
26
+ routing:
27
+ preferred: graphql
28
+ fallbacks: [cli]
29
+ graphql:
30
+ operationName: PrCreate
31
+ operationType: mutation
32
+ documentPath: src/gql/operations/pr-create.graphql
33
+ cli:
34
+ command: pr create
@@ -1,4 +1,4 @@
1
- capability_id: pr.diff.list_files
1
+ capability_id: pr.diff.files
2
2
  version: "1.0.0"
3
3
  description: List changed files in a pull request diff.
4
4
  input_schema:
@@ -38,6 +38,7 @@ routing:
38
38
  fallbacks: []
39
39
  graphql:
40
40
  operationName: PrDiffListFiles
41
+ operationType: query
41
42
  documentPath: src/gql/operations/pr-diff-list-files.graphql
42
43
  cli:
43
44
  command: pr view
@@ -1,24 +1,22 @@
1
- capability_id: pr.ready_for_review.set
1
+ capability_id: pr.diff.view
2
2
  version: "1.0.0"
3
- description: Mark pull request as ready for review or draft.
3
+ description: View the unified diff for a pull request.
4
4
  input_schema:
5
5
  type: object
6
- required: [owner, name, prNumber, ready]
6
+ required: [owner, name, prNumber]
7
7
  properties:
8
8
  owner: { type: string, minLength: 1 }
9
9
  name: { type: string, minLength: 1 }
10
10
  prNumber: { type: integer, minimum: 1 }
11
- ready: { type: boolean }
12
11
  additionalProperties: false
13
12
  output_schema:
14
13
  type: object
15
- required: [prNumber, isDraft]
14
+ required: [diff]
16
15
  properties:
17
- prNumber: { type: integer, minimum: 1 }
18
- isDraft: { type: boolean }
16
+ diff: { type: string }
19
17
  additionalProperties: false
20
18
  routing:
21
19
  preferred: cli
22
20
  fallbacks: []
23
21
  cli:
24
- command: pr ready
22
+ command: pr diff
@@ -42,6 +42,7 @@ routing:
42
42
  - Prefer CLI for low-latency structured fetches when gh authentication is available.
43
43
  graphql:
44
44
  operationName: PrList
45
+ operationType: query
45
46
  documentPath: src/gql/operations/pr-list.graphql
46
47
  cli:
47
48
  command: pr list
@@ -1,4 +1,4 @@
1
- capability_id: pr.mergeability.view
1
+ capability_id: pr.merge.status
2
2
  version: "1.0.0"
3
3
  description: View pull request mergeability and readiness signals.
4
4
  input_schema:
@@ -20,8 +20,12 @@ output_schema:
20
20
  state: { type: string }
21
21
  additionalProperties: false
22
22
  routing:
23
- preferred: cli
24
- fallbacks: []
23
+ preferred: graphql
24
+ fallbacks: [cli]
25
+ graphql:
26
+ operationName: PrMergeStatus
27
+ operationType: query
28
+ documentPath: src/gql/operations/pr-merge-status.graphql
25
29
  cli:
26
30
  command: pr view
27
31
  jsonFields: [mergeable, mergeStateStatus, reviewDecision, isDraft, state]
@@ -1,4 +1,4 @@
1
- capability_id: pr.merge.execute
1
+ capability_id: pr.merge
2
2
  version: "1.0.0"
3
3
  description: Execute a pull request merge.
4
4
  input_schema:
@@ -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: cli
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
@@ -1,6 +1,6 @@
1
1
  capability_id: pr.reviews.list
2
2
  version: "1.0.0"
3
- description: List pull request reviews.
3
+ description: "List pull request reviews (state, author, overall review body). Returns review-level metadata only — use pr.threads.list for inline diff comments."
4
4
  input_schema:
5
5
  type: object
6
6
  required: [owner, name, prNumber]
@@ -42,6 +42,7 @@ routing:
42
42
  fallbacks: []
43
43
  graphql:
44
44
  operationName: PrReviewsList
45
+ operationType: query
45
46
  documentPath: src/gql/operations/pr-reviews-list.graphql
46
47
  cli:
47
48
  command: pr view
@@ -1,4 +1,4 @@
1
- capability_id: pr.reviewers.request
1
+ capability_id: pr.reviews.request
2
2
  version: "1.0.0"
3
3
  description: Request pull request reviewers.
4
4
  input_schema:
@@ -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: cli
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
@@ -0,0 +1,68 @@
1
+ capability_id: pr.reviews.submit
2
+ version: "1.0.0"
3
+ description: Submit a pull request review (approve, request changes, or comment). GitHub requires a non-empty body for COMMENT and REQUEST_CHANGES events.
4
+ input_schema:
5
+ type: object
6
+ required: [owner, name, prNumber, event]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ prNumber: { type: integer, minimum: 1 }
11
+ event:
12
+ type: string
13
+ enum: [APPROVE, COMMENT, REQUEST_CHANGES]
14
+ body:
15
+ type: string
16
+ minLength: 1
17
+ description: "Required when event is COMMENT or REQUEST_CHANGES. Optional for APPROVE."
18
+ comments:
19
+ type: array
20
+ items:
21
+ type: object
22
+ required: [path, body, line]
23
+ properties:
24
+ path: { type: string, minLength: 1 }
25
+ body: { type: string, minLength: 1 }
26
+ line: { type: integer, minimum: 1 }
27
+ side:
28
+ type: string
29
+ enum: [LEFT, RIGHT]
30
+ description: "Diff side of the comment line (LEFT=base, RIGHT=head). Returned as diffSide in pr.threads.list output."
31
+ startLine:
32
+ type: integer
33
+ minimum: 1
34
+ description: "First line of a multi-line comment range. Omit for single-line comments."
35
+ startSide:
36
+ type: string
37
+ enum: [LEFT, RIGHT]
38
+ description: "Diff side of startLine (LEFT=base, RIGHT=head). Required if startLine is set."
39
+ additionalProperties: false
40
+ additionalProperties: false
41
+ output_schema:
42
+ type: object
43
+ required: [id, state, url, body]
44
+ properties:
45
+ id: { type: [string, "null"] }
46
+ state: { type: [string, "null"] }
47
+ url: { type: [string, "null"] }
48
+ body: { type: [string, "null"] }
49
+ additionalProperties: false
50
+ routing:
51
+ preferred: graphql
52
+ fallbacks: []
53
+ graphql:
54
+ operationName: PrReviewSubmit
55
+ operationType: mutation
56
+ documentPath: src/gql/operations/pr-review-submit.graphql
57
+ resolution:
58
+ lookup:
59
+ operationName: PrNodeId
60
+ documentPath: src/gql/operations/pr-node-id.graphql
61
+ vars:
62
+ owner: owner
63
+ name: name
64
+ prNumber: prNumber
65
+ inject:
66
+ - target: pullRequestId
67
+ source: scalar
68
+ path: repository.pullRequest.id