@ghx-dev/core 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.claude-plugin/plugin.json +21 -0
  2. package/README.md +12 -15
  3. package/dist/cards/issue.assignees.add.yaml +50 -0
  4. package/dist/cards/issue.assignees.remove.yaml +50 -0
  5. package/dist/cards/issue.assignees.set.yaml +47 -0
  6. package/dist/cards/issue.close.yaml +16 -2
  7. package/dist/cards/issue.comments.create.yaml +16 -2
  8. package/dist/cards/issue.create.yaml +11 -0
  9. package/dist/cards/issue.delete.yaml +16 -2
  10. package/dist/cards/issue.labels.add.yaml +48 -0
  11. package/dist/cards/issue.labels.remove.yaml +50 -0
  12. package/dist/cards/issue.labels.set.yaml +47 -0
  13. package/dist/cards/issue.milestone.clear.yaml +40 -0
  14. package/dist/cards/issue.milestone.set.yaml +23 -4
  15. package/dist/{core/registry/cards/issue.blocked_by.add.yaml → cards/issue.relations.blocked_by.add.yaml} +3 -2
  16. package/dist/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +1 -1
  17. package/dist/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +11 -1
  18. package/dist/{core/registry/cards/issue.parent.set.yaml → cards/issue.relations.parent.set.yaml} +3 -2
  19. package/dist/{core/registry/cards/issue.linked_prs.list.yaml → cards/issue.relations.prs.list.yaml} +1 -1
  20. package/dist/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +1 -1
  21. package/dist/cards/issue.reopen.yaml +16 -2
  22. package/dist/cards/issue.update.yaml +16 -2
  23. package/dist/cards/issue.view.yaml +7 -5
  24. package/dist/cards/{pr.review.submit_approve.yaml → pr.assignees.add.yaml} +12 -9
  25. package/dist/cards/pr.assignees.remove.yaml +29 -0
  26. package/dist/{core/registry/cards/pr.status.checks.yaml → cards/pr.checks.list.yaml} +15 -2
  27. package/dist/{core/registry/cards/pr.checks.rerun_all.yaml → cards/pr.checks.rerun.all.yaml} +2 -4
  28. package/dist/{core/registry/cards/pr.checks.rerun_failed.yaml → cards/pr.checks.rerun.failed.yaml} +3 -5
  29. package/dist/cards/pr.create.yaml +30 -0
  30. package/dist/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +1 -1
  31. package/dist/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
  32. package/dist/{core/registry/cards/pr.mergeability.view.yaml → cards/pr.merge.status.yaml} +6 -3
  33. package/dist/{core/registry/cards/pr.merge.execute.yaml → cards/pr.merge.yaml} +1 -1
  34. package/dist/cards/pr.reviews.list.yaml +1 -1
  35. package/dist/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +1 -1
  36. package/dist/cards/pr.reviews.submit.yaml +67 -0
  37. package/dist/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +2 -2
  38. package/dist/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +4 -2
  39. package/dist/cards/{pr.comment.resolve.yaml → pr.threads.resolve.yaml} +1 -1
  40. package/dist/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +1 -1
  41. package/dist/cards/pr.update.yaml +29 -0
  42. package/dist/cards/pr.view.yaml +7 -5
  43. package/dist/{core/registry/cards/project_v2.item.field.update.yaml → cards/project_v2.items.field.update.yaml} +1 -1
  44. package/dist/{core/registry/cards/project_v2.item.add_issue.yaml → cards/project_v2.items.issue.add.yaml} +1 -1
  45. package/dist/cards/project_v2.items.issue.remove.yaml +23 -0
  46. package/dist/{core/registry/cards/project_v2.org.get.yaml → cards/project_v2.org.view.yaml} +1 -1
  47. package/dist/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +1 -1
  48. package/dist/{core/registry/cards/release.create_draft.yaml → cards/release.create.yaml} +1 -1
  49. package/dist/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
  50. package/dist/{core/registry/cards/release.get.yaml → cards/release.view.yaml} +1 -1
  51. package/dist/cards/repo.view.yaml +2 -4
  52. package/dist/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
  53. package/dist/cards/{workflow_job.logs.get.yaml → workflow.job.logs.raw.yaml} +2 -2
  54. package/dist/{core/registry/cards/workflow_job.logs.analyze.yaml → cards/workflow.job.logs.view.yaml} +1 -1
  55. package/dist/{core/registry/cards/workflow_run.artifacts.list.yaml → cards/workflow.run.artifacts.list.yaml} +1 -1
  56. package/dist/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
  57. package/dist/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
  58. package/dist/{core/registry/cards/workflow_run.rerun_failed.yaml → cards/workflow.run.rerun.failed.yaml} +3 -3
  59. package/dist/{core/registry/cards/workflow_run.get.yaml → cards/workflow.run.view.yaml} +19 -4
  60. package/dist/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
  61. package/dist/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
  62. package/dist/chunk-3DU2WHXF.js +15 -0
  63. package/dist/chunk-3DU2WHXF.js.map +1 -0
  64. package/dist/chunk-3P3KHWFU.js +5779 -0
  65. package/dist/chunk-3P3KHWFU.js.map +1 -0
  66. package/dist/chunk-BIWBJA2F.js +228 -0
  67. package/dist/chunk-BIWBJA2F.js.map +1 -0
  68. package/dist/chunk-HEHONZTO.js +121 -0
  69. package/dist/chunk-HEHONZTO.js.map +1 -0
  70. package/dist/chunk-Q7RCIK2C.js +773 -0
  71. package/dist/chunk-Q7RCIK2C.js.map +1 -0
  72. package/dist/chunk-R3CBGJZX.js +12 -0
  73. package/dist/chunk-R3CBGJZX.js.map +1 -0
  74. package/dist/chunk-TDABI6C7.js +167 -0
  75. package/dist/chunk-TDABI6C7.js.map +1 -0
  76. package/dist/chunk-TPQYVCAS.js +15 -0
  77. package/dist/chunk-TPQYVCAS.js.map +1 -0
  78. package/dist/cli/index.js +202 -21
  79. package/dist/cli/index.js.map +1 -1
  80. package/dist/core/registry/cards/issue.assignees.add.yaml +50 -0
  81. package/dist/core/registry/cards/issue.assignees.remove.yaml +50 -0
  82. package/dist/core/registry/cards/issue.assignees.set.yaml +47 -0
  83. package/dist/core/registry/cards/issue.close.yaml +16 -2
  84. package/dist/core/registry/cards/issue.comments.create.yaml +16 -2
  85. package/dist/core/registry/cards/issue.create.yaml +11 -0
  86. package/dist/core/registry/cards/issue.delete.yaml +16 -2
  87. package/dist/core/registry/cards/issue.labels.add.yaml +48 -0
  88. package/dist/core/registry/cards/issue.labels.remove.yaml +50 -0
  89. package/dist/core/registry/cards/issue.labels.set.yaml +47 -0
  90. package/dist/core/registry/cards/issue.milestone.clear.yaml +40 -0
  91. package/dist/core/registry/cards/issue.milestone.set.yaml +23 -4
  92. package/dist/{cards/issue.blocked_by.add.yaml → core/registry/cards/issue.relations.blocked_by.add.yaml} +3 -2
  93. package/dist/core/registry/cards/{issue.blocked_by.remove.yaml → issue.relations.blocked_by.remove.yaml} +1 -1
  94. package/dist/core/registry/cards/{issue.parent.remove.yaml → issue.relations.parent.remove.yaml} +11 -1
  95. package/dist/{cards/issue.parent.set.yaml → core/registry/cards/issue.relations.parent.set.yaml} +3 -2
  96. package/dist/{cards/issue.linked_prs.list.yaml → core/registry/cards/issue.relations.prs.list.yaml} +1 -1
  97. package/dist/core/registry/cards/{issue.relations.get.yaml → issue.relations.view.yaml} +1 -1
  98. package/dist/core/registry/cards/issue.reopen.yaml +16 -2
  99. package/dist/core/registry/cards/issue.update.yaml +16 -2
  100. package/dist/core/registry/cards/issue.view.yaml +7 -5
  101. package/dist/core/registry/cards/pr.assignees.add.yaml +29 -0
  102. package/dist/core/registry/cards/pr.assignees.remove.yaml +29 -0
  103. package/dist/{cards/pr.status.checks.yaml → core/registry/cards/pr.checks.list.yaml} +15 -2
  104. package/dist/{cards/pr.checks.rerun_all.yaml → core/registry/cards/pr.checks.rerun.all.yaml} +2 -4
  105. package/dist/{cards/pr.checks.rerun_failed.yaml → core/registry/cards/pr.checks.rerun.failed.yaml} +3 -5
  106. package/dist/core/registry/cards/pr.create.yaml +30 -0
  107. package/dist/core/registry/cards/{pr.diff.list_files.yaml → pr.diff.files.yaml} +1 -1
  108. package/dist/core/registry/cards/{pr.ready_for_review.set.yaml → pr.diff.view.yaml} +6 -8
  109. package/dist/{cards/pr.mergeability.view.yaml → core/registry/cards/pr.merge.status.yaml} +6 -3
  110. package/dist/{cards/pr.merge.execute.yaml → core/registry/cards/pr.merge.yaml} +1 -1
  111. package/dist/core/registry/cards/pr.reviews.list.yaml +1 -1
  112. package/dist/core/registry/cards/{pr.reviewers.request.yaml → pr.reviews.request.yaml} +1 -1
  113. package/dist/core/registry/cards/pr.reviews.submit.yaml +67 -0
  114. package/dist/core/registry/cards/{pr.comments.list.yaml → pr.threads.list.yaml} +2 -2
  115. package/dist/core/registry/cards/{pr.comment.reply.yaml → pr.threads.reply.yaml} +4 -2
  116. package/dist/core/registry/cards/{pr.comment.resolve.yaml → pr.threads.resolve.yaml} +1 -1
  117. package/dist/core/registry/cards/{pr.comment.unresolve.yaml → pr.threads.unresolve.yaml} +1 -1
  118. package/dist/core/registry/cards/pr.update.yaml +29 -0
  119. package/dist/core/registry/cards/pr.view.yaml +7 -5
  120. package/dist/{cards/project_v2.item.field.update.yaml → core/registry/cards/project_v2.items.field.update.yaml} +1 -1
  121. package/dist/{cards/project_v2.item.add_issue.yaml → core/registry/cards/project_v2.items.issue.add.yaml} +1 -1
  122. package/dist/core/registry/cards/project_v2.items.issue.remove.yaml +23 -0
  123. package/dist/{cards/project_v2.org.get.yaml → core/registry/cards/project_v2.org.view.yaml} +1 -1
  124. package/dist/core/registry/cards/{project_v2.user.get.yaml → project_v2.user.view.yaml} +1 -1
  125. package/dist/{cards/release.create_draft.yaml → core/registry/cards/release.create.yaml} +1 -1
  126. package/dist/core/registry/cards/{release.publish_draft.yaml → release.publish.yaml} +1 -1
  127. package/dist/{cards/release.get.yaml → core/registry/cards/release.view.yaml} +1 -1
  128. package/dist/core/registry/cards/repo.view.yaml +2 -4
  129. package/dist/core/registry/cards/{workflow_dispatch.run.yaml → workflow.dispatch.yaml} +1 -1
  130. package/dist/core/registry/cards/{workflow_job.logs.get.yaml → workflow.job.logs.raw.yaml} +2 -2
  131. package/dist/{cards/workflow_job.logs.analyze.yaml → core/registry/cards/workflow.job.logs.view.yaml} +1 -1
  132. package/dist/{cards/workflow_run.artifacts.list.yaml → core/registry/cards/workflow.run.artifacts.list.yaml} +1 -1
  133. package/dist/core/registry/cards/{workflow_run.cancel.yaml → workflow.run.cancel.yaml} +1 -1
  134. package/dist/core/registry/cards/{workflow_run.rerun_all.yaml → workflow.run.rerun.all.yaml} +3 -3
  135. package/dist/{cards/workflow_run.rerun_failed.yaml → core/registry/cards/workflow.run.rerun.failed.yaml} +3 -3
  136. package/dist/{cards/workflow_run.get.yaml → core/registry/cards/workflow.run.view.yaml} +19 -4
  137. package/dist/core/registry/cards/{workflow_runs.list.yaml → workflow.runs.list.yaml} +1 -1
  138. package/dist/core/registry/cards/{workflow.get.yaml → workflow.view.yaml} +2 -2
  139. package/dist/index.d.ts +374 -35
  140. package/dist/index.js +33 -5
  141. package/dist/index.js.map +1 -1
  142. package/dist/issue-mutations-FJNZW7L5.js +668 -0
  143. package/dist/issue-mutations-FJNZW7L5.js.map +1 -0
  144. package/dist/issue-queries-GRA4MKPD.js +208 -0
  145. package/dist/issue-queries-GRA4MKPD.js.map +1 -0
  146. package/dist/pr-mutations-UG67YOF5.js +344 -0
  147. package/dist/pr-mutations-UG67YOF5.js.map +1 -0
  148. package/dist/pr-queries-UOEOXIJQ.js +331 -0
  149. package/dist/pr-queries-UOEOXIJQ.js.map +1 -0
  150. package/dist/repo-JDUHFPZF.js +66 -0
  151. package/dist/repo-JDUHFPZF.js.map +1 -0
  152. package/package.json +16 -13
  153. package/skills/using-ghx/SKILL.md +61 -0
  154. package/dist/agent.d.ts +0 -32
  155. package/dist/agent.js +0 -36
  156. package/dist/agent.js.map +0 -1
  157. package/dist/cards/check_run.annotations.list.yaml +0 -35
  158. package/dist/cards/issue.assignees.update.yaml +0 -27
  159. package/dist/cards/issue.labels.update.yaml +0 -27
  160. package/dist/cards/pr.assignees.update.yaml +0 -38
  161. package/dist/cards/pr.checks.get_failed.yaml +0 -42
  162. package/dist/cards/pr.review.submit_comment.yaml +0 -26
  163. package/dist/cards/pr.review.submit_request_changes.yaml +0 -26
  164. package/dist/cards/workflow_run.jobs.list.yaml +0 -35
  165. package/dist/chunk-2FCPR3XZ.js +0 -54
  166. package/dist/chunk-2FCPR3XZ.js.map +0 -1
  167. package/dist/chunk-RDUPMVHG.js +0 -4139
  168. package/dist/chunk-RDUPMVHG.js.map +0 -1
  169. package/dist/chunk-UN5YHUNK.js +0 -245
  170. package/dist/chunk-UN5YHUNK.js.map +0 -1
  171. package/dist/cli/assets/skills/ghx/SKILL.md +0 -57
  172. package/dist/core/registry/cards/check_run.annotations.list.yaml +0 -35
  173. package/dist/core/registry/cards/issue.assignees.update.yaml +0 -27
  174. package/dist/core/registry/cards/issue.labels.update.yaml +0 -27
  175. package/dist/core/registry/cards/pr.assignees.update.yaml +0 -38
  176. package/dist/core/registry/cards/pr.checks.get_failed.yaml +0 -42
  177. package/dist/core/registry/cards/pr.review.submit_approve.yaml +0 -26
  178. package/dist/core/registry/cards/pr.review.submit_comment.yaml +0 -26
  179. package/dist/core/registry/cards/pr.review.submit_request_changes.yaml +0 -26
  180. package/dist/core/registry/cards/workflow_run.jobs.list.yaml +0 -35
  181. package/dist/envelope-BpF6MNCv.d.ts +0 -55
