@ghx-dev/core 0.1.0 → 0.1.2

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 (494) hide show
  1. package/README.md +19 -7
  2. package/dist/agent.d.ts +32 -7
  3. package/dist/agent.js +27 -12
  4. package/dist/agent.js.map +1 -1
  5. package/dist/cards/project_v2.fields.list.yaml +2 -2
  6. package/dist/cards/project_v2.item.add_issue.yaml +2 -2
  7. package/dist/cards/project_v2.item.field.update.yaml +2 -2
  8. package/dist/cards/project_v2.items.list.yaml +2 -2
  9. package/dist/cards/project_v2.org.get.yaml +2 -2
  10. package/dist/cards/project_v2.user.get.yaml +2 -2
  11. package/dist/cards/repo.issue_types.list.yaml +2 -2
  12. package/dist/{chunk-4PLVKNCF.js → chunk-2FCPR3XZ.js} +14 -4
  13. package/dist/chunk-2FCPR3XZ.js.map +1 -0
  14. package/dist/chunk-RDUPMVHG.js +4139 -0
  15. package/dist/chunk-RDUPMVHG.js.map +1 -0
  16. package/dist/{chunk-JH6GM6XU.js → chunk-UN5YHUNK.js} +119 -7
  17. package/dist/chunk-UN5YHUNK.js.map +1 -0
  18. package/dist/cli/assets/skills/ghx/SKILL.md +57 -0
  19. package/dist/cli/index.js +373 -41
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/core/registry/cards/project_v2.fields.list.yaml +2 -2
  22. package/dist/core/registry/cards/project_v2.item.add_issue.yaml +2 -2
  23. package/dist/core/registry/cards/project_v2.item.field.update.yaml +2 -2
  24. package/dist/core/registry/cards/project_v2.items.list.yaml +2 -2
  25. package/dist/core/registry/cards/project_v2.org.get.yaml +2 -2
  26. package/dist/core/registry/cards/project_v2.user.get.yaml +2 -2
  27. package/dist/core/registry/cards/repo.issue_types.list.yaml +2 -2
  28. package/dist/{core/contracts/envelope.d.ts → envelope-BpF6MNCv.d.ts} +15 -3
  29. package/dist/index.d.ts +470 -22
  30. package/dist/index.js +6 -30
  31. package/package.json +13 -14
  32. package/dist/agent-interface/prompt/main-skill.d.ts +0 -3
  33. package/dist/agent-interface/prompt/main-skill.js +0 -7
  34. package/dist/agent-interface/prompt/main-skill.js.map +0 -1
  35. package/dist/agent-interface/tools/execute-tool.d.ts +0 -16
  36. package/dist/agent-interface/tools/execute-tool.js +0 -7
  37. package/dist/agent-interface/tools/execute-tool.js.map +0 -1
  38. package/dist/agent-interface/tools/explain-tool.d.ts +0 -11
  39. package/dist/agent-interface/tools/explain-tool.js +0 -9
  40. package/dist/agent-interface/tools/explain-tool.js.map +0 -1
  41. package/dist/agent-interface/tools/list-capabilities-tool.d.ts +0 -7
  42. package/dist/agent-interface/tools/list-capabilities-tool.js +0 -9
  43. package/dist/agent-interface/tools/list-capabilities-tool.js.map +0 -1
  44. package/dist/chunk-22WWCK6A.js +0 -92
  45. package/dist/chunk-22WWCK6A.js.map +0 -1
  46. package/dist/chunk-2W4L5YCC.js +0 -116
  47. package/dist/chunk-2W4L5YCC.js.map +0 -1
  48. package/dist/chunk-3MRJX72M.js +0 -209
  49. package/dist/chunk-3MRJX72M.js.map +0 -1
  50. package/dist/chunk-4PLVKNCF.js.map +0 -1
  51. package/dist/chunk-573MDG3I.js +0 -18
  52. package/dist/chunk-573MDG3I.js.map +0 -1
  53. package/dist/chunk-5JRLVOF2.js +0 -50
  54. package/dist/chunk-5JRLVOF2.js.map +0 -1
  55. package/dist/chunk-B6RLMKS4.js +0 -41
  56. package/dist/chunk-B6RLMKS4.js.map +0 -1
  57. package/dist/chunk-D746VR3B.js +0 -38
  58. package/dist/chunk-D746VR3B.js.map +0 -1
  59. package/dist/chunk-DJIEG6K7.js +0 -20
  60. package/dist/chunk-DJIEG6K7.js.map +0 -1
  61. package/dist/chunk-DLKIQBK6.js +0 -106
  62. package/dist/chunk-DLKIQBK6.js.map +0 -1
  63. package/dist/chunk-EBRDO4Y6.js +0 -31
  64. package/dist/chunk-EBRDO4Y6.js.map +0 -1
  65. package/dist/chunk-FXN6IIT5.js +0 -14
  66. package/dist/chunk-FXN6IIT5.js.map +0 -1
  67. package/dist/chunk-GMTG7X2L.js +0 -16
  68. package/dist/chunk-GMTG7X2L.js.map +0 -1
  69. package/dist/chunk-HQ2VRCH7.js +0 -42
  70. package/dist/chunk-HQ2VRCH7.js.map +0 -1
  71. package/dist/chunk-JH6GM6XU.js.map +0 -1
  72. package/dist/chunk-JLDU462R.js +0 -1352
  73. package/dist/chunk-JLDU462R.js.map +0 -1
  74. package/dist/chunk-MGNGSGMF.js +0 -203
  75. package/dist/chunk-MGNGSGMF.js.map +0 -1
  76. package/dist/chunk-NFF5VF4U.js +0 -28
  77. package/dist/chunk-NFF5VF4U.js.map +0 -1
  78. package/dist/chunk-QEAMC4IJ.js +0 -34
  79. package/dist/chunk-QEAMC4IJ.js.map +0 -1
  80. package/dist/chunk-QZZC53HF.js +0 -38
  81. package/dist/chunk-QZZC53HF.js.map +0 -1
  82. package/dist/chunk-RUQXGZ35.js +0 -34
  83. package/dist/chunk-RUQXGZ35.js.map +0 -1
  84. package/dist/chunk-SA2D4A5U.js +0 -1496
  85. package/dist/chunk-SA2D4A5U.js.map +0 -1
  86. package/dist/chunk-SD7U4BNA.js +0 -174
  87. package/dist/chunk-SD7U4BNA.js.map +0 -1
  88. package/dist/chunk-SJR2SACI.js +0 -30
  89. package/dist/chunk-SJR2SACI.js.map +0 -1
  90. package/dist/chunk-TCLMLVUQ.js +0 -38
  91. package/dist/chunk-TCLMLVUQ.js.map +0 -1
  92. package/dist/chunk-TDTKOJKN.js +0 -52
  93. package/dist/chunk-TDTKOJKN.js.map +0 -1
  94. package/dist/chunk-UGWIZ3RI.js +0 -7
  95. package/dist/chunk-UGWIZ3RI.js.map +0 -1
  96. package/dist/chunk-UOJWOHRM.js +0 -16
  97. package/dist/chunk-UOJWOHRM.js.map +0 -1
  98. package/dist/chunk-VD5NXQP7.js +0 -42
  99. package/dist/chunk-VD5NXQP7.js.map +0 -1
  100. package/dist/chunk-W2TKG2UL.js +0 -37
  101. package/dist/chunk-W2TKG2UL.js.map +0 -1
  102. package/dist/chunk-W6ROKCY5.js +0 -28
  103. package/dist/chunk-W6ROKCY5.js.map +0 -1
  104. package/dist/chunk-XNMM64WU.js +0 -221
  105. package/dist/chunk-XNMM64WU.js.map +0 -1
  106. package/dist/cli/commands/capabilities-explain.d.ts +0 -3
  107. package/dist/cli/commands/capabilities-explain.js +0 -10
  108. package/dist/cli/commands/capabilities-explain.js.map +0 -1
  109. package/dist/cli/commands/capabilities-list.d.ts +0 -3
  110. package/dist/cli/commands/capabilities-list.js +0 -10
  111. package/dist/cli/commands/capabilities-list.js.map +0 -1
  112. package/dist/cli/commands/doctor.d.ts +0 -3
  113. package/dist/cli/commands/doctor.js +0 -7
  114. package/dist/cli/commands/doctor.js.map +0 -1
  115. package/dist/cli/commands/routes.d.ts +0 -3
  116. package/dist/cli/commands/routes.js +0 -7
  117. package/dist/cli/commands/routes.js.map +0 -1
  118. package/dist/cli/commands/run.d.ts +0 -3
  119. package/dist/cli/commands/run.js +0 -31
  120. package/dist/cli/commands/run.js.map +0 -1
  121. package/dist/cli/commands/setup.d.ts +0 -3
  122. package/dist/cli/commands/setup.js +0 -7
  123. package/dist/cli/commands/setup.js.map +0 -1
  124. package/dist/cli/formatters/json.d.ts +0 -3
  125. package/dist/cli/formatters/json.js +0 -8
  126. package/dist/cli/formatters/json.js.map +0 -1
  127. package/dist/cli/formatters/table.d.ts +0 -3
  128. package/dist/cli/formatters/table.js +0 -8
  129. package/dist/cli/formatters/table.js.map +0 -1
  130. package/dist/core/contracts/envelope.js +0 -1
  131. package/dist/core/contracts/envelope.js.map +0 -1
  132. package/dist/core/contracts/task.d.ts +0 -7
  133. package/dist/core/contracts/task.js +0 -1
  134. package/dist/core/contracts/task.js.map +0 -1
  135. package/dist/core/contracts/tasks/check_run.annotations.list.d.ts +0 -5
  136. package/dist/core/contracts/tasks/check_run.annotations.list.js +0 -8
  137. package/dist/core/contracts/tasks/check_run.annotations.list.js.map +0 -1
  138. package/dist/core/contracts/tasks/issue.assignees.update.d.ts +0 -5
  139. package/dist/core/contracts/tasks/issue.assignees.update.js +0 -8
  140. package/dist/core/contracts/tasks/issue.assignees.update.js.map +0 -1
  141. package/dist/core/contracts/tasks/issue.blocked_by.add.d.ts +0 -5
  142. package/dist/core/contracts/tasks/issue.blocked_by.add.js +0 -8
  143. package/dist/core/contracts/tasks/issue.blocked_by.add.js.map +0 -1
  144. package/dist/core/contracts/tasks/issue.blocked_by.remove.d.ts +0 -5
  145. package/dist/core/contracts/tasks/issue.blocked_by.remove.js +0 -8
  146. package/dist/core/contracts/tasks/issue.blocked_by.remove.js.map +0 -1
  147. package/dist/core/contracts/tasks/issue.close.d.ts +0 -5
  148. package/dist/core/contracts/tasks/issue.close.js +0 -8
  149. package/dist/core/contracts/tasks/issue.close.js.map +0 -1
  150. package/dist/core/contracts/tasks/issue.comments.create.d.ts +0 -5
  151. package/dist/core/contracts/tasks/issue.comments.create.js +0 -8
  152. package/dist/core/contracts/tasks/issue.comments.create.js.map +0 -1
  153. package/dist/core/contracts/tasks/issue.comments.list.d.ts +0 -5
  154. package/dist/core/contracts/tasks/issue.comments.list.js +0 -8
  155. package/dist/core/contracts/tasks/issue.comments.list.js.map +0 -1
  156. package/dist/core/contracts/tasks/issue.create.d.ts +0 -5
  157. package/dist/core/contracts/tasks/issue.create.js +0 -8
  158. package/dist/core/contracts/tasks/issue.create.js.map +0 -1
  159. package/dist/core/contracts/tasks/issue.delete.d.ts +0 -5
  160. package/dist/core/contracts/tasks/issue.delete.js +0 -8
  161. package/dist/core/contracts/tasks/issue.delete.js.map +0 -1
  162. package/dist/core/contracts/tasks/issue.labels.update.d.ts +0 -5
  163. package/dist/core/contracts/tasks/issue.labels.update.js +0 -8
  164. package/dist/core/contracts/tasks/issue.labels.update.js.map +0 -1
  165. package/dist/core/contracts/tasks/issue.linked_prs.list.d.ts +0 -5
  166. package/dist/core/contracts/tasks/issue.linked_prs.list.js +0 -8
  167. package/dist/core/contracts/tasks/issue.linked_prs.list.js.map +0 -1
  168. package/dist/core/contracts/tasks/issue.list.d.ts +0 -5
  169. package/dist/core/contracts/tasks/issue.list.js +0 -8
  170. package/dist/core/contracts/tasks/issue.list.js.map +0 -1
  171. package/dist/core/contracts/tasks/issue.milestone.set.d.ts +0 -5
  172. package/dist/core/contracts/tasks/issue.milestone.set.js +0 -8
  173. package/dist/core/contracts/tasks/issue.milestone.set.js.map +0 -1
  174. package/dist/core/contracts/tasks/issue.parent.remove.d.ts +0 -5
  175. package/dist/core/contracts/tasks/issue.parent.remove.js +0 -8
  176. package/dist/core/contracts/tasks/issue.parent.remove.js.map +0 -1
  177. package/dist/core/contracts/tasks/issue.parent.set.d.ts +0 -5
  178. package/dist/core/contracts/tasks/issue.parent.set.js +0 -8
  179. package/dist/core/contracts/tasks/issue.parent.set.js.map +0 -1
  180. package/dist/core/contracts/tasks/issue.relations.get.d.ts +0 -5
  181. package/dist/core/contracts/tasks/issue.relations.get.js +0 -8
  182. package/dist/core/contracts/tasks/issue.relations.get.js.map +0 -1
  183. package/dist/core/contracts/tasks/issue.reopen.d.ts +0 -5
  184. package/dist/core/contracts/tasks/issue.reopen.js +0 -8
  185. package/dist/core/contracts/tasks/issue.reopen.js.map +0 -1
  186. package/dist/core/contracts/tasks/issue.update.d.ts +0 -5
  187. package/dist/core/contracts/tasks/issue.update.js +0 -8
  188. package/dist/core/contracts/tasks/issue.update.js.map +0 -1
  189. package/dist/core/contracts/tasks/issue.view.d.ts +0 -5
  190. package/dist/core/contracts/tasks/issue.view.js +0 -8
  191. package/dist/core/contracts/tasks/issue.view.js.map +0 -1
  192. package/dist/core/contracts/tasks/pr.assignees.update.d.ts +0 -5
  193. package/dist/core/contracts/tasks/pr.assignees.update.js +0 -8
  194. package/dist/core/contracts/tasks/pr.assignees.update.js.map +0 -1
  195. package/dist/core/contracts/tasks/pr.branch.update.d.ts +0 -5
  196. package/dist/core/contracts/tasks/pr.branch.update.js +0 -8
  197. package/dist/core/contracts/tasks/pr.branch.update.js.map +0 -1
  198. package/dist/core/contracts/tasks/pr.checks.get_failed.d.ts +0 -5
  199. package/dist/core/contracts/tasks/pr.checks.get_failed.js +0 -8
  200. package/dist/core/contracts/tasks/pr.checks.get_failed.js.map +0 -1
  201. package/dist/core/contracts/tasks/pr.checks.rerun_all.d.ts +0 -5
  202. package/dist/core/contracts/tasks/pr.checks.rerun_all.js +0 -8
  203. package/dist/core/contracts/tasks/pr.checks.rerun_all.js.map +0 -1
  204. package/dist/core/contracts/tasks/pr.checks.rerun_failed.d.ts +0 -5
  205. package/dist/core/contracts/tasks/pr.checks.rerun_failed.js +0 -8
  206. package/dist/core/contracts/tasks/pr.checks.rerun_failed.js.map +0 -1
  207. package/dist/core/contracts/tasks/pr.comment.reply.d.ts +0 -5
  208. package/dist/core/contracts/tasks/pr.comment.reply.js +0 -8
  209. package/dist/core/contracts/tasks/pr.comment.reply.js.map +0 -1
  210. package/dist/core/contracts/tasks/pr.comment.resolve.d.ts +0 -5
  211. package/dist/core/contracts/tasks/pr.comment.resolve.js +0 -8
  212. package/dist/core/contracts/tasks/pr.comment.resolve.js.map +0 -1
  213. package/dist/core/contracts/tasks/pr.comment.unresolve.d.ts +0 -5
  214. package/dist/core/contracts/tasks/pr.comment.unresolve.js +0 -8
  215. package/dist/core/contracts/tasks/pr.comment.unresolve.js.map +0 -1
  216. package/dist/core/contracts/tasks/pr.comments.list.d.ts +0 -5
  217. package/dist/core/contracts/tasks/pr.comments.list.js +0 -8
  218. package/dist/core/contracts/tasks/pr.comments.list.js.map +0 -1
  219. package/dist/core/contracts/tasks/pr.diff.list_files.d.ts +0 -5
  220. package/dist/core/contracts/tasks/pr.diff.list_files.js +0 -8
  221. package/dist/core/contracts/tasks/pr.diff.list_files.js.map +0 -1
  222. package/dist/core/contracts/tasks/pr.list.d.ts +0 -5
  223. package/dist/core/contracts/tasks/pr.list.js +0 -8
  224. package/dist/core/contracts/tasks/pr.list.js.map +0 -1
  225. package/dist/core/contracts/tasks/pr.merge.execute.d.ts +0 -5
  226. package/dist/core/contracts/tasks/pr.merge.execute.js +0 -8
  227. package/dist/core/contracts/tasks/pr.merge.execute.js.map +0 -1
  228. package/dist/core/contracts/tasks/pr.mergeability.view.d.ts +0 -5
  229. package/dist/core/contracts/tasks/pr.mergeability.view.js +0 -8
  230. package/dist/core/contracts/tasks/pr.mergeability.view.js.map +0 -1
  231. package/dist/core/contracts/tasks/pr.ready_for_review.set.d.ts +0 -5
  232. package/dist/core/contracts/tasks/pr.ready_for_review.set.js +0 -8
  233. package/dist/core/contracts/tasks/pr.ready_for_review.set.js.map +0 -1
  234. package/dist/core/contracts/tasks/pr.review.submit_approve.d.ts +0 -5
  235. package/dist/core/contracts/tasks/pr.review.submit_approve.js +0 -8
  236. package/dist/core/contracts/tasks/pr.review.submit_approve.js.map +0 -1
  237. package/dist/core/contracts/tasks/pr.review.submit_comment.d.ts +0 -5
  238. package/dist/core/contracts/tasks/pr.review.submit_comment.js +0 -8
  239. package/dist/core/contracts/tasks/pr.review.submit_comment.js.map +0 -1
  240. package/dist/core/contracts/tasks/pr.review.submit_request_changes.d.ts +0 -5
  241. package/dist/core/contracts/tasks/pr.review.submit_request_changes.js +0 -8
  242. package/dist/core/contracts/tasks/pr.review.submit_request_changes.js.map +0 -1
  243. package/dist/core/contracts/tasks/pr.reviewers.request.d.ts +0 -5
  244. package/dist/core/contracts/tasks/pr.reviewers.request.js +0 -8
  245. package/dist/core/contracts/tasks/pr.reviewers.request.js.map +0 -1
  246. package/dist/core/contracts/tasks/pr.reviews.list.d.ts +0 -5
  247. package/dist/core/contracts/tasks/pr.reviews.list.js +0 -8
  248. package/dist/core/contracts/tasks/pr.reviews.list.js.map +0 -1
  249. package/dist/core/contracts/tasks/pr.status.checks.d.ts +0 -5
  250. package/dist/core/contracts/tasks/pr.status.checks.js +0 -8
  251. package/dist/core/contracts/tasks/pr.status.checks.js.map +0 -1
  252. package/dist/core/contracts/tasks/pr.view.d.ts +0 -5
  253. package/dist/core/contracts/tasks/pr.view.js +0 -8
  254. package/dist/core/contracts/tasks/pr.view.js.map +0 -1
  255. package/dist/core/contracts/tasks/project_v2.fields.list.d.ts +0 -5
  256. package/dist/core/contracts/tasks/project_v2.fields.list.js +0 -8
  257. package/dist/core/contracts/tasks/project_v2.fields.list.js.map +0 -1
  258. package/dist/core/contracts/tasks/project_v2.item.add_issue.d.ts +0 -5
  259. package/dist/core/contracts/tasks/project_v2.item.add_issue.js +0 -8
  260. package/dist/core/contracts/tasks/project_v2.item.add_issue.js.map +0 -1
  261. package/dist/core/contracts/tasks/project_v2.item.field.update.d.ts +0 -5
  262. package/dist/core/contracts/tasks/project_v2.item.field.update.js +0 -8
  263. package/dist/core/contracts/tasks/project_v2.item.field.update.js.map +0 -1
  264. package/dist/core/contracts/tasks/project_v2.items.list.d.ts +0 -5
  265. package/dist/core/contracts/tasks/project_v2.items.list.js +0 -8
  266. package/dist/core/contracts/tasks/project_v2.items.list.js.map +0 -1
  267. package/dist/core/contracts/tasks/project_v2.org.get.d.ts +0 -5
  268. package/dist/core/contracts/tasks/project_v2.org.get.js +0 -8
  269. package/dist/core/contracts/tasks/project_v2.org.get.js.map +0 -1
  270. package/dist/core/contracts/tasks/project_v2.user.get.d.ts +0 -5
  271. package/dist/core/contracts/tasks/project_v2.user.get.js +0 -8
  272. package/dist/core/contracts/tasks/project_v2.user.get.js.map +0 -1
  273. package/dist/core/contracts/tasks/release.create_draft.d.ts +0 -5
  274. package/dist/core/contracts/tasks/release.create_draft.js +0 -8
  275. package/dist/core/contracts/tasks/release.create_draft.js.map +0 -1
  276. package/dist/core/contracts/tasks/release.get.d.ts +0 -5
  277. package/dist/core/contracts/tasks/release.get.js +0 -8
  278. package/dist/core/contracts/tasks/release.get.js.map +0 -1
  279. package/dist/core/contracts/tasks/release.list.d.ts +0 -5
  280. package/dist/core/contracts/tasks/release.list.js +0 -8
  281. package/dist/core/contracts/tasks/release.list.js.map +0 -1
  282. package/dist/core/contracts/tasks/release.publish_draft.d.ts +0 -5
  283. package/dist/core/contracts/tasks/release.publish_draft.js +0 -8
  284. package/dist/core/contracts/tasks/release.publish_draft.js.map +0 -1
  285. package/dist/core/contracts/tasks/release.update.d.ts +0 -5
  286. package/dist/core/contracts/tasks/release.update.js +0 -8
  287. package/dist/core/contracts/tasks/release.update.js.map +0 -1
  288. package/dist/core/contracts/tasks/repo.issue_types.list.d.ts +0 -5
  289. package/dist/core/contracts/tasks/repo.issue_types.list.js +0 -8
  290. package/dist/core/contracts/tasks/repo.issue_types.list.js.map +0 -1
  291. package/dist/core/contracts/tasks/repo.labels.list.d.ts +0 -5
  292. package/dist/core/contracts/tasks/repo.labels.list.js +0 -8
  293. package/dist/core/contracts/tasks/repo.labels.list.js.map +0 -1
  294. package/dist/core/contracts/tasks/repo.view.d.ts +0 -5
  295. package/dist/core/contracts/tasks/repo.view.js +0 -8
  296. package/dist/core/contracts/tasks/repo.view.js.map +0 -1
  297. package/dist/core/contracts/tasks/workflow.get.d.ts +0 -5
  298. package/dist/core/contracts/tasks/workflow.get.js +0 -8
  299. package/dist/core/contracts/tasks/workflow.get.js.map +0 -1
  300. package/dist/core/contracts/tasks/workflow.list.d.ts +0 -5
  301. package/dist/core/contracts/tasks/workflow.list.js +0 -8
  302. package/dist/core/contracts/tasks/workflow.list.js.map +0 -1
  303. package/dist/core/contracts/tasks/workflow_dispatch.run.d.ts +0 -5
  304. package/dist/core/contracts/tasks/workflow_dispatch.run.js +0 -8
  305. package/dist/core/contracts/tasks/workflow_dispatch.run.js.map +0 -1
  306. package/dist/core/contracts/tasks/workflow_job.logs.analyze.d.ts +0 -5
  307. package/dist/core/contracts/tasks/workflow_job.logs.analyze.js +0 -8
  308. package/dist/core/contracts/tasks/workflow_job.logs.analyze.js.map +0 -1
  309. package/dist/core/contracts/tasks/workflow_job.logs.get.d.ts +0 -5
  310. package/dist/core/contracts/tasks/workflow_job.logs.get.js +0 -8
  311. package/dist/core/contracts/tasks/workflow_job.logs.get.js.map +0 -1
  312. package/dist/core/contracts/tasks/workflow_run.artifacts.list.d.ts +0 -5
  313. package/dist/core/contracts/tasks/workflow_run.artifacts.list.js +0 -8
  314. package/dist/core/contracts/tasks/workflow_run.artifacts.list.js.map +0 -1
  315. package/dist/core/contracts/tasks/workflow_run.cancel.d.ts +0 -5
  316. package/dist/core/contracts/tasks/workflow_run.cancel.js +0 -8
  317. package/dist/core/contracts/tasks/workflow_run.cancel.js.map +0 -1
  318. package/dist/core/contracts/tasks/workflow_run.get.d.ts +0 -5
  319. package/dist/core/contracts/tasks/workflow_run.get.js +0 -8
  320. package/dist/core/contracts/tasks/workflow_run.get.js.map +0 -1
  321. package/dist/core/contracts/tasks/workflow_run.jobs.list.d.ts +0 -5
  322. package/dist/core/contracts/tasks/workflow_run.jobs.list.js +0 -8
  323. package/dist/core/contracts/tasks/workflow_run.jobs.list.js.map +0 -1
  324. package/dist/core/contracts/tasks/workflow_run.rerun_all.d.ts +0 -5
  325. package/dist/core/contracts/tasks/workflow_run.rerun_all.js +0 -8
  326. package/dist/core/contracts/tasks/workflow_run.rerun_all.js.map +0 -1
  327. package/dist/core/contracts/tasks/workflow_run.rerun_failed.d.ts +0 -5
  328. package/dist/core/contracts/tasks/workflow_run.rerun_failed.js +0 -8
  329. package/dist/core/contracts/tasks/workflow_run.rerun_failed.js.map +0 -1
  330. package/dist/core/contracts/tasks/workflow_runs.list.d.ts +0 -5
  331. package/dist/core/contracts/tasks/workflow_runs.list.js +0 -8
  332. package/dist/core/contracts/tasks/workflow_runs.list.js.map +0 -1
  333. package/dist/core/errors/codes.d.ts +0 -13
  334. package/dist/core/errors/codes.js +0 -7
  335. package/dist/core/errors/codes.js.map +0 -1
  336. package/dist/core/errors/map-error.d.ts +0 -5
  337. package/dist/core/errors/map-error.js +0 -8
  338. package/dist/core/errors/map-error.js.map +0 -1
  339. package/dist/core/errors/retryability.d.ts +0 -3
  340. package/dist/core/errors/retryability.js +0 -8
  341. package/dist/core/errors/retryability.js.map +0 -1
  342. package/dist/core/execute/execute.d.ts +0 -28
  343. package/dist/core/execute/execute.js +0 -11
  344. package/dist/core/execute/execute.js.map +0 -1
  345. package/dist/core/execution/adapters/cli-adapter.d.ts +0 -22
  346. package/dist/core/execution/adapters/cli-adapter.js +0 -69
  347. package/dist/core/execution/adapters/cli-adapter.js.map +0 -1
  348. package/dist/core/execution/adapters/cli-capability-adapter.d.ts +0 -16
  349. package/dist/core/execution/adapters/cli-capability-adapter.js +0 -11
  350. package/dist/core/execution/adapters/cli-capability-adapter.js.map +0 -1
  351. package/dist/core/execution/adapters/graphql-adapter.d.ts +0 -25
  352. package/dist/core/execution/adapters/graphql-adapter.js +0 -44
  353. package/dist/core/execution/adapters/graphql-adapter.js.map +0 -1
  354. package/dist/core/execution/adapters/graphql-capability-adapter.d.ts +0 -20
  355. package/dist/core/execution/adapters/graphql-capability-adapter.js +0 -11
  356. package/dist/core/execution/adapters/graphql-capability-adapter.js.map +0 -1
  357. package/dist/core/execution/adapters/rest-adapter.d.ts +0 -3
  358. package/dist/core/execution/adapters/rest-adapter.js +0 -8
  359. package/dist/core/execution/adapters/rest-adapter.js.map +0 -1
  360. package/dist/core/execution/cli/safe-runner.d.ts +0 -12
  361. package/dist/core/execution/cli/safe-runner.js +0 -7
  362. package/dist/core/execution/cli/safe-runner.js.map +0 -1
  363. package/dist/core/execution/normalizer.d.ts +0 -13
  364. package/dist/core/execution/normalizer.js +0 -9
  365. package/dist/core/execution/normalizer.js.map +0 -1
  366. package/dist/core/execution/preflight.d.ts +0 -24
  367. package/dist/core/execution/preflight.js +0 -8
  368. package/dist/core/execution/preflight.js.map +0 -1
  369. package/dist/core/registry/index.d.ts +0 -15
  370. package/dist/core/registry/index.js +0 -12
  371. package/dist/core/registry/index.js.map +0 -1
  372. package/dist/core/registry/operation-card-schema.d.ts +0 -167
  373. package/dist/core/registry/operation-card-schema.js +0 -7
  374. package/dist/core/registry/operation-card-schema.js.map +0 -1
  375. package/dist/core/registry/schema-validator.d.ts +0 -16
  376. package/dist/core/registry/schema-validator.js +0 -9
  377. package/dist/core/registry/schema-validator.js.map +0 -1
  378. package/dist/core/registry/types.d.ts +0 -51
  379. package/dist/core/registry/types.js +0 -1
  380. package/dist/core/registry/types.js.map +0 -1
  381. package/dist/core/routing/capability-registry.d.ts +0 -8
  382. package/dist/core/routing/capability-registry.js +0 -15
  383. package/dist/core/routing/capability-registry.js.map +0 -1
  384. package/dist/core/routing/engine.d.ts +0 -32
  385. package/dist/core/routing/engine.js +0 -23
  386. package/dist/core/routing/engine.js.map +0 -1
  387. package/dist/core/routing/policy.d.ts +0 -3
  388. package/dist/core/routing/policy.js +0 -7
  389. package/dist/core/routing/policy.js.map +0 -1
  390. package/dist/core/routing/reason-codes.d.ts +0 -4
  391. package/dist/core/routing/reason-codes.js +0 -15
  392. package/dist/core/routing/reason-codes.js.map +0 -1
  393. package/dist/core/telemetry/logger.d.ts +0 -8
  394. package/dist/core/telemetry/logger.js +0 -9
  395. package/dist/core/telemetry/logger.js.map +0 -1
  396. package/dist/core/telemetry/metrics.d.ts +0 -7
  397. package/dist/core/telemetry/metrics.js +0 -1
  398. package/dist/core/telemetry/metrics.js.map +0 -1
  399. package/dist/gql/client.d.ts +0 -314
  400. package/dist/gql/client.js +0 -19
  401. package/dist/gql/client.js.map +0 -1
  402. package/dist/gql/generated/common-types.d.ts +0 -36
  403. package/dist/gql/generated/common-types.js +0 -1
  404. package/dist/gql/generated/common-types.js.map +0 -1
  405. package/dist/gql/operations/issue-assignees-update.generated.d.ts +0 -33
  406. package/dist/gql/operations/issue-assignees-update.generated.js +0 -28
  407. package/dist/gql/operations/issue-assignees-update.generated.js.map +0 -1
  408. package/dist/gql/operations/issue-blocked-by-add.generated.d.ts +0 -30
  409. package/dist/gql/operations/issue-blocked-by-add.generated.js +0 -26
  410. package/dist/gql/operations/issue-blocked-by-add.generated.js.map +0 -1
  411. package/dist/gql/operations/issue-blocked-by-remove.generated.d.ts +0 -30
  412. package/dist/gql/operations/issue-blocked-by-remove.generated.js +0 -26
  413. package/dist/gql/operations/issue-blocked-by-remove.generated.js.map +0 -1
  414. package/dist/gql/operations/issue-close.generated.d.ts +0 -27
  415. package/dist/gql/operations/issue-close.generated.js +0 -25
  416. package/dist/gql/operations/issue-close.generated.js.map +0 -1
  417. package/dist/gql/operations/issue-comment-create.generated.d.ts +0 -31
  418. package/dist/gql/operations/issue-comment-create.generated.js +0 -27
  419. package/dist/gql/operations/issue-comment-create.generated.js.map +0 -1
  420. package/dist/gql/operations/issue-comments-list.generated.d.ts +0 -59
  421. package/dist/gql/operations/issue-comments-list.generated.js +0 -9
  422. package/dist/gql/operations/issue-comments-list.generated.js.map +0 -1
  423. package/dist/gql/operations/issue-create.generated.d.ts +0 -31
  424. package/dist/gql/operations/issue-create.generated.js +0 -27
  425. package/dist/gql/operations/issue-create.generated.js.map +0 -1
  426. package/dist/gql/operations/issue-delete.generated.d.ts +0 -22
  427. package/dist/gql/operations/issue-delete.generated.js +0 -21
  428. package/dist/gql/operations/issue-delete.generated.js.map +0 -1
  429. package/dist/gql/operations/issue-labels-update.generated.d.ts +0 -33
  430. package/dist/gql/operations/issue-labels-update.generated.js +0 -28
  431. package/dist/gql/operations/issue-labels-update.generated.js.map +0 -1
  432. package/dist/gql/operations/issue-linked-prs-list.generated.d.ts +0 -132
  433. package/dist/gql/operations/issue-linked-prs-list.generated.js +0 -39
  434. package/dist/gql/operations/issue-linked-prs-list.generated.js.map +0 -1
  435. package/dist/gql/operations/issue-list.generated.d.ts +0 -40
  436. package/dist/gql/operations/issue-list.generated.js +0 -9
  437. package/dist/gql/operations/issue-list.generated.js.map +0 -1
  438. package/dist/gql/operations/issue-milestone-set.generated.d.ts +0 -30
  439. package/dist/gql/operations/issue-milestone-set.generated.js +0 -26
  440. package/dist/gql/operations/issue-milestone-set.generated.js.map +0 -1
  441. package/dist/gql/operations/issue-parent-remove.generated.d.ts +0 -30
  442. package/dist/gql/operations/issue-parent-remove.generated.js +0 -26
  443. package/dist/gql/operations/issue-parent-remove.generated.js.map +0 -1
  444. package/dist/gql/operations/issue-parent-set.generated.d.ts +0 -30
  445. package/dist/gql/operations/issue-parent-set.generated.js +0 -26
  446. package/dist/gql/operations/issue-parent-set.generated.js.map +0 -1
  447. package/dist/gql/operations/issue-relations-get.generated.d.ts +0 -49
  448. package/dist/gql/operations/issue-relations-get.generated.js +0 -40
  449. package/dist/gql/operations/issue-relations-get.generated.js.map +0 -1
  450. package/dist/gql/operations/issue-reopen.generated.d.ts +0 -27
  451. package/dist/gql/operations/issue-reopen.generated.js +0 -25
  452. package/dist/gql/operations/issue-reopen.generated.js.map +0 -1
  453. package/dist/gql/operations/issue-update.generated.d.ts +0 -31
  454. package/dist/gql/operations/issue-update.generated.js +0 -27
  455. package/dist/gql/operations/issue-update.generated.js.map +0 -1
  456. package/dist/gql/operations/issue-view.generated.d.ts +0 -31
  457. package/dist/gql/operations/issue-view.generated.js +0 -9
  458. package/dist/gql/operations/issue-view.generated.js.map +0 -1
  459. package/dist/gql/operations/pr-comment-reply.generated.d.ts +0 -26
  460. package/dist/gql/operations/pr-comment-reply.generated.js +0 -25
  461. package/dist/gql/operations/pr-comment-reply.generated.js.map +0 -1
  462. package/dist/gql/operations/pr-comment-resolve.generated.d.ts +0 -26
  463. package/dist/gql/operations/pr-comment-resolve.generated.js +0 -24
  464. package/dist/gql/operations/pr-comment-resolve.generated.js.map +0 -1
  465. package/dist/gql/operations/pr-comment-unresolve.generated.d.ts +0 -26
  466. package/dist/gql/operations/pr-comment-unresolve.generated.js +0 -24
  467. package/dist/gql/operations/pr-comment-unresolve.generated.js.map +0 -1
  468. package/dist/gql/operations/pr-comments-list.generated.d.ts +0 -84
  469. package/dist/gql/operations/pr-comments-list.generated.js +0 -58
  470. package/dist/gql/operations/pr-comments-list.generated.js.map +0 -1
  471. package/dist/gql/operations/pr-diff-list-files.generated.d.ts +0 -42
  472. package/dist/gql/operations/pr-diff-list-files.generated.js +0 -9
  473. package/dist/gql/operations/pr-diff-list-files.generated.js.map +0 -1
  474. package/dist/gql/operations/pr-list.generated.d.ts +0 -40
  475. package/dist/gql/operations/pr-list.generated.js +0 -9
  476. package/dist/gql/operations/pr-list.generated.js.map +0 -1
  477. package/dist/gql/operations/pr-reviews-list.generated.d.ts +0 -64
  478. package/dist/gql/operations/pr-reviews-list.generated.js +0 -9
  479. package/dist/gql/operations/pr-reviews-list.generated.js.map +0 -1
  480. package/dist/gql/operations/pr-view.generated.d.ts +0 -31
  481. package/dist/gql/operations/pr-view.generated.js +0 -9
  482. package/dist/gql/operations/pr-view.generated.js.map +0 -1
  483. package/dist/gql/operations/repo-view.generated.d.ts +0 -33
  484. package/dist/gql/operations/repo-view.generated.js +0 -9
  485. package/dist/gql/operations/repo-view.generated.js.map +0 -1
  486. package/dist/shared/constants.d.ts +0 -3
  487. package/dist/shared/constants.js +0 -6
  488. package/dist/shared/constants.js.map +0 -1
  489. package/dist/shared/types.d.ts +0 -3
  490. package/dist/shared/types.js +0 -1
  491. package/dist/shared/types.js.map +0 -1
  492. package/dist/shared/utils.d.ts +0 -3
  493. package/dist/shared/utils.js +0 -8
  494. package/dist/shared/utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { realpathSync } from \"node:fs\"\nimport { pathToFileURL } from \"node:url\"\n\nimport { capabilitiesExplainCommand } from \"./commands/capabilities-explain.js\"\nimport { capabilitiesListCommand } from \"./commands/capabilities-list.js\"\nimport { runCommand } from \"./commands/run.js\"\nimport { setupCommand } from \"./commands/setup.js\"\n\nfunction usage(): string {\n return [\n \"Usage:\",\n \" ghx run <task> --input '<json>'\",\n \" ghx setup --scope <user|project> [--yes] [--dry-run] [--verify] [--track]\",\n \" ghx capabilities list\",\n \" ghx capabilities explain <capability_id>\"\n ].join(\"\\n\")\n}\n\nexport async function main(argv: string[] = process.argv.slice(2)): Promise<number> {\n const [command, ...rest] = argv\n\n if (!command || command === \"--help\" || command === \"-h\") {\n process.stdout.write(`${usage()}\\n`)\n return 0\n }\n\n if (command === \"run\") {\n return runCommand(rest)\n }\n\n if (command === \"setup\") {\n return setupCommand(rest)\n }\n\n if (command === \"capabilities\") {\n const [subcommand, ...subcommandArgs] = rest\n\n if (!subcommand) {\n process.stderr.write(`Missing capabilities subcommand.\\n${usage()}\\n`)\n return 1\n }\n\n if (subcommand === \"list\") {\n return capabilitiesListCommand(subcommandArgs)\n }\n\n if (subcommand === \"explain\") {\n return capabilitiesExplainCommand(subcommandArgs)\n }\n\n process.stderr.write(`Unknown capabilities subcommand: ${subcommand}\\n${usage()}\\n`)\n return 1\n }\n\n process.stderr.write(`Unknown command: ${command}\\n${usage()}\\n`)\n return 1\n}\n\nconst isDirectRun = (() => {\n if (!process.argv[1]) {\n return false\n }\n\n try {\n const currentEntry = realpathSync(new URL(import.meta.url))\n const invokedEntry = realpathSync(process.argv[1])\n return currentEntry === invokedEntry || import.meta.url === pathToFileURL(process.argv[1]).href\n } catch {\n return import.meta.url === pathToFileURL(process.argv[1]).href\n }\n})()\n\nif (isDirectRun) {\n main().then(\n (exitCode) => {\n process.exitCode = exitCode\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error)\n process.stderr.write(`${message}\\n`)\n process.exit(1)\n }\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAO9B,SAAS,QAAgB;AACvB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,IAAI;AACb;AAEA,eAAsB,KAAK,OAAiB,QAAQ,KAAK,MAAM,CAAC,GAAoB;AAClF,QAAM,CAAC,SAAS,GAAG,IAAI,IAAI;AAE3B,MAAI,CAAC,WAAW,YAAY,YAAY,YAAY,MAAM;AACxD,YAAQ,OAAO,MAAM,GAAG,MAAM,CAAC;AAAA,CAAI;AACnC,WAAO;AAAA,EACT;AAEA,MAAI,YAAY,OAAO;AACrB,WAAO,WAAW,IAAI;AAAA,EACxB;AAEA,MAAI,YAAY,SAAS;AACvB,WAAO,aAAa,IAAI;AAAA,EAC1B;AAEA,MAAI,YAAY,gBAAgB;AAC9B,UAAM,CAAC,YAAY,GAAG,cAAc,IAAI;AAExC,QAAI,CAAC,YAAY;AACf,cAAQ,OAAO,MAAM;AAAA,EAAqC,MAAM,CAAC;AAAA,CAAI;AACrE,aAAO;AAAA,IACT;AAEA,QAAI,eAAe,QAAQ;AACzB,aAAO,wBAAwB,cAAc;AAAA,IAC/C;AAEA,QAAI,eAAe,WAAW;AAC5B,aAAO,2BAA2B,cAAc;AAAA,IAClD;AAEA,YAAQ,OAAO,MAAM,oCAAoC,UAAU;AAAA,EAAK,MAAM,CAAC;AAAA,CAAI;AACnF,WAAO;AAAA,EACT;AAEA,UAAQ,OAAO,MAAM,oBAAoB,OAAO;AAAA,EAAK,MAAM,CAAC;AAAA,CAAI;AAChE,SAAO;AACT;AAEA,IAAM,eAAe,MAAM;AACzB,MAAI,CAAC,QAAQ,KAAK,CAAC,GAAG;AACpB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,eAAe,aAAa,IAAI,IAAI,YAAY,GAAG,CAAC;AAC1D,UAAM,eAAe,aAAa,QAAQ,KAAK,CAAC,CAAC;AACjD,WAAO,iBAAiB,gBAAgB,YAAY,QAAQ,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,EAC7F,QAAQ;AACN,WAAO,YAAY,QAAQ,cAAc,QAAQ,KAAK,CAAC,CAAC,EAAE;AAAA,EAC5D;AACF,GAAG;AAEH,IAAI,aAAa;AACf,OAAK,EAAE;AAAA,IACL,CAAC,aAAa;AACZ,cAAQ,WAAW;AAAA,IACrB;AAAA,IACA,CAAC,UAAmB;AAClB,YAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,cAAQ,OAAO,MAAM,GAAG,OAAO;AAAA,CAAI;AACnC,cAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/cli/index.ts","../../src/cli/commands/capabilities-explain.ts","../../src/cli/commands/capabilities-list.ts","../../src/cli/commands/run.ts","../../src/cli/commands/setup.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { realpathSync } from \"node:fs\"\nimport { pathToFileURL } from \"node:url\"\n\nimport { capabilitiesExplainCommand } from \"./commands/capabilities-explain.js\"\nimport { capabilitiesListCommand } from \"./commands/capabilities-list.js\"\nimport { runCommand } from \"./commands/run.js\"\nimport { setupCommand } from \"./commands/setup.js\"\n\nfunction usage(): string {\n return [\n \"Usage:\",\n \" ghx run <task> --input '<json>' [--check-gh-preflight]\",\n \" ghx setup --scope <user|project> [--yes] [--dry-run] [--verify] [--track]\",\n \" ghx capabilities list\",\n \" ghx capabilities explain <capability_id>\",\n ].join(\"\\n\")\n}\n\nexport async function main(argv: string[] = process.argv.slice(2)): Promise<number> {\n const [command, ...rest] = argv\n\n if (!command || command === \"--help\" || command === \"-h\") {\n process.stdout.write(`${usage()}\\n`)\n return 0\n }\n\n if (command === \"run\") {\n return runCommand(rest)\n }\n\n if (command === \"setup\") {\n return setupCommand(rest)\n }\n\n if (command === \"capabilities\") {\n const [subcommand, ...subcommandArgs] = rest\n\n if (!subcommand) {\n process.stderr.write(`Missing capabilities subcommand.\\n${usage()}\\n`)\n return 1\n }\n\n if (subcommand === \"list\") {\n return capabilitiesListCommand(subcommandArgs)\n }\n\n if (subcommand === \"explain\") {\n return capabilitiesExplainCommand(subcommandArgs)\n }\n\n process.stderr.write(`Unknown capabilities subcommand: ${subcommand}\\n${usage()}\\n`)\n return 1\n }\n\n process.stderr.write(`Unknown command: ${command}\\n${usage()}\\n`)\n return 1\n}\n\nconst isDirectRun = (() => {\n if (!process.argv[1]) {\n return false\n }\n\n try {\n const currentEntry = realpathSync(new URL(import.meta.url))\n const invokedEntry = realpathSync(process.argv[1])\n return currentEntry === invokedEntry || import.meta.url === pathToFileURL(process.argv[1]).href\n } catch {\n return import.meta.url === pathToFileURL(process.argv[1]).href\n }\n})()\n\nif (isDirectRun) {\n main().then(\n (exitCode) => {\n process.exitCode = exitCode\n },\n (error: unknown) => {\n const message = error instanceof Error ? error.message : String(error)\n process.stderr.write(`${message}\\n`)\n process.exit(1)\n },\n )\n}\n","import { explainCapability } from \"../../agent-interface/tools/explain-tool.js\"\n\nfunction usage(): string {\n return \"Usage: ghx capabilities explain <capability_id> [--json]\"\n}\n\nfunction parseArgs(argv: string[]): { capabilityId: string | undefined; asJson: boolean } {\n const asJson = argv.includes(\"--json\")\n const capabilityId = argv.find((arg) => !arg.startsWith(\"-\"))\n return { capabilityId, asJson }\n}\n\nexport async function capabilitiesExplainCommand(argv: string[] = []): Promise<number> {\n const { capabilityId, asJson } = parseArgs(argv)\n\n if (!capabilityId) {\n process.stderr.write(`${usage()}\\n`)\n return 1\n }\n\n try {\n const explained = explainCapability(capabilityId)\n\n if (asJson) {\n process.stdout.write(`${JSON.stringify(explained)}\\n`)\n return 0\n }\n\n process.stdout.write(`${JSON.stringify(explained, null, 2)}\\n`)\n return 0\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n process.stderr.write(`${message}\\n`)\n return 1\n }\n}\n","import { listCapabilities } from \"../../agent-interface/tools/list-capabilities-tool.js\"\n\nfunction parseArgs(argv: string[]): { asJson: boolean } {\n return {\n asJson: argv.includes(\"--json\"),\n }\n}\n\nexport async function capabilitiesListCommand(argv: string[] = []): Promise<number> {\n const { asJson } = parseArgs(argv)\n const capabilities = listCapabilities()\n\n if (asJson) {\n process.stdout.write(`${JSON.stringify(capabilities)}\\n`)\n return 0\n }\n\n const lines = capabilities.map((item) => `${item.capability_id} - ${item.description}`)\n process.stdout.write(`${lines.join(\"\\n\")}\\n`)\n return 0\n}\n","import type { TaskRequest } from \"../../core/contracts/task.js\"\nimport { executeTask } from \"../../core/routing/engine.js\"\nimport { createGithubClient } from \"../../gql/client.js\"\n\nconst GITHUB_GRAPHQL_ENDPOINT = \"https://api.github.com/graphql\"\n\nfunction parseRunArgs(argv: string[]): {\n task: string\n input: Record<string, unknown>\n skipGhPreflight: boolean\n} {\n const [task, ...rest] = argv\n if (!task || task.trim().length === 0) {\n throw new Error(\"Usage: ghx run <task> --input '<json>' [--check-gh-preflight]\")\n }\n\n const inputIndex = rest.findIndex((arg) => arg === \"--input\")\n const inlineInput = rest.find((arg) => arg.startsWith(\"--input=\"))\n const inputCandidate = inputIndex >= 0 ? rest[inputIndex + 1] : undefined\n const inputRaw =\n inputCandidate && !inputCandidate.startsWith(\"--\")\n ? inputCandidate\n : inlineInput\n ? inlineInput.slice(\"--input=\".length)\n : undefined\n\n if (!inputRaw) {\n throw new Error(\"Missing --input JSON\")\n }\n\n let parsed: unknown\n try {\n parsed = JSON.parse(inputRaw)\n } catch {\n throw new Error(\"Invalid JSON for --input\")\n }\n\n if (typeof parsed !== \"object\" || parsed === null || Array.isArray(parsed)) {\n throw new Error(\"--input must be a JSON object\")\n }\n\n const skipGhPreflight = !rest.includes(\"--check-gh-preflight\")\n\n return { task, input: parsed as Record<string, unknown>, skipGhPreflight }\n}\n\nfunction resolveGithubToken(): string {\n const token = process.env.GITHUB_TOKEN ?? process.env.GH_TOKEN\n if (!token || token.trim().length === 0) {\n throw new Error(\"Missing GITHUB_TOKEN or GH_TOKEN for GraphQL transport\")\n }\n\n return token\n}\n\nasync function executeGraphqlRequest<TData>(\n token: string,\n query: string,\n variables?: Record<string, unknown>,\n): Promise<TData> {\n const response = await fetch(GITHUB_GRAPHQL_ENDPOINT, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/json\",\n accept: \"application/json\",\n authorization: `Bearer ${token}`,\n \"user-agent\": \"ghx\",\n },\n body: JSON.stringify({ query, variables: variables ?? {} }),\n })\n\n const payload = (await response.json()) as {\n data?: TData\n errors?: Array<{ message?: string }>\n message?: string\n }\n\n if (!response.ok) {\n const message =\n payload.message ?? `GitHub GraphQL request failed with status ${response.status}`\n throw new Error(message)\n }\n\n if (Array.isArray(payload.errors) && payload.errors.length > 0) {\n const message = payload.errors[0]?.message ?? \"GitHub GraphQL returned errors\"\n throw new Error(message)\n }\n\n if (payload.data === undefined) {\n throw new Error(\"GitHub GraphQL response missing data\")\n }\n\n return payload.data\n}\n\nexport async function runCommand(argv: string[] = []): Promise<number> {\n if (argv.length === 0) {\n process.stdout.write(\"Usage: ghx run <task> --input '<json>' [--check-gh-preflight]\\n\")\n return 1\n }\n\n const { task, input, skipGhPreflight } = parseRunArgs(argv)\n const githubToken = resolveGithubToken()\n\n const githubClient = createGithubClient({\n async execute<TData>(query: string, variables?: Record<string, unknown>): Promise<TData> {\n return executeGraphqlRequest<TData>(githubToken, query, variables)\n },\n })\n\n const request: TaskRequest = {\n task,\n input,\n }\n\n const result = await executeTask(request, {\n githubClient,\n githubToken,\n skipGhPreflight,\n })\n\n process.stdout.write(`${JSON.stringify(result)}\\n`)\n return 0\n}\n","import { access, appendFile, mkdir, readFile, writeFile } from \"node:fs/promises\"\nimport { homedir } from \"node:os\"\nimport { dirname, join } from \"node:path\"\nimport readline from \"node:readline/promises\"\nimport { fileURLToPath } from \"node:url\"\n\nimport { Ajv } from \"ajv\"\nimport type { ErrorCode } from \"../../core/errors/codes.js\"\nimport { errorCodes } from \"../../core/errors/codes.js\"\n\ntype SetupScope = \"user\" | \"project\"\n\ntype SetupOptions = {\n scope: SetupScope\n assumeYes: boolean\n dryRun: boolean\n verifyOnly: boolean\n track: boolean\n}\n\ntype SetupError = Error & { code?: ErrorCode }\n\nconst ajv = new Ajv({ allErrors: true, strict: false })\n\nconst setupOptionsSchema = {\n type: \"object\",\n additionalProperties: false,\n required: [\"scope\", \"assumeYes\", \"dryRun\", \"verifyOnly\", \"track\"],\n properties: {\n scope: {\n type: \"string\",\n enum: [\"user\", \"project\"],\n },\n assumeYes: { type: \"boolean\" },\n dryRun: { type: \"boolean\" },\n verifyOnly: { type: \"boolean\" },\n track: { type: \"boolean\" },\n },\n} as const\n\nconst validateSetupOptions = ajv.compile(setupOptionsSchema)\n\nconst setupCommandDirectory = dirname(fileURLToPath(import.meta.url))\nconst setupSkillAssetPathCandidates = [\n join(setupCommandDirectory, \"..\", \"assets\", \"skills\", \"ghx\", \"SKILL.md\"),\n join(setupCommandDirectory, \"assets\", \"skills\", \"ghx\", \"SKILL.md\"),\n join(setupCommandDirectory, \"cli\", \"assets\", \"skills\", \"ghx\", \"SKILL.md\"),\n]\n\nfunction isENOENT(error: unknown): boolean {\n return (\n typeof error === \"object\" &&\n error !== null &&\n \"code\" in error &&\n (error as { code?: string }).code === \"ENOENT\"\n )\n}\n\nfunction createSetupError(message: string, code: ErrorCode): SetupError {\n const error = new Error(message) as SetupError\n error.code = code\n return error\n}\n\nasync function loadSetupSkillContent(): Promise<string> {\n for (const candidatePath of setupSkillAssetPathCandidates) {\n try {\n return await readFile(candidatePath, \"utf8\")\n } catch (error) {\n if (isENOENT(error)) {\n continue\n }\n\n throw error\n }\n }\n\n throw createSetupError(\n `Setup skill asset not found. Checked: ${setupSkillAssetPathCandidates.join(\", \")}`,\n errorCodes.NotFound,\n )\n}\n\nfunction usage(): string {\n return \"Usage: ghx setup --scope <user|project> [--yes] [--dry-run] [--verify] [--track]\"\n}\n\nfunction parseScope(argv: string[]): SetupScope | undefined {\n const inline = argv.find((arg) => arg.startsWith(\"--scope=\"))\n if (inline) {\n const raw = inline.slice(\"--scope=\".length)\n if (raw === \"user\" || raw === \"project\") {\n return raw\n }\n return undefined\n }\n\n const scopeIndex = argv.findIndex((arg) => arg === \"--scope\")\n if (scopeIndex < 0) {\n return undefined\n }\n\n const value = argv[scopeIndex + 1]\n if (value === \"user\" || value === \"project\") {\n return value\n }\n\n return undefined\n}\n\nfunction parseArgs(argv: string[]): SetupOptions | null {\n const scope = parseScope(argv)\n if (!scope) {\n return null\n }\n\n const options: SetupOptions = {\n scope,\n assumeYes: argv.includes(\"--yes\"),\n dryRun: argv.includes(\"--dry-run\"),\n verifyOnly: argv.includes(\"--verify\"),\n track: argv.includes(\"--track\"),\n }\n\n if (!validateSetupOptions(options)) {\n return null\n }\n\n return options\n}\n\nfunction resolveSkillPath(scope: SetupScope): string {\n const base = scope === \"user\" ? homedir() : process.cwd()\n return join(base, \".agents\", \"skills\", \"ghx\", \"SKILL.md\")\n}\n\nfunction resolveTrackingPath(): string {\n return join(homedir(), \".agents\", \"ghx\", \"setup-events.jsonl\")\n}\n\nasync function writeTrackingEvent(options: {\n track: boolean\n scope: SetupScope\n mode: \"apply\"\n success: boolean\n}): Promise<void> {\n if (!options.track) {\n return\n }\n\n const trackingPath = resolveTrackingPath()\n await mkdir(join(homedir(), \".agents\", \"ghx\"), { recursive: true })\n await appendFile(\n trackingPath,\n `${JSON.stringify({\n command: \"setup\",\n scope: options.scope,\n mode: options.mode,\n success: options.success,\n timestamp: new Date().toISOString(),\n })}\\n`,\n \"utf8\",\n )\n}\n\nasync function confirmOverwrite(skillPath: string): Promise<boolean> {\n if (!process.stdin.isTTY || !process.stdout.isTTY) {\n return false\n }\n\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n })\n\n try {\n const answer = await rl.question(`Skill already exists at ${skillPath}. Overwrite? [y/N] `)\n const normalized = answer.trim().toLowerCase()\n return normalized === \"y\" || normalized === \"yes\"\n } finally {\n rl.close()\n }\n}\n\nasync function verifySkill(skillPath: string): Promise<boolean> {\n try {\n const content = await readFile(skillPath, \"utf8\")\n return content.includes(\"ghx capabilities\")\n } catch (error) {\n if (isENOENT(error)) {\n return false\n }\n\n throw error\n }\n}\n\nasync function skillFileExists(skillPath: string): Promise<boolean> {\n try {\n await access(skillPath)\n return true\n } catch (error) {\n if (isENOENT(error)) {\n return false\n }\n\n throw error\n }\n}\n\nexport async function setupCommand(argv: string[] = []): Promise<number> {\n const parsed = parseArgs(argv)\n if (!parsed) {\n process.stderr.write(`${usage()}\\n`)\n return 1\n }\n\n const skillPath = resolveSkillPath(parsed.scope)\n\n try {\n if (parsed.verifyOnly) {\n const ok = await verifySkill(skillPath)\n if (!ok) {\n process.stderr.write(`Verify failed: skill not installed at ${skillPath}\\n`)\n return 1\n }\n\n process.stdout.write(`Verify passed: skill installed at ${skillPath}\\n`)\n return 0\n }\n\n if (parsed.dryRun) {\n process.stdout.write(`Dry run: would write ${skillPath}\\n`)\n return 0\n }\n\n const alreadyExists = await skillFileExists(skillPath)\n if (alreadyExists && !parsed.assumeYes) {\n const approved = await confirmOverwrite(skillPath)\n if (!approved) {\n process.stderr.write(\n `Skill already exists at ${skillPath}. Re-run with --yes or confirm overwrite interactively.\\n`,\n )\n await writeTrackingEvent({\n track: parsed.track,\n scope: parsed.scope,\n mode: \"apply\",\n success: false,\n })\n return 1\n }\n }\n\n const skillContent = await loadSetupSkillContent()\n await mkdir(dirname(skillPath), { recursive: true })\n await writeFile(skillPath, skillContent, \"utf8\")\n\n process.stdout.write(`Setup complete: wrote ${skillPath}\\n`)\n process.stdout.write(\"Try: ghx capabilities list\\n\")\n await writeTrackingEvent({\n track: parsed.track,\n scope: parsed.scope,\n mode: \"apply\",\n success: true,\n })\n return 0\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error)\n process.stderr.write(`Setup failed: ${message}\\n`)\n return 1\n }\n}\n"],"mappings":"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","names":["parseArgs","usage","parseArgs","usage"]}
