@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 +0,0 @@
1
- {"version":3,"sources":["../src/core/execute/execute.ts"],"sourcesContent":["import type { ErrorCode } from \"../errors/codes.js\"\nimport { errorCodes } from \"../errors/codes.js\"\nimport type { ResultEnvelope, RouteSource } from \"../contracts/envelope.js\"\nimport type { OperationCard } from \"../registry/types.js\"\nimport { validateInput, validateOutput } from \"../registry/schema-validator.js\"\nimport { normalizeError } from \"../execution/normalizer.js\"\nimport { logMetric } from \"../telemetry/logger.js\"\n\ntype PreflightResult =\n | { ok: true }\n | { ok: false; code: ErrorCode; message: string; retryable: boolean; details?: Record<string, unknown> }\n\ntype ExecuteOptions = {\n card: OperationCard\n params: Record<string, unknown>\n routingContext?: Record<string, unknown>\n trace?: boolean\n retry?: {\n maxAttemptsPerRoute?: number\n }\n preflight: (route: RouteSource) => Promise<PreflightResult>\n routes: Record<RouteSource, (params: Record<string, unknown>) => Promise<ResultEnvelope>>\n}\n\nfunction parsePredicateValue(raw: string): unknown {\n const value = raw.trim()\n if (value === \"true\") {\n return true\n }\n if (value === \"false\") {\n return false\n }\n if (value === \"null\") {\n return null\n }\n\n const numeric = Number(value)\n if (!Number.isNaN(numeric) && value.length > 0) {\n return numeric\n }\n\n return value.replace(/^['\"]|['\"]$/g, \"\")\n}\n\nfunction resolvePathValue(source: Record<string, unknown>, path: string): unknown {\n const segments = path.split(\".\").filter((segment) => segment.length > 0)\n let current: unknown = source\n\n for (const segment of segments) {\n if (typeof current !== \"object\" || current === null || Array.isArray(current)) {\n return undefined\n }\n\n current = (current as Record<string, unknown>)[segment]\n }\n\n return current\n}\n\nfunction evaluateSuitabilityPreferred(\n card: OperationCard,\n params: Record<string, unknown>,\n routingContext: Record<string, unknown>\n): RouteSource {\n const rules = card.routing.suitability ?? []\n\n for (const rule of rules) {\n const alwaysMatch = /^(cli|graphql|rest)$/i.exec(rule.predicate.trim())\n const alwaysRoute = alwaysMatch?.[1]\n if (rule.when === \"always\" && alwaysRoute) {\n return alwaysRoute.toLowerCase() as RouteSource\n }\n\n const conditionalMatch = /^(cli|graphql|rest)\\s+if\\s+([a-zA-Z0-9_.]+)\\s*(==|!=)\\s*(.+)$/i.exec(\n rule.predicate.trim()\n )\n\n if (!conditionalMatch) {\n continue\n }\n\n const [, targetRouteRaw = \"\", rawPath = \"\", operator = \"==\", rawExpected = \"\"] = conditionalMatch\n const targetRoute = targetRouteRaw.toLowerCase() as RouteSource\n const source = rule.when === \"env\" ? routingContext : params\n const path = rawPath.startsWith(\"params.\") || rawPath.startsWith(\"env.\")\n ? rawPath.split(\".\").slice(1).join(\".\")\n : rawPath\n const actual = resolvePathValue(source, path)\n const expected = parsePredicateValue(rawExpected)\n const matches = operator === \"==\" ? actual === expected : actual !== expected\n\n if (matches) {\n return targetRoute\n }\n }\n\n return card.routing.preferred\n}\n\nfunction routePlan(\n card: OperationCard,\n params: Record<string, unknown>,\n routingContext: Record<string, unknown>\n): RouteSource[] {\n const preferred = evaluateSuitabilityPreferred(card, params, routingContext)\n const planned = new Set<RouteSource>([preferred, ...card.routing.fallbacks])\n return [...planned]\n}\n\nexport async function execute(options: ExecuteOptions): Promise<ResultEnvelope> {\n const inputValidation = validateInput(options.card.input_schema, options.params)\n if (!inputValidation.ok) {\n return normalizeError(\n {\n code: errorCodes.Validation,\n message: \"Input schema validation failed\",\n retryable: false,\n details: { ajvErrors: inputValidation.errors }\n },\n options.card.routing.preferred,\n {\n capabilityId: options.card.capability_id,\n reason: \"INPUT_VALIDATION\"\n }\n )\n }\n\n const attempts: NonNullable<ResultEnvelope[\"meta\"][\"attempts\"]> = []\n const maxAttemptsPerRoute = Math.max(1, options.retry?.maxAttemptsPerRoute ?? 1)\n let lastError: ResultEnvelope[\"error\"]\n let firstError: ResultEnvelope[\"error\"]\n\n const routingContext = options.routingContext ?? {}\n\n for (const route of routePlan(options.card, options.params, routingContext)) {\n logMetric(\"route.plan\", 1, {\n capability_id: options.card.capability_id,\n route\n })\n\n const preflight = await options.preflight(route)\n if (!preflight.ok) {\n logMetric(\"route.preflight_skipped\", 1, {\n capability_id: options.card.capability_id,\n route,\n error_code: preflight.code\n })\n attempts.push({ route, status: \"skipped\", error_code: preflight.code })\n lastError = {\n code: preflight.code,\n message: preflight.message,\n retryable: preflight.retryable,\n ...(preflight.details ? { details: preflight.details } : {})\n }\n firstError ??= lastError\n continue\n }\n\n const routeHandler = options.routes[route]\n if (typeof routeHandler !== \"function\") {\n logMetric(\"route.missing_handler\", 1, {\n capability_id: options.card.capability_id,\n route\n })\n\n const handlerError = {\n code: errorCodes.AdapterUnsupported,\n message: `No route handler configured for '${route}'`,\n retryable: false,\n details: { route }\n }\n\n attempts.push({ route, status: \"skipped\", error_code: errorCodes.AdapterUnsupported })\n lastError = handlerError\n firstError ??= handlerError\n continue\n }\n\n for (let attempt = 0; attempt < maxAttemptsPerRoute; attempt += 1) {\n const result = await routeHandler(options.params)\n logMetric(\"route.attempt\", 1, {\n capability_id: options.card.capability_id,\n route,\n ok: result.ok\n })\n const attemptRecord: { route: RouteSource; status: \"success\" | \"error\"; error_code?: ErrorCode } = {\n route,\n status: result.ok ? \"success\" : \"error\"\n }\n if (result.error?.code) {\n attemptRecord.error_code = result.error.code\n }\n attempts.push(attemptRecord)\n\n if (result.ok) {\n const outputValidation = validateOutput(options.card.output_schema, result.data)\n if (!outputValidation.ok) {\n const envelope = normalizeError(\n {\n code: errorCodes.Server,\n message: \"Output schema validation failed\",\n retryable: false,\n details: { ajvErrors: outputValidation.errors }\n },\n route,\n {\n capabilityId: options.card.capability_id,\n reason: \"OUTPUT_VALIDATION\"\n }\n )\n\n if (options.trace) {\n envelope.meta.attempts = attempts\n }\n\n return envelope\n }\n\n if (options.trace) {\n result.meta.attempts = attempts\n }\n return result\n }\n\n lastError = result.error\n firstError ??= result.error\n if (!result.error?.retryable) {\n if (result.error?.code !== errorCodes.AdapterUnsupported) {\n if (options.trace) {\n result.meta.attempts = attempts\n }\n return result\n }\n break\n }\n }\n }\n\n const finalError = lastError ?? firstError ?? {\n code: errorCodes.Unknown,\n message: \"No route produced a result\",\n retryable: false\n }\n\n const envelope = normalizeError(finalError, options.card.routing.preferred, {\n capabilityId: options.card.capability_id,\n reason: \"CARD_FALLBACK\"\n })\n\n if (options.trace) {\n envelope.meta.attempts = attempts\n }\n\n return envelope\n}\n"],"mappings":"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","names":["envelope"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/agent-interface/tools/explain-tool.ts"],"sourcesContent":["import { getOperationCard } from \"../../core/registry/index.js\"\n\nexport type CapabilityExplanation = {\n capability_id: string\n purpose: string\n required_inputs: string[]\n preferred_route: \"cli\" | \"graphql\" | \"rest\"\n fallback_routes: Array<\"cli\" | \"graphql\" | \"rest\">\n output_fields: string[]\n}\n\nfunction extractRequiredInputs(inputSchema: Record<string, unknown> | null | undefined): string[] {\n if (!inputSchema || typeof inputSchema !== \"object\") {\n return []\n }\n\n const required = (inputSchema as Record<string, unknown>).required\n if (!Array.isArray(required)) {\n return []\n }\n\n return required.filter((entry): entry is string => typeof entry === \"string\")\n}\n\nfunction extractOutputFields(outputSchema: Record<string, unknown> | null | undefined): string[] {\n if (!outputSchema || typeof outputSchema !== \"object\") {\n return []\n }\n\n const properties = (outputSchema as Record<string, unknown>).properties\n if (!properties || typeof properties !== \"object\") {\n return []\n }\n\n return Object.keys(properties)\n}\n\nexport function explainCapability(capabilityId: string): CapabilityExplanation {\n const card = getOperationCard(capabilityId)\n if (!card) {\n throw new Error(`Unknown capability: ${capabilityId}`)\n }\n\n return {\n capability_id: card.capability_id,\n purpose: card.description,\n required_inputs: extractRequiredInputs(card.input_schema),\n preferred_route: card.routing.preferred,\n fallback_routes: [...card.routing.fallbacks],\n output_fields: extractOutputFields(card.output_schema)\n }\n}\n"],"mappings":";;;;;AAWA,SAAS,sBAAsB,aAAmE;AAChG,MAAI,CAAC,eAAe,OAAO,gBAAgB,UAAU;AACnD,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,WAAY,YAAwC;AAC1D,MAAI,CAAC,MAAM,QAAQ,QAAQ,GAAG;AAC5B,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,SAAS,OAAO,CAAC,UAA2B,OAAO,UAAU,QAAQ;AAC9E;AAEA,SAAS,oBAAoB,cAAoE;AAC/F,MAAI,CAAC,gBAAgB,OAAO,iBAAiB,UAAU;AACrD,WAAO,CAAC;AAAA,EACV;AAEA,QAAM,aAAc,aAAyC;AAC7D,MAAI,CAAC,cAAc,OAAO,eAAe,UAAU;AACjD,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,OAAO,KAAK,UAAU;AAC/B;AAEO,SAAS,kBAAkB,cAA6C;AAC7E,QAAM,OAAO,iBAAiB,YAAY;AAC1C,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,uBAAuB,YAAY,EAAE;AAAA,EACvD;AAEA,SAAO;AAAA,IACL,eAAe,KAAK;AAAA,IACpB,SAAS,KAAK;AAAA,IACd,iBAAiB,sBAAsB,KAAK,YAAY;AAAA,IACxD,iBAAiB,KAAK,QAAQ;AAAA,IAC9B,iBAAiB,CAAC,GAAG,KAAK,QAAQ,SAAS;AAAA,IAC3C,eAAe,oBAAoB,KAAK,aAAa;AAAA,EACvD;AACF;","names":[]}
@@ -1,18 +0,0 @@
1
- import {
2
- errorCodes
3
- } from "./chunk-UOJWOHRM.js";
4
-
5
- // src/core/errors/retryability.ts
6
- var retryableCodes = /* @__PURE__ */ new Set([
7
- errorCodes.Network,
8
- errorCodes.RateLimit,
9
- errorCodes.Server
10
- ]);
11
- function isRetryableErrorCode(code) {
12
- return retryableCodes.has(code);
13
- }
14
-
15
- export {
16
- isRetryableErrorCode
17
- };
18
- //# sourceMappingURL=chunk-573MDG3I.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/errors/retryability.ts"],"sourcesContent":["import { errorCodes } from \"./codes.js\"\n\nconst retryableCodes = new Set<string>([\n errorCodes.Network,\n errorCodes.RateLimit,\n errorCodes.Server\n])\n\nexport function isRetryableErrorCode(code: string): boolean {\n return retryableCodes.has(code)\n}\n"],"mappings":";;;;;AAEA,IAAM,iBAAiB,oBAAI,IAAY;AAAA,EACrC,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AACb,CAAC;AAEM,SAAS,qBAAqB,MAAuB;AAC1D,SAAO,eAAe,IAAI,IAAI;AAChC;","names":[]}
@@ -1,50 +0,0 @@
1
- // src/core/registry/schema-validator.ts
2
- import Ajv from "ajv";
3
- var ajv = new Ajv({
4
- allErrors: true,
5
- strict: false
6
- });
7
- var validatorCache = /* @__PURE__ */ new WeakMap();
8
- function mapAjvErrors(errors) {
9
- if (!errors) {
10
- return [];
11
- }
12
- return errors.map((error) => ({
13
- instancePath: error.instancePath,
14
- message: error.message ?? "schema validation failed",
15
- keyword: error.keyword,
16
- params: error.params
17
- }));
18
- }
19
- function getValidator(schema) {
20
- const cached = validatorCache.get(schema);
21
- if (cached) {
22
- return cached;
23
- }
24
- const validator = ajv.compile(schema);
25
- validatorCache.set(schema, validator);
26
- return validator;
27
- }
28
- function validate(schema, payload) {
29
- const validator = getValidator(schema);
30
- const ok = validator(payload);
31
- if (ok) {
32
- return { ok: true };
33
- }
34
- return {
35
- ok: false,
36
- errors: mapAjvErrors(validator.errors)
37
- };
38
- }
39
- function validateInput(inputSchema, params) {
40
- return validate(inputSchema, params);
41
- }
42
- function validateOutput(outputSchema, data) {
43
- return validate(outputSchema, data);
44
- }
45
-
46
- export {
47
- validateInput,
48
- validateOutput
49
- };
50
- //# sourceMappingURL=chunk-5JRLVOF2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/registry/schema-validator.ts"],"sourcesContent":["import Ajv from \"ajv\"\nimport type { ErrorObject, ValidateFunction } from \"ajv\"\n\ntype SchemaValidationError = {\n instancePath: string\n message: string\n keyword: string\n params: Record<string, unknown>\n}\n\ntype SchemaValidationResult =\n | { ok: true }\n | {\n ok: false\n errors: SchemaValidationError[]\n }\n\nconst ajv = new Ajv({\n allErrors: true,\n strict: false\n})\n\nconst validatorCache = new WeakMap<Record<string, unknown>, ValidateFunction>()\n\nfunction mapAjvErrors(errors: ErrorObject[] | null | undefined): SchemaValidationError[] {\n if (!errors) {\n return []\n }\n\n return errors.map((error) => ({\n instancePath: error.instancePath,\n message: error.message ?? \"schema validation failed\",\n keyword: error.keyword,\n params: error.params\n }))\n}\n\nfunction getValidator(schema: Record<string, unknown>): ValidateFunction {\n const cached = validatorCache.get(schema)\n if (cached) {\n return cached\n }\n\n const validator = ajv.compile(schema)\n validatorCache.set(schema, validator)\n return validator\n}\n\nfunction validate(schema: Record<string, unknown>, payload: unknown): SchemaValidationResult {\n const validator = getValidator(schema)\n const ok = validator(payload)\n\n if (ok) {\n return { ok: true }\n }\n\n return {\n ok: false,\n errors: mapAjvErrors(validator.errors)\n }\n}\n\nexport function validateInput(inputSchema: Record<string, unknown>, params: Record<string, unknown>): SchemaValidationResult {\n return validate(inputSchema, params)\n}\n\nexport function validateOutput(outputSchema: Record<string, unknown>, data: unknown): SchemaValidationResult {\n return validate(outputSchema, data)\n}\n"],"mappings":";AAAA,OAAO,SAAS;AAiBhB,IAAM,MAAM,IAAI,IAAI;AAAA,EAClB,WAAW;AAAA,EACX,QAAQ;AACV,CAAC;AAED,IAAM,iBAAiB,oBAAI,QAAmD;AAE9E,SAAS,aAAa,QAAmE;AACvF,MAAI,CAAC,QAAQ;AACX,WAAO,CAAC;AAAA,EACV;AAEA,SAAO,OAAO,IAAI,CAAC,WAAW;AAAA,IAC5B,cAAc,MAAM;AAAA,IACpB,SAAS,MAAM,WAAW;AAAA,IAC1B,SAAS,MAAM;AAAA,IACf,QAAQ,MAAM;AAAA,EAChB,EAAE;AACJ;AAEA,SAAS,aAAa,QAAmD;AACvE,QAAM,SAAS,eAAe,IAAI,MAAM;AACxC,MAAI,QAAQ;AACV,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,IAAI,QAAQ,MAAM;AACpC,iBAAe,IAAI,QAAQ,SAAS;AACpC,SAAO;AACT;AAEA,SAAS,SAAS,QAAiC,SAA0C;AAC3F,QAAM,YAAY,aAAa,MAAM;AACrC,QAAM,KAAK,UAAU,OAAO;AAE5B,MAAI,IAAI;AACN,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AAEA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,QAAQ,aAAa,UAAU,MAAM;AAAA,EACvC;AACF;AAEO,SAAS,cAAc,aAAsC,QAAyD;AAC3H,SAAO,SAAS,aAAa,MAAM;AACrC;AAEO,SAAS,eAAe,cAAuC,MAAuC;AAC3G,SAAO,SAAS,cAAc,IAAI;AACpC;","names":[]}
@@ -1,41 +0,0 @@
1
- import {
2
- errorCodes
3
- } from "./chunk-UOJWOHRM.js";
4
-
5
- // src/core/errors/map-error.ts
6
- function toMessage(error) {
7
- if (error instanceof Error) {
8
- return error.message;
9
- }
10
- return String(error);
11
- }
12
- function mapErrorToCode(error) {
13
- const message = toMessage(error).toLowerCase();
14
- if (message.includes("rate limit") || message.includes(" 429") || message.includes("too many requests")) {
15
- return errorCodes.RateLimit;
16
- }
17
- if (message.includes("timeout")) {
18
- return errorCodes.Network;
19
- }
20
- if (message.includes("econn") || message.includes("enotfound") || message.includes("eai_again") || message.includes("network") || message.includes("connection reset")) {
21
- return errorCodes.Network;
22
- }
23
- if (message.includes(" 500") || message.includes(" 502") || message.includes(" 503") || message.includes(" 504")) {
24
- return errorCodes.Server;
25
- }
26
- if (message.includes("auth") || message.includes("forbidden") || message.includes("unauthorized")) {
27
- return errorCodes.Auth;
28
- }
29
- if (message.includes("validation") || message.includes("invalid") || message.includes("required") || message.includes("positive integer")) {
30
- return errorCodes.Validation;
31
- }
32
- if (message.includes("not found") || message.includes(" 404")) {
33
- return errorCodes.NotFound;
34
- }
35
- return errorCodes.Unknown;
36
- }
37
-
38
- export {
39
- mapErrorToCode
40
- };
41
- //# sourceMappingURL=chunk-B6RLMKS4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/errors/map-error.ts"],"sourcesContent":["import { errorCodes } from \"./codes.js\"\nimport type { ErrorCode } from \"./codes.js\"\n\nfunction toMessage(error: unknown): string {\n if (error instanceof Error) {\n return error.message\n }\n\n return String(error)\n}\n\nexport function mapErrorToCode(error: unknown): ErrorCode {\n const message = toMessage(error).toLowerCase()\n\n if (message.includes(\"rate limit\") || message.includes(\" 429\") || message.includes(\"too many requests\")) {\n return errorCodes.RateLimit\n }\n\n if (message.includes(\"timeout\")) {\n return errorCodes.Network\n }\n\n if (\n message.includes(\"econn\") ||\n message.includes(\"enotfound\") ||\n message.includes(\"eai_again\") ||\n message.includes(\"network\") ||\n message.includes(\"connection reset\")\n ) {\n return errorCodes.Network\n }\n\n if (message.includes(\" 500\") || message.includes(\" 502\") || message.includes(\" 503\") || message.includes(\" 504\")) {\n return errorCodes.Server\n }\n\n if (message.includes(\"auth\") || message.includes(\"forbidden\") || message.includes(\"unauthorized\")) {\n return errorCodes.Auth\n }\n\n if (\n message.includes(\"validation\") ||\n message.includes(\"invalid\") ||\n message.includes(\"required\") ||\n message.includes(\"positive integer\")\n ) {\n return errorCodes.Validation\n }\n\n if (message.includes(\"not found\") || message.includes(\" 404\")) {\n return errorCodes.NotFound\n }\n\n return errorCodes.Unknown\n}\n"],"mappings":";;;;;AAGA,SAAS,UAAU,OAAwB;AACzC,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM;AAAA,EACf;AAEA,SAAO,OAAO,KAAK;AACrB;AAEO,SAAS,eAAe,OAA2B;AACxD,QAAM,UAAU,UAAU,KAAK,EAAE,YAAY;AAE7C,MAAI,QAAQ,SAAS,YAAY,KAAK,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,mBAAmB,GAAG;AACvG,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,QAAQ,SAAS,SAAS,GAAG;AAC/B,WAAO,WAAW;AAAA,EACpB;AAEA,MACE,QAAQ,SAAS,OAAO,KACxB,QAAQ,SAAS,WAAW,KAC5B,QAAQ,SAAS,WAAW,KAC5B,QAAQ,SAAS,SAAS,KAC1B,QAAQ,SAAS,kBAAkB,GACnC;AACA,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,MAAM,GAAG;AAChH,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,QAAQ,SAAS,MAAM,KAAK,QAAQ,SAAS,WAAW,KAAK,QAAQ,SAAS,cAAc,GAAG;AACjG,WAAO,WAAW;AAAA,EACpB;AAEA,MACE,QAAQ,SAAS,YAAY,KAC7B,QAAQ,SAAS,SAAS,KAC1B,QAAQ,SAAS,UAAU,KAC3B,QAAQ,SAAS,kBAAkB,GACnC;AACA,WAAO,WAAW;AAAA,EACpB;AAEA,MAAI,QAAQ,SAAS,WAAW,KAAK,QAAQ,SAAS,MAAM,GAAG;AAC7D,WAAO,WAAW;AAAA,EACpB;AAEA,SAAO,WAAW;AACpB;","names":[]}
@@ -1,38 +0,0 @@
1
- // src/gql/operations/issue-list.generated.ts
2
- var IssueListDocument = `
3
- query IssueList($owner: String!, $name: String!, $first: Int!, $after: String) {
4
- repository(owner: $owner, name: $name) {
5
- issues(
6
- first: $first
7
- after: $after
8
- orderBy: {field: CREATED_AT, direction: DESC}
9
- ) {
10
- nodes {
11
- id
12
- number
13
- title
14
- state
15
- url
16
- }
17
- pageInfo {
18
- endCursor
19
- hasNextPage
20
- }
21
- }
22
- }
23
- }
24
- `;
25
- var defaultWrapper = (action, _operationName, _operationType, _variables) => action();
26
- function getSdk(client, withWrapper = defaultWrapper) {
27
- return {
28
- IssueList(variables, requestHeaders, signal) {
29
- return withWrapper((wrappedRequestHeaders) => client.request({ document: IssueListDocument, variables, requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders }, signal }), "IssueList", "query", variables);
30
- }
31
- };
32
- }
33
-
34
- export {
35
- IssueListDocument,
36
- getSdk
37
- };
38
- //# sourceMappingURL=chunk-D746VR3B.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gql/operations/issue-list.generated.ts"],"sourcesContent":["import type * as Types from '../generated/common-types';\n\nimport type { GraphQLClient, RequestOptions } from 'graphql-request';\ntype GraphQLClientRequestHeaders = RequestOptions['requestHeaders'];\nexport type IssueListQueryVariables = Types.Exact<{\n owner: Types.Scalars['String']['input'];\n name: Types.Scalars['String']['input'];\n first: Types.Scalars['Int']['input'];\n after?: Types.InputMaybe<Types.Scalars['String']['input']>;\n}>;\n\n\nexport type IssueListQuery = { __typename?: 'Query', repository?: { __typename?: 'Repository', issues: { __typename?: 'IssueConnection', nodes?: Array<{ __typename?: 'Issue', id: string, number: number, title: string, state: Types.IssueState, url: any } | null> | null, pageInfo: { __typename?: 'PageInfo', endCursor?: string | null, hasNextPage: boolean } } } | null };\n\n\nexport const IssueListDocument = `\n query IssueList($owner: String!, $name: String!, $first: Int!, $after: String) {\n repository(owner: $owner, name: $name) {\n issues(\n first: $first\n after: $after\n orderBy: {field: CREATED_AT, direction: DESC}\n ) {\n nodes {\n id\n number\n title\n state\n url\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n }\n}\n `;\n\nexport type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string, variables?: any) => Promise<T>;\n\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action();\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n IssueList(variables: IssueListQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit['signal']): Promise<IssueListQuery> {\n return withWrapper((wrappedRequestHeaders) => client.request<IssueListQuery>({ document: IssueListDocument, variables, requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders }, signal }), 'IssueList', 'query', variables);\n }\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;"],"mappings":";AAeO,IAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BjC,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAAe,OAAO;AAEnG,SAAS,OAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,UAAU,WAAoC,gBAA8C,QAAyD;AACnJ,aAAO,YAAY,CAAC,0BAA0B,OAAO,QAAwB,EAAE,UAAU,mBAAmB,WAAW,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,OAAO,CAAC,GAAG,aAAa,SAAS,SAAS;AAAA,IACpO;AAAA,EACF;AACF;","names":[]}
@@ -1,20 +0,0 @@
1
- // src/agent-interface/tools/execute-tool.ts
2
- function createExecuteTool(deps) {
3
- return {
4
- execute(capabilityId, params, options) {
5
- const request = {
6
- task: capabilityId,
7
- input: params,
8
- ...options ? { options } : {}
9
- };
10
- return deps.executeTask({
11
- ...request
12
- });
13
- }
14
- };
15
- }
16
-
17
- export {
18
- createExecuteTool
19
- };
20
- //# sourceMappingURL=chunk-DJIEG6K7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/agent-interface/tools/execute-tool.ts"],"sourcesContent":["import type { ResultEnvelope } from \"../../core/contracts/envelope.js\"\n\ntype ExecuteTaskFn = (request: {\n task: string\n input: Record<string, unknown>\n options?: Record<string, unknown>\n}) => Promise<ResultEnvelope>\n\nexport function createExecuteTool(deps: { executeTask: ExecuteTaskFn }) {\n return {\n execute(\n capabilityId: string,\n params: Record<string, unknown>,\n options?: Record<string, unknown>\n ): Promise<ResultEnvelope> {\n const request = {\n task: capabilityId,\n input: params,\n ...(options ? { options } : {})\n }\n\n return deps.executeTask({\n ...request\n })\n }\n }\n}\n"],"mappings":";AAQO,SAAS,kBAAkB,MAAsC;AACtE,SAAO;AAAA,IACL,QACE,cACA,QACA,SACyB;AACzB,YAAM,UAAU;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC/B;AAEA,aAAO,KAAK,YAAY;AAAA,QACtB,GAAG;AAAA,MACL,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -1,106 +0,0 @@
1
- // src/core/execution/cli/safe-runner.ts
2
- import { spawn } from "child_process";
3
- var DEFAULT_MAX_OUTPUT_BYTES = 1e6;
4
- function createSafeCliCommandRunner(options) {
5
- const maxOutputBytes = options?.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES;
6
- return {
7
- run(command, args, timeoutMs) {
8
- if (timeoutMs <= 0) {
9
- return Promise.reject(new Error("timeoutMs must be a positive number"));
10
- }
11
- return new Promise((resolve, reject) => {
12
- const child = spawn(command, args, {
13
- shell: false,
14
- stdio: ["ignore", "pipe", "pipe"]
15
- });
16
- const stdoutChunks = [];
17
- const stderrChunks = [];
18
- let stdoutSize = 0;
19
- let stderrSize = 0;
20
- let failureReason = null;
21
- let settled = false;
22
- const timer = setTimeout(() => {
23
- if (failureReason === null) {
24
- failureReason = "timeout";
25
- }
26
- child.kill("SIGKILL");
27
- }, timeoutMs);
28
- function settleError(error) {
29
- if (settled) {
30
- return;
31
- }
32
- settled = true;
33
- clearTimeout(timer);
34
- reject(error);
35
- }
36
- function settleSuccess(stdout, stderr, exitCode) {
37
- if (settled) {
38
- return;
39
- }
40
- settled = true;
41
- clearTimeout(timer);
42
- resolve({ stdout, stderr, exitCode });
43
- }
44
- child.stdout?.on("data", (chunk) => {
45
- if (failureReason === "overflow") {
46
- return;
47
- }
48
- stdoutSize += chunk.length;
49
- if (stdoutSize + stderrSize > maxOutputBytes) {
50
- if (failureReason === null) {
51
- failureReason = "overflow";
52
- clearTimeout(timer);
53
- child.kill("SIGKILL");
54
- settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`));
55
- return;
56
- }
57
- child.kill("SIGKILL");
58
- return;
59
- }
60
- stdoutChunks.push(chunk);
61
- });
62
- child.stderr?.on("data", (chunk) => {
63
- if (failureReason === "overflow") {
64
- return;
65
- }
66
- stderrSize += chunk.length;
67
- if (stdoutSize + stderrSize > maxOutputBytes) {
68
- if (failureReason === null) {
69
- failureReason = "overflow";
70
- clearTimeout(timer);
71
- child.kill("SIGKILL");
72
- settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`));
73
- return;
74
- }
75
- child.kill("SIGKILL");
76
- return;
77
- }
78
- stderrChunks.push(chunk);
79
- });
80
- child.on("error", (error) => {
81
- settleError(error);
82
- });
83
- child.on("close", (code) => {
84
- if (failureReason === "timeout") {
85
- settleError(new Error(`CLI command timed out after ${timeoutMs}ms`));
86
- return;
87
- }
88
- if (failureReason === "overflow") {
89
- settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`));
90
- return;
91
- }
92
- settleSuccess(
93
- Buffer.concat(stdoutChunks).toString("utf8"),
94
- Buffer.concat(stderrChunks).toString("utf8"),
95
- code ?? 1
96
- );
97
- });
98
- });
99
- }
100
- };
101
- }
102
-
103
- export {
104
- createSafeCliCommandRunner
105
- };
106
- //# sourceMappingURL=chunk-DLKIQBK6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/execution/cli/safe-runner.ts"],"sourcesContent":["import { spawn } from \"node:child_process\"\n\nimport type { CliCommandRunner } from \"../adapters/cli-capability-adapter.js\"\n\nconst DEFAULT_MAX_OUTPUT_BYTES = 1_000_000\n\ntype SafeRunnerOptions = {\n maxOutputBytes?: number\n}\n\nexport function createSafeCliCommandRunner(options?: SafeRunnerOptions): CliCommandRunner {\n const maxOutputBytes = options?.maxOutputBytes ?? DEFAULT_MAX_OUTPUT_BYTES\n\n return {\n run(command: string, args: string[], timeoutMs: number): Promise<{ stdout: string; stderr: string; exitCode: number }> {\n if (timeoutMs <= 0) {\n return Promise.reject(new Error(\"timeoutMs must be a positive number\"))\n }\n\n return new Promise((resolve, reject) => {\n const child = spawn(command, args, {\n shell: false,\n stdio: [\"ignore\", \"pipe\", \"pipe\"]\n })\n\n const stdoutChunks: Buffer[] = []\n const stderrChunks: Buffer[] = []\n let stdoutSize = 0\n let stderrSize = 0\n let failureReason: \"timeout\" | \"overflow\" | null = null\n let settled = false\n\n const timer = setTimeout(() => {\n if (failureReason === null) {\n failureReason = \"timeout\"\n }\n child.kill(\"SIGKILL\")\n }, timeoutMs)\n\n function settleError(error: Error): void {\n if (settled) {\n return\n }\n\n settled = true\n clearTimeout(timer)\n reject(error)\n }\n\n function settleSuccess(stdout: string, stderr: string, exitCode: number): void {\n if (settled) {\n return\n }\n\n settled = true\n clearTimeout(timer)\n resolve({ stdout, stderr, exitCode })\n }\n\n child.stdout?.on(\"data\", (chunk: Buffer) => {\n if (failureReason === \"overflow\") {\n return\n }\n\n stdoutSize += chunk.length\n if (stdoutSize + stderrSize > maxOutputBytes) {\n if (failureReason === null) {\n failureReason = \"overflow\"\n clearTimeout(timer)\n child.kill(\"SIGKILL\")\n settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`))\n return\n }\n\n child.kill(\"SIGKILL\")\n return\n }\n\n stdoutChunks.push(chunk)\n })\n\n child.stderr?.on(\"data\", (chunk: Buffer) => {\n if (failureReason === \"overflow\") {\n return\n }\n\n stderrSize += chunk.length\n if (stdoutSize + stderrSize > maxOutputBytes) {\n if (failureReason === null) {\n failureReason = \"overflow\"\n clearTimeout(timer)\n child.kill(\"SIGKILL\")\n settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`))\n return\n }\n\n child.kill(\"SIGKILL\")\n return\n }\n\n stderrChunks.push(chunk)\n })\n\n child.on(\"error\", (error) => {\n settleError(error)\n })\n\n child.on(\"close\", (code) => {\n if (failureReason === \"timeout\") {\n settleError(new Error(`CLI command timed out after ${timeoutMs}ms`))\n return\n }\n\n if (failureReason === \"overflow\") {\n settleError(new Error(`CLI output exceeded ${maxOutputBytes} bytes`))\n return\n }\n\n settleSuccess(\n Buffer.concat(stdoutChunks).toString(\"utf8\"),\n Buffer.concat(stderrChunks).toString(\"utf8\"),\n code ?? 1\n )\n })\n })\n }\n }\n}\n"],"mappings":";AAAA,SAAS,aAAa;AAItB,IAAM,2BAA2B;AAM1B,SAAS,2BAA2B,SAA+C;AACxF,QAAM,iBAAiB,SAAS,kBAAkB;AAElD,SAAO;AAAA,IACL,IAAI,SAAiB,MAAgB,WAAkF;AACrH,UAAI,aAAa,GAAG;AAClB,eAAO,QAAQ,OAAO,IAAI,MAAM,qCAAqC,CAAC;AAAA,MACxE;AAEA,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,cAAM,QAAQ,MAAM,SAAS,MAAM;AAAA,UACjC,OAAO;AAAA,UACP,OAAO,CAAC,UAAU,QAAQ,MAAM;AAAA,QAClC,CAAC;AAED,cAAM,eAAyB,CAAC;AAChC,cAAM,eAAyB,CAAC;AAChC,YAAI,aAAa;AACjB,YAAI,aAAa;AACjB,YAAI,gBAA+C;AACnD,YAAI,UAAU;AAEd,cAAM,QAAQ,WAAW,MAAM;AAC7B,cAAI,kBAAkB,MAAM;AAC1B,4BAAgB;AAAA,UAClB;AACA,gBAAM,KAAK,SAAS;AAAA,QACtB,GAAG,SAAS;AAEZ,iBAAS,YAAY,OAAoB;AACvC,cAAI,SAAS;AACX;AAAA,UACF;AAEA,oBAAU;AACV,uBAAa,KAAK;AAClB,iBAAO,KAAK;AAAA,QACd;AAEA,iBAAS,cAAc,QAAgB,QAAgB,UAAwB;AAC7E,cAAI,SAAS;AACX;AAAA,UACF;AAEA,oBAAU;AACV,uBAAa,KAAK;AAClB,kBAAQ,EAAE,QAAQ,QAAQ,SAAS,CAAC;AAAA,QACtC;AAEA,cAAM,QAAQ,GAAG,QAAQ,CAAC,UAAkB;AAC1C,cAAI,kBAAkB,YAAY;AAChC;AAAA,UACF;AAEA,wBAAc,MAAM;AACpB,cAAI,aAAa,aAAa,gBAAgB;AAC5C,gBAAI,kBAAkB,MAAM;AAC1B,8BAAgB;AAChB,2BAAa,KAAK;AAClB,oBAAM,KAAK,SAAS;AACpB,0BAAY,IAAI,MAAM,uBAAuB,cAAc,QAAQ,CAAC;AACpE;AAAA,YACF;AAEA,kBAAM,KAAK,SAAS;AACpB;AAAA,UACF;AAEA,uBAAa,KAAK,KAAK;AAAA,QACzB,CAAC;AAED,cAAM,QAAQ,GAAG,QAAQ,CAAC,UAAkB;AAC1C,cAAI,kBAAkB,YAAY;AAChC;AAAA,UACF;AAEA,wBAAc,MAAM;AACpB,cAAI,aAAa,aAAa,gBAAgB;AAC5C,gBAAI,kBAAkB,MAAM;AAC1B,8BAAgB;AAChB,2BAAa,KAAK;AAClB,oBAAM,KAAK,SAAS;AACpB,0BAAY,IAAI,MAAM,uBAAuB,cAAc,QAAQ,CAAC;AACpE;AAAA,YACF;AAEA,kBAAM,KAAK,SAAS;AACpB;AAAA,UACF;AAEA,uBAAa,KAAK,KAAK;AAAA,QACzB,CAAC;AAED,cAAM,GAAG,SAAS,CAAC,UAAU;AAC3B,sBAAY,KAAK;AAAA,QACnB,CAAC;AAED,cAAM,GAAG,SAAS,CAAC,SAAS;AAC1B,cAAI,kBAAkB,WAAW;AAC/B,wBAAY,IAAI,MAAM,+BAA+B,SAAS,IAAI,CAAC;AACnE;AAAA,UACF;AAEA,cAAI,kBAAkB,YAAY;AAChC,wBAAY,IAAI,MAAM,uBAAuB,cAAc,QAAQ,CAAC;AACpE;AAAA,UACF;AAEA;AAAA,YACE,OAAO,OAAO,YAAY,EAAE,SAAS,MAAM;AAAA,YAC3C,OAAO,OAAO,YAAY,EAAE,SAAS,MAAM;AAAA,YAC3C,QAAQ;AAAA,UACV;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AACF;","names":[]}
@@ -1,31 +0,0 @@
1
- // src/gql/operations/repo-view.generated.ts
2
- var RepoViewDocument = `
3
- query RepoView($owner: String!, $name: String!) {
4
- repository(owner: $owner, name: $name) {
5
- id
6
- name
7
- nameWithOwner
8
- isPrivate
9
- stargazerCount
10
- forkCount
11
- url
12
- defaultBranchRef {
13
- name
14
- }
15
- }
16
- }
17
- `;
18
- var defaultWrapper = (action, _operationName, _operationType, _variables) => action();
19
- function getSdk(client, withWrapper = defaultWrapper) {
20
- return {
21
- RepoView(variables, requestHeaders, signal) {
22
- return withWrapper((wrappedRequestHeaders) => client.request({ document: RepoViewDocument, variables, requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders }, signal }), "RepoView", "query", variables);
23
- }
24
- };
25
- }
26
-
27
- export {
28
- RepoViewDocument,
29
- getSdk
30
- };
31
- //# sourceMappingURL=chunk-EBRDO4Y6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/gql/operations/repo-view.generated.ts"],"sourcesContent":["import type * as Types from '../generated/common-types';\n\nimport type { GraphQLClient, RequestOptions } from 'graphql-request';\ntype GraphQLClientRequestHeaders = RequestOptions['requestHeaders'];\nexport type RepoViewQueryVariables = Types.Exact<{\n owner: Types.Scalars['String']['input'];\n name: Types.Scalars['String']['input'];\n}>;\n\n\nexport type RepoViewQuery = { __typename?: 'Query', repository?: { __typename?: 'Repository', id: string, name: string, nameWithOwner: string, isPrivate: boolean, stargazerCount: number, forkCount: number, url: any, defaultBranchRef?: { __typename?: 'Ref', name: string } | null } | null };\n\n\nexport const RepoViewDocument = `\n query RepoView($owner: String!, $name: String!) {\n repository(owner: $owner, name: $name) {\n id\n name\n nameWithOwner\n isPrivate\n stargazerCount\n forkCount\n url\n defaultBranchRef {\n name\n }\n }\n}\n `;\n\nexport type SdkFunctionWrapper = <T>(action: (requestHeaders?:Record<string, string>) => Promise<T>, operationName: string, operationType?: string, variables?: any) => Promise<T>;\n\n\nconst defaultWrapper: SdkFunctionWrapper = (action, _operationName, _operationType, _variables) => action();\n\nexport function getSdk(client: GraphQLClient, withWrapper: SdkFunctionWrapper = defaultWrapper) {\n return {\n RepoView(variables: RepoViewQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit['signal']): Promise<RepoViewQuery> {\n return withWrapper((wrappedRequestHeaders) => client.request<RepoViewQuery>({ document: RepoViewDocument, variables, requestHeaders: { ...requestHeaders, ...wrappedRequestHeaders }, signal }), 'RepoView', 'query', variables);\n }\n };\n}\nexport type Sdk = ReturnType<typeof getSdk>;"],"mappings":";AAaO,IAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBhC,IAAM,iBAAqC,CAAC,QAAQ,gBAAgB,gBAAgB,eAAe,OAAO;AAEnG,SAAS,OAAO,QAAuB,cAAkC,gBAAgB;AAC9F,SAAO;AAAA,IACL,SAAS,WAAmC,gBAA8C,QAAwD;AAChJ,aAAO,YAAY,CAAC,0BAA0B,OAAO,QAAuB,EAAE,UAAU,kBAAkB,WAAW,gBAAgB,EAAE,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,OAAO,CAAC,GAAG,YAAY,SAAS,SAAS;AAAA,IACjO;AAAA,EACF;AACF;","names":[]}
@@ -1,14 +0,0 @@
1
- // src/agent-interface/prompt/main-skill.ts
2
- var MAIN_SKILL_TEXT = `
3
- Use execute(capability_id, params) for all GitHub actions.
4
- Never call gh help and never fetch GraphQL schema/introspection.
5
- If required params are unknown, call explain(capability_id) or ask the user.
6
- Treat ResultEnvelope.ok=false as a failure.
7
- If error.retryable=true, retry once unless user requested otherwise.
8
- Only reason about ResultEnvelope.data and ResultEnvelope.error.
9
- `.trim();
10
-
11
- export {
12
- MAIN_SKILL_TEXT
13
- };
14
- //# sourceMappingURL=chunk-FXN6IIT5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/agent-interface/prompt/main-skill.ts"],"sourcesContent":["export const MAIN_SKILL_TEXT = `\nUse execute(capability_id, params) for all GitHub actions.\nNever call gh help and never fetch GraphQL schema/introspection.\nIf required params are unknown, call explain(capability_id) or ask the user.\nTreat ResultEnvelope.ok=false as a failure.\nIf error.retryable=true, retry once unless user requested otherwise.\nOnly reason about ResultEnvelope.data and ResultEnvelope.error.\n`.trim()\n"],"mappings":";AAAO,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO7B,KAAK;","names":[]}
@@ -1,16 +0,0 @@
1
- import {
2
- listOperationCards
3
- } from "./chunk-JH6GM6XU.js";
4
-
5
- // src/agent-interface/tools/list-capabilities-tool.ts
6
- function listCapabilities() {
7
- return listOperationCards().map((card) => ({
8
- capability_id: card.capability_id,
9
- description: card.description
10
- }));
11
- }
12
-
13
- export {
14
- listCapabilities
15
- };
16
- //# sourceMappingURL=chunk-GMTG7X2L.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/agent-interface/tools/list-capabilities-tool.ts"],"sourcesContent":["import { listOperationCards } from \"../../core/registry/index.js\"\n\nexport type CapabilityListItem = {\n capability_id: string\n description: string\n}\n\nexport function listCapabilities(): CapabilityListItem[] {\n return listOperationCards().map((card) => ({\n capability_id: card.capability_id,\n description: card.description\n }))\n}\n"],"mappings":";;;;;AAOO,SAAS,mBAAyC;AACvD,SAAO,mBAAmB,EAAE,IAAI,CAAC,UAAU;AAAA,IACzC,eAAe,KAAK;AAAA,IACpB,aAAa,KAAK;AAAA,EACpB,EAAE;AACJ;","names":[]}
@@ -1,42 +0,0 @@
1
- import {
2
- explainCapability
3
- } from "./chunk-4PLVKNCF.js";
4
-
5
- // src/cli/commands/capabilities-explain.ts
6
- function usage() {
7
- return "Usage: ghx capabilities explain <capability_id> [--json]";
8
- }
9
- function parseArgs(argv) {
10
- const asJson = argv.includes("--json");
11
- const capabilityId = argv.find((arg) => !arg.startsWith("-"));
12
- return { capabilityId, asJson };
13
- }
14
- async function capabilitiesExplainCommand(argv = []) {
15
- const { capabilityId, asJson } = parseArgs(argv);
16
- if (!capabilityId) {
17
- process.stderr.write(`${usage()}
18
- `);
19
- return 1;
20
- }
21
- try {
22
- const explained = explainCapability(capabilityId);
23
- if (asJson) {
24
- process.stdout.write(`${JSON.stringify(explained)}
25
- `);
26
- return 0;
27
- }
28
- process.stdout.write(`${JSON.stringify(explained, null, 2)}
29
- `);
30
- return 0;
31
- } catch (error) {
32
- const message = error instanceof Error ? error.message : String(error);
33
- process.stderr.write(`${message}
34
- `);
35
- return 1;
36
- }
37
- }
38
-
39
- export {
40
- capabilitiesExplainCommand
41
- };
42
- //# sourceMappingURL=chunk-HQ2VRCH7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/cli/commands/capabilities-explain.ts"],"sourcesContent":["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"],"mappings":";;;;;AAEA,SAAS,QAAgB;AACvB,SAAO;AACT;AAEA,SAAS,UAAU,MAAuE;AACxF,QAAM,SAAS,KAAK,SAAS,QAAQ;AACrC,QAAM,eAAe,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,WAAW,GAAG,CAAC;AAC5D,SAAO,EAAE,cAAc,OAAO;AAChC;AAEA,eAAsB,2BAA2B,OAAiB,CAAC,GAAoB;AACrF,QAAM,EAAE,cAAc,OAAO,IAAI,UAAU,IAAI;AAE/C,MAAI,CAAC,cAAc;AACjB,YAAQ,OAAO,MAAM,GAAG,MAAM,CAAC;AAAA,CAAI;AACnC,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,YAAY,kBAAkB,YAAY;AAEhD,QAAI,QAAQ;AACV,cAAQ,OAAO,MAAM,GAAG,KAAK,UAAU,SAAS,CAAC;AAAA,CAAI;AACrD,aAAO;AAAA,IACT;AAEA,YAAQ,OAAO,MAAM,GAAG,KAAK,UAAU,WAAW,MAAM,CAAC,CAAC;AAAA,CAAI;AAC9D,WAAO;AAAA,EACT,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,YAAQ,OAAO,MAAM,GAAG,OAAO;AAAA,CAAI;AACnC,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/registry/index.ts"],"sourcesContent":["import { readdirSync, readFileSync } from \"node:fs\"\nimport { dirname, extname, join } from \"node:path\"\nimport { fileURLToPath } from \"node:url\"\n\nimport Ajv from \"ajv\"\nimport { load as parseYaml } from \"js-yaml\"\n\nimport type { OperationCard } from \"./types.js\"\nimport { operationCardSchema } from \"./operation-card-schema.js\"\n\nconst ajv = new Ajv({ allErrors: true, strict: false })\nconst validateCard = ajv.compile(operationCardSchema)\n\nfunction cardDirectory(): string {\n const currentDir = dirname(fileURLToPath(import.meta.url))\n return join(currentDir, \"cards\")\n}\n\nfunction loadCardsFromYaml(): OperationCard[] {\n const directory = cardDirectory()\n const preferredOrder = [\n \"repo.view\",\n \"repo.labels.list\",\n \"repo.issue_types.list\",\n \"issue.view\",\n \"issue.list\",\n \"issue.comments.list\",\n \"issue.create\",\n \"issue.update\",\n \"issue.close\",\n \"issue.reopen\",\n \"issue.delete\",\n \"issue.labels.update\",\n \"issue.assignees.update\",\n \"issue.milestone.set\",\n \"issue.comments.create\",\n \"issue.linked_prs.list\",\n \"issue.relations.get\",\n \"issue.parent.set\",\n \"issue.parent.remove\",\n \"issue.blocked_by.add\",\n \"issue.blocked_by.remove\",\n \"pr.view\",\n \"pr.list\",\n \"pr.comments.list\",\n \"pr.reviews.list\",\n \"pr.diff.list_files\",\n \"pr.status.checks\",\n \"pr.checks.get_failed\",\n \"pr.mergeability.view\",\n \"pr.comment.reply\",\n \"pr.comment.resolve\",\n \"pr.comment.unresolve\",\n \"pr.ready_for_review.set\",\n \"pr.review.submit_approve\",\n \"pr.review.submit_request_changes\",\n \"pr.review.submit_comment\",\n \"pr.merge.execute\",\n \"pr.checks.rerun_failed\",\n \"pr.checks.rerun_all\",\n \"pr.reviewers.request\",\n \"pr.assignees.update\",\n \"pr.branch.update\",\n \"check_run.annotations.list\",\n \"workflow_runs.list\",\n \"workflow_run.jobs.list\",\n \"workflow_job.logs.get\",\n \"workflow_job.logs.analyze\",\n \"workflow.list\",\n \"workflow.get\",\n \"workflow_run.get\",\n \"workflow_run.rerun_all\",\n \"workflow_run.cancel\",\n \"workflow_run.artifacts.list\",\n \"project_v2.org.get\",\n \"project_v2.user.get\",\n \"project_v2.fields.list\",\n \"project_v2.items.list\",\n \"project_v2.item.add_issue\",\n \"project_v2.item.field.update\",\n \"release.list\",\n \"release.get\",\n \"release.create_draft\",\n \"release.update\",\n \"release.publish_draft\",\n \"workflow_dispatch.run\",\n \"workflow_run.rerun_failed\"\n ]\n const orderMap = new Map(preferredOrder.map((id, index) => [id, index]))\n\n const entries = readdirSync(directory)\n .filter((entry) => {\n const extension = extname(entry).toLowerCase()\n return extension === \".yaml\" || extension === \".yml\"\n })\n .sort((a, b) => {\n const capabilityA = a.replace(/\\.ya?ml$/i, \"\")\n const capabilityB = b.replace(/\\.ya?ml$/i, \"\")\n const orderA = orderMap.get(capabilityA) ?? Number.MAX_SAFE_INTEGER\n const orderB = orderMap.get(capabilityB) ?? Number.MAX_SAFE_INTEGER\n\n if (orderA !== orderB) {\n return orderA - orderB\n }\n\n return a.localeCompare(b)\n })\n\n return entries.map((entry): OperationCard => {\n const filePath = join(directory, entry)\n const raw = readFileSync(filePath, \"utf8\")\n const parsed = parseYaml(raw)\n const validation = validateOperationCard(parsed)\n if (!validation.ok) {\n throw new Error(`Invalid operation card '${entry}': ${validation.error}`)\n }\n\n return parsed as OperationCard\n })\n}\n\nexport function validateOperationCard(card: unknown): { ok: true } | { ok: false; error: string } {\n const valid = validateCard(card)\n if (!valid) {\n const message = validateCard.errors?.[0]?.message ?? \"Operation card schema validation failed\"\n return { ok: false, error: message }\n }\n\n return { ok: true }\n}\n\nconst operationCards = loadCardsFromYaml()\n\nexport function listOperationCards(): OperationCard[] {\n return [...operationCards]\n}\n\nexport function getOperationCard(capabilityId: string): OperationCard | undefined {\n return operationCards.find((card) => card.capability_id === capabilityId)\n}\n"],"mappings":"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","names":[]}