@@ -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
@@ -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,11 @@ 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
+ documentPath: src/gql/operations/pr-merge-status.graphql
25
28
  cli:
26
29
  command: pr view
27
30
  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:
@@ -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]
@@ -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:
@@ -0,0 +1,67 @@
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
+ documentPath: src/gql/operations/pr-review-submit.graphql
56
+ resolution:
57
+ lookup:
58
+ operationName: PrNodeId
59
+ documentPath: src/gql/operations/pr-node-id.graphql
60
+ vars:
61
+ owner: owner
62
+ name: name
63
+ prNumber: prNumber
64
+ inject:
65
+ - target: pullRequestId
66
+ source: scalar
67
+ path: repository.pullRequest.id
@@ -1,6 +1,6 @@
1
- capability_id: pr.comments.list
1
+ capability_id: pr.threads.list
2
2
  version: "1.0.0"
3
- description: List pull request review threads with unresolved filtering.
3
+ description: List pull request review threads (unresolved only by default; pass unresolvedOnly:false to include resolved).
4
4
  input_schema:
5
5
  type: object
6
6
  required: [owner, name, prNumber]
@@ -1,4 +1,4 @@
1
- capability_id: pr.comment.reply
1
+ capability_id: pr.threads.reply
2
2
  version: "1.0.0"