@@ -31,7 +31,7 @@ output_schema:
31
31
  additionalProperties: false
32
32
  additionalProperties: false
33
33
  routing:
34
- preferred: graphql
35
- fallbacks: [cli]
34
+ preferred: cli
35
+ fallbacks: []
36
36
  cli:
37
37
  command: project field-list
@@ -17,7 +17,7 @@ output_schema:
17
17
  added: { type: boolean }
18
18
  additionalProperties: false
19
19
  routing:
20
- preferred: graphql
21
- fallbacks: [cli]
20
+ preferred: cli
21
+ fallbacks: []
22
22
  cli:
23
23
  command: project item-add
@@ -23,7 +23,7 @@ output_schema:
23
23
  updated: { type: boolean }
24
24
  additionalProperties: false
25
25
  routing:
26
- preferred: graphql
27
- fallbacks: [cli]
26
+ preferred: cli
27
+ fallbacks: []
28
28
  cli:
29
29
  command: project item-edit
@@ -33,7 +33,7 @@ output_schema:
33
33
  additionalProperties: false
34
34
  additionalProperties: false
35
35
  routing:
36
- preferred: graphql
37
- fallbacks: [cli]
36
+ preferred: cli
37
+ fallbacks: []
38
38
  cli:
39
39
  command: project item-list