3
3
  description: Reply to a pull request review thread.
4
4
  input_schema:
@@ -10,10 +10,12 @@ input_schema:
10
10
  additionalProperties: false
11
11
  output_schema:
12
12
  type: object
13
- required: [id, isResolved]
13
+ required: [id, isResolved, commentId, commentUrl]
14
14
  properties:
15
15
  id: { type: string, minLength: 1 }
16
16
  isResolved: { type: boolean }
17
+ commentId: { type: string }
18
+ commentUrl: { type: string }
17
19
  additionalProperties: false
18
20
  routing:
19
21
  preferred: graphql
@@ -1,4 +1,4 @@
1
- capability_id: pr.comment.resolve
1
+ capability_id: pr.threads.resolve
2
2
  version: "1.0.0"
3
3
  description: Resolve a pull request review thread.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: pr.comment.unresolve
1
+ capability_id: pr.threads.unresolve
2
2
  version: "1.0.0"
3
3
  description: Unresolve a pull request review thread.
4
4
  input_schema:
@@ -0,0 +1,29 @@
1
+ capability_id: pr.update
2
+ version: "1.0.0"
3
+ description: Update pull request metadata (title, body, draft status).
4
+ input_schema:
5
+ type: object
6
+ required: [owner, name, prNumber]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ name: { type: string, minLength: 1 }
10
+ prNumber: { type: integer, minimum: 1 }
11
+ title: { type: string, minLength: 1 }
12
+ body: { type: string }
13
+ draft: { type: boolean }
14
+ additionalProperties: false
15
+ output_schema:
16
+ type: object
17
+ required: [number, url, title, state, draft]
18
+ properties:
19
+ number: { type: integer, minimum: 1 }
20
+ url: { type: string, minLength: 1 }
21
+ title: { type: string }
22
+ state: { type: string }
23
+ draft: { type: boolean }
24
+ additionalProperties: false
25
+ routing:
26
+ preferred: cli
27
+ fallbacks: []
28
+ cli:
29
+ command: pr edit
@@ -11,22 +11,24 @@ 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: PrView
29
31
  documentPath: src/gql/operations/pr-view.graphql
30
32
  cli:
31
33
  command: pr view
32
- jsonFields: [id, number, title, state, url]
34
+ jsonFields: [id, number, title, state, url, body, labels]
@@ -1,4 +1,4 @@
1
- capability_id: project_v2.item.field.update
1
+ capability_id: project_v2.items.field.update
2
2
  version: "1.0.0"
3
3
  description: Update a field on a Projects v2 project item.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: project_v2.item.add_issue
1
+ capability_id: project_v2.items.issue.add
2
2
  version: "1.0.0"
3
3
  description: Add an issue to a Projects v2 project.
4
4
  input_schema:
@@ -0,0 +1,23 @@
1
+ capability_id: project_v2.items.issue.remove
2
+ version: "1.0.0"
3
+ description: Remove an issue from a Projects v2 project.
4
+ input_schema:
5
+ type: object
6
+ required: [owner, projectNumber, itemId]
7
+ properties:
8
+ owner: { type: string, minLength: 1 }
9
+ projectNumber: { type: integer, minimum: 1 }
10
+ itemId: { type: string, minLength: 1 }
11
+ additionalProperties: false
12
+ output_schema:
13
+ type: object
14
+ required: [itemId, removed]
15
+ properties:
16
+ itemId: { type: string, minLength: 1 }
17
+ removed: { type: boolean }
18
+ additionalProperties: false
19
+ routing:
20
+ preferred: cli
21
+ fallbacks: []
22
+ cli:
23
+ command: project item-delete
@@ -1,4 +1,4 @@
1
- capability_id: project_v2.org.get
1
+ capability_id: project_v2.org.view
2
2
  version: "1.0.0"