@@ -20,7 +20,7 @@ output_schema:
20
20
  url: { type: [string, "null"] }
21
21
  additionalProperties: false
22
22
  routing:
23
- preferred: graphql
24
- fallbacks: [cli]
23
+ preferred: cli
24
+ fallbacks: []
25
25
  cli:
26
26
  command: project view
@@ -20,7 +20,7 @@ output_schema:
20
20
  url: { type: [string, "null"] }
21
21
  additionalProperties: false
22
22
  routing:
23
- preferred: graphql
24
- fallbacks: [cli]
23
+ preferred: cli
24
+ fallbacks: []
25
25
  cli:
26
26
  command: project view
@@ -34,7 +34,7 @@ output_schema:
34
34
  additionalProperties: false
35
35
  additionalProperties: false
36
36
  routing:
37
- preferred: graphql
38
- fallbacks: [cli]
37
+ preferred: cli
38
+ fallbacks: []
39
39
  cli:
40
40
  command: api graphql
@@ -1,5 +1,17 @@
1
- import { RouteReasonCode } from '../routing/reason-codes.js';
2
- import { ErrorCode } from '../errors/codes.js';
1
+ declare const errorCodes: {
2
+ readonly Auth: "AUTH";
3
+ readonly NotFound: "NOT_FOUND";
4
+ readonly Validation: "VALIDATION";
5
+ readonly RateLimit: "RATE_LIMIT";
6
+ readonly Network: "NETWORK";
7
+ readonly Server: "SERVER";
8
+ readonly AdapterUnsupported: "ADAPTER_UNSUPPORTED";
9
+ readonly Unknown: "UNKNOWN";
10
+ };
11
+ type ErrorCode = (typeof errorCodes)[keyof typeof errorCodes];
12
+
13
+ declare const routeReasonCodes: readonly ["INPUT_VALIDATION", "OUTPUT_VALIDATION", "CARD_PREFERRED", "CARD_FALLBACK", "PREFLIGHT_FAILED", "ENV_CONSTRAINT", "CAPABILITY_LIMIT", "DEFAULT_POLICY"];
14
+ type RouteReasonCode = (typeof routeReasonCodes)[number];
3
15
 
4
16
  type RouteSource = "cli" | "rest" | "graphql";
5
17
  interface ResultError {
@@ -40,4 +52,4 @@ interface ResultEnvelope<TData = unknown> {
40
52
  meta: ResultMeta;
41
53
  }
42
54
 
43
- export type { AttemptMeta, ResultEnvelope, ResultError, ResultMeta, RouteSource };
55
+ export type { AttemptMeta as A, ResultEnvelope as R, RouteSource as a, RouteReasonCode as b, ResultError as c, ResultMeta as d };
package/dist/index.d.ts CHANGED
@@ -1,22 +1,470 @@
1
- export { executeTask } from './core/routing/engine.js';
2
- export { TaskRequest } from './core/contracts/task.js';
3
- export { AttemptMeta, ResultEnvelope, ResultError, ResultMeta, RouteSource } from './core/contracts/envelope.js';
4
- export { RouteReasonCode } from './core/routing/reason-codes.js';
5
- export { GithubClient, GraphqlClient, GraphqlTransport, TokenClientOptions, createGithubClient, createGithubClientFromToken, createGraphqlClient } from './gql/client.js';
6
- export { getOperationCard, listOperationCards } from './core/registry/index.js';
7
- export { createSafeCliCommandRunner } from './core/execution/cli/safe-runner.js';
8
- export { CliCommandRunner } from './core/execution/adapters/cli-capability-adapter.js';
9
- import './core/routing/policy.js';
10
- import './core/errors/codes.js';
11
- import 'graphql';
12
- import './gql/operations/issue-comments-list.generated.js';
13
- import './gql/generated/common-types.js';
14
- import 'graphql-request';
15
- import './gql/operations/issue-list.generated.js';
16
- import './gql/operations/issue-view.generated.js';
17
- import './gql/operations/pr-diff-list-files.generated.js';
18
- import './gql/operations/pr-reviews-list.generated.js';
19
- import './gql/operations/pr-list.generated.js';
20
- import './gql/operations/pr-view.generated.js';
21
- import './gql/operations/repo-view.generated.js';
22
- import './core/registry/types.js';
1
+ import { a as RouteSource, b as RouteReasonCode, R as ResultEnvelope } from './envelope-BpF6MNCv.js';
2
+ export { A as AttemptMeta, c as ResultError, d as ResultMeta } from './envelope-BpF6MNCv.js';
3
+ import { DocumentNode } from 'graphql';
4
+
5
+ type TaskId = string;
6
+ interface TaskRequest<TInput = Record<string, unknown>> {
7
+ task: TaskId;
8
+ input: TInput;
9
+ }
10
+
11
+ type JsonSchema = Record<string, unknown>;
12
+ interface SuitabilityRule {
13
+ when: "always" | "env" | "params";
14
+ predicate: string;
15
+ reason: string;
16
+ }
17
+ interface OperationCard<Input = Record<string, unknown>> {
18
+ capability_id: string;
19
+ version: string;
20
+ description: string;
21
+ input_schema: JsonSchema;
22
+ output_schema: JsonSchema;
23
+ routing: {
24
+ preferred: RouteSource;
25
+ fallbacks: RouteSource[];
26
+ suitability?: SuitabilityRule[];
27
+ notes?: string[];
28
+ };
29
+ graphql?: {
30
+ operationName: string;
31
+ documentPath: string;
32
+ variables?: Record<string, string>;
33
+ limits?: {
34
+ maxPageSize?: number;
35
+ };
36
+ };
37
+ cli?: {
38
+ command: string;
39
+ jsonFields?: string[];
40
+ jq?: string;
41
+ limits?: {
42
+ maxItemsPerCall?: number;
43
+ };
44
+ };
45
+ rest?: {
46
+ endpoints: Array<{
47
+ method: string;
48
+ path: string;
49
+ }>;
50
+ };
51
+ examples?: Array<{
52
+ title: string;
53
+ input: Input;
54
+ }>;
55
+ }
56
+
57
+ type CliCommandRunner = {
58
+ run(command: string, args: string[], timeoutMs: number): Promise<{
59
+ stdout: string;
60
+ stderr: string;
61
+ exitCode: number;
62
+ }>;
63
+ };
64
+
65
+ type SafeRunnerOptions = {
66
+ maxOutputBytes?: number;
67
+ };
68
+ declare function createSafeCliCommandRunner(options?: SafeRunnerOptions): CliCommandRunner;
69
+
70
+ declare function listOperationCards(): OperationCard[];
71
+ declare function getOperationCard(capabilityId: string): OperationCard | undefined;
72
+
73
+ type Maybe<T> = T | null;
74
+ type InputMaybe<T> = Maybe<T>;
75
+ type Exact<T extends {
76
+ [key: string]: unknown;
77
+ }> = {
78
+ [K in keyof T]: T[K];
79
+ };
80
+ type Scalars = {
81
+ String: {
82
+ input: string;
83
+ output: string;
84
+ };
85
+ Int: {
86
+ input: number;
87
+ output: number;
88
+ };
89
+ Boolean: {
90
+ input: boolean;
91
+ output: boolean;
92
+ };
93
+ ID: {
94
+ input: string;
95
+ output: string;
96
+ };
97
+ URI: {
98
+ input: unknown;
99
+ output: unknown;
100
+ };
101
+ };
102
+
103
+ type IssueCommentsListQueryVariables = Exact<{
104
+ owner: Scalars["String"]["input"];
105
+ name: Scalars["String"]["input"];
106
+ issueNumber: Scalars["Int"]["input"];
107
+ first: Scalars["Int"]["input"];
108
+ after?: InputMaybe<Scalars["String"]["input"]>;
109
+ }>;
110
+
111
+ type IssueListQueryVariables = Exact<{
112
+ owner: Scalars["String"]["input"];
113
+ name: Scalars["String"]["input"];
114
+ first: Scalars["Int"]["input"];
115
+ after?: InputMaybe<Scalars["String"]["input"]>;
116
+ }>;
117
+
118
+ type IssueViewQueryVariables = Exact<{
119
+ owner: Scalars["String"]["input"];
120
+ name: Scalars["String"]["input"];
121
+ issueNumber: Scalars["Int"]["input"];
122
+ }>;
123
+
124
+ type PrDiffListFilesQueryVariables = Exact<{
125
+ owner: Scalars["String"]["input"];
126
+ name: Scalars["String"]["input"];
127
+ prNumber: Scalars["Int"]["input"];
128
+ first: Scalars["Int"]["input"];
129
+ after?: InputMaybe<Scalars["String"]["input"]>;
130
+ }>;
131
+
132
+ type PrListQueryVariables = Exact<{
133
+ owner: Scalars["String"]["input"];
134
+ name: Scalars["String"]["input"];
135
+ first: Scalars["Int"]["input"];
136
+ after?: InputMaybe<Scalars["String"]["input"]>;
137
+ }>;
138
+
139
+ type PrReviewsListQueryVariables = Exact<{
140
+ owner: Scalars["String"]["input"];
141
+ name: Scalars["String"]["input"];
142
+ prNumber: Scalars["Int"]["input"];
143
+ first: Scalars["Int"]["input"];
144
+ after?: InputMaybe<Scalars["String"]["input"]>;
145
+ }>;
146
+
147
+ type PrViewQueryVariables = Exact<{
148
+ owner: Scalars["String"]["input"];
149
+ name: Scalars["String"]["input"];
150
+ prNumber: Scalars["Int"]["input"];
151
+ }>;
152
+
153
+ type RepoViewQueryVariables = Exact<{
154
+ owner: Scalars["String"]["input"];
155
+ name: Scalars["String"]["input"];
156
+ }>;
157
+
158
+ type GraphqlVariables = Record<string, unknown>;
159
+ type GraphqlDocument = string | DocumentNode;
160
+ interface GraphqlTransport {
161
+ execute<TData>(query: string, variables?: GraphqlVariables): Promise<TData>;
162
+ }
163
+ interface GraphqlClient {
164
+ query<TData, TVariables extends GraphqlVariables = GraphqlVariables>(query: GraphqlDocument, variables?: TVariables): Promise<TData>;
165
+ }
166
+ type RepoViewInput = RepoViewQueryVariables;
167
+ type IssueCommentsListInput = IssueCommentsListQueryVariables;
168
+ type IssueListInput = IssueListQueryVariables;
169
+ type IssueViewInput = IssueViewQueryVariables;
170
+ type PrListInput = PrListQueryVariables;
171
+ type PrViewInput = PrViewQueryVariables;
172
+ type PrReviewsListInput = PrReviewsListQueryVariables;
173
+ type PrDiffListFilesInput = PrDiffListFilesQueryVariables;
174
+ type PrCommentsListInput = {
175
+ owner: string;
176
+ name: string;
177
+ prNumber: number;
178
+ first: number;
179
+ after?: string | null;
180
+ unresolvedOnly?: boolean;
181
+ includeOutdated?: boolean;
182
+ };
183
+ type IssueCreateInput = {
184
+ owner: string;
185
+ name: string;
186
+ title: string;
187
+ body?: string;
188
+ };
189
+ type IssueUpdateInput = {
190
+ issueId: string;
191
+ title?: string;
192
+ body?: string;
193
+ };
194
+ type IssueMutationInput = {
195
+ issueId: string;
196
+ };
197
+ type IssueLabelsUpdateInput = {
198
+ issueId: string;
199
+ labels: string[];
200
+ };
201
+ type IssueAssigneesUpdateInput = {
202
+ issueId: string;
203
+ assignees: string[];
204
+ };
205
+ type IssueMilestoneSetInput = {
206
+ issueId: string;
207
+ milestoneNumber: number | null;
208
+ };
209
+ type IssueCommentCreateInput = {
210
+ issueId: string;
211
+ body: string;
212
+ };
213
+ type IssueLinkedPrsListInput = {
214
+ owner: string;
215
+ name: string;
216
+ issueNumber: number;
217
+ };
218
+ type IssueRelationsGetInput = IssueLinkedPrsListInput;
219
+ type IssueParentSetInput = {
220
+ issueId: string;
221
+ parentIssueId: string;
222
+ };
223
+ type IssueParentRemoveInput = {
224
+ issueId: string;
225
+ };
226
+ type IssueBlockedByInput = {
227
+ issueId: string;
228
+ blockedByIssueId: string;
229
+ };
230
+ type RepoViewData = {
231
+ id: string;
232
+ name: string;
233
+ nameWithOwner: string;
234
+ isPrivate: boolean;
235
+ stargazerCount: number;
236
+ forkCount: number;
237
+ url: string;
238
+ defaultBranch: string | null;
239
+ };
240
+ type IssueViewData = {
241
+ id: string;
242
+ number: number;
243
+ title: string;
244
+ state: string;
245
+ url: string;
246
+ };
247
+ type IssueListData = {
248
+ items: Array<IssueViewData>;
249
+ pageInfo: {
250
+ endCursor: string | null;
251
+ hasNextPage: boolean;
252
+ };
253
+ };
254
+ type IssueCommentData = {
255
+ id: string;
256
+ body: string;
257
+ authorLogin: string | null;
258
+ createdAt: string;
259
+ url: string;
260
+ };
261
+ type IssueCommentsListData = {
262
+ items: Array<IssueCommentData>;
263
+ pageInfo: {
264
+ endCursor: string | null;
265
+ hasNextPage: boolean;
266
+ };
267
+ };
268
+ type IssueMutationData = {
269
+ id: string;
270
+ number: number;
271
+ title?: string;
272
+ state?: string;
273
+ url?: string;
274
+ closed?: boolean;
275
+ reopened?: boolean;
276
+ deleted?: boolean;
277
+ };
278
+ type IssueLabelsUpdateData = {
279
+ id: string;
280
+ labels: string[];
281
+ };
282
+ type IssueAssigneesUpdateData = {
283
+ id: string;
284
+ assignees: string[];
285
+ };
286
+ type IssueMilestoneSetData = {
287
+ id: string;
288
+ milestoneNumber: number | null;
289
+ };
290
+ type IssueCommentCreateData = {
291
+ id: string;
292
+ body: string;
293
+ url: string;
294
+ };
295
+ type IssueLinkedPrData = {
296
+ id: string;
297
+ number: number;
298
+ title: string;
299
+ state: string;
300
+ url: string;
301
+ };
302
+ type IssueLinkedPrsListData = {
303
+ items: Array<IssueLinkedPrData>;
304
+ };
305
+ type IssueRelationNodeData = {
306
+ id: string;
307
+ number: number;
308
+ };
309
+ type IssueRelationsGetData = {
310
+ issue: IssueRelationNodeData;
311
+ parent: IssueRelationNodeData | null;
312
+ children: Array<IssueRelationNodeData>;
313
+ blockedBy: Array<IssueRelationNodeData>;
314
+ };
315
+ type IssueParentSetData = {
316
+ issueId: string;
317
+ parentIssueId: string;
318
+ };
319
+ type IssueParentRemoveData = {
320
+ issueId: string;
321
+ parentRemoved: boolean;
322
+ };
323
+ type IssueBlockedByData = {
324
+ issueId: string;
325
+ blockedByIssueId: string;
326
+ removed?: boolean;
327
+ };
328
+ type PrViewData = {
329
+ id: string;
330
+ number: number;
331
+ title: string;
332
+ state: string;
333
+ url: string;
334
+ };
335
+ type PrListData = {
336
+ items: Array<PrViewData>;
337
+ pageInfo: {
338
+ endCursor: string | null;
339
+ hasNextPage: boolean;
340
+ };
341
+ };
342
+ type PrReviewThreadCommentData = {
343
+ id: string;
344
+ authorLogin: string | null;
345
+ body: string;
346
+ createdAt: string;
347
+ url: string;
348
+ };
349
+ type PrReviewThreadData = {
350
+ id: string;
351
+ path: string | null;
352
+ line: number | null;
353
+ startLine: number | null;
354
+ diffSide: string | null;
355
+ subjectType: string | null;
356
+ isResolved: boolean;
357
+ isOutdated: boolean;
358
+ viewerCanReply: boolean;
359
+ viewerCanResolve: boolean;
360
+ viewerCanUnresolve: boolean;
361
+ resolvedByLogin: string | null;
362
+ comments: Array<PrReviewThreadCommentData>;
363
+ };
364
+ type PrCommentsListData = {
365
+ items: Array<PrReviewThreadData>;
366
+ pageInfo: {
367
+ endCursor: string | null;
368
+ hasNextPage: boolean;
369
+ };
370
+ filterApplied: {
371
+ unresolvedOnly: boolean;
372
+ includeOutdated: boolean;
373
+ };
374
+ scan: {
375
+ pagesScanned: number;
376
+ sourceItemsScanned: number;
377
+ scanTruncated: boolean;
378
+ };
379
+ };
380
+ type PrReviewData = {
381
+ id: string;
382
+ authorLogin: string | null;
383
+ body: string;
384
+ state: string;
385
+ submittedAt: string | null;
386
+ url: string;
387
+ commitOid: string | null;
388
+ };
389
+ type PrReviewsListData = {
390
+ items: Array<PrReviewData>;
391
+ pageInfo: {
392
+ endCursor: string | null;
393
+ hasNextPage: boolean;
394
+ };
395
+ };
396
+ type PrDiffFileData = {
397
+ path: string;
398
+ additions: number;
399
+ deletions: number;
400
+ };
401
+ type PrDiffListFilesData = {
402
+ items: Array<PrDiffFileData>;
403
+ pageInfo: {
404
+ endCursor: string | null;
405
+ hasNextPage: boolean;
406
+ };
407
+ };
408
+ type ReviewThreadMutationInput = {
409
+ threadId: string;
410
+ };
411
+ type ReplyToReviewThreadInput = ReviewThreadMutationInput & {
412
+ body: string;
413
+ };
414
+ type ReviewThreadMutationData = {
415
+ id: string;
416
+ isResolved: boolean;
417
+ };
418
+ interface GithubClient extends GraphqlClient {
419
+ fetchRepoView(input: RepoViewInput): Promise<RepoViewData>;
420
+ fetchIssueCommentsList(input: IssueCommentsListInput): Promise<IssueCommentsListData>;
421
+ createIssue(input: IssueCreateInput): Promise<IssueMutationData>;
422
+ updateIssue(input: IssueUpdateInput): Promise<IssueMutationData>;
423
+ closeIssue(input: IssueMutationInput): Promise<IssueMutationData>;
424
+ reopenIssue(input: IssueMutationInput): Promise<IssueMutationData>;
425
+ deleteIssue(input: IssueMutationInput): Promise<IssueMutationData>;
426
+ updateIssueLabels(input: IssueLabelsUpdateInput): Promise<IssueLabelsUpdateData>;
427
+ updateIssueAssignees(input: IssueAssigneesUpdateInput): Promise<IssueAssigneesUpdateData>;
428
+ setIssueMilestone(input: IssueMilestoneSetInput): Promise<IssueMilestoneSetData>;
429
+ createIssueComment(input: IssueCommentCreateInput): Promise<IssueCommentCreateData>;
430
+ fetchIssueLinkedPrs(input: IssueLinkedPrsListInput): Promise<IssueLinkedPrsListData>;
431
+ fetchIssueRelations(input: IssueRelationsGetInput): Promise<IssueRelationsGetData>;
432
+ setIssueParent(input: IssueParentSetInput): Promise<IssueParentSetData>;
433
+ removeIssueParent(input: IssueParentRemoveInput): Promise<IssueParentRemoveData>;
434
+ addIssueBlockedBy(input: IssueBlockedByInput): Promise<IssueBlockedByData>;
435
+ removeIssueBlockedBy(input: IssueBlockedByInput): Promise<IssueBlockedByData>;
436
+ fetchIssueList(input: IssueListInput): Promise<IssueListData>;
437
+ fetchIssueView(input: IssueViewInput): Promise<IssueViewData>;
438
+ fetchPrList(input: PrListInput): Promise<PrListData>;
439
+ fetchPrView(input: PrViewInput): Promise<PrViewData>;
440
+ fetchPrCommentsList(input: PrCommentsListInput): Promise<PrCommentsListData>;
441
+ fetchPrReviewsList(input: PrReviewsListInput): Promise<PrReviewsListData>;
442
+ fetchPrDiffListFiles(input: PrDiffListFilesInput): Promise<PrDiffListFilesData>;
443
+ replyToReviewThread(input: ReplyToReviewThreadInput): Promise<ReviewThreadMutationData>;
444
+ resolveReviewThread(input: ReviewThreadMutationInput): Promise<ReviewThreadMutationData>;
445
+ unresolveReviewThread(input: ReviewThreadMutationInput): Promise<ReviewThreadMutationData>;
446
+ }
447
+ declare function createGraphqlClient(transport: GraphqlTransport): GraphqlClient;
448
+ type TokenClientOptions = {
449
+ token: string;
450
+ graphqlUrl?: string;
451
+ };
452
+ /**
453
+ * Create a GithubClient from a token string or options object.
454
+ * Reads GITHUB_GRAPHQL_URL and GH_HOST from env for enterprise support.
455
+ */
456
+ declare function createGithubClientFromToken(tokenOrOptions: string | TokenClientOptions): GithubClient;
457
+ declare function createGithubClient(transport: GraphqlTransport): GithubClient;
458
+
459
+ type ExecutionDeps = {
460
+ githubClient: Pick<GithubClient, "fetchRepoView" | "fetchIssueCommentsList" | "fetchIssueList" | "fetchIssueView" | "fetchPrList" | "fetchPrView" | "fetchPrCommentsList" | "fetchPrReviewsList" | "fetchPrDiffListFiles" | "replyToReviewThread" | "resolveReviewThread" | "unresolveReviewThread">;
461
+ githubToken?: string | null;
462
+ cliRunner?: CliCommandRunner;
463
+ ghCliAvailable?: boolean;
464
+ ghAuthenticated?: boolean;
465
+ skipGhPreflight?: boolean;
466
+ reason?: RouteReasonCode;
467
+ };
468
+ declare function executeTask(request: TaskRequest, deps: ExecutionDeps): Promise<ResultEnvelope>;
469
+
470
+ export { type CliCommandRunner, type GithubClient, type GraphqlClient, type GraphqlTransport, type OperationCard, ResultEnvelope, RouteReasonCode, RouteSource, type TaskRequest, type TokenClientOptions, createGithubClient, createGithubClientFromToken, createGraphqlClient, createSafeCliCommandRunner, executeTask, getOperationCard, listOperationCards };