3
3
  description: Get an organization Projects v2 project.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: project_v2.user.get
1
+ capability_id: project_v2.user.view
2
2
  version: "1.0.0"
3
3
  description: Get a user Projects v2 project.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: release.create_draft
1
+ capability_id: release.create
2
2
  version: "1.0.0"
3
3
  description: Create a draft release.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: release.publish_draft
1
+ capability_id: release.publish
2
2
  version: "1.0.0"
3
3
  description: Publish an existing draft release.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: release.get
1
+ capability_id: release.view
2
2
  version: "1.0.0"
3
3
  description: Get release details by tag name.
4
4
  input_schema:
@@ -22,10 +22,8 @@ output_schema:
22
22
  defaultBranch: { type: [string, "null"] }
23
23
  additionalProperties: false
24
24
  routing:
25
- preferred: cli
26
- fallbacks: [graphql]
27
- notes:
28
- - Prefer CLI for low-latency structured fetches when gh authentication is available.
25
+ preferred: graphql
26
+ fallbacks: [cli]
29
27
  graphql:
30
28
  operationName: RepoView
31
29
  documentPath: src/gql/operations/repo-view.graphql
@@ -1,4 +1,4 @@
1
- capability_id: workflow_dispatch.run
1
+ capability_id: workflow.dispatch
2
2
  version: "1.0.0"
3
3
  description: Trigger a workflow dispatch event.
4
4
  input_schema:
@@ -1,6 +1,6 @@
1
- capability_id: workflow_job.logs.get
1
+ capability_id: workflow.job.logs.raw
2
2
  version: "1.0.0"
3
- description: Fetch logs for a workflow job.
3
+ description: Fetch raw (unprocessed) logs for a workflow job.
4
4
  input_schema:
5
5
  type: object
6
6
  required: [owner, name, jobId]
@@ -1,4 +1,4 @@
1
- capability_id: workflow_job.logs.analyze
1
+ capability_id: workflow.job.logs.view
2
2
  version: "1.0.0"
3
3
  description: Fetch and analyze workflow job logs.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: workflow_run.artifacts.list
1
+ capability_id: workflow.run.artifacts.list
2
2
  version: "1.0.0"
3
3
  description: List artifacts for a workflow run.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: workflow_run.cancel
1
+ capability_id: workflow.run.cancel
2
2
  version: "1.0.0"
3
3
  description: Cancel a workflow run.
4
4
  input_schema:
@@ -1,4 +1,4 @@
1
- capability_id: workflow_run.rerun_all
1
+ capability_id: workflow.run.rerun.all
2
2
  version: "1.0.0"
3
3
  description: Rerun all jobs in a workflow run.
4
4
  input_schema:
@@ -11,10 +11,10 @@ input_schema:
11
11
  additionalProperties: false
12
12
  output_schema:
13
13
  type: object
14
- required: [runId, status]
14
+ required: [runId, queued]
15
15
  properties:
16
16
  runId: { type: integer, minimum: 1 }
17
- status: { const: requested }
17
+ queued: { type: boolean }
18
18
  additionalProperties: false
19
19
  routing:
20
20
  preferred: cli
@@ -1,4 +1,4 @@
1
- capability_id: workflow_run.rerun_failed
1
+ capability_id: workflow.run.rerun.failed
2
2
  version: "1.0.0"
3
3
  description: Rerun failed jobs for a workflow run.
4
4
  input_schema:
@@ -11,10 +11,10 @@ input_schema:
11
11
  additionalProperties: false
12
12
  output_schema:
13
13
  type: object
14
- required: [runId, rerunFailed]
14
+ required: [runId, queued]
15
15
  properties:
16
16
  runId: { type: integer, minimum: 1 }
17
- rerunFailed: { type: boolean }
17
+ queued: { type: boolean }
18
18
  additionalProperties: false
19
19
  routing:
20
20
  preferred: cli
@@ -1,6 +1,6 @@
1
- capability_id: workflow_run.get
1
+ capability_id: workflow.run.view
2
2
  version: "1.0.0"
3
- description: Get a workflow run.
3
+ description: View a workflow run with its jobs.
4
4
  input_schema:
5
5
  type: object
6
6
  required: [owner, name, runId]
@@ -11,7 +11,7 @@ input_schema:
11
11
  additionalProperties: false
12
12
  output_schema:
13
13
  type: object
14
- required: [id, workflowName, status, conclusion, headBranch, headSha, event, createdAt, updatedAt, startedAt, url]
14
+ required: [id, workflowName, status, conclusion, headBranch, headSha, event, createdAt, updatedAt, startedAt, url, attempt, jobs]
15
15
  properties:
16
16
  id: { type: integer, minimum: 0 }
17
17
  workflowName: { type: [string, "null"] }
@@ -24,10 +24,25 @@ output_schema:
24
24
  updatedAt: { type: [string, "null"] }
25
25
  startedAt: { type: [string, "null"] }
26
26
  url: { type: [string, "null"] }
27
+ attempt: { type: integer, minimum: 1 }
28
+ jobs:
29
+ type: array
30
+ items:
31
+ type: object
32
+ required: [id, name, status, conclusion, startedAt, completedAt, url]
33
+ properties:
34
+ id: { type: integer, minimum: 0 }
35
+ name: { type: [string, "null"] }
36
+ status: { type: [string, "null"] }
37
+ conclusion: { type: [string, "null"] }
38
+ startedAt: { type: [string, "null"] }
39
+ completedAt: { type: [string, "null"] }
40
+ url: { type: [string, "null"] }
41
+ additionalProperties: false
27
42
  additionalProperties: false
28
43
  routing:
29
44
  preferred: cli
30
45
  fallbacks: []
31
46
  cli:
32
47
  command: run view
33
- jsonFields: [databaseId,workflowName,status,conclusion,headBranch,headSha,url,event,createdAt,updatedAt,startedAt]
48
+ jsonFields: [databaseId,workflowName,status,conclusion,headBranch,headSha,url,event,createdAt,updatedAt,startedAt,attempt,jobs]
@@ -1,4 +1,4 @@
1
- capability_id: workflow_runs.list
1
+ capability_id: workflow.runs.list
2
2
  version: "1.0.0"
3
3
  description: List workflow runs for a repository.
4
4
  input_schema:
@@ -1,6 +1,6 @@
1
- capability_id: workflow.get
1
+ capability_id: workflow.view
2
2
  version: "1.0.0"
3
- description: Get one repository workflow.
3
+ description: View one repository workflow.
4
4
  input_schema:
5
5
  type: object
6
6
  required: [owner, name, workflowId]