@qwen-code/qwen-code 0.21.1-simplify-system-prompt.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +38 -28
  3. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/features/channels/github.md +107 -0
  5. package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
  6. package/bundled/qc-helper/docs/features/code-review.md +1 -1
  7. package/bundled/qc-helper/docs/features/hooks.md +52 -15
  8. package/bundled/qc-helper/docs/features/mcp.md +9 -1
  9. package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
  10. package/bundled/qc-helper/docs/features/sub-agents.md +20 -0
  11. package/bundled/qc-helper/docs/qwen-serve.md +4 -2
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  13. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
  14. package/bundled/review/DESIGN.md +19 -0
  15. package/bundled/review/SKILL.md +120 -61
  16. package/chunks/MaxSizedBox-VI3ROJJA.js +84 -0
  17. package/chunks/{StandaloneSessionPicker-O6RKBPU4.js → StandaloneSessionPicker-LYXKD2EV.js} +66 -68
  18. package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-DFVPFQ6C.js} +2 -2
  19. package/chunks/{acpAgent-HYFVXVDR.js → acpAgent-WN5SRDQO.js} +1317 -542
  20. package/chunks/agent-K6ECSM64.js +80 -0
  21. package/chunks/agent-headless-NO4Y2HOE.js +74 -0
  22. package/chunks/{anthropicContentGenerator-LXUXMOE7.js → anthropicContentGenerator-V2QOGVYD.js} +61 -20
  23. package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-6K6U7XYJ.js} +4 -4
  24. package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-GD2IJJ7I.js} +4 -4
  25. package/chunks/bridge-3KJEWDNE.js +90 -0
  26. package/chunks/{build-RV63TIRH.js → build-S6DO7LMM.js} +1 -1
  27. package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
  28. package/chunks/{channel-management-service-G74LFADV.js → channel-management-service-XR7GZSWF.js} +4 -4
  29. package/chunks/channel-settings-store-HW4FXXUA.js +87 -0
  30. package/chunks/{channel-worker-group-PTJIJSKC.js → channel-worker-group-XDPTDWTX.js} +9 -5
  31. package/chunks/{channel-worker-manager-WIMGM2FD.js → channel-worker-manager-YYEHVRRE.js} +9 -5
  32. package/chunks/{channel-worker-supervisor-KUFTR6P5.js → channel-worker-supervisor-74HTWA2G.js} +5 -4
  33. package/chunks/{chunk-M5JM7OSF.js → chunk-2DN4J57Y.js} +2 -3
  34. package/chunks/{chunk-WDSWXQU3.js → chunk-2FAK6PNM.js} +2 -2
  35. package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
  36. package/chunks/{chunk-EPDRMGT4.js → chunk-2LKVPASC.js} +4 -28
  37. package/chunks/{chunk-PWTZEM3C.js → chunk-2LQTH543.js} +3 -37
  38. package/chunks/{chunk-PANH4R3B.js → chunk-2N7CODY5.js} +18 -12
  39. package/chunks/{chunk-ER5LWJR6.js → chunk-2XSLTRFZ.js} +3 -3
  40. package/chunks/{chunk-6PSLCFQ2.js → chunk-3EFXSQCM.js} +18 -9
  41. package/chunks/{chunk-HIJQF5B5.js → chunk-3L2SPEBH.js} +1 -1
  42. package/chunks/{chunk-BIQWWWJN.js → chunk-4G2BISNC.js} +1 -1
  43. package/chunks/{chunk-B4UMZKMU.js → chunk-52ZSWYEG.js} +1 -1
  44. package/chunks/{chunk-YAF5VNU7.js → chunk-5KTQXHPY.js} +4 -5
  45. package/chunks/{chunk-2YZJCM5T.js → chunk-5MKRTI4T.js} +4 -4
  46. package/chunks/{chunk-DHHOYAPR.js → chunk-5TBMQLGG.js} +7 -7
  47. package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
  48. package/chunks/{chunk-FY3M44RD.js → chunk-5YKDXHUY.js} +3 -3
  49. package/chunks/{chunk-TF2X2WCT.js → chunk-5ZF5XXTS.js} +2 -2
  50. package/chunks/{chunk-K4XWPEWB.js → chunk-64LQLPL7.js} +4 -33
  51. package/chunks/{chunk-B7QDM6Z7.js → chunk-657BH7VM.js} +2 -2
  52. package/chunks/{chunk-5THCYPLO.js → chunk-65PQENQP.js} +14 -7
  53. package/chunks/{chunk-J6D3VXCC.js → chunk-6PE7N3A4.js} +17 -6
  54. package/chunks/{chunk-JZA3JUDJ.js → chunk-6QIGFD5W.js} +1 -1
  55. package/chunks/{chunk-Z5BLYMZM.js → chunk-6RPMI2AB.js} +6 -6
  56. package/chunks/{chunk-OHNBB4XR.js → chunk-75GFAX4R.js} +1 -1
  57. package/chunks/{chunk-BO4XCS7P.js → chunk-75MIQ3LV.js} +20 -85
  58. package/chunks/{chunk-52O2CIUL.js → chunk-7AEJDLRA.js} +130 -5
  59. package/chunks/{chunk-BYFNTGKI.js → chunk-7BAU433D.js} +2287 -941
  60. package/chunks/{chunk-ZE5WPL4I.js → chunk-7DXQIJID.js} +3 -3
  61. package/chunks/{chunk-ML52PL6O.js → chunk-7I5GTCT4.js} +483 -248
  62. package/chunks/{chunk-A5L3JMUA.js → chunk-7XATOOE7.js} +18 -4
  63. package/chunks/{chunk-C3NS4F2Q.js → chunk-A2D5BAVP.js} +1 -1
  64. package/chunks/{chunk-5I2IWRSH.js → chunk-A3NDJ5SB.js} +2 -2
  65. package/chunks/{chunk-2JM6GZ5D.js → chunk-A4COXFB3.js} +8 -13
  66. package/chunks/{chunk-CC4N4M36.js → chunk-AQIDMUGU.js} +1 -1
  67. package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
  68. package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
  69. package/chunks/{chunk-BJX6ZSUK.js → chunk-BCZFQXWK.js} +2 -2
  70. package/chunks/{chunk-SRZ6DXVG.js → chunk-BGTQCTQW.js} +44 -136
  71. package/chunks/{chunk-PSWQZHEA.js → chunk-BMFALVGQ.js} +1 -1
  72. package/chunks/{chunk-XHRTVPG2.js → chunk-BNWB5CYE.js} +7 -7
  73. package/chunks/{chunk-P5V4T7NK.js → chunk-BPZKP57P.js} +11 -3
  74. package/chunks/{chunk-2OM7GEXO.js → chunk-CAPPWD3X.js} +3 -3
  75. package/chunks/{chunk-LNURQEMZ.js → chunk-CQL64ESB.js} +7 -7
  76. package/chunks/{chunk-TOFQCPDC.js → chunk-CVHIL5IG.js} +4 -5
  77. package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
  78. package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
  79. package/chunks/{chunk-SQBYH7PX.js → chunk-DZLYR4U3.js} +1 -1
  80. package/chunks/{chunk-JALU3ZDU.js → chunk-EIF3FXTB.js} +117 -24
  81. package/chunks/{chunk-TQCBGUHN.js → chunk-EJGJIBRS.js} +5 -5
  82. package/chunks/{chunk-5U4IPFBR.js → chunk-EVKE2FZL.js} +4 -4
  83. package/chunks/{chunk-OKY7HXPG.js → chunk-FNMZK765.js} +2 -2
  84. package/chunks/{chunk-KU5XMLDK.js → chunk-FTD6DP4T.js} +3 -1
  85. package/chunks/chunk-FYJ7W2PI.js +194 -0
  86. package/chunks/{chunk-L5UHQJTJ.js → chunk-GATT5TKW.js} +1 -1
  87. package/chunks/{chunk-MVS3NS2N.js → chunk-GEBV2JGB.js} +28 -5
  88. package/chunks/{chunk-VAK25FTU.js → chunk-GKX7E4CO.js} +1 -1
  89. package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
  90. package/chunks/{chunk-N3FAY5CM.js → chunk-GNR2RNMP.js} +157 -4
  91. package/chunks/{chunk-YH6G52F2.js → chunk-GXIJHV66.js} +4 -4
  92. package/chunks/{chunk-HV3G62R6.js → chunk-GZ3RCT54.js} +1 -1
  93. package/chunks/{chunk-QY5MMZ6O.js → chunk-HMRM2A3U.js} +3 -3
  94. package/chunks/chunk-HV26XH34.js +319 -0
  95. package/chunks/{chunk-M4UKFCZ2.js → chunk-J7OACQDE.js} +193 -155
  96. package/chunks/{chunk-3HBZKBMQ.js → chunk-JFMA7Y5M.js} +5 -5
  97. package/chunks/{chunk-OJGCZBB7.js → chunk-JHNRZMHI.js} +41 -36
  98. package/chunks/{chunk-63P4EL5V.js → chunk-JMONIXMJ.js} +1 -1
  99. package/chunks/{chunk-L26JL52R.js → chunk-JSD33JG6.js} +47 -64
  100. package/chunks/{chunk-KIUFNBHR.js → chunk-JTV5K7NH.js} +1 -1
  101. package/chunks/{chunk-PHVR5UUY.js → chunk-JX27F6QS.js} +1 -1
  102. package/chunks/chunk-JYBU6YUE.js +378 -0
  103. package/chunks/{chunk-A6UO2C7C.js → chunk-KAMYKP7E.js} +167 -81
  104. package/chunks/{chunk-LG4GZIVV.js → chunk-KCO4FLFJ.js} +4 -4
  105. package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
  106. package/chunks/{chunk-RHLZR4E5.js → chunk-LGAOC3ZS.js} +1 -1
  107. package/chunks/{chunk-DM22XS4K.js → chunk-LO4ROVP4.js} +261 -15
  108. package/chunks/{chunk-NH6KE4JX.js → chunk-LW3RFMG7.js} +3 -3
  109. package/chunks/{chunk-J56UI34H.js → chunk-M7OONWYU.js} +2 -2
  110. package/chunks/{chunk-V6VRAM7B.js → chunk-MHAIJPTD.js} +12 -12
  111. package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
  112. package/chunks/{chunk-LZEMEFKY.js → chunk-MR5EAQ5M.js} +1 -1
  113. package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
  114. package/chunks/{chunk-H5FFA6TH.js → chunk-NOKIVHOL.js} +16 -3
  115. package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
  116. package/chunks/{chunk-B6ZJ7SI6.js → chunk-OCESJA77.js} +391 -328
  117. package/chunks/chunk-OCPBI7J5.js +18 -0
  118. package/chunks/{chunk-E5TUC6CA.js → chunk-OKF7JF3R.js} +3 -3
  119. package/chunks/{chunk-2Q3OT4OV.js → chunk-P4WOAOJW.js} +141 -64
  120. package/chunks/{chunk-4M377AZG.js → chunk-PB3MBFKG.js} +6 -6
  121. package/chunks/{chunk-QPDRAXDJ.js → chunk-PLDQBIO6.js} +1 -1
  122. package/chunks/{chunk-FNQ6T3CV.js → chunk-PONHVBRT.js} +10 -7
  123. package/chunks/{chunk-RWS5VYWC.js → chunk-PT722TDT.js} +267 -378
  124. package/chunks/chunk-Q43KPN7X.js +2196 -0
  125. package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
  126. package/chunks/{chunk-SASBXAQL.js → chunk-QIZKCVM3.js} +4 -4
  127. package/chunks/{chunk-32MVHM4T.js → chunk-RCUQIPTN.js} +1 -1
  128. package/chunks/{chunk-6FGBXPWM.js → chunk-RPLGZJV2.js} +38 -44
  129. package/chunks/{chunk-3IXOIAKE.js → chunk-S4WJVPZW.js} +18 -6
  130. package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
  131. package/chunks/{chunk-INADJJGW.js → chunk-S7W2GKIO.js} +0 -2
  132. package/chunks/{chunk-MUP3T3AD.js → chunk-SGFT55XI.js} +1 -35
  133. package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
  134. package/chunks/chunk-T26EAKDL.js +13 -0
  135. package/chunks/{chunk-3MSHSCSN.js → chunk-T2QMKU3R.js} +79 -1
  136. package/chunks/{chunk-VFSJ5VRH.js → chunk-T3O2B4XO.js} +3 -3
  137. package/chunks/{chunk-MSLKI6C2.js → chunk-T4TXDL7G.js} +32 -21
  138. package/chunks/{chunk-E5WH5O3C.js → chunk-TBBV36Y4.js} +4 -4
  139. package/chunks/{chunk-VV6XU5L7.js → chunk-TCIFAA7K.js} +16 -11
  140. package/chunks/{chunk-DN6ZX5AY.js → chunk-TDL6LB4K.js} +46 -11
  141. package/chunks/{chunk-W4CQXHT6.js → chunk-TFRMVU6R.js} +1 -1
  142. package/chunks/{chunk-GDIPH4JY.js → chunk-TV64SXKD.js} +6 -6
  143. package/chunks/{chunk-FQK6JAFG.js → chunk-U3E3UQAA.js} +4 -4
  144. package/chunks/{chunk-7FZEBPKS.js → chunk-UBEPNVDI.js} +23 -18
  145. package/chunks/{chunk-NL7LTRLR.js → chunk-UHUSJ6X7.js} +29 -68
  146. package/chunks/{chunk-ZOIFNCKL.js → chunk-UPUG4GXM.js} +3 -23
  147. package/chunks/{chunk-6GMVPFB2.js → chunk-UWMLWVCA.js} +19 -6
  148. package/chunks/{chunk-U7TXFVUN.js → chunk-VCPIZRYH.js} +118 -95
  149. package/chunks/{chunk-LNARWLZQ.js → chunk-VWOOBLTY.js} +2 -2
  150. package/chunks/{chunk-I7XZ3RY5.js → chunk-VYOXCEPJ.js} +1 -1
  151. package/chunks/{chunk-USTWD7QV.js → chunk-W4MIWP6M.js} +26 -16
  152. package/chunks/{chunk-DLWL3Z7A.js → chunk-WBSMNTSV.js} +3 -3
  153. package/chunks/{chunk-G4WFQUYQ.js → chunk-WUZ7H6DP.js} +1 -1
  154. package/chunks/{chunk-2JZBVYTU.js → chunk-WZRWHXFE.js} +1 -8
  155. package/chunks/{chunk-DM4Q4JJH.js → chunk-X5WNMMIA.js} +22506 -33611
  156. package/chunks/{chunk-MK7VQDN3.js → chunk-XBYYDKAZ.js} +7 -6
  157. package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
  158. package/chunks/{chunk-BRRAJXPA.js → chunk-XFZYFU3I.js} +1 -1
  159. package/chunks/{chunk-3QMGYBFN.js → chunk-XWWKIXVD.js} +1 -80
  160. package/chunks/{chunk-3SJ43L4W.js → chunk-XZC5VLBZ.js} +2 -0
  161. package/chunks/{chunk-UUUTRMI2.js → chunk-Y4IHBGBP.js} +1 -1
  162. package/chunks/{chunk-PR75REBZ.js → chunk-Y6AXW2OG.js} +12 -82
  163. package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
  164. package/chunks/{chunk-3JAQDSXN.js → chunk-YGF33UXG.js} +70 -8
  165. package/chunks/chunk-Z4X5MTRT.js +133 -0
  166. package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
  167. package/chunks/{chunk-ZD6UTE4A.js → chunk-ZHBO7WVX.js} +1 -1
  168. package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
  169. package/chunks/{chunk-66RMLJHC.js → chunk-ZURDMIDR.js} +355 -143
  170. package/chunks/{computer-use-DOFAHZAB.js → computer-use-ZTIDHMMA.js} +48 -50
  171. package/chunks/{config-utils-VFQXVGNR.js → config-utils-NYSXDMEQ.js} +4 -4
  172. package/chunks/contextCommand-2PIEU37Z.js +79 -0
  173. package/chunks/core-runtime-3XEYLQFK.js +133 -0
  174. package/chunks/{create-sub-session-7543K2QA.js → create-sub-session-R76FVXCI.js} +45 -47
  175. package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-SBYUMSSS.js} +3 -3
  176. package/chunks/{cron-create-YIID5XAW.js → cron-create-2QK6TCEC.js} +6 -6
  177. package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-FDCDFYMG.js} +5 -5
  178. package/chunks/{cron-list-XEGS463Q.js → cron-list-XN3WVBTP.js} +6 -6
  179. package/chunks/{daemon-VOMQW7KZ.js → daemon-Q2AB5Z23.js} +167 -15
  180. package/chunks/daemon-status-provider-3XJI6CAL.js +89 -0
  181. package/chunks/daemon-trust-policy-ILUDTLHD.js +84 -0
  182. package/chunks/daemon-trust-policy-monitor-HS3PKKRO.js +171 -0
  183. package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
  184. package/chunks/deferred-core-runtime-X4QV662U.js +88 -0
  185. package/chunks/dist-BSTVRPMT.js +4227 -0
  186. package/chunks/{dist-NNVBBOGU.js → dist-DOLYHMXE.js} +2 -2
  187. package/chunks/{dist-RTJFMNEZ.js → dist-HVRQ2CFL.js} +271 -11
  188. package/chunks/{dist-ANLAT3GS.js → dist-IXQEQWRG.js} +2 -1
  189. package/chunks/{dist-BRB6EXK4.js → dist-SSU66DM4.js} +3 -3
  190. package/chunks/{dist-KTYYJ2C5.js → dist-SV7Q3AWJ.js} +1 -1
  191. package/chunks/{dist-K6Y4E7FX.js → dist-YGBBMK3Z.js} +1 -1
  192. package/chunks/earlyInputCapture-XKLZT7ZD.js +81 -0
  193. package/chunks/{edit-RIEOJWKB.js → edit-HHGIOTQ2.js} +47 -49
  194. package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
  195. package/chunks/{enter-worktree-OGK5FQ3R.js → enter-worktree-ZN7PUQ46.js} +47 -49
  196. package/chunks/{enterPlanMode-IWZYALIB.js → enterPlanMode-EIFIDSIV.js} +47 -49
  197. package/chunks/{environment-VZ7BRI4Q.js → environment-XXQ75D2Q.js} +47 -49
  198. package/chunks/errors-4GMVU7CK.js +87 -0
  199. package/chunks/esm-K5FARBNI.js +5548 -0
  200. package/chunks/{exit-worktree-4TEYVIVP.js → exit-worktree-GXMI4ATY.js} +47 -49
  201. package/chunks/exitPlanMode-34UVY7M6.js +72 -0
  202. package/chunks/{fast-path-HYE7IFEV.js → fast-path-VPIVA7L6.js} +13 -3
  203. package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
  204. package/chunks/{gemini-NGRQX3YJ.js → gemini-4BWIK4WD.js} +103 -103
  205. package/chunks/{geminiContentGenerator-FQHPFZSR.js → geminiContentGenerator-3XVV5MSS.js} +7 -7
  206. package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
  207. package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
  208. package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
  209. package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
  210. package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
  211. package/chunks/{glob-FRTM3X2E.js → glob-TZ2ABCJG.js} +47 -49
  212. package/chunks/{grep-RKWVROCW.js → grep-BEF463NA.js} +49 -50
  213. package/chunks/handleAutoUpdate-L6ERF36Y.js +80 -0
  214. package/chunks/i18n-FMM5FDXR.js +96 -0
  215. package/chunks/{image-gen-WIEM7KZA.js → image-gen-HHVLF7HS.js} +12 -12
  216. package/chunks/initializer-625TIAIO.js +85 -0
  217. package/chunks/installationInfo-6AM4I2Y3.js +79 -0
  218. package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
  219. package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-72IYCAZV.js} +3 -3
  220. package/chunks/lib-RUF3WZA6.js +9 -0
  221. package/chunks/list-L2GA674Y.js +88 -0
  222. package/chunks/{list-agents-5KJJHR6I.js → list-agents-R6KDXQR3.js} +3 -3
  223. package/chunks/loadedSettingsAdapter-SPUTNKAV.js +82 -0
  224. package/chunks/{loggingContentGenerator-WGM27QAW.js → loggingContentGenerator-LKOF7XI7.js} +31 -30
  225. package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-3IQKCYAH.js} +7 -7
  226. package/chunks/{ls-NTK6VOQJ.js → ls-DKZ37A7N.js} +5 -5
  227. package/chunks/{lsp-2JI24STP.js → lsp-QNWN7KN3.js} +3 -3
  228. package/chunks/{managed-npm-update-JQ2CG3RH.js → managed-npm-update-ACQGGIN5.js} +46 -48
  229. package/chunks/mcp-SZLHKFJW.js +82 -0
  230. package/chunks/{monitor-7FEWXX5F.js → monitor-DF52UVHI.js} +47 -49
  231. package/chunks/nonInteractiveCli-5T7KYKLK.js +144 -0
  232. package/chunks/{notebook-edit-JGJV2K6J.js → notebook-edit-FCWS4XVN.js} +47 -49
  233. package/chunks/{openaiContentGenerator-JPVXDTAO.js → openaiContentGenerator-7LDK3DCJ.js} +25 -27
  234. package/chunks/pidfile-6ERW3DF4.js +85 -0
  235. package/chunks/process-registry-2CHQBXH5.js +157 -0
  236. package/chunks/{processUtils-V2LCK6T6.js → processUtils-COKZAMUP.js} +2 -2
  237. package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
  238. package/chunks/{qwenContentGenerator-TICV2W2Z.js → qwenContentGenerator-TKWUMR7N.js} +51 -53
  239. package/chunks/{qwenOAuth2-XGFI5XJG.js → qwenOAuth2-7HMU47SF.js} +10 -10
  240. package/chunks/read-file-X6DRC574.js +29 -0
  241. package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-GFTWYXMK.js} +4 -4
  242. package/chunks/{record-artifact-RQKFYO5B.js → record-artifact-XAMSFSW4.js} +3 -3
  243. package/chunks/resumeHistoryUtils-PFPM2GWM.js +90 -0
  244. package/chunks/ripGrep-OWV2IVJC.js +72 -0
  245. package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
  246. package/chunks/{run-qwen-serve-3VCV4I7E.js → run-qwen-serve-TSTCO4XE.js} +917 -249
  247. package/chunks/{runtime-AXJWIEDU.js → runtime-DAUPSUKI.js} +55 -57
  248. package/chunks/{scheduler-RS2I6RU5.js → scheduler-KMADMT26.js} +45 -47
  249. package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
  250. package/chunks/{sdk-exporters-http-FS6ZV7MF.js → sdk-exporters-http-WO556XNU.js} +7 -7
  251. package/chunks/{sdk-impl-7FZSCSXB.js → sdk-impl-LPAVACSF.js} +10 -10
  252. package/chunks/{send-message-Q6OOR6BR.js → send-message-SAWK4DZX.js} +6 -6
  253. package/chunks/serve-NNRWS6F4.js +88 -0
  254. package/chunks/{server-HRZ23U7M.js → server-WEH7DVCH.js} +3304 -842
  255. package/chunks/{session-7XHZKTVV.js → session-WXC56V2I.js} +94 -94
  256. package/chunks/{settings-7ZGZDXAS.js → settings-DJDXFDZ3.js} +54 -56
  257. package/chunks/shell-JN5VRQXD.js +82 -0
  258. package/chunks/{skill-LIWXNLDW.js → skill-SGXPKJCS.js} +20 -22
  259. package/chunks/skill-settings-VJ5PDMZI.js +90 -0
  260. package/chunks/spawnChannel-ETMJW7YX.js +81 -0
  261. package/chunks/standalone-update-MK3Z7KBI.js +91 -0
  262. package/chunks/{startInteractiveUI-IW3CSKHA.js → startInteractiveUI-ZCGIXPGT.js} +715 -373
  263. package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-355CB6CJ.js} +4 -4
  264. package/chunks/{task-create-N7WQSGYA.js → task-create-INGWNUG4.js} +10 -10
  265. package/chunks/{task-list-FOPULZEP.js → task-list-5XNNGTF4.js} +7 -7
  266. package/chunks/{task-stop-H6RHXFVQ.js → task-stop-4ROAOBXH.js} +3 -3
  267. package/chunks/{task-update-M57TFZJT.js → task-update-CRK5VWWZ.js} +10 -10
  268. package/chunks/{team-create-O2FROQ4R.js → team-create-QQGAJG7P.js} +49 -51
  269. package/chunks/{team-delete-QE2UXJL7.js → team-delete-S2RCXA4P.js} +7 -7
  270. package/chunks/{team-plan-approval-Q6WDBXTQ.js → team-plan-approval-RT7Q5R6O.js} +47 -49
  271. package/chunks/theme-manager-EEWIQJ7J.js +76 -0
  272. package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-7WM3VDMY.js} +7 -7
  273. package/chunks/{tool-search-APECNQ3Z.js → tool-search-Z3Z4AYKP.js} +19 -21
  274. package/chunks/total-session-admission-44JKRWQD.js +84 -0
  275. package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
  276. package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  277. package/chunks/trustedFolders-X2JEIO57.js +94 -0
  278. package/chunks/{update-relaunch-ON5MDJQG.js → update-relaunch-VWNPYDIP.js} +5 -5
  279. package/chunks/updateCheck-KAQH67DV.js +91 -0
  280. package/chunks/useAutoAcceptIndicator-JH6BCF7S.js +92 -0
  281. package/chunks/{validateNonInterActiveAuth-JBLKBKRD.js → validateNonInterActiveAuth-GIUJ2UFS.js} +88 -88
  282. package/chunks/{version-LTNUBQJY.js → version-BGLYIJUY.js} +1 -1
  283. package/chunks/{web-fetch-L5UTI53V.js → web-fetch-OTDU4VQF.js} +19 -21
  284. package/chunks/{web-search-KM33JOS3.js → web-search-FP6SIHPR.js} +13 -13
  285. package/chunks/{workflow-K7FAWV77.js → workflow-YCIVBYSB.js} +48 -50
  286. package/chunks/workspace-providers-status-S35YAIUS.js +85 -0
  287. package/chunks/{workspace-registration-store-6TGVDJV5.js → workspace-registration-store-OTMS3H4C.js} +1 -1
  288. package/chunks/workspace-registry-O63R6IZ4.js +92 -0
  289. package/chunks/workspace-service-M6LLHKJ5.js +99 -0
  290. package/chunks/workspace-skills-status-C2V7BAIS.js +85 -0
  291. package/chunks/workspace-trust-reconciler-IBUPOUJN.js +345 -0
  292. package/chunks/write-file-3BZC3EAE.js +72 -0
  293. package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
  294. package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
  295. package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
  296. package/chunks/zoom-image-TZ6S2O57.js +351 -0
  297. package/cli.js +13 -13
  298. package/locales/ca.js +7 -2
  299. package/locales/de.js +7 -2
  300. package/locales/en.js +10 -2
  301. package/locales/fr.js +7 -2
  302. package/locales/ja.js +7 -2
  303. package/locales/pt.js +7 -2
  304. package/locales/ru.js +7 -2
  305. package/locales/zh-TW.js +10 -2
  306. package/locales/zh.js +10 -2
  307. package/package.json +5 -4
  308. package/web-shell/assets/{arc-BbHijhiN.js → arc-75-Wdeo3.js} +1 -1
  309. package/web-shell/assets/{architectureDiagram-3BPJPVTR-Cb4B_JD0.js → architectureDiagram-3BPJPVTR-FKeXQbyP.js} +1 -1
  310. package/web-shell/assets/{blockDiagram-GPEHLZMM-Dsjlh3H-.js → blockDiagram-GPEHLZMM-CY0vc-A3.js} +1 -1
  311. package/web-shell/assets/{c4Diagram-AAUBKEIU-Cp5AeR4U.js → c4Diagram-AAUBKEIU-CNP-A-8u.js} +1 -1
  312. package/web-shell/assets/channel-DPYMT76A.js +1 -0
  313. package/web-shell/assets/{chunk-2J33WTMH-CLcY7W2e.js → chunk-2J33WTMH-GybS4Gii.js} +1 -1
  314. package/web-shell/assets/{chunk-4BX2VUAB-BUhvY2LR.js → chunk-4BX2VUAB-02H91V8v.js} +1 -1
  315. package/web-shell/assets/{chunk-55IACEB6-kDIFC_71.js → chunk-55IACEB6-D3M-2VT6.js} +1 -1
  316. package/web-shell/assets/{chunk-727SXJPM-CIBO15f2.js → chunk-727SXJPM-CCu29u4H.js} +1 -1
  317. package/web-shell/assets/{chunk-AQP2D5EJ-BJ_T_slV.js → chunk-AQP2D5EJ-CaFKWgrn.js} +1 -1
  318. package/web-shell/assets/{chunk-FMBD7UC4-BEkW35J8.js → chunk-FMBD7UC4-ZZpPqIwQ.js} +1 -1
  319. package/web-shell/assets/{chunk-ND2GUHAM-GGPxofay.js → chunk-ND2GUHAM-D22DqGs8.js} +1 -1
  320. package/web-shell/assets/{chunk-QZHKN3VN-Bifllrb6.js → chunk-QZHKN3VN-Bu85S0fw.js} +1 -1
  321. package/web-shell/assets/classDiagram-4FO5ZUOK--JstsIgL.js +1 -0
  322. package/web-shell/assets/classDiagram-v2-Q7XG4LA2--JstsIgL.js +1 -0
  323. package/web-shell/assets/{cose-bilkent-S5V4N54A-C-Add_Dp.js → cose-bilkent-S5V4N54A-f1CK1Gwe.js} +1 -1
  324. package/web-shell/assets/{dagre-BM42HDAG-B7MfwNq2.js → dagre-BM42HDAG-D0Ow8F_n.js} +1 -1
  325. package/web-shell/assets/{diagram-2AECGRRQ-CY_0zuDz.js → diagram-2AECGRRQ-BPrmTWp8.js} +1 -1
  326. package/web-shell/assets/{diagram-5GNKFQAL-VyYSbCgA.js → diagram-5GNKFQAL-HccuFAzy.js} +1 -1
  327. package/web-shell/assets/{diagram-KO2AKTUF-CBiIZ2PL.js → diagram-KO2AKTUF-BrS76mbA.js} +1 -1
  328. package/web-shell/assets/{diagram-LMA3HP47-BL3CrVOx.js → diagram-LMA3HP47-V7T9lU-5.js} +1 -1
  329. package/web-shell/assets/{diagram-OG6HWLK6-CZUPx96P.js → diagram-OG6HWLK6-DKidyJMR.js} +1 -1
  330. package/web-shell/assets/{erDiagram-TEJ5UH35-B81xHr1-.js → erDiagram-TEJ5UH35-DBadZIkp.js} +1 -1
  331. package/web-shell/assets/{flowDiagram-I6XJVG4X-EZWhir-J.js → flowDiagram-I6XJVG4X-BymfqdNJ.js} +1 -1
  332. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CVFSuIAg.js → ganttDiagram-6RSMTGT7-DOw340jf.js} +1 -1
  333. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-C1H2uQDv.js → gitGraphDiagram-PVQCEYII-_8EiD8sl.js} +1 -1
  334. package/web-shell/assets/{index-BYo99NBH.js → index-CKIadvET.js} +1 -1
  335. package/web-shell/assets/index-D1eXNRHe.js +1389 -0
  336. package/web-shell/assets/index-DVLD4CQq.css +5 -0
  337. package/web-shell/assets/{infoDiagram-5YYISTIA-BwyFMlF8.js → infoDiagram-5YYISTIA-D61KYQBu.js} +1 -1
  338. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CQ7Yhn2Y.js → ishikawaDiagram-YF4QCWOH-CsiXSpNx.js} +1 -1
  339. package/web-shell/assets/{journeyDiagram-JHISSGLW-CJn2sf0l.js → journeyDiagram-JHISSGLW-Sdfionyh.js} +1 -1
  340. package/web-shell/assets/{kanban-definition-UN3LZRKU-DaNRqwVN.js → kanban-definition-UN3LZRKU-C3WI3Cnl.js} +1 -1
  341. package/web-shell/assets/{linear-DCKODZe2.js → linear-Dpigcc62.js} +1 -1
  342. package/web-shell/assets/{mermaid.core-CTGJOk27.js → mermaid.core-Ct97pqgW.js} +5 -5
  343. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BKU3_3rg.js → mindmap-definition-RKZ34NQL-BzeaN0rB.js} +1 -1
  344. package/web-shell/assets/{pieDiagram-4H26LBE5-COcwBJ82.js → pieDiagram-4H26LBE5-CvjgcbVD.js} +1 -1
  345. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CQnQ443x.js → quadrantDiagram-W4KKPZXB-BUzgTNdH.js} +1 -1
  346. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CZ2oj5cD.js → requirementDiagram-4Y6WPE33-B7zKlgUQ.js} +1 -1
  347. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BxAv5mNu.js → sankeyDiagram-5OEKKPKP-Bb9CQgrT.js} +1 -1
  348. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CztaySPs.js → sequenceDiagram-3UESZ5HK-DJ6V7itG.js} +1 -1
  349. package/web-shell/assets/{stateDiagram-AJRCARHV-CTQT1oGD.js → stateDiagram-AJRCARHV-IImflERY.js} +1 -1
  350. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CYI_YoNR.js +1 -0
  351. package/web-shell/assets/{timeline-definition-PNZ67QCA-K9Mkex5A.js → timeline-definition-PNZ67QCA-6Q_uWHKh.js} +1 -1
  352. package/web-shell/assets/{vennDiagram-CIIHVFJN-B2rVIw76.js → vennDiagram-CIIHVFJN-TmyKyjwv.js} +1 -1
  353. package/web-shell/assets/{wardley-L42UT6IY-Z1w2JR4M.js → wardley-L42UT6IY-CRh9uiPv.js} +1 -1
  354. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CIX9aKXf.js → wardleyDiagram-YWT4CUSO-59TKAW8w.js} +1 -1
  355. package/web-shell/assets/{xychartDiagram-2RQKCTM6-CI9DLIKB.js → xychartDiagram-2RQKCTM6-GCSUIK2L.js} +1 -1
  356. package/web-shell/index.html +2 -2
  357. package/chunks/MaxSizedBox-INHRH72H.js +0 -86
  358. package/chunks/agent-VXDAN5JK.js +0 -82
  359. package/chunks/agent-headless-K4ZMMNBD.js +0 -76
  360. package/chunks/bridge-LGPZCFHO.js +0 -91
  361. package/chunks/channel-settings-store-CHCDRTPY.js +0 -89
  362. package/chunks/chunk-SZRN75WQ.js +0 -29
  363. package/chunks/chunk-UGYMA4EI.js +0 -219
  364. package/chunks/chunk-VCBZUOSI.js +0 -8575
  365. package/chunks/contextCommand-QIZYHDR5.js +0 -81
  366. package/chunks/daemon-status-provider-OS5UWBHV.js +0 -90
  367. package/chunks/earlyInputCapture-WQT24RWD.js +0 -83
  368. package/chunks/errors-PCX25DVP.js +0 -89
  369. package/chunks/exitPlanMode-GHPUHBZJ.js +0 -423
  370. package/chunks/handleAutoUpdate-2CZQRJ66.js +0 -82
  371. package/chunks/i18n-XEQVMRKN.js +0 -98
  372. package/chunks/initializer-OVGZ4FLY.js +0 -87
  373. package/chunks/installationInfo-5UUQJI6Y.js +0 -81
  374. package/chunks/list-HODU6RXD.js +0 -90
  375. package/chunks/loadedSettingsAdapter-TYNLBALY.js +0 -84
  376. package/chunks/mcp-J3DFWX4A.js +0 -84
  377. package/chunks/nonInteractiveCli-F4GYSMHT.js +0 -144
  378. package/chunks/pidfile-4VNAR3EP.js +0 -87
  379. package/chunks/read-file-LZXUR4TO.js +0 -31
  380. package/chunks/resumeHistoryUtils-65OX3SGJ.js +0 -92
  381. package/chunks/ripGrep-2U2FRGMV.js +0 -74
  382. package/chunks/serve-W2GC47CM.js +0 -90
  383. package/chunks/shell-45IPBDP5.js +0 -84
  384. package/chunks/spawnChannel-PVXQ5AGV.js +0 -83
  385. package/chunks/src-AY65BYR7.js +0 -3166
  386. package/chunks/standalone-update-ZMFNKAEY.js +0 -93
  387. package/chunks/theme-manager-YYPZFBAH.js +0 -78
  388. package/chunks/total-session-admission-JXES723M.js +0 -85
  389. package/chunks/trustedFolders-HVI7IXUH.js +0 -94
  390. package/chunks/updateCheck-WUJGHWZZ.js +0 -93
  391. package/chunks/useAutoAcceptIndicator-CHSTZLZD.js +0 -94
  392. package/chunks/workspace-providers-status-GAKSF4LL.js +0 -87
  393. package/chunks/workspace-registry-A7NQUONG.js +0 -89
  394. package/chunks/workspace-service-STGVSO4N.js +0 -99
  395. package/chunks/workspace-skills-status-66AK3DUA.js +0 -86
  396. package/chunks/write-file-HUUCEG4P.js +0 -74
  397. package/web-shell/assets/channel-Bzdx6E8P.js +0 -1
  398. package/web-shell/assets/classDiagram-4FO5ZUOK-Cd6wbiuK.js +0 -1
  399. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cd6wbiuK.js +0 -1
  400. package/web-shell/assets/index-B2bXx96W.js +0 -1249
  401. package/web-shell/assets/index-_8mKjx8q.css +0 -5
  402. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BjMdT6E_.js +0 -1
  403. package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
  404. package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
  405. /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
@@ -0,0 +1,4227 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ PollingChannelBase
5
+ } from "./chunk-7I5GTCT4.js";
6
+ import "./chunk-UDXSXLER.js";
7
+ import "./chunk-H6XPXXMH.js";
8
+ import {
9
+ require_dist
10
+ } from "./chunk-75DOP5OR.js";
11
+ import "./chunk-DMTGGOSA.js";
12
+ import "./chunk-YQ3U5MUC.js";
13
+ import {
14
+ init_esbuild_shims
15
+ } from "./chunk-5O2XNYP6.js";
16
+ import {
17
+ __commonJS,
18
+ __name,
19
+ __toESM
20
+ } from "./chunk-J2S4EL5Y.js";
21
+
22
+ // node_modules/fast-content-type-parse/index.js
23
+ var require_fast_content_type_parse = __commonJS({
24
+ "node_modules/fast-content-type-parse/index.js"(exports, module) {
25
+ "use strict";
26
+ init_esbuild_shims();
27
+ var NullObject = /* @__PURE__ */ __name(function NullObject2() {
28
+ }, "NullObject");
29
+ NullObject.prototype = /* @__PURE__ */ Object.create(null);
30
+ var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;
31
+ var quotedPairRE = /\\([\v\u0020-\u00ff])/gu;
32
+ var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;
33
+ var defaultContentType = { type: "", parameters: new NullObject() };
34
+ Object.freeze(defaultContentType.parameters);
35
+ Object.freeze(defaultContentType);
36
+ function parse2(header) {
37
+ if (typeof header !== "string") {
38
+ throw new TypeError("argument header is required and must be a string");
39
+ }
40
+ let index = header.indexOf(";");
41
+ const type = index !== -1 ? header.slice(0, index).trim() : header.trim();
42
+ if (mediaTypeRE.test(type) === false) {
43
+ throw new TypeError("invalid media type");
44
+ }
45
+ const result = {
46
+ type: type.toLowerCase(),
47
+ parameters: new NullObject()
48
+ };
49
+ if (index === -1) {
50
+ return result;
51
+ }
52
+ let key;
53
+ let match;
54
+ let value;
55
+ paramRE.lastIndex = index;
56
+ while (match = paramRE.exec(header)) {
57
+ if (match.index !== index) {
58
+ throw new TypeError("invalid parameter format");
59
+ }
60
+ index += match[0].length;
61
+ key = match[1].toLowerCase();
62
+ value = match[2];
63
+ if (value[0] === '"') {
64
+ value = value.slice(1, value.length - 1);
65
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
66
+ }
67
+ result.parameters[key] = value;
68
+ }
69
+ if (index !== header.length) {
70
+ throw new TypeError("invalid parameter format");
71
+ }
72
+ return result;
73
+ }
74
+ __name(parse2, "parse");
75
+ function safeParse2(header) {
76
+ if (typeof header !== "string") {
77
+ return defaultContentType;
78
+ }
79
+ let index = header.indexOf(";");
80
+ const type = index !== -1 ? header.slice(0, index).trim() : header.trim();
81
+ if (mediaTypeRE.test(type) === false) {
82
+ return defaultContentType;
83
+ }
84
+ const result = {
85
+ type: type.toLowerCase(),
86
+ parameters: new NullObject()
87
+ };
88
+ if (index === -1) {
89
+ return result;
90
+ }
91
+ let key;
92
+ let match;
93
+ let value;
94
+ paramRE.lastIndex = index;
95
+ while (match = paramRE.exec(header)) {
96
+ if (match.index !== index) {
97
+ return defaultContentType;
98
+ }
99
+ index += match[0].length;
100
+ key = match[1].toLowerCase();
101
+ value = match[2];
102
+ if (value[0] === '"') {
103
+ value = value.slice(1, value.length - 1);
104
+ quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1"));
105
+ }
106
+ result.parameters[key] = value;
107
+ }
108
+ if (index !== header.length) {
109
+ return defaultContentType;
110
+ }
111
+ return result;
112
+ }
113
+ __name(safeParse2, "safeParse");
114
+ module.exports.default = { parse: parse2, safeParse: safeParse2 };
115
+ module.exports.parse = parse2;
116
+ module.exports.safeParse = safeParse2;
117
+ module.exports.defaultContentType = defaultContentType;
118
+ }
119
+ });
120
+
121
+ // packages/channels/github/dist/index.js
122
+ init_esbuild_shims();
123
+
124
+ // packages/channels/github/dist/GithubAdapter.js
125
+ init_esbuild_shims();
126
+ import process2 from "node:process";
127
+
128
+ // node_modules/@octokit/rest/dist-src/index.js
129
+ init_esbuild_shims();
130
+
131
+ // node_modules/@octokit/core/dist-src/index.js
132
+ init_esbuild_shims();
133
+
134
+ // node_modules/universal-user-agent/index.js
135
+ init_esbuild_shims();
136
+ function getUserAgent() {
137
+ if (typeof navigator === "object" && "userAgent" in navigator) {
138
+ return navigator.userAgent;
139
+ }
140
+ if (typeof process === "object" && process.version !== void 0) {
141
+ return `Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`;
142
+ }
143
+ return "<environment undetectable>";
144
+ }
145
+ __name(getUserAgent, "getUserAgent");
146
+
147
+ // node_modules/before-after-hook/index.js
148
+ init_esbuild_shims();
149
+
150
+ // node_modules/before-after-hook/lib/register.js
151
+ init_esbuild_shims();
152
+ function register(state, name, method, options) {
153
+ if (typeof method !== "function") {
154
+ throw new Error("method for before hook must be a function");
155
+ }
156
+ if (!options) {
157
+ options = {};
158
+ }
159
+ if (Array.isArray(name)) {
160
+ return name.reverse().reduce((callback, name2) => {
161
+ return register.bind(null, state, name2, callback, options);
162
+ }, method)();
163
+ }
164
+ return Promise.resolve().then(() => {
165
+ if (!state.registry[name]) {
166
+ return method(options);
167
+ }
168
+ return state.registry[name].reduce((method2, registered) => {
169
+ return registered.hook.bind(null, method2, options);
170
+ }, method)();
171
+ });
172
+ }
173
+ __name(register, "register");
174
+
175
+ // node_modules/before-after-hook/lib/add.js
176
+ init_esbuild_shims();
177
+ function addHook(state, kind, name, hook2) {
178
+ const orig = hook2;
179
+ if (!state.registry[name]) {
180
+ state.registry[name] = [];
181
+ }
182
+ if (kind === "before") {
183
+ hook2 = /* @__PURE__ */ __name((method, options) => {
184
+ return Promise.resolve().then(orig.bind(null, options)).then(method.bind(null, options));
185
+ }, "hook");
186
+ }
187
+ if (kind === "after") {
188
+ hook2 = /* @__PURE__ */ __name((method, options) => {
189
+ let result;
190
+ return Promise.resolve().then(method.bind(null, options)).then((result_) => {
191
+ result = result_;
192
+ return orig(result, options);
193
+ }).then(() => {
194
+ return result;
195
+ });
196
+ }, "hook");
197
+ }
198
+ if (kind === "error") {
199
+ hook2 = /* @__PURE__ */ __name((method, options) => {
200
+ return Promise.resolve().then(method.bind(null, options)).catch((error) => {
201
+ return orig(error, options);
202
+ });
203
+ }, "hook");
204
+ }
205
+ state.registry[name].push({
206
+ hook: hook2,
207
+ orig
208
+ });
209
+ }
210
+ __name(addHook, "addHook");
211
+
212
+ // node_modules/before-after-hook/lib/remove.js
213
+ init_esbuild_shims();
214
+ function removeHook(state, name, method) {
215
+ if (!state.registry[name]) {
216
+ return;
217
+ }
218
+ const index = state.registry[name].map((registered) => {
219
+ return registered.orig;
220
+ }).indexOf(method);
221
+ if (index === -1) {
222
+ return;
223
+ }
224
+ state.registry[name].splice(index, 1);
225
+ }
226
+ __name(removeHook, "removeHook");
227
+
228
+ // node_modules/before-after-hook/index.js
229
+ var bind = Function.bind;
230
+ var bindable = bind.bind(bind);
231
+ function bindApi(hook2, state, name) {
232
+ const removeHookRef = bindable(removeHook, null).apply(
233
+ null,
234
+ name ? [state, name] : [state]
235
+ );
236
+ hook2.api = { remove: removeHookRef };
237
+ hook2.remove = removeHookRef;
238
+ ["before", "error", "after", "wrap"].forEach((kind) => {
239
+ const args = name ? [state, kind, name] : [state, kind];
240
+ hook2[kind] = hook2.api[kind] = bindable(addHook, null).apply(null, args);
241
+ });
242
+ }
243
+ __name(bindApi, "bindApi");
244
+ function Singular() {
245
+ const singularHookName = Symbol("Singular");
246
+ const singularHookState = {
247
+ registry: {}
248
+ };
249
+ const singularHook = register.bind(null, singularHookState, singularHookName);
250
+ bindApi(singularHook, singularHookState, singularHookName);
251
+ return singularHook;
252
+ }
253
+ __name(Singular, "Singular");
254
+ function Collection() {
255
+ const state = {
256
+ registry: {}
257
+ };
258
+ const hook2 = register.bind(null, state);
259
+ bindApi(hook2, state);
260
+ return hook2;
261
+ }
262
+ __name(Collection, "Collection");
263
+ var before_after_hook_default = { Singular, Collection };
264
+
265
+ // node_modules/@octokit/request/dist-bundle/index.js
266
+ init_esbuild_shims();
267
+
268
+ // node_modules/@octokit/endpoint/dist-bundle/index.js
269
+ init_esbuild_shims();
270
+ var VERSION = "0.0.0-development";
271
+ var userAgent = `octokit-endpoint.js/${VERSION} ${getUserAgent()}`;
272
+ var DEFAULTS = {
273
+ method: "GET",
274
+ baseUrl: "https://api.github.com",
275
+ headers: {
276
+ accept: "application/vnd.github.v3+json",
277
+ "user-agent": userAgent
278
+ },
279
+ mediaType: {
280
+ format: ""
281
+ }
282
+ };
283
+ function lowercaseKeys(object) {
284
+ if (!object) {
285
+ return {};
286
+ }
287
+ return Object.keys(object).reduce((newObj, key) => {
288
+ newObj[key.toLowerCase()] = object[key];
289
+ return newObj;
290
+ }, {});
291
+ }
292
+ __name(lowercaseKeys, "lowercaseKeys");
293
+ function isPlainObject(value) {
294
+ if (typeof value !== "object" || value === null) return false;
295
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
296
+ const proto = Object.getPrototypeOf(value);
297
+ if (proto === null) return true;
298
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
299
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
300
+ }
301
+ __name(isPlainObject, "isPlainObject");
302
+ function mergeDeep(defaults, options) {
303
+ const result = Object.assign({}, defaults);
304
+ Object.keys(options).forEach((key) => {
305
+ if (isPlainObject(options[key])) {
306
+ if (!(key in defaults)) Object.assign(result, { [key]: options[key] });
307
+ else result[key] = mergeDeep(defaults[key], options[key]);
308
+ } else {
309
+ Object.assign(result, { [key]: options[key] });
310
+ }
311
+ });
312
+ return result;
313
+ }
314
+ __name(mergeDeep, "mergeDeep");
315
+ function removeUndefinedProperties(obj) {
316
+ for (const key in obj) {
317
+ if (obj[key] === void 0) {
318
+ delete obj[key];
319
+ }
320
+ }
321
+ return obj;
322
+ }
323
+ __name(removeUndefinedProperties, "removeUndefinedProperties");
324
+ function merge(defaults, route, options) {
325
+ if (typeof route === "string") {
326
+ let [method, url] = route.split(" ");
327
+ options = Object.assign(url ? { method, url } : { url: method }, options);
328
+ } else {
329
+ options = Object.assign({}, route);
330
+ }
331
+ options.headers = lowercaseKeys(options.headers);
332
+ removeUndefinedProperties(options);
333
+ removeUndefinedProperties(options.headers);
334
+ const mergedOptions = mergeDeep(defaults || {}, options);
335
+ if (options.url === "/graphql") {
336
+ if (defaults && defaults.mediaType.previews?.length) {
337
+ mergedOptions.mediaType.previews = defaults.mediaType.previews.filter(
338
+ (preview) => !mergedOptions.mediaType.previews.includes(preview)
339
+ ).concat(mergedOptions.mediaType.previews);
340
+ }
341
+ mergedOptions.mediaType.previews = (mergedOptions.mediaType.previews || []).map((preview) => preview.replace(/-preview/, ""));
342
+ }
343
+ return mergedOptions;
344
+ }
345
+ __name(merge, "merge");
346
+ function addQueryParameters(url, parameters) {
347
+ const separator = /\?/.test(url) ? "&" : "?";
348
+ const names = Object.keys(parameters);
349
+ if (names.length === 0) {
350
+ return url;
351
+ }
352
+ return url + separator + names.map((name) => {
353
+ if (name === "q") {
354
+ return "q=" + parameters.q.split("+").map(encodeURIComponent).join("+");
355
+ }
356
+ return `${name}=${encodeURIComponent(parameters[name])}`;
357
+ }).join("&");
358
+ }
359
+ __name(addQueryParameters, "addQueryParameters");
360
+ var urlVariableRegex = /\{[^{}}]+\}/g;
361
+ function removeNonChars(variableName) {
362
+ return variableName.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g, "").split(/,/);
363
+ }
364
+ __name(removeNonChars, "removeNonChars");
365
+ function extractUrlVariableNames(url) {
366
+ const matches = url.match(urlVariableRegex);
367
+ if (!matches) {
368
+ return [];
369
+ }
370
+ return matches.map(removeNonChars).reduce((a, b) => a.concat(b), []);
371
+ }
372
+ __name(extractUrlVariableNames, "extractUrlVariableNames");
373
+ function omit(object, keysToOmit) {
374
+ const result = { __proto__: null };
375
+ for (const key of Object.keys(object)) {
376
+ if (keysToOmit.indexOf(key) === -1) {
377
+ result[key] = object[key];
378
+ }
379
+ }
380
+ return result;
381
+ }
382
+ __name(omit, "omit");
383
+ function encodeReserved(str) {
384
+ return str.split(/(%[0-9A-Fa-f]{2})/g).map(function(part) {
385
+ if (!/%[0-9A-Fa-f]/.test(part)) {
386
+ part = encodeURI(part).replace(/%5B/g, "[").replace(/%5D/g, "]");
387
+ }
388
+ return part;
389
+ }).join("");
390
+ }
391
+ __name(encodeReserved, "encodeReserved");
392
+ function encodeUnreserved(str) {
393
+ return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
394
+ return "%" + c.charCodeAt(0).toString(16).toUpperCase();
395
+ });
396
+ }
397
+ __name(encodeUnreserved, "encodeUnreserved");
398
+ function encodeValue(operator, value, key) {
399
+ value = operator === "+" || operator === "#" ? encodeReserved(value) : encodeUnreserved(value);
400
+ if (key) {
401
+ return encodeUnreserved(key) + "=" + value;
402
+ } else {
403
+ return value;
404
+ }
405
+ }
406
+ __name(encodeValue, "encodeValue");
407
+ function isDefined(value) {
408
+ return value !== void 0 && value !== null;
409
+ }
410
+ __name(isDefined, "isDefined");
411
+ function isKeyOperator(operator) {
412
+ return operator === ";" || operator === "&" || operator === "?";
413
+ }
414
+ __name(isKeyOperator, "isKeyOperator");
415
+ function getValues(context, operator, key, modifier) {
416
+ var value = context[key], result = [];
417
+ if (isDefined(value) && value !== "") {
418
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
419
+ value = value.toString();
420
+ if (modifier && modifier !== "*") {
421
+ value = value.substring(0, parseInt(modifier, 10));
422
+ }
423
+ result.push(
424
+ encodeValue(operator, value, isKeyOperator(operator) ? key : "")
425
+ );
426
+ } else {
427
+ if (modifier === "*") {
428
+ if (Array.isArray(value)) {
429
+ value.filter(isDefined).forEach(function(value2) {
430
+ result.push(
431
+ encodeValue(operator, value2, isKeyOperator(operator) ? key : "")
432
+ );
433
+ });
434
+ } else {
435
+ Object.keys(value).forEach(function(k) {
436
+ if (isDefined(value[k])) {
437
+ result.push(encodeValue(operator, value[k], k));
438
+ }
439
+ });
440
+ }
441
+ } else {
442
+ const tmp = [];
443
+ if (Array.isArray(value)) {
444
+ value.filter(isDefined).forEach(function(value2) {
445
+ tmp.push(encodeValue(operator, value2));
446
+ });
447
+ } else {
448
+ Object.keys(value).forEach(function(k) {
449
+ if (isDefined(value[k])) {
450
+ tmp.push(encodeUnreserved(k));
451
+ tmp.push(encodeValue(operator, value[k].toString()));
452
+ }
453
+ });
454
+ }
455
+ if (isKeyOperator(operator)) {
456
+ result.push(encodeUnreserved(key) + "=" + tmp.join(","));
457
+ } else if (tmp.length !== 0) {
458
+ result.push(tmp.join(","));
459
+ }
460
+ }
461
+ }
462
+ } else {
463
+ if (operator === ";") {
464
+ if (isDefined(value)) {
465
+ result.push(encodeUnreserved(key));
466
+ }
467
+ } else if (value === "" && (operator === "&" || operator === "?")) {
468
+ result.push(encodeUnreserved(key) + "=");
469
+ } else if (value === "") {
470
+ result.push("");
471
+ }
472
+ }
473
+ return result;
474
+ }
475
+ __name(getValues, "getValues");
476
+ function parseUrl(template) {
477
+ return {
478
+ expand: expand.bind(null, template)
479
+ };
480
+ }
481
+ __name(parseUrl, "parseUrl");
482
+ function expand(template, context) {
483
+ var operators = ["+", "#", ".", "/", ";", "?", "&"];
484
+ template = template.replace(
485
+ /\{([^\{\}]+)\}|([^\{\}]+)/g,
486
+ function(_, expression, literal) {
487
+ if (expression) {
488
+ let operator = "";
489
+ const values = [];
490
+ if (operators.indexOf(expression.charAt(0)) !== -1) {
491
+ operator = expression.charAt(0);
492
+ expression = expression.substr(1);
493
+ }
494
+ expression.split(/,/g).forEach(function(variable) {
495
+ var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
496
+ values.push(getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
497
+ });
498
+ if (operator && operator !== "+") {
499
+ var separator = ",";
500
+ if (operator === "?") {
501
+ separator = "&";
502
+ } else if (operator !== "#") {
503
+ separator = operator;
504
+ }
505
+ return (values.length !== 0 ? operator : "") + values.join(separator);
506
+ } else {
507
+ return values.join(",");
508
+ }
509
+ } else {
510
+ return encodeReserved(literal);
511
+ }
512
+ }
513
+ );
514
+ if (template === "/") {
515
+ return template;
516
+ } else {
517
+ return template.replace(/\/$/, "");
518
+ }
519
+ }
520
+ __name(expand, "expand");
521
+ function parse(options) {
522
+ let method = options.method.toUpperCase();
523
+ let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}");
524
+ let headers = Object.assign({}, options.headers);
525
+ let body;
526
+ let parameters = omit(options, [
527
+ "method",
528
+ "baseUrl",
529
+ "url",
530
+ "headers",
531
+ "request",
532
+ "mediaType"
533
+ ]);
534
+ const urlVariableNames = extractUrlVariableNames(url);
535
+ url = parseUrl(url).expand(parameters);
536
+ if (!/^http/.test(url)) {
537
+ url = options.baseUrl + url;
538
+ }
539
+ const omittedParameters = Object.keys(options).filter((option) => urlVariableNames.includes(option)).concat("baseUrl");
540
+ const remainingParameters = omit(parameters, omittedParameters);
541
+ const isBinaryRequest = /application\/octet-stream/i.test(headers.accept);
542
+ if (!isBinaryRequest) {
543
+ if (options.mediaType.format) {
544
+ headers.accept = headers.accept.split(/,/).map(
545
+ (format) => format.replace(
546
+ /application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,
547
+ `application/vnd$1$2.${options.mediaType.format}`
548
+ )
549
+ ).join(",");
550
+ }
551
+ if (url.endsWith("/graphql")) {
552
+ if (options.mediaType.previews?.length) {
553
+ const previewsFromAcceptHeader = headers.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g) || [];
554
+ headers.accept = previewsFromAcceptHeader.concat(options.mediaType.previews).map((preview) => {
555
+ const format = options.mediaType.format ? `.${options.mediaType.format}` : "+json";
556
+ return `application/vnd.github.${preview}-preview${format}`;
557
+ }).join(",");
558
+ }
559
+ }
560
+ }
561
+ if (["GET", "HEAD"].includes(method)) {
562
+ url = addQueryParameters(url, remainingParameters);
563
+ } else {
564
+ if ("data" in remainingParameters) {
565
+ body = remainingParameters.data;
566
+ } else {
567
+ if (Object.keys(remainingParameters).length) {
568
+ body = remainingParameters;
569
+ }
570
+ }
571
+ }
572
+ if (!headers["content-type"] && typeof body !== "undefined") {
573
+ headers["content-type"] = "application/json; charset=utf-8";
574
+ }
575
+ if (["PATCH", "PUT"].includes(method) && typeof body === "undefined") {
576
+ body = "";
577
+ }
578
+ return Object.assign(
579
+ { method, url, headers },
580
+ typeof body !== "undefined" ? { body } : null,
581
+ options.request ? { request: options.request } : null
582
+ );
583
+ }
584
+ __name(parse, "parse");
585
+ function endpointWithDefaults(defaults, route, options) {
586
+ return parse(merge(defaults, route, options));
587
+ }
588
+ __name(endpointWithDefaults, "endpointWithDefaults");
589
+ function withDefaults(oldDefaults, newDefaults) {
590
+ const DEFAULTS2 = merge(oldDefaults, newDefaults);
591
+ const endpoint2 = endpointWithDefaults.bind(null, DEFAULTS2);
592
+ return Object.assign(endpoint2, {
593
+ DEFAULTS: DEFAULTS2,
594
+ defaults: withDefaults.bind(null, DEFAULTS2),
595
+ merge: merge.bind(null, DEFAULTS2),
596
+ parse
597
+ });
598
+ }
599
+ __name(withDefaults, "withDefaults");
600
+ var endpoint = withDefaults(null, DEFAULTS);
601
+
602
+ // node_modules/@octokit/request/dist-bundle/index.js
603
+ var import_fast_content_type_parse = __toESM(require_fast_content_type_parse(), 1);
604
+
605
+ // node_modules/@octokit/request-error/dist-src/index.js
606
+ init_esbuild_shims();
607
+ var RequestError = class extends Error {
608
+ static {
609
+ __name(this, "RequestError");
610
+ }
611
+ name;
612
+ /**
613
+ * http status code
614
+ */
615
+ status;
616
+ /**
617
+ * Request options that lead to the error.
618
+ */
619
+ request;
620
+ /**
621
+ * Response object if a response was received
622
+ */
623
+ response;
624
+ constructor(message, statusCode, options) {
625
+ super(message);
626
+ this.name = "HttpError";
627
+ this.status = Number.parseInt(statusCode);
628
+ if (Number.isNaN(this.status)) {
629
+ this.status = 0;
630
+ }
631
+ if ("response" in options) {
632
+ this.response = options.response;
633
+ }
634
+ const requestCopy = Object.assign({}, options.request);
635
+ if (options.request.headers.authorization) {
636
+ requestCopy.headers = Object.assign({}, options.request.headers, {
637
+ authorization: options.request.headers.authorization.replace(
638
+ /(?<! ) .*$/,
639
+ " [REDACTED]"
640
+ )
641
+ });
642
+ }
643
+ requestCopy.url = requestCopy.url.replace(/\bclient_secret=\w+/g, "client_secret=[REDACTED]").replace(/\baccess_token=\w+/g, "access_token=[REDACTED]");
644
+ this.request = requestCopy;
645
+ }
646
+ };
647
+
648
+ // node_modules/@octokit/request/dist-bundle/index.js
649
+ var VERSION2 = "9.2.4";
650
+ var defaults_default = {
651
+ headers: {
652
+ "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}`
653
+ }
654
+ };
655
+ function isPlainObject2(value) {
656
+ if (typeof value !== "object" || value === null) return false;
657
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
658
+ const proto = Object.getPrototypeOf(value);
659
+ if (proto === null) return true;
660
+ const Ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
661
+ return typeof Ctor === "function" && Ctor instanceof Ctor && Function.prototype.call(Ctor) === Function.prototype.call(value);
662
+ }
663
+ __name(isPlainObject2, "isPlainObject");
664
+ async function fetchWrapper(requestOptions) {
665
+ const fetch = requestOptions.request?.fetch || globalThis.fetch;
666
+ if (!fetch) {
667
+ throw new Error(
668
+ "fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing"
669
+ );
670
+ }
671
+ const log = requestOptions.request?.log || console;
672
+ const parseSuccessResponseBody = requestOptions.request?.parseSuccessResponseBody !== false;
673
+ const body = isPlainObject2(requestOptions.body) || Array.isArray(requestOptions.body) ? JSON.stringify(requestOptions.body) : requestOptions.body;
674
+ const requestHeaders = Object.fromEntries(
675
+ Object.entries(requestOptions.headers).map(([name, value]) => [
676
+ name,
677
+ String(value)
678
+ ])
679
+ );
680
+ let fetchResponse;
681
+ try {
682
+ fetchResponse = await fetch(requestOptions.url, {
683
+ method: requestOptions.method,
684
+ body,
685
+ redirect: requestOptions.request?.redirect,
686
+ headers: requestHeaders,
687
+ signal: requestOptions.request?.signal,
688
+ // duplex must be set if request.body is ReadableStream or Async Iterables.
689
+ // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex.
690
+ ...requestOptions.body && { duplex: "half" }
691
+ });
692
+ } catch (error) {
693
+ let message = "Unknown Error";
694
+ if (error instanceof Error) {
695
+ if (error.name === "AbortError") {
696
+ error.status = 500;
697
+ throw error;
698
+ }
699
+ message = error.message;
700
+ if (error.name === "TypeError" && "cause" in error) {
701
+ if (error.cause instanceof Error) {
702
+ message = error.cause.message;
703
+ } else if (typeof error.cause === "string") {
704
+ message = error.cause;
705
+ }
706
+ }
707
+ }
708
+ const requestError = new RequestError(message, 500, {
709
+ request: requestOptions
710
+ });
711
+ requestError.cause = error;
712
+ throw requestError;
713
+ }
714
+ const status = fetchResponse.status;
715
+ const url = fetchResponse.url;
716
+ const responseHeaders = {};
717
+ for (const [key, value] of fetchResponse.headers) {
718
+ responseHeaders[key] = value;
719
+ }
720
+ const octokitResponse = {
721
+ url,
722
+ status,
723
+ headers: responseHeaders,
724
+ data: ""
725
+ };
726
+ if ("deprecation" in responseHeaders) {
727
+ const matches = responseHeaders.link && responseHeaders.link.match(/<([^<>]+)>; rel="deprecation"/);
728
+ const deprecationLink = matches && matches.pop();
729
+ log.warn(
730
+ `[@octokit/request] "${requestOptions.method} ${requestOptions.url}" is deprecated. It is scheduled to be removed on ${responseHeaders.sunset}${deprecationLink ? `. See ${deprecationLink}` : ""}`
731
+ );
732
+ }
733
+ if (status === 204 || status === 205) {
734
+ return octokitResponse;
735
+ }
736
+ if (requestOptions.method === "HEAD") {
737
+ if (status < 400) {
738
+ return octokitResponse;
739
+ }
740
+ throw new RequestError(fetchResponse.statusText, status, {
741
+ response: octokitResponse,
742
+ request: requestOptions
743
+ });
744
+ }
745
+ if (status === 304) {
746
+ octokitResponse.data = await getResponseData(fetchResponse);
747
+ throw new RequestError("Not modified", status, {
748
+ response: octokitResponse,
749
+ request: requestOptions
750
+ });
751
+ }
752
+ if (status >= 400) {
753
+ octokitResponse.data = await getResponseData(fetchResponse);
754
+ throw new RequestError(toErrorMessage(octokitResponse.data), status, {
755
+ response: octokitResponse,
756
+ request: requestOptions
757
+ });
758
+ }
759
+ octokitResponse.data = parseSuccessResponseBody ? await getResponseData(fetchResponse) : fetchResponse.body;
760
+ return octokitResponse;
761
+ }
762
+ __name(fetchWrapper, "fetchWrapper");
763
+ async function getResponseData(response) {
764
+ const contentType = response.headers.get("content-type");
765
+ if (!contentType) {
766
+ return response.text().catch(() => "");
767
+ }
768
+ const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType);
769
+ if (isJSONResponse(mimetype)) {
770
+ let text = "";
771
+ try {
772
+ text = await response.text();
773
+ return JSON.parse(text);
774
+ } catch (err) {
775
+ return text;
776
+ }
777
+ } else if (mimetype.type.startsWith("text/") || mimetype.parameters.charset?.toLowerCase() === "utf-8") {
778
+ return response.text().catch(() => "");
779
+ } else {
780
+ return response.arrayBuffer().catch(() => new ArrayBuffer(0));
781
+ }
782
+ }
783
+ __name(getResponseData, "getResponseData");
784
+ function isJSONResponse(mimetype) {
785
+ return mimetype.type === "application/json" || mimetype.type === "application/scim+json";
786
+ }
787
+ __name(isJSONResponse, "isJSONResponse");
788
+ function toErrorMessage(data) {
789
+ if (typeof data === "string") {
790
+ return data;
791
+ }
792
+ if (data instanceof ArrayBuffer) {
793
+ return "Unknown error";
794
+ }
795
+ if ("message" in data) {
796
+ const suffix = "documentation_url" in data ? ` - ${data.documentation_url}` : "";
797
+ return Array.isArray(data.errors) ? `${data.message}: ${data.errors.map((v) => JSON.stringify(v)).join(", ")}${suffix}` : `${data.message}${suffix}`;
798
+ }
799
+ return `Unknown error: ${JSON.stringify(data)}`;
800
+ }
801
+ __name(toErrorMessage, "toErrorMessage");
802
+ function withDefaults2(oldEndpoint, newDefaults) {
803
+ const endpoint2 = oldEndpoint.defaults(newDefaults);
804
+ const newApi = /* @__PURE__ */ __name(function(route, parameters) {
805
+ const endpointOptions = endpoint2.merge(route, parameters);
806
+ if (!endpointOptions.request || !endpointOptions.request.hook) {
807
+ return fetchWrapper(endpoint2.parse(endpointOptions));
808
+ }
809
+ const request2 = /* @__PURE__ */ __name((route2, parameters2) => {
810
+ return fetchWrapper(
811
+ endpoint2.parse(endpoint2.merge(route2, parameters2))
812
+ );
813
+ }, "request2");
814
+ Object.assign(request2, {
815
+ endpoint: endpoint2,
816
+ defaults: withDefaults2.bind(null, endpoint2)
817
+ });
818
+ return endpointOptions.request.hook(request2, endpointOptions);
819
+ }, "newApi");
820
+ return Object.assign(newApi, {
821
+ endpoint: endpoint2,
822
+ defaults: withDefaults2.bind(null, endpoint2)
823
+ });
824
+ }
825
+ __name(withDefaults2, "withDefaults");
826
+ var request = withDefaults2(endpoint, defaults_default);
827
+
828
+ // node_modules/@octokit/graphql/dist-bundle/index.js
829
+ init_esbuild_shims();
830
+ var VERSION3 = "0.0.0-development";
831
+ function _buildMessageForResponseErrors(data) {
832
+ return `Request failed due to following response errors:
833
+ ` + data.errors.map((e) => ` - ${e.message}`).join("\n");
834
+ }
835
+ __name(_buildMessageForResponseErrors, "_buildMessageForResponseErrors");
836
+ var GraphqlResponseError = class extends Error {
837
+ static {
838
+ __name(this, "GraphqlResponseError");
839
+ }
840
+ constructor(request2, headers, response) {
841
+ super(_buildMessageForResponseErrors(response));
842
+ this.request = request2;
843
+ this.headers = headers;
844
+ this.response = response;
845
+ this.errors = response.errors;
846
+ this.data = response.data;
847
+ if (Error.captureStackTrace) {
848
+ Error.captureStackTrace(this, this.constructor);
849
+ }
850
+ }
851
+ name = "GraphqlResponseError";
852
+ errors;
853
+ data;
854
+ };
855
+ var NON_VARIABLE_OPTIONS = [
856
+ "method",
857
+ "baseUrl",
858
+ "url",
859
+ "headers",
860
+ "request",
861
+ "query",
862
+ "mediaType",
863
+ "operationName"
864
+ ];
865
+ var FORBIDDEN_VARIABLE_OPTIONS = ["query", "method", "url"];
866
+ var GHES_V3_SUFFIX_REGEX = /\/api\/v3\/?$/;
867
+ function graphql(request2, query, options) {
868
+ if (options) {
869
+ if (typeof query === "string" && "query" in options) {
870
+ return Promise.reject(
871
+ new Error(`[@octokit/graphql] "query" cannot be used as variable name`)
872
+ );
873
+ }
874
+ for (const key in options) {
875
+ if (!FORBIDDEN_VARIABLE_OPTIONS.includes(key)) continue;
876
+ return Promise.reject(
877
+ new Error(
878
+ `[@octokit/graphql] "${key}" cannot be used as variable name`
879
+ )
880
+ );
881
+ }
882
+ }
883
+ const parsedOptions = typeof query === "string" ? Object.assign({ query }, options) : query;
884
+ const requestOptions = Object.keys(
885
+ parsedOptions
886
+ ).reduce((result, key) => {
887
+ if (NON_VARIABLE_OPTIONS.includes(key)) {
888
+ result[key] = parsedOptions[key];
889
+ return result;
890
+ }
891
+ if (!result.variables) {
892
+ result.variables = {};
893
+ }
894
+ result.variables[key] = parsedOptions[key];
895
+ return result;
896
+ }, {});
897
+ const baseUrl = parsedOptions.baseUrl || request2.endpoint.DEFAULTS.baseUrl;
898
+ if (GHES_V3_SUFFIX_REGEX.test(baseUrl)) {
899
+ requestOptions.url = baseUrl.replace(GHES_V3_SUFFIX_REGEX, "/api/graphql");
900
+ }
901
+ return request2(requestOptions).then((response) => {
902
+ if (response.data.errors) {
903
+ const headers = {};
904
+ for (const key of Object.keys(response.headers)) {
905
+ headers[key] = response.headers[key];
906
+ }
907
+ throw new GraphqlResponseError(
908
+ requestOptions,
909
+ headers,
910
+ response.data
911
+ );
912
+ }
913
+ return response.data.data;
914
+ });
915
+ }
916
+ __name(graphql, "graphql");
917
+ function withDefaults3(request2, newDefaults) {
918
+ const newRequest = request2.defaults(newDefaults);
919
+ const newApi = /* @__PURE__ */ __name((query, options) => {
920
+ return graphql(newRequest, query, options);
921
+ }, "newApi");
922
+ return Object.assign(newApi, {
923
+ defaults: withDefaults3.bind(null, newRequest),
924
+ endpoint: newRequest.endpoint
925
+ });
926
+ }
927
+ __name(withDefaults3, "withDefaults");
928
+ var graphql2 = withDefaults3(request, {
929
+ headers: {
930
+ "user-agent": `octokit-graphql.js/${VERSION3} ${getUserAgent()}`
931
+ },
932
+ method: "POST",
933
+ url: "/graphql"
934
+ });
935
+ function withCustomRequest(customRequest) {
936
+ return withDefaults3(customRequest, {
937
+ method: "POST",
938
+ url: "/graphql"
939
+ });
940
+ }
941
+ __name(withCustomRequest, "withCustomRequest");
942
+
943
+ // node_modules/@octokit/auth-token/dist-bundle/index.js
944
+ init_esbuild_shims();
945
+ var b64url = "(?:[a-zA-Z0-9_-]+)";
946
+ var sep = "\\.";
947
+ var jwtRE = new RegExp(`^${b64url}${sep}${b64url}${sep}${b64url}$`);
948
+ var isJWT = jwtRE.test.bind(jwtRE);
949
+ async function auth(token) {
950
+ const isApp = isJWT(token);
951
+ const isInstallation = token.startsWith("v1.") || token.startsWith("ghs_");
952
+ const isUserToServer = token.startsWith("ghu_");
953
+ const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth";
954
+ return {
955
+ type: "token",
956
+ token,
957
+ tokenType
958
+ };
959
+ }
960
+ __name(auth, "auth");
961
+ function withAuthorizationPrefix(token) {
962
+ if (token.split(/\./).length === 3) {
963
+ return `bearer ${token}`;
964
+ }
965
+ return `token ${token}`;
966
+ }
967
+ __name(withAuthorizationPrefix, "withAuthorizationPrefix");
968
+ async function hook(token, request2, route, parameters) {
969
+ const endpoint2 = request2.endpoint.merge(
970
+ route,
971
+ parameters
972
+ );
973
+ endpoint2.headers.authorization = withAuthorizationPrefix(token);
974
+ return request2(endpoint2);
975
+ }
976
+ __name(hook, "hook");
977
+ var createTokenAuth = /* @__PURE__ */ __name(function createTokenAuth2(token) {
978
+ if (!token) {
979
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
980
+ }
981
+ if (typeof token !== "string") {
982
+ throw new Error(
983
+ "[@octokit/auth-token] Token passed to createTokenAuth is not a string"
984
+ );
985
+ }
986
+ token = token.replace(/^(token|bearer) +/i, "");
987
+ return Object.assign(auth.bind(null, token), {
988
+ hook: hook.bind(null, token)
989
+ });
990
+ }, "createTokenAuth2");
991
+
992
+ // node_modules/@octokit/core/dist-src/version.js
993
+ init_esbuild_shims();
994
+ var VERSION4 = "6.1.6";
995
+
996
+ // node_modules/@octokit/core/dist-src/index.js
997
+ var noop = /* @__PURE__ */ __name(() => {
998
+ }, "noop");
999
+ var consoleWarn = console.warn.bind(console);
1000
+ var consoleError = console.error.bind(console);
1001
+ function createLogger(logger = {}) {
1002
+ if (typeof logger.debug !== "function") {
1003
+ logger.debug = noop;
1004
+ }
1005
+ if (typeof logger.info !== "function") {
1006
+ logger.info = noop;
1007
+ }
1008
+ if (typeof logger.warn !== "function") {
1009
+ logger.warn = consoleWarn;
1010
+ }
1011
+ if (typeof logger.error !== "function") {
1012
+ logger.error = consoleError;
1013
+ }
1014
+ return logger;
1015
+ }
1016
+ __name(createLogger, "createLogger");
1017
+ var userAgentTrail = `octokit-core.js/${VERSION4} ${getUserAgent()}`;
1018
+ var Octokit = class {
1019
+ static {
1020
+ __name(this, "Octokit");
1021
+ }
1022
+ static VERSION = VERSION4;
1023
+ static defaults(defaults) {
1024
+ const OctokitWithDefaults = class extends this {
1025
+ static {
1026
+ __name(this, "OctokitWithDefaults");
1027
+ }
1028
+ constructor(...args) {
1029
+ const options = args[0] || {};
1030
+ if (typeof defaults === "function") {
1031
+ super(defaults(options));
1032
+ return;
1033
+ }
1034
+ super(
1035
+ Object.assign(
1036
+ {},
1037
+ defaults,
1038
+ options,
1039
+ options.userAgent && defaults.userAgent ? {
1040
+ userAgent: `${options.userAgent} ${defaults.userAgent}`
1041
+ } : null
1042
+ )
1043
+ );
1044
+ }
1045
+ };
1046
+ return OctokitWithDefaults;
1047
+ }
1048
+ static plugins = [];
1049
+ /**
1050
+ * Attach a plugin (or many) to your Octokit instance.
1051
+ *
1052
+ * @example
1053
+ * const API = Octokit.plugin(plugin1, plugin2, plugin3, ...)
1054
+ */
1055
+ static plugin(...newPlugins) {
1056
+ const currentPlugins = this.plugins;
1057
+ const NewOctokit = class extends this {
1058
+ static {
1059
+ __name(this, "NewOctokit");
1060
+ }
1061
+ static plugins = currentPlugins.concat(
1062
+ newPlugins.filter((plugin2) => !currentPlugins.includes(plugin2))
1063
+ );
1064
+ };
1065
+ return NewOctokit;
1066
+ }
1067
+ constructor(options = {}) {
1068
+ const hook2 = new before_after_hook_default.Collection();
1069
+ const requestDefaults = {
1070
+ baseUrl: request.endpoint.DEFAULTS.baseUrl,
1071
+ headers: {},
1072
+ request: Object.assign({}, options.request, {
1073
+ // @ts-ignore internal usage only, no need to type
1074
+ hook: hook2.bind(null, "request")
1075
+ }),
1076
+ mediaType: {
1077
+ previews: [],
1078
+ format: ""
1079
+ }
1080
+ };
1081
+ requestDefaults.headers["user-agent"] = options.userAgent ? `${options.userAgent} ${userAgentTrail}` : userAgentTrail;
1082
+ if (options.baseUrl) {
1083
+ requestDefaults.baseUrl = options.baseUrl;
1084
+ }
1085
+ if (options.previews) {
1086
+ requestDefaults.mediaType.previews = options.previews;
1087
+ }
1088
+ if (options.timeZone) {
1089
+ requestDefaults.headers["time-zone"] = options.timeZone;
1090
+ }
1091
+ this.request = request.defaults(requestDefaults);
1092
+ this.graphql = withCustomRequest(this.request).defaults(requestDefaults);
1093
+ this.log = createLogger(options.log);
1094
+ this.hook = hook2;
1095
+ if (!options.authStrategy) {
1096
+ if (!options.auth) {
1097
+ this.auth = async () => ({
1098
+ type: "unauthenticated"
1099
+ });
1100
+ } else {
1101
+ const auth2 = createTokenAuth(options.auth);
1102
+ hook2.wrap("request", auth2.hook);
1103
+ this.auth = auth2;
1104
+ }
1105
+ } else {
1106
+ const { authStrategy, ...otherOptions } = options;
1107
+ const auth2 = authStrategy(
1108
+ Object.assign(
1109
+ {
1110
+ request: this.request,
1111
+ log: this.log,
1112
+ // we pass the current octokit instance as well as its constructor options
1113
+ // to allow for authentication strategies that return a new octokit instance
1114
+ // that shares the same internal state as the current one. The original
1115
+ // requirement for this was the "event-octokit" authentication strategy
1116
+ // of https://github.com/probot/octokit-auth-probot.
1117
+ octokit: this,
1118
+ octokitOptions: otherOptions
1119
+ },
1120
+ options.auth
1121
+ )
1122
+ );
1123
+ hook2.wrap("request", auth2.hook);
1124
+ this.auth = auth2;
1125
+ }
1126
+ const classConstructor = this.constructor;
1127
+ for (let i = 0; i < classConstructor.plugins.length; ++i) {
1128
+ Object.assign(this, classConstructor.plugins[i](this, options));
1129
+ }
1130
+ }
1131
+ // assigned during constructor
1132
+ request;
1133
+ graphql;
1134
+ log;
1135
+ hook;
1136
+ // TODO: type `octokit.auth` based on passed options.authStrategy
1137
+ auth;
1138
+ };
1139
+
1140
+ // node_modules/@octokit/plugin-request-log/dist-src/index.js
1141
+ init_esbuild_shims();
1142
+
1143
+ // node_modules/@octokit/plugin-request-log/dist-src/version.js
1144
+ init_esbuild_shims();
1145
+ var VERSION5 = "5.3.1";
1146
+
1147
+ // node_modules/@octokit/plugin-request-log/dist-src/index.js
1148
+ function requestLog(octokit) {
1149
+ octokit.hook.wrap("request", (request2, options) => {
1150
+ octokit.log.debug("request", options);
1151
+ const start = Date.now();
1152
+ const requestOptions = octokit.request.endpoint.parse(options);
1153
+ const path = requestOptions.url.replace(options.baseUrl, "");
1154
+ return request2(options).then((response) => {
1155
+ const requestId = response.headers["x-github-request-id"];
1156
+ octokit.log.info(
1157
+ `${requestOptions.method} ${path} - ${response.status} with id ${requestId} in ${Date.now() - start}ms`
1158
+ );
1159
+ return response;
1160
+ }).catch((error) => {
1161
+ const requestId = error.response?.headers["x-github-request-id"] || "UNKNOWN";
1162
+ octokit.log.error(
1163
+ `${requestOptions.method} ${path} - ${error.status} with id ${requestId} in ${Date.now() - start}ms`
1164
+ );
1165
+ throw error;
1166
+ });
1167
+ });
1168
+ }
1169
+ __name(requestLog, "requestLog");
1170
+ requestLog.VERSION = VERSION5;
1171
+
1172
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js
1173
+ init_esbuild_shims();
1174
+ var VERSION6 = "0.0.0-development";
1175
+ function normalizePaginatedListResponse(response) {
1176
+ if (!response.data) {
1177
+ return {
1178
+ ...response,
1179
+ data: []
1180
+ };
1181
+ }
1182
+ const responseNeedsNormalization = "total_count" in response.data && !("url" in response.data);
1183
+ if (!responseNeedsNormalization) return response;
1184
+ const incompleteResults = response.data.incomplete_results;
1185
+ const repositorySelection = response.data.repository_selection;
1186
+ const totalCount = response.data.total_count;
1187
+ delete response.data.incomplete_results;
1188
+ delete response.data.repository_selection;
1189
+ delete response.data.total_count;
1190
+ const namespaceKey = Object.keys(response.data)[0];
1191
+ const data = response.data[namespaceKey];
1192
+ response.data = data;
1193
+ if (typeof incompleteResults !== "undefined") {
1194
+ response.data.incomplete_results = incompleteResults;
1195
+ }
1196
+ if (typeof repositorySelection !== "undefined") {
1197
+ response.data.repository_selection = repositorySelection;
1198
+ }
1199
+ response.data.total_count = totalCount;
1200
+ return response;
1201
+ }
1202
+ __name(normalizePaginatedListResponse, "normalizePaginatedListResponse");
1203
+ function iterator(octokit, route, parameters) {
1204
+ const options = typeof route === "function" ? route.endpoint(parameters) : octokit.request.endpoint(route, parameters);
1205
+ const requestMethod = typeof route === "function" ? route : octokit.request;
1206
+ const method = options.method;
1207
+ const headers = options.headers;
1208
+ let url = options.url;
1209
+ return {
1210
+ [Symbol.asyncIterator]: () => ({
1211
+ async next() {
1212
+ if (!url) return { done: true };
1213
+ try {
1214
+ const response = await requestMethod({ method, url, headers });
1215
+ const normalizedResponse = normalizePaginatedListResponse(response);
1216
+ url = ((normalizedResponse.headers.link || "").match(
1217
+ /<([^<>]+)>;\s*rel="next"/
1218
+ ) || [])[1];
1219
+ return { value: normalizedResponse };
1220
+ } catch (error) {
1221
+ if (error.status !== 409) throw error;
1222
+ url = "";
1223
+ return {
1224
+ value: {
1225
+ status: 200,
1226
+ headers: {},
1227
+ data: []
1228
+ }
1229
+ };
1230
+ }
1231
+ }
1232
+ })
1233
+ };
1234
+ }
1235
+ __name(iterator, "iterator");
1236
+ function paginate(octokit, route, parameters, mapFn) {
1237
+ if (typeof parameters === "function") {
1238
+ mapFn = parameters;
1239
+ parameters = void 0;
1240
+ }
1241
+ return gather(
1242
+ octokit,
1243
+ [],
1244
+ iterator(octokit, route, parameters)[Symbol.asyncIterator](),
1245
+ mapFn
1246
+ );
1247
+ }
1248
+ __name(paginate, "paginate");
1249
+ function gather(octokit, results, iterator2, mapFn) {
1250
+ return iterator2.next().then((result) => {
1251
+ if (result.done) {
1252
+ return results;
1253
+ }
1254
+ let earlyExit = false;
1255
+ function done() {
1256
+ earlyExit = true;
1257
+ }
1258
+ __name(done, "done");
1259
+ results = results.concat(
1260
+ mapFn ? mapFn(result.value, done) : result.value.data
1261
+ );
1262
+ if (earlyExit) {
1263
+ return results;
1264
+ }
1265
+ return gather(octokit, results, iterator2, mapFn);
1266
+ });
1267
+ }
1268
+ __name(gather, "gather");
1269
+ var composePaginateRest = Object.assign(paginate, {
1270
+ iterator
1271
+ });
1272
+ function paginateRest(octokit) {
1273
+ return {
1274
+ paginate: Object.assign(paginate.bind(null, octokit), {
1275
+ iterator: iterator.bind(null, octokit)
1276
+ })
1277
+ };
1278
+ }
1279
+ __name(paginateRest, "paginateRest");
1280
+ paginateRest.VERSION = VERSION6;
1281
+
1282
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
1283
+ init_esbuild_shims();
1284
+
1285
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
1286
+ init_esbuild_shims();
1287
+ var VERSION7 = "13.5.0";
1288
+
1289
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
1290
+ init_esbuild_shims();
1291
+
1292
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js
1293
+ init_esbuild_shims();
1294
+ var Endpoints = {
1295
+ actions: {
1296
+ addCustomLabelsToSelfHostedRunnerForOrg: [
1297
+ "POST /orgs/{org}/actions/runners/{runner_id}/labels"
1298
+ ],
1299
+ addCustomLabelsToSelfHostedRunnerForRepo: [
1300
+ "POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1301
+ ],
1302
+ addRepoAccessToSelfHostedRunnerGroupInOrg: [
1303
+ "PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"
1304
+ ],
1305
+ addSelectedRepoToOrgSecret: [
1306
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
1307
+ ],
1308
+ addSelectedRepoToOrgVariable: [
1309
+ "PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
1310
+ ],
1311
+ approveWorkflowRun: [
1312
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"
1313
+ ],
1314
+ cancelWorkflowRun: [
1315
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"
1316
+ ],
1317
+ createEnvironmentVariable: [
1318
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
1319
+ ],
1320
+ createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
1321
+ createOrUpdateEnvironmentSecret: [
1322
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1323
+ ],
1324
+ createOrUpdateOrgSecret: ["PUT /orgs/{org}/actions/secrets/{secret_name}"],
1325
+ createOrUpdateRepoSecret: [
1326
+ "PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"
1327
+ ],
1328
+ createOrgVariable: ["POST /orgs/{org}/actions/variables"],
1329
+ createRegistrationTokenForOrg: [
1330
+ "POST /orgs/{org}/actions/runners/registration-token"
1331
+ ],
1332
+ createRegistrationTokenForRepo: [
1333
+ "POST /repos/{owner}/{repo}/actions/runners/registration-token"
1334
+ ],
1335
+ createRemoveTokenForOrg: ["POST /orgs/{org}/actions/runners/remove-token"],
1336
+ createRemoveTokenForRepo: [
1337
+ "POST /repos/{owner}/{repo}/actions/runners/remove-token"
1338
+ ],
1339
+ createRepoVariable: ["POST /repos/{owner}/{repo}/actions/variables"],
1340
+ createWorkflowDispatch: [
1341
+ "POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"
1342
+ ],
1343
+ deleteActionsCacheById: [
1344
+ "DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"
1345
+ ],
1346
+ deleteActionsCacheByKey: [
1347
+ "DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"
1348
+ ],
1349
+ deleteArtifact: [
1350
+ "DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"
1351
+ ],
1352
+ deleteEnvironmentSecret: [
1353
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1354
+ ],
1355
+ deleteEnvironmentVariable: [
1356
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1357
+ ],
1358
+ deleteHostedRunnerForOrg: [
1359
+ "DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1360
+ ],
1361
+ deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
1362
+ deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
1363
+ deleteRepoSecret: [
1364
+ "DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"
1365
+ ],
1366
+ deleteRepoVariable: [
1367
+ "DELETE /repos/{owner}/{repo}/actions/variables/{name}"
1368
+ ],
1369
+ deleteSelfHostedRunnerFromOrg: [
1370
+ "DELETE /orgs/{org}/actions/runners/{runner_id}"
1371
+ ],
1372
+ deleteSelfHostedRunnerFromRepo: [
1373
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"
1374
+ ],
1375
+ deleteWorkflowRun: ["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],
1376
+ deleteWorkflowRunLogs: [
1377
+ "DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
1378
+ ],
1379
+ disableSelectedRepositoryGithubActionsOrganization: [
1380
+ "DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"
1381
+ ],
1382
+ disableWorkflow: [
1383
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"
1384
+ ],
1385
+ downloadArtifact: [
1386
+ "GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"
1387
+ ],
1388
+ downloadJobLogsForWorkflowRun: [
1389
+ "GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
1390
+ ],
1391
+ downloadWorkflowRunAttemptLogs: [
1392
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"
1393
+ ],
1394
+ downloadWorkflowRunLogs: [
1395
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"
1396
+ ],
1397
+ enableSelectedRepositoryGithubActionsOrganization: [
1398
+ "PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"
1399
+ ],
1400
+ enableWorkflow: [
1401
+ "PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"
1402
+ ],
1403
+ forceCancelWorkflowRun: [
1404
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"
1405
+ ],
1406
+ generateRunnerJitconfigForOrg: [
1407
+ "POST /orgs/{org}/actions/runners/generate-jitconfig"
1408
+ ],
1409
+ generateRunnerJitconfigForRepo: [
1410
+ "POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"
1411
+ ],
1412
+ getActionsCacheList: ["GET /repos/{owner}/{repo}/actions/caches"],
1413
+ getActionsCacheUsage: ["GET /repos/{owner}/{repo}/actions/cache/usage"],
1414
+ getActionsCacheUsageByRepoForOrg: [
1415
+ "GET /orgs/{org}/actions/cache/usage-by-repository"
1416
+ ],
1417
+ getActionsCacheUsageForOrg: ["GET /orgs/{org}/actions/cache/usage"],
1418
+ getAllowedActionsOrganization: [
1419
+ "GET /orgs/{org}/actions/permissions/selected-actions"
1420
+ ],
1421
+ getAllowedActionsRepository: [
1422
+ "GET /repos/{owner}/{repo}/actions/permissions/selected-actions"
1423
+ ],
1424
+ getArtifact: ["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],
1425
+ getCustomOidcSubClaimForRepo: [
1426
+ "GET /repos/{owner}/{repo}/actions/oidc/customization/sub"
1427
+ ],
1428
+ getEnvironmentPublicKey: [
1429
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"
1430
+ ],
1431
+ getEnvironmentSecret: [
1432
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
1433
+ ],
1434
+ getEnvironmentVariable: [
1435
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1436
+ ],
1437
+ getGithubActionsDefaultWorkflowPermissionsOrganization: [
1438
+ "GET /orgs/{org}/actions/permissions/workflow"
1439
+ ],
1440
+ getGithubActionsDefaultWorkflowPermissionsRepository: [
1441
+ "GET /repos/{owner}/{repo}/actions/permissions/workflow"
1442
+ ],
1443
+ getGithubActionsPermissionsOrganization: [
1444
+ "GET /orgs/{org}/actions/permissions"
1445
+ ],
1446
+ getGithubActionsPermissionsRepository: [
1447
+ "GET /repos/{owner}/{repo}/actions/permissions"
1448
+ ],
1449
+ getHostedRunnerForOrg: [
1450
+ "GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1451
+ ],
1452
+ getHostedRunnersGithubOwnedImagesForOrg: [
1453
+ "GET /orgs/{org}/actions/hosted-runners/images/github-owned"
1454
+ ],
1455
+ getHostedRunnersLimitsForOrg: [
1456
+ "GET /orgs/{org}/actions/hosted-runners/limits"
1457
+ ],
1458
+ getHostedRunnersMachineSpecsForOrg: [
1459
+ "GET /orgs/{org}/actions/hosted-runners/machine-sizes"
1460
+ ],
1461
+ getHostedRunnersPartnerImagesForOrg: [
1462
+ "GET /orgs/{org}/actions/hosted-runners/images/partner"
1463
+ ],
1464
+ getHostedRunnersPlatformsForOrg: [
1465
+ "GET /orgs/{org}/actions/hosted-runners/platforms"
1466
+ ],
1467
+ getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
1468
+ getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
1469
+ getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
1470
+ getOrgVariable: ["GET /orgs/{org}/actions/variables/{name}"],
1471
+ getPendingDeploymentsForRun: [
1472
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
1473
+ ],
1474
+ getRepoPermissions: [
1475
+ "GET /repos/{owner}/{repo}/actions/permissions",
1476
+ {},
1477
+ { renamed: ["actions", "getGithubActionsPermissionsRepository"] }
1478
+ ],
1479
+ getRepoPublicKey: ["GET /repos/{owner}/{repo}/actions/secrets/public-key"],
1480
+ getRepoSecret: ["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],
1481
+ getRepoVariable: ["GET /repos/{owner}/{repo}/actions/variables/{name}"],
1482
+ getReviewsForRun: [
1483
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"
1484
+ ],
1485
+ getSelfHostedRunnerForOrg: ["GET /orgs/{org}/actions/runners/{runner_id}"],
1486
+ getSelfHostedRunnerForRepo: [
1487
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}"
1488
+ ],
1489
+ getWorkflow: ["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],
1490
+ getWorkflowAccessToRepository: [
1491
+ "GET /repos/{owner}/{repo}/actions/permissions/access"
1492
+ ],
1493
+ getWorkflowRun: ["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],
1494
+ getWorkflowRunAttempt: [
1495
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"
1496
+ ],
1497
+ getWorkflowRunUsage: [
1498
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"
1499
+ ],
1500
+ getWorkflowUsage: [
1501
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"
1502
+ ],
1503
+ listArtifactsForRepo: ["GET /repos/{owner}/{repo}/actions/artifacts"],
1504
+ listEnvironmentSecrets: [
1505
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"
1506
+ ],
1507
+ listEnvironmentVariables: [
1508
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
1509
+ ],
1510
+ listGithubHostedRunnersInGroupForOrg: [
1511
+ "GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
1512
+ ],
1513
+ listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
1514
+ listJobsForWorkflowRun: [
1515
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
1516
+ ],
1517
+ listJobsForWorkflowRunAttempt: [
1518
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"
1519
+ ],
1520
+ listLabelsForSelfHostedRunnerForOrg: [
1521
+ "GET /orgs/{org}/actions/runners/{runner_id}/labels"
1522
+ ],
1523
+ listLabelsForSelfHostedRunnerForRepo: [
1524
+ "GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1525
+ ],
1526
+ listOrgSecrets: ["GET /orgs/{org}/actions/secrets"],
1527
+ listOrgVariables: ["GET /orgs/{org}/actions/variables"],
1528
+ listRepoOrganizationSecrets: [
1529
+ "GET /repos/{owner}/{repo}/actions/organization-secrets"
1530
+ ],
1531
+ listRepoOrganizationVariables: [
1532
+ "GET /repos/{owner}/{repo}/actions/organization-variables"
1533
+ ],
1534
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/actions/secrets"],
1535
+ listRepoVariables: ["GET /repos/{owner}/{repo}/actions/variables"],
1536
+ listRepoWorkflows: ["GET /repos/{owner}/{repo}/actions/workflows"],
1537
+ listRunnerApplicationsForOrg: ["GET /orgs/{org}/actions/runners/downloads"],
1538
+ listRunnerApplicationsForRepo: [
1539
+ "GET /repos/{owner}/{repo}/actions/runners/downloads"
1540
+ ],
1541
+ listSelectedReposForOrgSecret: [
1542
+ "GET /orgs/{org}/actions/secrets/{secret_name}/repositories"
1543
+ ],
1544
+ listSelectedReposForOrgVariable: [
1545
+ "GET /orgs/{org}/actions/variables/{name}/repositories"
1546
+ ],
1547
+ listSelectedRepositoriesEnabledGithubActionsOrganization: [
1548
+ "GET /orgs/{org}/actions/permissions/repositories"
1549
+ ],
1550
+ listSelfHostedRunnersForOrg: ["GET /orgs/{org}/actions/runners"],
1551
+ listSelfHostedRunnersForRepo: ["GET /repos/{owner}/{repo}/actions/runners"],
1552
+ listWorkflowRunArtifacts: [
1553
+ "GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"
1554
+ ],
1555
+ listWorkflowRuns: [
1556
+ "GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"
1557
+ ],
1558
+ listWorkflowRunsForRepo: ["GET /repos/{owner}/{repo}/actions/runs"],
1559
+ reRunJobForWorkflowRun: [
1560
+ "POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"
1561
+ ],
1562
+ reRunWorkflow: ["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],
1563
+ reRunWorkflowFailedJobs: [
1564
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"
1565
+ ],
1566
+ removeAllCustomLabelsFromSelfHostedRunnerForOrg: [
1567
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels"
1568
+ ],
1569
+ removeAllCustomLabelsFromSelfHostedRunnerForRepo: [
1570
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1571
+ ],
1572
+ removeCustomLabelFromSelfHostedRunnerForOrg: [
1573
+ "DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"
1574
+ ],
1575
+ removeCustomLabelFromSelfHostedRunnerForRepo: [
1576
+ "DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"
1577
+ ],
1578
+ removeSelectedRepoFromOrgSecret: [
1579
+ "DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"
1580
+ ],
1581
+ removeSelectedRepoFromOrgVariable: [
1582
+ "DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"
1583
+ ],
1584
+ reviewCustomGatesForRun: [
1585
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"
1586
+ ],
1587
+ reviewPendingDeploymentsForRun: [
1588
+ "POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"
1589
+ ],
1590
+ setAllowedActionsOrganization: [
1591
+ "PUT /orgs/{org}/actions/permissions/selected-actions"
1592
+ ],
1593
+ setAllowedActionsRepository: [
1594
+ "PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"
1595
+ ],
1596
+ setCustomLabelsForSelfHostedRunnerForOrg: [
1597
+ "PUT /orgs/{org}/actions/runners/{runner_id}/labels"
1598
+ ],
1599
+ setCustomLabelsForSelfHostedRunnerForRepo: [
1600
+ "PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"
1601
+ ],
1602
+ setCustomOidcSubClaimForRepo: [
1603
+ "PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"
1604
+ ],
1605
+ setGithubActionsDefaultWorkflowPermissionsOrganization: [
1606
+ "PUT /orgs/{org}/actions/permissions/workflow"
1607
+ ],
1608
+ setGithubActionsDefaultWorkflowPermissionsRepository: [
1609
+ "PUT /repos/{owner}/{repo}/actions/permissions/workflow"
1610
+ ],
1611
+ setGithubActionsPermissionsOrganization: [
1612
+ "PUT /orgs/{org}/actions/permissions"
1613
+ ],
1614
+ setGithubActionsPermissionsRepository: [
1615
+ "PUT /repos/{owner}/{repo}/actions/permissions"
1616
+ ],
1617
+ setSelectedReposForOrgSecret: [
1618
+ "PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"
1619
+ ],
1620
+ setSelectedReposForOrgVariable: [
1621
+ "PUT /orgs/{org}/actions/variables/{name}/repositories"
1622
+ ],
1623
+ setSelectedRepositoriesEnabledGithubActionsOrganization: [
1624
+ "PUT /orgs/{org}/actions/permissions/repositories"
1625
+ ],
1626
+ setWorkflowAccessToRepository: [
1627
+ "PUT /repos/{owner}/{repo}/actions/permissions/access"
1628
+ ],
1629
+ updateEnvironmentVariable: [
1630
+ "PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
1631
+ ],
1632
+ updateHostedRunnerForOrg: [
1633
+ "PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
1634
+ ],
1635
+ updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
1636
+ updateRepoVariable: [
1637
+ "PATCH /repos/{owner}/{repo}/actions/variables/{name}"
1638
+ ]
1639
+ },
1640
+ activity: {
1641
+ checkRepoIsStarredByAuthenticatedUser: ["GET /user/starred/{owner}/{repo}"],
1642
+ deleteRepoSubscription: ["DELETE /repos/{owner}/{repo}/subscription"],
1643
+ deleteThreadSubscription: [
1644
+ "DELETE /notifications/threads/{thread_id}/subscription"
1645
+ ],
1646
+ getFeeds: ["GET /feeds"],
1647
+ getRepoSubscription: ["GET /repos/{owner}/{repo}/subscription"],
1648
+ getThread: ["GET /notifications/threads/{thread_id}"],
1649
+ getThreadSubscriptionForAuthenticatedUser: [
1650
+ "GET /notifications/threads/{thread_id}/subscription"
1651
+ ],
1652
+ listEventsForAuthenticatedUser: ["GET /users/{username}/events"],
1653
+ listNotificationsForAuthenticatedUser: ["GET /notifications"],
1654
+ listOrgEventsForAuthenticatedUser: [
1655
+ "GET /users/{username}/events/orgs/{org}"
1656
+ ],
1657
+ listPublicEvents: ["GET /events"],
1658
+ listPublicEventsForRepoNetwork: ["GET /networks/{owner}/{repo}/events"],
1659
+ listPublicEventsForUser: ["GET /users/{username}/events/public"],
1660
+ listPublicOrgEvents: ["GET /orgs/{org}/events"],
1661
+ listReceivedEventsForUser: ["GET /users/{username}/received_events"],
1662
+ listReceivedPublicEventsForUser: [
1663
+ "GET /users/{username}/received_events/public"
1664
+ ],
1665
+ listRepoEvents: ["GET /repos/{owner}/{repo}/events"],
1666
+ listRepoNotificationsForAuthenticatedUser: [
1667
+ "GET /repos/{owner}/{repo}/notifications"
1668
+ ],
1669
+ listReposStarredByAuthenticatedUser: ["GET /user/starred"],
1670
+ listReposStarredByUser: ["GET /users/{username}/starred"],
1671
+ listReposWatchedByUser: ["GET /users/{username}/subscriptions"],
1672
+ listStargazersForRepo: ["GET /repos/{owner}/{repo}/stargazers"],
1673
+ listWatchedReposForAuthenticatedUser: ["GET /user/subscriptions"],
1674
+ listWatchersForRepo: ["GET /repos/{owner}/{repo}/subscribers"],
1675
+ markNotificationsAsRead: ["PUT /notifications"],
1676
+ markRepoNotificationsAsRead: ["PUT /repos/{owner}/{repo}/notifications"],
1677
+ markThreadAsDone: ["DELETE /notifications/threads/{thread_id}"],
1678
+ markThreadAsRead: ["PATCH /notifications/threads/{thread_id}"],
1679
+ setRepoSubscription: ["PUT /repos/{owner}/{repo}/subscription"],
1680
+ setThreadSubscription: [
1681
+ "PUT /notifications/threads/{thread_id}/subscription"
1682
+ ],
1683
+ starRepoForAuthenticatedUser: ["PUT /user/starred/{owner}/{repo}"],
1684
+ unstarRepoForAuthenticatedUser: ["DELETE /user/starred/{owner}/{repo}"]
1685
+ },
1686
+ apps: {
1687
+ addRepoToInstallation: [
1688
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}",
1689
+ {},
1690
+ { renamed: ["apps", "addRepoToInstallationForAuthenticatedUser"] }
1691
+ ],
1692
+ addRepoToInstallationForAuthenticatedUser: [
1693
+ "PUT /user/installations/{installation_id}/repositories/{repository_id}"
1694
+ ],
1695
+ checkToken: ["POST /applications/{client_id}/token"],
1696
+ createFromManifest: ["POST /app-manifests/{code}/conversions"],
1697
+ createInstallationAccessToken: [
1698
+ "POST /app/installations/{installation_id}/access_tokens"
1699
+ ],
1700
+ deleteAuthorization: ["DELETE /applications/{client_id}/grant"],
1701
+ deleteInstallation: ["DELETE /app/installations/{installation_id}"],
1702
+ deleteToken: ["DELETE /applications/{client_id}/token"],
1703
+ getAuthenticated: ["GET /app"],
1704
+ getBySlug: ["GET /apps/{app_slug}"],
1705
+ getInstallation: ["GET /app/installations/{installation_id}"],
1706
+ getOrgInstallation: ["GET /orgs/{org}/installation"],
1707
+ getRepoInstallation: ["GET /repos/{owner}/{repo}/installation"],
1708
+ getSubscriptionPlanForAccount: [
1709
+ "GET /marketplace_listing/accounts/{account_id}"
1710
+ ],
1711
+ getSubscriptionPlanForAccountStubbed: [
1712
+ "GET /marketplace_listing/stubbed/accounts/{account_id}"
1713
+ ],
1714
+ getUserInstallation: ["GET /users/{username}/installation"],
1715
+ getWebhookConfigForApp: ["GET /app/hook/config"],
1716
+ getWebhookDelivery: ["GET /app/hook/deliveries/{delivery_id}"],
1717
+ listAccountsForPlan: ["GET /marketplace_listing/plans/{plan_id}/accounts"],
1718
+ listAccountsForPlanStubbed: [
1719
+ "GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"
1720
+ ],
1721
+ listInstallationReposForAuthenticatedUser: [
1722
+ "GET /user/installations/{installation_id}/repositories"
1723
+ ],
1724
+ listInstallationRequestsForAuthenticatedApp: [
1725
+ "GET /app/installation-requests"
1726
+ ],
1727
+ listInstallations: ["GET /app/installations"],
1728
+ listInstallationsForAuthenticatedUser: ["GET /user/installations"],
1729
+ listPlans: ["GET /marketplace_listing/plans"],
1730
+ listPlansStubbed: ["GET /marketplace_listing/stubbed/plans"],
1731
+ listReposAccessibleToInstallation: ["GET /installation/repositories"],
1732
+ listSubscriptionsForAuthenticatedUser: ["GET /user/marketplace_purchases"],
1733
+ listSubscriptionsForAuthenticatedUserStubbed: [
1734
+ "GET /user/marketplace_purchases/stubbed"
1735
+ ],
1736
+ listWebhookDeliveries: ["GET /app/hook/deliveries"],
1737
+ redeliverWebhookDelivery: [
1738
+ "POST /app/hook/deliveries/{delivery_id}/attempts"
1739
+ ],
1740
+ removeRepoFromInstallation: [
1741
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}",
1742
+ {},
1743
+ { renamed: ["apps", "removeRepoFromInstallationForAuthenticatedUser"] }
1744
+ ],
1745
+ removeRepoFromInstallationForAuthenticatedUser: [
1746
+ "DELETE /user/installations/{installation_id}/repositories/{repository_id}"
1747
+ ],
1748
+ resetToken: ["PATCH /applications/{client_id}/token"],
1749
+ revokeInstallationAccessToken: ["DELETE /installation/token"],
1750
+ scopeToken: ["POST /applications/{client_id}/token/scoped"],
1751
+ suspendInstallation: ["PUT /app/installations/{installation_id}/suspended"],
1752
+ unsuspendInstallation: [
1753
+ "DELETE /app/installations/{installation_id}/suspended"
1754
+ ],
1755
+ updateWebhookConfigForApp: ["PATCH /app/hook/config"]
1756
+ },
1757
+ billing: {
1758
+ getGithubActionsBillingOrg: ["GET /orgs/{org}/settings/billing/actions"],
1759
+ getGithubActionsBillingUser: [
1760
+ "GET /users/{username}/settings/billing/actions"
1761
+ ],
1762
+ getGithubBillingUsageReportOrg: [
1763
+ "GET /organizations/{org}/settings/billing/usage"
1764
+ ],
1765
+ getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
1766
+ getGithubPackagesBillingUser: [
1767
+ "GET /users/{username}/settings/billing/packages"
1768
+ ],
1769
+ getSharedStorageBillingOrg: [
1770
+ "GET /orgs/{org}/settings/billing/shared-storage"
1771
+ ],
1772
+ getSharedStorageBillingUser: [
1773
+ "GET /users/{username}/settings/billing/shared-storage"
1774
+ ]
1775
+ },
1776
+ checks: {
1777
+ create: ["POST /repos/{owner}/{repo}/check-runs"],
1778
+ createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
1779
+ get: ["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],
1780
+ getSuite: ["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],
1781
+ listAnnotations: [
1782
+ "GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"
1783
+ ],
1784
+ listForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],
1785
+ listForSuite: [
1786
+ "GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"
1787
+ ],
1788
+ listSuitesForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],
1789
+ rerequestRun: [
1790
+ "POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"
1791
+ ],
1792
+ rerequestSuite: [
1793
+ "POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"
1794
+ ],
1795
+ setSuitesPreferences: [
1796
+ "PATCH /repos/{owner}/{repo}/check-suites/preferences"
1797
+ ],
1798
+ update: ["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]
1799
+ },
1800
+ codeScanning: {
1801
+ commitAutofix: [
1802
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits"
1803
+ ],
1804
+ createAutofix: [
1805
+ "POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
1806
+ ],
1807
+ createVariantAnalysis: [
1808
+ "POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses"
1809
+ ],
1810
+ deleteAnalysis: [
1811
+ "DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"
1812
+ ],
1813
+ deleteCodeqlDatabase: [
1814
+ "DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
1815
+ ],
1816
+ getAlert: [
1817
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",
1818
+ {},
1819
+ { renamedParameters: { alert_id: "alert_number" } }
1820
+ ],
1821
+ getAnalysis: [
1822
+ "GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"
1823
+ ],
1824
+ getAutofix: [
1825
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix"
1826
+ ],
1827
+ getCodeqlDatabase: [
1828
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"
1829
+ ],
1830
+ getDefaultSetup: ["GET /repos/{owner}/{repo}/code-scanning/default-setup"],
1831
+ getSarif: ["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],
1832
+ getVariantAnalysis: [
1833
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}"
1834
+ ],
1835
+ getVariantAnalysisRepoTask: [
1836
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}"
1837
+ ],
1838
+ listAlertInstances: [
1839
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"
1840
+ ],
1841
+ listAlertsForOrg: ["GET /orgs/{org}/code-scanning/alerts"],
1842
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/code-scanning/alerts"],
1843
+ listAlertsInstances: [
1844
+ "GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",
1845
+ {},
1846
+ { renamed: ["codeScanning", "listAlertInstances"] }
1847
+ ],
1848
+ listCodeqlDatabases: [
1849
+ "GET /repos/{owner}/{repo}/code-scanning/codeql/databases"
1850
+ ],
1851
+ listRecentAnalyses: ["GET /repos/{owner}/{repo}/code-scanning/analyses"],
1852
+ updateAlert: [
1853
+ "PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"
1854
+ ],
1855
+ updateDefaultSetup: [
1856
+ "PATCH /repos/{owner}/{repo}/code-scanning/default-setup"
1857
+ ],
1858
+ uploadSarif: ["POST /repos/{owner}/{repo}/code-scanning/sarifs"]
1859
+ },
1860
+ codeSecurity: {
1861
+ attachConfiguration: [
1862
+ "POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"
1863
+ ],
1864
+ attachEnterpriseConfiguration: [
1865
+ "POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"
1866
+ ],
1867
+ createConfiguration: ["POST /orgs/{org}/code-security/configurations"],
1868
+ createConfigurationForEnterprise: [
1869
+ "POST /enterprises/{enterprise}/code-security/configurations"
1870
+ ],
1871
+ deleteConfiguration: [
1872
+ "DELETE /orgs/{org}/code-security/configurations/{configuration_id}"
1873
+ ],
1874
+ deleteConfigurationForEnterprise: [
1875
+ "DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
1876
+ ],
1877
+ detachConfiguration: [
1878
+ "DELETE /orgs/{org}/code-security/configurations/detach"
1879
+ ],
1880
+ getConfiguration: [
1881
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}"
1882
+ ],
1883
+ getConfigurationForRepository: [
1884
+ "GET /repos/{owner}/{repo}/code-security-configuration"
1885
+ ],
1886
+ getConfigurationsForEnterprise: [
1887
+ "GET /enterprises/{enterprise}/code-security/configurations"
1888
+ ],
1889
+ getConfigurationsForOrg: ["GET /orgs/{org}/code-security/configurations"],
1890
+ getDefaultConfigurations: [
1891
+ "GET /orgs/{org}/code-security/configurations/defaults"
1892
+ ],
1893
+ getDefaultConfigurationsForEnterprise: [
1894
+ "GET /enterprises/{enterprise}/code-security/configurations/defaults"
1895
+ ],
1896
+ getRepositoriesForConfiguration: [
1897
+ "GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"
1898
+ ],
1899
+ getRepositoriesForEnterpriseConfiguration: [
1900
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"
1901
+ ],
1902
+ getSingleConfigurationForEnterprise: [
1903
+ "GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
1904
+ ],
1905
+ setConfigurationAsDefault: [
1906
+ "PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"
1907
+ ],
1908
+ setConfigurationAsDefaultForEnterprise: [
1909
+ "PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"
1910
+ ],
1911
+ updateConfiguration: [
1912
+ "PATCH /orgs/{org}/code-security/configurations/{configuration_id}"
1913
+ ],
1914
+ updateEnterpriseConfiguration: [
1915
+ "PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"
1916
+ ]
1917
+ },
1918
+ codesOfConduct: {
1919
+ getAllCodesOfConduct: ["GET /codes_of_conduct"],
1920
+ getConductCode: ["GET /codes_of_conduct/{key}"]
1921
+ },
1922
+ codespaces: {
1923
+ addRepositoryForSecretForAuthenticatedUser: [
1924
+ "PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
1925
+ ],
1926
+ addSelectedRepoToOrgSecret: [
1927
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
1928
+ ],
1929
+ checkPermissionsForDevcontainer: [
1930
+ "GET /repos/{owner}/{repo}/codespaces/permissions_check"
1931
+ ],
1932
+ codespaceMachinesForAuthenticatedUser: [
1933
+ "GET /user/codespaces/{codespace_name}/machines"
1934
+ ],
1935
+ createForAuthenticatedUser: ["POST /user/codespaces"],
1936
+ createOrUpdateOrgSecret: [
1937
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}"
1938
+ ],
1939
+ createOrUpdateRepoSecret: [
1940
+ "PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
1941
+ ],
1942
+ createOrUpdateSecretForAuthenticatedUser: [
1943
+ "PUT /user/codespaces/secrets/{secret_name}"
1944
+ ],
1945
+ createWithPrForAuthenticatedUser: [
1946
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"
1947
+ ],
1948
+ createWithRepoForAuthenticatedUser: [
1949
+ "POST /repos/{owner}/{repo}/codespaces"
1950
+ ],
1951
+ deleteForAuthenticatedUser: ["DELETE /user/codespaces/{codespace_name}"],
1952
+ deleteFromOrganization: [
1953
+ "DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"
1954
+ ],
1955
+ deleteOrgSecret: ["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],
1956
+ deleteRepoSecret: [
1957
+ "DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
1958
+ ],
1959
+ deleteSecretForAuthenticatedUser: [
1960
+ "DELETE /user/codespaces/secrets/{secret_name}"
1961
+ ],
1962
+ exportForAuthenticatedUser: [
1963
+ "POST /user/codespaces/{codespace_name}/exports"
1964
+ ],
1965
+ getCodespacesForUserInOrg: [
1966
+ "GET /orgs/{org}/members/{username}/codespaces"
1967
+ ],
1968
+ getExportDetailsForAuthenticatedUser: [
1969
+ "GET /user/codespaces/{codespace_name}/exports/{export_id}"
1970
+ ],
1971
+ getForAuthenticatedUser: ["GET /user/codespaces/{codespace_name}"],
1972
+ getOrgPublicKey: ["GET /orgs/{org}/codespaces/secrets/public-key"],
1973
+ getOrgSecret: ["GET /orgs/{org}/codespaces/secrets/{secret_name}"],
1974
+ getPublicKeyForAuthenticatedUser: [
1975
+ "GET /user/codespaces/secrets/public-key"
1976
+ ],
1977
+ getRepoPublicKey: [
1978
+ "GET /repos/{owner}/{repo}/codespaces/secrets/public-key"
1979
+ ],
1980
+ getRepoSecret: [
1981
+ "GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"
1982
+ ],
1983
+ getSecretForAuthenticatedUser: [
1984
+ "GET /user/codespaces/secrets/{secret_name}"
1985
+ ],
1986
+ listDevcontainersInRepositoryForAuthenticatedUser: [
1987
+ "GET /repos/{owner}/{repo}/codespaces/devcontainers"
1988
+ ],
1989
+ listForAuthenticatedUser: ["GET /user/codespaces"],
1990
+ listInOrganization: [
1991
+ "GET /orgs/{org}/codespaces",
1992
+ {},
1993
+ { renamedParameters: { org_id: "org" } }
1994
+ ],
1995
+ listInRepositoryForAuthenticatedUser: [
1996
+ "GET /repos/{owner}/{repo}/codespaces"
1997
+ ],
1998
+ listOrgSecrets: ["GET /orgs/{org}/codespaces/secrets"],
1999
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/codespaces/secrets"],
2000
+ listRepositoriesForSecretForAuthenticatedUser: [
2001
+ "GET /user/codespaces/secrets/{secret_name}/repositories"
2002
+ ],
2003
+ listSecretsForAuthenticatedUser: ["GET /user/codespaces/secrets"],
2004
+ listSelectedReposForOrgSecret: [
2005
+ "GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
2006
+ ],
2007
+ preFlightWithRepoForAuthenticatedUser: [
2008
+ "GET /repos/{owner}/{repo}/codespaces/new"
2009
+ ],
2010
+ publishForAuthenticatedUser: [
2011
+ "POST /user/codespaces/{codespace_name}/publish"
2012
+ ],
2013
+ removeRepositoryForSecretForAuthenticatedUser: [
2014
+ "DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2015
+ ],
2016
+ removeSelectedRepoFromOrgSecret: [
2017
+ "DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"
2018
+ ],
2019
+ repoMachinesForAuthenticatedUser: [
2020
+ "GET /repos/{owner}/{repo}/codespaces/machines"
2021
+ ],
2022
+ setRepositoriesForSecretForAuthenticatedUser: [
2023
+ "PUT /user/codespaces/secrets/{secret_name}/repositories"
2024
+ ],
2025
+ setSelectedReposForOrgSecret: [
2026
+ "PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"
2027
+ ],
2028
+ startForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/start"],
2029
+ stopForAuthenticatedUser: ["POST /user/codespaces/{codespace_name}/stop"],
2030
+ stopInOrganization: [
2031
+ "POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"
2032
+ ],
2033
+ updateForAuthenticatedUser: ["PATCH /user/codespaces/{codespace_name}"]
2034
+ },
2035
+ copilot: {
2036
+ addCopilotSeatsForTeams: [
2037
+ "POST /orgs/{org}/copilot/billing/selected_teams"
2038
+ ],
2039
+ addCopilotSeatsForUsers: [
2040
+ "POST /orgs/{org}/copilot/billing/selected_users"
2041
+ ],
2042
+ cancelCopilotSeatAssignmentForTeams: [
2043
+ "DELETE /orgs/{org}/copilot/billing/selected_teams"
2044
+ ],
2045
+ cancelCopilotSeatAssignmentForUsers: [
2046
+ "DELETE /orgs/{org}/copilot/billing/selected_users"
2047
+ ],
2048
+ copilotMetricsForOrganization: ["GET /orgs/{org}/copilot/metrics"],
2049
+ copilotMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/metrics"],
2050
+ getCopilotOrganizationDetails: ["GET /orgs/{org}/copilot/billing"],
2051
+ getCopilotSeatDetailsForUser: [
2052
+ "GET /orgs/{org}/members/{username}/copilot"
2053
+ ],
2054
+ listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"],
2055
+ usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"],
2056
+ usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"]
2057
+ },
2058
+ dependabot: {
2059
+ addSelectedRepoToOrgSecret: [
2060
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
2061
+ ],
2062
+ createOrUpdateOrgSecret: [
2063
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}"
2064
+ ],
2065
+ createOrUpdateRepoSecret: [
2066
+ "PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2067
+ ],
2068
+ deleteOrgSecret: ["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],
2069
+ deleteRepoSecret: [
2070
+ "DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2071
+ ],
2072
+ getAlert: ["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],
2073
+ getOrgPublicKey: ["GET /orgs/{org}/dependabot/secrets/public-key"],
2074
+ getOrgSecret: ["GET /orgs/{org}/dependabot/secrets/{secret_name}"],
2075
+ getRepoPublicKey: [
2076
+ "GET /repos/{owner}/{repo}/dependabot/secrets/public-key"
2077
+ ],
2078
+ getRepoSecret: [
2079
+ "GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"
2080
+ ],
2081
+ listAlertsForEnterprise: [
2082
+ "GET /enterprises/{enterprise}/dependabot/alerts"
2083
+ ],
2084
+ listAlertsForOrg: ["GET /orgs/{org}/dependabot/alerts"],
2085
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/dependabot/alerts"],
2086
+ listOrgSecrets: ["GET /orgs/{org}/dependabot/secrets"],
2087
+ listRepoSecrets: ["GET /repos/{owner}/{repo}/dependabot/secrets"],
2088
+ listSelectedReposForOrgSecret: [
2089
+ "GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
2090
+ ],
2091
+ removeSelectedRepoFromOrgSecret: [
2092
+ "DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
2093
+ ],
2094
+ setSelectedReposForOrgSecret: [
2095
+ "PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"
2096
+ ],
2097
+ updateAlert: [
2098
+ "PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"
2099
+ ]
2100
+ },
2101
+ dependencyGraph: {
2102
+ createRepositorySnapshot: [
2103
+ "POST /repos/{owner}/{repo}/dependency-graph/snapshots"
2104
+ ],
2105
+ diffRange: [
2106
+ "GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"
2107
+ ],
2108
+ exportSbom: ["GET /repos/{owner}/{repo}/dependency-graph/sbom"]
2109
+ },
2110
+ emojis: { get: ["GET /emojis"] },
2111
+ gists: {
2112
+ checkIsStarred: ["GET /gists/{gist_id}/star"],
2113
+ create: ["POST /gists"],
2114
+ createComment: ["POST /gists/{gist_id}/comments"],
2115
+ delete: ["DELETE /gists/{gist_id}"],
2116
+ deleteComment: ["DELETE /gists/{gist_id}/comments/{comment_id}"],
2117
+ fork: ["POST /gists/{gist_id}/forks"],
2118
+ get: ["GET /gists/{gist_id}"],
2119
+ getComment: ["GET /gists/{gist_id}/comments/{comment_id}"],
2120
+ getRevision: ["GET /gists/{gist_id}/{sha}"],
2121
+ list: ["GET /gists"],
2122
+ listComments: ["GET /gists/{gist_id}/comments"],
2123
+ listCommits: ["GET /gists/{gist_id}/commits"],
2124
+ listForUser: ["GET /users/{username}/gists"],
2125
+ listForks: ["GET /gists/{gist_id}/forks"],
2126
+ listPublic: ["GET /gists/public"],
2127
+ listStarred: ["GET /gists/starred"],
2128
+ star: ["PUT /gists/{gist_id}/star"],
2129
+ unstar: ["DELETE /gists/{gist_id}/star"],
2130
+ update: ["PATCH /gists/{gist_id}"],
2131
+ updateComment: ["PATCH /gists/{gist_id}/comments/{comment_id}"]
2132
+ },
2133
+ git: {
2134
+ createBlob: ["POST /repos/{owner}/{repo}/git/blobs"],
2135
+ createCommit: ["POST /repos/{owner}/{repo}/git/commits"],
2136
+ createRef: ["POST /repos/{owner}/{repo}/git/refs"],
2137
+ createTag: ["POST /repos/{owner}/{repo}/git/tags"],
2138
+ createTree: ["POST /repos/{owner}/{repo}/git/trees"],
2139
+ deleteRef: ["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],
2140
+ getBlob: ["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],
2141
+ getCommit: ["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],
2142
+ getRef: ["GET /repos/{owner}/{repo}/git/ref/{ref}"],
2143
+ getTag: ["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],
2144
+ getTree: ["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],
2145
+ listMatchingRefs: ["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],
2146
+ updateRef: ["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]
2147
+ },
2148
+ gitignore: {
2149
+ getAllTemplates: ["GET /gitignore/templates"],
2150
+ getTemplate: ["GET /gitignore/templates/{name}"]
2151
+ },
2152
+ hostedCompute: {
2153
+ createNetworkConfigurationForOrg: [
2154
+ "POST /orgs/{org}/settings/network-configurations"
2155
+ ],
2156
+ deleteNetworkConfigurationFromOrg: [
2157
+ "DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2158
+ ],
2159
+ getNetworkConfigurationForOrg: [
2160
+ "GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2161
+ ],
2162
+ getNetworkSettingsForOrg: [
2163
+ "GET /orgs/{org}/settings/network-settings/{network_settings_id}"
2164
+ ],
2165
+ listNetworkConfigurationsForOrg: [
2166
+ "GET /orgs/{org}/settings/network-configurations"
2167
+ ],
2168
+ updateNetworkConfigurationForOrg: [
2169
+ "PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
2170
+ ]
2171
+ },
2172
+ interactions: {
2173
+ getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
2174
+ getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
2175
+ getRestrictionsForRepo: ["GET /repos/{owner}/{repo}/interaction-limits"],
2176
+ getRestrictionsForYourPublicRepos: [
2177
+ "GET /user/interaction-limits",
2178
+ {},
2179
+ { renamed: ["interactions", "getRestrictionsForAuthenticatedUser"] }
2180
+ ],
2181
+ removeRestrictionsForAuthenticatedUser: ["DELETE /user/interaction-limits"],
2182
+ removeRestrictionsForOrg: ["DELETE /orgs/{org}/interaction-limits"],
2183
+ removeRestrictionsForRepo: [
2184
+ "DELETE /repos/{owner}/{repo}/interaction-limits"
2185
+ ],
2186
+ removeRestrictionsForYourPublicRepos: [
2187
+ "DELETE /user/interaction-limits",
2188
+ {},
2189
+ { renamed: ["interactions", "removeRestrictionsForAuthenticatedUser"] }
2190
+ ],
2191
+ setRestrictionsForAuthenticatedUser: ["PUT /user/interaction-limits"],
2192
+ setRestrictionsForOrg: ["PUT /orgs/{org}/interaction-limits"],
2193
+ setRestrictionsForRepo: ["PUT /repos/{owner}/{repo}/interaction-limits"],
2194
+ setRestrictionsForYourPublicRepos: [
2195
+ "PUT /user/interaction-limits",
2196
+ {},
2197
+ { renamed: ["interactions", "setRestrictionsForAuthenticatedUser"] }
2198
+ ]
2199
+ },
2200
+ issues: {
2201
+ addAssignees: [
2202
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"
2203
+ ],
2204
+ addLabels: ["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],
2205
+ addSubIssue: [
2206
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
2207
+ ],
2208
+ checkUserCanBeAssigned: ["GET /repos/{owner}/{repo}/assignees/{assignee}"],
2209
+ checkUserCanBeAssignedToIssue: [
2210
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"
2211
+ ],
2212
+ create: ["POST /repos/{owner}/{repo}/issues"],
2213
+ createComment: [
2214
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/comments"
2215
+ ],
2216
+ createLabel: ["POST /repos/{owner}/{repo}/labels"],
2217
+ createMilestone: ["POST /repos/{owner}/{repo}/milestones"],
2218
+ deleteComment: [
2219
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"
2220
+ ],
2221
+ deleteLabel: ["DELETE /repos/{owner}/{repo}/labels/{name}"],
2222
+ deleteMilestone: [
2223
+ "DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"
2224
+ ],
2225
+ get: ["GET /repos/{owner}/{repo}/issues/{issue_number}"],
2226
+ getComment: ["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],
2227
+ getEvent: ["GET /repos/{owner}/{repo}/issues/events/{event_id}"],
2228
+ getLabel: ["GET /repos/{owner}/{repo}/labels/{name}"],
2229
+ getMilestone: ["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],
2230
+ list: ["GET /issues"],
2231
+ listAssignees: ["GET /repos/{owner}/{repo}/assignees"],
2232
+ listComments: ["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],
2233
+ listCommentsForRepo: ["GET /repos/{owner}/{repo}/issues/comments"],
2234
+ listEvents: ["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],
2235
+ listEventsForRepo: ["GET /repos/{owner}/{repo}/issues/events"],
2236
+ listEventsForTimeline: [
2237
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"
2238
+ ],
2239
+ listForAuthenticatedUser: ["GET /user/issues"],
2240
+ listForOrg: ["GET /orgs/{org}/issues"],
2241
+ listForRepo: ["GET /repos/{owner}/{repo}/issues"],
2242
+ listLabelsForMilestone: [
2243
+ "GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"
2244
+ ],
2245
+ listLabelsForRepo: ["GET /repos/{owner}/{repo}/labels"],
2246
+ listLabelsOnIssue: [
2247
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/labels"
2248
+ ],
2249
+ listMilestones: ["GET /repos/{owner}/{repo}/milestones"],
2250
+ listSubIssues: [
2251
+ "GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues"
2252
+ ],
2253
+ lock: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],
2254
+ removeAllLabels: [
2255
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"
2256
+ ],
2257
+ removeAssignees: [
2258
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"
2259
+ ],
2260
+ removeLabel: [
2261
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"
2262
+ ],
2263
+ removeSubIssue: [
2264
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue"
2265
+ ],
2266
+ reprioritizeSubIssue: [
2267
+ "PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority"
2268
+ ],
2269
+ setLabels: ["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],
2270
+ unlock: ["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],
2271
+ update: ["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],
2272
+ updateComment: ["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],
2273
+ updateLabel: ["PATCH /repos/{owner}/{repo}/labels/{name}"],
2274
+ updateMilestone: [
2275
+ "PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"
2276
+ ]
2277
+ },
2278
+ licenses: {
2279
+ get: ["GET /licenses/{license}"],
2280
+ getAllCommonlyUsed: ["GET /licenses"],
2281
+ getForRepo: ["GET /repos/{owner}/{repo}/license"]
2282
+ },
2283
+ markdown: {
2284
+ render: ["POST /markdown"],
2285
+ renderRaw: [
2286
+ "POST /markdown/raw",
2287
+ { headers: { "content-type": "text/plain; charset=utf-8" } }
2288
+ ]
2289
+ },
2290
+ meta: {
2291
+ get: ["GET /meta"],
2292
+ getAllVersions: ["GET /versions"],
2293
+ getOctocat: ["GET /octocat"],
2294
+ getZen: ["GET /zen"],
2295
+ root: ["GET /"]
2296
+ },
2297
+ migrations: {
2298
+ deleteArchiveForAuthenticatedUser: [
2299
+ "DELETE /user/migrations/{migration_id}/archive"
2300
+ ],
2301
+ deleteArchiveForOrg: [
2302
+ "DELETE /orgs/{org}/migrations/{migration_id}/archive"
2303
+ ],
2304
+ downloadArchiveForOrg: [
2305
+ "GET /orgs/{org}/migrations/{migration_id}/archive"
2306
+ ],
2307
+ getArchiveForAuthenticatedUser: [
2308
+ "GET /user/migrations/{migration_id}/archive"
2309
+ ],
2310
+ getStatusForAuthenticatedUser: ["GET /user/migrations/{migration_id}"],
2311
+ getStatusForOrg: ["GET /orgs/{org}/migrations/{migration_id}"],
2312
+ listForAuthenticatedUser: ["GET /user/migrations"],
2313
+ listForOrg: ["GET /orgs/{org}/migrations"],
2314
+ listReposForAuthenticatedUser: [
2315
+ "GET /user/migrations/{migration_id}/repositories"
2316
+ ],
2317
+ listReposForOrg: ["GET /orgs/{org}/migrations/{migration_id}/repositories"],
2318
+ listReposForUser: [
2319
+ "GET /user/migrations/{migration_id}/repositories",
2320
+ {},
2321
+ { renamed: ["migrations", "listReposForAuthenticatedUser"] }
2322
+ ],
2323
+ startForAuthenticatedUser: ["POST /user/migrations"],
2324
+ startForOrg: ["POST /orgs/{org}/migrations"],
2325
+ unlockRepoForAuthenticatedUser: [
2326
+ "DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"
2327
+ ],
2328
+ unlockRepoForOrg: [
2329
+ "DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"
2330
+ ]
2331
+ },
2332
+ oidc: {
2333
+ getOidcCustomSubTemplateForOrg: [
2334
+ "GET /orgs/{org}/actions/oidc/customization/sub"
2335
+ ],
2336
+ updateOidcCustomSubTemplateForOrg: [
2337
+ "PUT /orgs/{org}/actions/oidc/customization/sub"
2338
+ ]
2339
+ },
2340
+ orgs: {
2341
+ addSecurityManagerTeam: [
2342
+ "PUT /orgs/{org}/security-managers/teams/{team_slug}",
2343
+ {},
2344
+ {
2345
+ deprecated: "octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team"
2346
+ }
2347
+ ],
2348
+ assignTeamToOrgRole: [
2349
+ "PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
2350
+ ],
2351
+ assignUserToOrgRole: [
2352
+ "PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"
2353
+ ],
2354
+ blockUser: ["PUT /orgs/{org}/blocks/{username}"],
2355
+ cancelInvitation: ["DELETE /orgs/{org}/invitations/{invitation_id}"],
2356
+ checkBlockedUser: ["GET /orgs/{org}/blocks/{username}"],
2357
+ checkMembershipForUser: ["GET /orgs/{org}/members/{username}"],
2358
+ checkPublicMembershipForUser: ["GET /orgs/{org}/public_members/{username}"],
2359
+ convertMemberToOutsideCollaborator: [
2360
+ "PUT /orgs/{org}/outside_collaborators/{username}"
2361
+ ],
2362
+ createInvitation: ["POST /orgs/{org}/invitations"],
2363
+ createIssueType: ["POST /orgs/{org}/issue-types"],
2364
+ createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
2365
+ createOrUpdateCustomPropertiesValuesForRepos: [
2366
+ "PATCH /orgs/{org}/properties/values"
2367
+ ],
2368
+ createOrUpdateCustomProperty: [
2369
+ "PUT /orgs/{org}/properties/schema/{custom_property_name}"
2370
+ ],
2371
+ createWebhook: ["POST /orgs/{org}/hooks"],
2372
+ delete: ["DELETE /orgs/{org}"],
2373
+ deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
2374
+ deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
2375
+ enableOrDisableSecurityProductOnAllOrgRepos: [
2376
+ "POST /orgs/{org}/{security_product}/{enablement}",
2377
+ {},
2378
+ {
2379
+ deprecated: "octokit.rest.orgs.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"
2380
+ }
2381
+ ],
2382
+ get: ["GET /orgs/{org}"],
2383
+ getAllCustomProperties: ["GET /orgs/{org}/properties/schema"],
2384
+ getCustomProperty: [
2385
+ "GET /orgs/{org}/properties/schema/{custom_property_name}"
2386
+ ],
2387
+ getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
2388
+ getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
2389
+ getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
2390
+ getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
2391
+ getOrgRulesetVersion: [
2392
+ "GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
2393
+ ],
2394
+ getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
2395
+ getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
2396
+ getWebhookDelivery: [
2397
+ "GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"
2398
+ ],
2399
+ list: ["GET /organizations"],
2400
+ listAppInstallations: ["GET /orgs/{org}/installations"],
2401
+ listAttestations: ["GET /orgs/{org}/attestations/{subject_digest}"],
2402
+ listBlockedUsers: ["GET /orgs/{org}/blocks"],
2403
+ listCustomPropertiesValuesForRepos: ["GET /orgs/{org}/properties/values"],
2404
+ listFailedInvitations: ["GET /orgs/{org}/failed_invitations"],
2405
+ listForAuthenticatedUser: ["GET /user/orgs"],
2406
+ listForUser: ["GET /users/{username}/orgs"],
2407
+ listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
2408
+ listIssueTypes: ["GET /orgs/{org}/issue-types"],
2409
+ listMembers: ["GET /orgs/{org}/members"],
2410
+ listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
2411
+ listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
2412
+ listOrgRoleUsers: ["GET /orgs/{org}/organization-roles/{role_id}/users"],
2413
+ listOrgRoles: ["GET /orgs/{org}/organization-roles"],
2414
+ listOrganizationFineGrainedPermissions: [
2415
+ "GET /orgs/{org}/organization-fine-grained-permissions"
2416
+ ],
2417
+ listOutsideCollaborators: ["GET /orgs/{org}/outside_collaborators"],
2418
+ listPatGrantRepositories: [
2419
+ "GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"
2420
+ ],
2421
+ listPatGrantRequestRepositories: [
2422
+ "GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"
2423
+ ],
2424
+ listPatGrantRequests: ["GET /orgs/{org}/personal-access-token-requests"],
2425
+ listPatGrants: ["GET /orgs/{org}/personal-access-tokens"],
2426
+ listPendingInvitations: ["GET /orgs/{org}/invitations"],
2427
+ listPublicMembers: ["GET /orgs/{org}/public_members"],
2428
+ listSecurityManagerTeams: [
2429
+ "GET /orgs/{org}/security-managers",
2430
+ {},
2431
+ {
2432
+ deprecated: "octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams"
2433
+ }
2434
+ ],
2435
+ listWebhookDeliveries: ["GET /orgs/{org}/hooks/{hook_id}/deliveries"],
2436
+ listWebhooks: ["GET /orgs/{org}/hooks"],
2437
+ pingWebhook: ["POST /orgs/{org}/hooks/{hook_id}/pings"],
2438
+ redeliverWebhookDelivery: [
2439
+ "POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
2440
+ ],
2441
+ removeCustomProperty: [
2442
+ "DELETE /orgs/{org}/properties/schema/{custom_property_name}"
2443
+ ],
2444
+ removeMember: ["DELETE /orgs/{org}/members/{username}"],
2445
+ removeMembershipForUser: ["DELETE /orgs/{org}/memberships/{username}"],
2446
+ removeOutsideCollaborator: [
2447
+ "DELETE /orgs/{org}/outside_collaborators/{username}"
2448
+ ],
2449
+ removePublicMembershipForAuthenticatedUser: [
2450
+ "DELETE /orgs/{org}/public_members/{username}"
2451
+ ],
2452
+ removeSecurityManagerTeam: [
2453
+ "DELETE /orgs/{org}/security-managers/teams/{team_slug}",
2454
+ {},
2455
+ {
2456
+ deprecated: "octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team"
2457
+ }
2458
+ ],
2459
+ reviewPatGrantRequest: [
2460
+ "POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"
2461
+ ],
2462
+ reviewPatGrantRequestsInBulk: [
2463
+ "POST /orgs/{org}/personal-access-token-requests"
2464
+ ],
2465
+ revokeAllOrgRolesTeam: [
2466
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}"
2467
+ ],
2468
+ revokeAllOrgRolesUser: [
2469
+ "DELETE /orgs/{org}/organization-roles/users/{username}"
2470
+ ],
2471
+ revokeOrgRoleTeam: [
2472
+ "DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"
2473
+ ],
2474
+ revokeOrgRoleUser: [
2475
+ "DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"
2476
+ ],
2477
+ setMembershipForUser: ["PUT /orgs/{org}/memberships/{username}"],
2478
+ setPublicMembershipForAuthenticatedUser: [
2479
+ "PUT /orgs/{org}/public_members/{username}"
2480
+ ],
2481
+ unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
2482
+ update: ["PATCH /orgs/{org}"],
2483
+ updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
2484
+ updateMembershipForAuthenticatedUser: [
2485
+ "PATCH /user/memberships/orgs/{org}"
2486
+ ],
2487
+ updatePatAccess: ["POST /orgs/{org}/personal-access-tokens/{pat_id}"],
2488
+ updatePatAccesses: ["POST /orgs/{org}/personal-access-tokens"],
2489
+ updateWebhook: ["PATCH /orgs/{org}/hooks/{hook_id}"],
2490
+ updateWebhookConfigForOrg: ["PATCH /orgs/{org}/hooks/{hook_id}/config"]
2491
+ },
2492
+ packages: {
2493
+ deletePackageForAuthenticatedUser: [
2494
+ "DELETE /user/packages/{package_type}/{package_name}"
2495
+ ],
2496
+ deletePackageForOrg: [
2497
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}"
2498
+ ],
2499
+ deletePackageForUser: [
2500
+ "DELETE /users/{username}/packages/{package_type}/{package_name}"
2501
+ ],
2502
+ deletePackageVersionForAuthenticatedUser: [
2503
+ "DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
2504
+ ],
2505
+ deletePackageVersionForOrg: [
2506
+ "DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2507
+ ],
2508
+ deletePackageVersionForUser: [
2509
+ "DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2510
+ ],
2511
+ getAllPackageVersionsForAPackageOwnedByAnOrg: [
2512
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions",
2513
+ {},
2514
+ { renamed: ["packages", "getAllPackageVersionsForPackageOwnedByOrg"] }
2515
+ ],
2516
+ getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser: [
2517
+ "GET /user/packages/{package_type}/{package_name}/versions",
2518
+ {},
2519
+ {
2520
+ renamed: [
2521
+ "packages",
2522
+ "getAllPackageVersionsForPackageOwnedByAuthenticatedUser"
2523
+ ]
2524
+ }
2525
+ ],
2526
+ getAllPackageVersionsForPackageOwnedByAuthenticatedUser: [
2527
+ "GET /user/packages/{package_type}/{package_name}/versions"
2528
+ ],
2529
+ getAllPackageVersionsForPackageOwnedByOrg: [
2530
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions"
2531
+ ],
2532
+ getAllPackageVersionsForPackageOwnedByUser: [
2533
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions"
2534
+ ],
2535
+ getPackageForAuthenticatedUser: [
2536
+ "GET /user/packages/{package_type}/{package_name}"
2537
+ ],
2538
+ getPackageForOrganization: [
2539
+ "GET /orgs/{org}/packages/{package_type}/{package_name}"
2540
+ ],
2541
+ getPackageForUser: [
2542
+ "GET /users/{username}/packages/{package_type}/{package_name}"
2543
+ ],
2544
+ getPackageVersionForAuthenticatedUser: [
2545
+ "GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"
2546
+ ],
2547
+ getPackageVersionForOrganization: [
2548
+ "GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2549
+ ],
2550
+ getPackageVersionForUser: [
2551
+ "GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"
2552
+ ],
2553
+ listDockerMigrationConflictingPackagesForAuthenticatedUser: [
2554
+ "GET /user/docker/conflicts"
2555
+ ],
2556
+ listDockerMigrationConflictingPackagesForOrganization: [
2557
+ "GET /orgs/{org}/docker/conflicts"
2558
+ ],
2559
+ listDockerMigrationConflictingPackagesForUser: [
2560
+ "GET /users/{username}/docker/conflicts"
2561
+ ],
2562
+ listPackagesForAuthenticatedUser: ["GET /user/packages"],
2563
+ listPackagesForOrganization: ["GET /orgs/{org}/packages"],
2564
+ listPackagesForUser: ["GET /users/{username}/packages"],
2565
+ restorePackageForAuthenticatedUser: [
2566
+ "POST /user/packages/{package_type}/{package_name}/restore{?token}"
2567
+ ],
2568
+ restorePackageForOrg: [
2569
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"
2570
+ ],
2571
+ restorePackageForUser: [
2572
+ "POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"
2573
+ ],
2574
+ restorePackageVersionForAuthenticatedUser: [
2575
+ "POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2576
+ ],
2577
+ restorePackageVersionForOrg: [
2578
+ "POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2579
+ ],
2580
+ restorePackageVersionForUser: [
2581
+ "POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"
2582
+ ]
2583
+ },
2584
+ privateRegistries: {
2585
+ createOrgPrivateRegistry: ["POST /orgs/{org}/private-registries"],
2586
+ deleteOrgPrivateRegistry: [
2587
+ "DELETE /orgs/{org}/private-registries/{secret_name}"
2588
+ ],
2589
+ getOrgPrivateRegistry: ["GET /orgs/{org}/private-registries/{secret_name}"],
2590
+ getOrgPublicKey: ["GET /orgs/{org}/private-registries/public-key"],
2591
+ listOrgPrivateRegistries: ["GET /orgs/{org}/private-registries"],
2592
+ updateOrgPrivateRegistry: [
2593
+ "PATCH /orgs/{org}/private-registries/{secret_name}"
2594
+ ]
2595
+ },
2596
+ projects: {
2597
+ addCollaborator: [
2598
+ "PUT /projects/{project_id}/collaborators/{username}",
2599
+ {},
2600
+ {
2601
+ deprecated: "octokit.rest.projects.addCollaborator() is deprecated, see https://docs.github.com/rest/projects/collaborators#add-project-collaborator"
2602
+ }
2603
+ ],
2604
+ createCard: [
2605
+ "POST /projects/columns/{column_id}/cards",
2606
+ {},
2607
+ {
2608
+ deprecated: "octokit.rest.projects.createCard() is deprecated, see https://docs.github.com/rest/projects/cards#create-a-project-card"
2609
+ }
2610
+ ],
2611
+ createColumn: [
2612
+ "POST /projects/{project_id}/columns",
2613
+ {},
2614
+ {
2615
+ deprecated: "octokit.rest.projects.createColumn() is deprecated, see https://docs.github.com/rest/projects/columns#create-a-project-column"
2616
+ }
2617
+ ],
2618
+ createForAuthenticatedUser: [
2619
+ "POST /user/projects",
2620
+ {},
2621
+ {
2622
+ deprecated: "octokit.rest.projects.createForAuthenticatedUser() is deprecated, see https://docs.github.com/rest/projects/projects#create-a-user-project"
2623
+ }
2624
+ ],
2625
+ createForOrg: [
2626
+ "POST /orgs/{org}/projects",
2627
+ {},
2628
+ {
2629
+ deprecated: "octokit.rest.projects.createForOrg() is deprecated, see https://docs.github.com/rest/projects/projects#create-an-organization-project"
2630
+ }
2631
+ ],
2632
+ createForRepo: [
2633
+ "POST /repos/{owner}/{repo}/projects",
2634
+ {},
2635
+ {
2636
+ deprecated: "octokit.rest.projects.createForRepo() is deprecated, see https://docs.github.com/rest/projects/projects#create-a-repository-project"
2637
+ }
2638
+ ],
2639
+ delete: [
2640
+ "DELETE /projects/{project_id}",
2641
+ {},
2642
+ {
2643
+ deprecated: "octokit.rest.projects.delete() is deprecated, see https://docs.github.com/rest/projects/projects#delete-a-project"
2644
+ }
2645
+ ],
2646
+ deleteCard: [
2647
+ "DELETE /projects/columns/cards/{card_id}",
2648
+ {},
2649
+ {
2650
+ deprecated: "octokit.rest.projects.deleteCard() is deprecated, see https://docs.github.com/rest/projects/cards#delete-a-project-card"
2651
+ }
2652
+ ],
2653
+ deleteColumn: [
2654
+ "DELETE /projects/columns/{column_id}",
2655
+ {},
2656
+ {
2657
+ deprecated: "octokit.rest.projects.deleteColumn() is deprecated, see https://docs.github.com/rest/projects/columns#delete-a-project-column"
2658
+ }
2659
+ ],
2660
+ get: [
2661
+ "GET /projects/{project_id}",
2662
+ {},
2663
+ {
2664
+ deprecated: "octokit.rest.projects.get() is deprecated, see https://docs.github.com/rest/projects/projects#get-a-project"
2665
+ }
2666
+ ],
2667
+ getCard: [
2668
+ "GET /projects/columns/cards/{card_id}",
2669
+ {},
2670
+ {
2671
+ deprecated: "octokit.rest.projects.getCard() is deprecated, see https://docs.github.com/rest/projects/cards#get-a-project-card"
2672
+ }
2673
+ ],
2674
+ getColumn: [
2675
+ "GET /projects/columns/{column_id}",
2676
+ {},
2677
+ {
2678
+ deprecated: "octokit.rest.projects.getColumn() is deprecated, see https://docs.github.com/rest/projects/columns#get-a-project-column"
2679
+ }
2680
+ ],
2681
+ getPermissionForUser: [
2682
+ "GET /projects/{project_id}/collaborators/{username}/permission",
2683
+ {},
2684
+ {
2685
+ deprecated: "octokit.rest.projects.getPermissionForUser() is deprecated, see https://docs.github.com/rest/projects/collaborators#get-project-permission-for-a-user"
2686
+ }
2687
+ ],
2688
+ listCards: [
2689
+ "GET /projects/columns/{column_id}/cards",
2690
+ {},
2691
+ {
2692
+ deprecated: "octokit.rest.projects.listCards() is deprecated, see https://docs.github.com/rest/projects/cards#list-project-cards"
2693
+ }
2694
+ ],
2695
+ listCollaborators: [
2696
+ "GET /projects/{project_id}/collaborators",
2697
+ {},
2698
+ {
2699
+ deprecated: "octokit.rest.projects.listCollaborators() is deprecated, see https://docs.github.com/rest/projects/collaborators#list-project-collaborators"
2700
+ }
2701
+ ],
2702
+ listColumns: [
2703
+ "GET /projects/{project_id}/columns",
2704
+ {},
2705
+ {
2706
+ deprecated: "octokit.rest.projects.listColumns() is deprecated, see https://docs.github.com/rest/projects/columns#list-project-columns"
2707
+ }
2708
+ ],
2709
+ listForOrg: [
2710
+ "GET /orgs/{org}/projects",
2711
+ {},
2712
+ {
2713
+ deprecated: "octokit.rest.projects.listForOrg() is deprecated, see https://docs.github.com/rest/projects/projects#list-organization-projects"
2714
+ }
2715
+ ],
2716
+ listForRepo: [
2717
+ "GET /repos/{owner}/{repo}/projects",
2718
+ {},
2719
+ {
2720
+ deprecated: "octokit.rest.projects.listForRepo() is deprecated, see https://docs.github.com/rest/projects/projects#list-repository-projects"
2721
+ }
2722
+ ],
2723
+ listForUser: [
2724
+ "GET /users/{username}/projects",
2725
+ {},
2726
+ {
2727
+ deprecated: "octokit.rest.projects.listForUser() is deprecated, see https://docs.github.com/rest/projects/projects#list-user-projects"
2728
+ }
2729
+ ],
2730
+ moveCard: [
2731
+ "POST /projects/columns/cards/{card_id}/moves",
2732
+ {},
2733
+ {
2734
+ deprecated: "octokit.rest.projects.moveCard() is deprecated, see https://docs.github.com/rest/projects/cards#move-a-project-card"
2735
+ }
2736
+ ],
2737
+ moveColumn: [
2738
+ "POST /projects/columns/{column_id}/moves",
2739
+ {},
2740
+ {
2741
+ deprecated: "octokit.rest.projects.moveColumn() is deprecated, see https://docs.github.com/rest/projects/columns#move-a-project-column"
2742
+ }
2743
+ ],
2744
+ removeCollaborator: [
2745
+ "DELETE /projects/{project_id}/collaborators/{username}",
2746
+ {},
2747
+ {
2748
+ deprecated: "octokit.rest.projects.removeCollaborator() is deprecated, see https://docs.github.com/rest/projects/collaborators#remove-user-as-a-collaborator"
2749
+ }
2750
+ ],
2751
+ update: [
2752
+ "PATCH /projects/{project_id}",
2753
+ {},
2754
+ {
2755
+ deprecated: "octokit.rest.projects.update() is deprecated, see https://docs.github.com/rest/projects/projects#update-a-project"
2756
+ }
2757
+ ],
2758
+ updateCard: [
2759
+ "PATCH /projects/columns/cards/{card_id}",
2760
+ {},
2761
+ {
2762
+ deprecated: "octokit.rest.projects.updateCard() is deprecated, see https://docs.github.com/rest/projects/cards#update-an-existing-project-card"
2763
+ }
2764
+ ],
2765
+ updateColumn: [
2766
+ "PATCH /projects/columns/{column_id}",
2767
+ {},
2768
+ {
2769
+ deprecated: "octokit.rest.projects.updateColumn() is deprecated, see https://docs.github.com/rest/projects/columns#update-an-existing-project-column"
2770
+ }
2771
+ ]
2772
+ },
2773
+ pulls: {
2774
+ checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
2775
+ create: ["POST /repos/{owner}/{repo}/pulls"],
2776
+ createReplyForReviewComment: [
2777
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"
2778
+ ],
2779
+ createReview: ["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
2780
+ createReviewComment: [
2781
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"
2782
+ ],
2783
+ deletePendingReview: [
2784
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2785
+ ],
2786
+ deleteReviewComment: [
2787
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"
2788
+ ],
2789
+ dismissReview: [
2790
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"
2791
+ ],
2792
+ get: ["GET /repos/{owner}/{repo}/pulls/{pull_number}"],
2793
+ getReview: [
2794
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2795
+ ],
2796
+ getReviewComment: ["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],
2797
+ list: ["GET /repos/{owner}/{repo}/pulls"],
2798
+ listCommentsForReview: [
2799
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"
2800
+ ],
2801
+ listCommits: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],
2802
+ listFiles: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],
2803
+ listRequestedReviewers: [
2804
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2805
+ ],
2806
+ listReviewComments: [
2807
+ "GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"
2808
+ ],
2809
+ listReviewCommentsForRepo: ["GET /repos/{owner}/{repo}/pulls/comments"],
2810
+ listReviews: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],
2811
+ merge: ["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
2812
+ removeRequestedReviewers: [
2813
+ "DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2814
+ ],
2815
+ requestReviewers: [
2816
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"
2817
+ ],
2818
+ submitReview: [
2819
+ "POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"
2820
+ ],
2821
+ update: ["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],
2822
+ updateBranch: [
2823
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"
2824
+ ],
2825
+ updateReview: [
2826
+ "PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"
2827
+ ],
2828
+ updateReviewComment: [
2829
+ "PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"
2830
+ ]
2831
+ },
2832
+ rateLimit: { get: ["GET /rate_limit"] },
2833
+ reactions: {
2834
+ createForCommitComment: [
2835
+ "POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"
2836
+ ],
2837
+ createForIssue: [
2838
+ "POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"
2839
+ ],
2840
+ createForIssueComment: [
2841
+ "POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
2842
+ ],
2843
+ createForPullRequestReviewComment: [
2844
+ "POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
2845
+ ],
2846
+ createForRelease: [
2847
+ "POST /repos/{owner}/{repo}/releases/{release_id}/reactions"
2848
+ ],
2849
+ createForTeamDiscussionCommentInOrg: [
2850
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
2851
+ ],
2852
+ createForTeamDiscussionInOrg: [
2853
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
2854
+ ],
2855
+ deleteForCommitComment: [
2856
+ "DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"
2857
+ ],
2858
+ deleteForIssue: [
2859
+ "DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"
2860
+ ],
2861
+ deleteForIssueComment: [
2862
+ "DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"
2863
+ ],
2864
+ deleteForPullRequestComment: [
2865
+ "DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"
2866
+ ],
2867
+ deleteForRelease: [
2868
+ "DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"
2869
+ ],
2870
+ deleteForTeamDiscussion: [
2871
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"
2872
+ ],
2873
+ deleteForTeamDiscussionComment: [
2874
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"
2875
+ ],
2876
+ listForCommitComment: [
2877
+ "GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"
2878
+ ],
2879
+ listForIssue: ["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],
2880
+ listForIssueComment: [
2881
+ "GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"
2882
+ ],
2883
+ listForPullRequestReviewComment: [
2884
+ "GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"
2885
+ ],
2886
+ listForRelease: [
2887
+ "GET /repos/{owner}/{repo}/releases/{release_id}/reactions"
2888
+ ],
2889
+ listForTeamDiscussionCommentInOrg: [
2890
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"
2891
+ ],
2892
+ listForTeamDiscussionInOrg: [
2893
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"
2894
+ ]
2895
+ },
2896
+ repos: {
2897
+ acceptInvitation: [
2898
+ "PATCH /user/repository_invitations/{invitation_id}",
2899
+ {},
2900
+ { renamed: ["repos", "acceptInvitationForAuthenticatedUser"] }
2901
+ ],
2902
+ acceptInvitationForAuthenticatedUser: [
2903
+ "PATCH /user/repository_invitations/{invitation_id}"
2904
+ ],
2905
+ addAppAccessRestrictions: [
2906
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
2907
+ {},
2908
+ { mapToData: "apps" }
2909
+ ],
2910
+ addCollaborator: ["PUT /repos/{owner}/{repo}/collaborators/{username}"],
2911
+ addStatusCheckContexts: [
2912
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
2913
+ {},
2914
+ { mapToData: "contexts" }
2915
+ ],
2916
+ addTeamAccessRestrictions: [
2917
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
2918
+ {},
2919
+ { mapToData: "teams" }
2920
+ ],
2921
+ addUserAccessRestrictions: [
2922
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
2923
+ {},
2924
+ { mapToData: "users" }
2925
+ ],
2926
+ cancelPagesDeployment: [
2927
+ "POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"
2928
+ ],
2929
+ checkAutomatedSecurityFixes: [
2930
+ "GET /repos/{owner}/{repo}/automated-security-fixes"
2931
+ ],
2932
+ checkCollaborator: ["GET /repos/{owner}/{repo}/collaborators/{username}"],
2933
+ checkPrivateVulnerabilityReporting: [
2934
+ "GET /repos/{owner}/{repo}/private-vulnerability-reporting"
2935
+ ],
2936
+ checkVulnerabilityAlerts: [
2937
+ "GET /repos/{owner}/{repo}/vulnerability-alerts"
2938
+ ],
2939
+ codeownersErrors: ["GET /repos/{owner}/{repo}/codeowners/errors"],
2940
+ compareCommits: ["GET /repos/{owner}/{repo}/compare/{base}...{head}"],
2941
+ compareCommitsWithBasehead: [
2942
+ "GET /repos/{owner}/{repo}/compare/{basehead}"
2943
+ ],
2944
+ createAttestation: ["POST /repos/{owner}/{repo}/attestations"],
2945
+ createAutolink: ["POST /repos/{owner}/{repo}/autolinks"],
2946
+ createCommitComment: [
2947
+ "POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"
2948
+ ],
2949
+ createCommitSignatureProtection: [
2950
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
2951
+ ],
2952
+ createCommitStatus: ["POST /repos/{owner}/{repo}/statuses/{sha}"],
2953
+ createDeployKey: ["POST /repos/{owner}/{repo}/keys"],
2954
+ createDeployment: ["POST /repos/{owner}/{repo}/deployments"],
2955
+ createDeploymentBranchPolicy: [
2956
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
2957
+ ],
2958
+ createDeploymentProtectionRule: [
2959
+ "POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
2960
+ ],
2961
+ createDeploymentStatus: [
2962
+ "POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
2963
+ ],
2964
+ createDispatchEvent: ["POST /repos/{owner}/{repo}/dispatches"],
2965
+ createForAuthenticatedUser: ["POST /user/repos"],
2966
+ createFork: ["POST /repos/{owner}/{repo}/forks"],
2967
+ createInOrg: ["POST /orgs/{org}/repos"],
2968
+ createOrUpdateCustomPropertiesValues: [
2969
+ "PATCH /repos/{owner}/{repo}/properties/values"
2970
+ ],
2971
+ createOrUpdateEnvironment: [
2972
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}"
2973
+ ],
2974
+ createOrUpdateFileContents: ["PUT /repos/{owner}/{repo}/contents/{path}"],
2975
+ createOrgRuleset: ["POST /orgs/{org}/rulesets"],
2976
+ createPagesDeployment: ["POST /repos/{owner}/{repo}/pages/deployments"],
2977
+ createPagesSite: ["POST /repos/{owner}/{repo}/pages"],
2978
+ createRelease: ["POST /repos/{owner}/{repo}/releases"],
2979
+ createRepoRuleset: ["POST /repos/{owner}/{repo}/rulesets"],
2980
+ createUsingTemplate: [
2981
+ "POST /repos/{template_owner}/{template_repo}/generate"
2982
+ ],
2983
+ createWebhook: ["POST /repos/{owner}/{repo}/hooks"],
2984
+ declineInvitation: [
2985
+ "DELETE /user/repository_invitations/{invitation_id}",
2986
+ {},
2987
+ { renamed: ["repos", "declineInvitationForAuthenticatedUser"] }
2988
+ ],
2989
+ declineInvitationForAuthenticatedUser: [
2990
+ "DELETE /user/repository_invitations/{invitation_id}"
2991
+ ],
2992
+ delete: ["DELETE /repos/{owner}/{repo}"],
2993
+ deleteAccessRestrictions: [
2994
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
2995
+ ],
2996
+ deleteAdminBranchProtection: [
2997
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
2998
+ ],
2999
+ deleteAnEnvironment: [
3000
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}"
3001
+ ],
3002
+ deleteAutolink: ["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],
3003
+ deleteBranchProtection: [
3004
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection"
3005
+ ],
3006
+ deleteCommitComment: ["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],
3007
+ deleteCommitSignatureProtection: [
3008
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
3009
+ ],
3010
+ deleteDeployKey: ["DELETE /repos/{owner}/{repo}/keys/{key_id}"],
3011
+ deleteDeployment: [
3012
+ "DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"
3013
+ ],
3014
+ deleteDeploymentBranchPolicy: [
3015
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3016
+ ],
3017
+ deleteFile: ["DELETE /repos/{owner}/{repo}/contents/{path}"],
3018
+ deleteInvitation: [
3019
+ "DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"
3020
+ ],
3021
+ deleteOrgRuleset: ["DELETE /orgs/{org}/rulesets/{ruleset_id}"],
3022
+ deletePagesSite: ["DELETE /repos/{owner}/{repo}/pages"],
3023
+ deletePullRequestReviewProtection: [
3024
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3025
+ ],
3026
+ deleteRelease: ["DELETE /repos/{owner}/{repo}/releases/{release_id}"],
3027
+ deleteReleaseAsset: [
3028
+ "DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"
3029
+ ],
3030
+ deleteRepoRuleset: ["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3031
+ deleteWebhook: ["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],
3032
+ disableAutomatedSecurityFixes: [
3033
+ "DELETE /repos/{owner}/{repo}/automated-security-fixes"
3034
+ ],
3035
+ disableDeploymentProtectionRule: [
3036
+ "DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
3037
+ ],
3038
+ disablePrivateVulnerabilityReporting: [
3039
+ "DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"
3040
+ ],
3041
+ disableVulnerabilityAlerts: [
3042
+ "DELETE /repos/{owner}/{repo}/vulnerability-alerts"
3043
+ ],
3044
+ downloadArchive: [
3045
+ "GET /repos/{owner}/{repo}/zipball/{ref}",
3046
+ {},
3047
+ { renamed: ["repos", "downloadZipballArchive"] }
3048
+ ],
3049
+ downloadTarballArchive: ["GET /repos/{owner}/{repo}/tarball/{ref}"],
3050
+ downloadZipballArchive: ["GET /repos/{owner}/{repo}/zipball/{ref}"],
3051
+ enableAutomatedSecurityFixes: [
3052
+ "PUT /repos/{owner}/{repo}/automated-security-fixes"
3053
+ ],
3054
+ enablePrivateVulnerabilityReporting: [
3055
+ "PUT /repos/{owner}/{repo}/private-vulnerability-reporting"
3056
+ ],
3057
+ enableVulnerabilityAlerts: [
3058
+ "PUT /repos/{owner}/{repo}/vulnerability-alerts"
3059
+ ],
3060
+ generateReleaseNotes: [
3061
+ "POST /repos/{owner}/{repo}/releases/generate-notes"
3062
+ ],
3063
+ get: ["GET /repos/{owner}/{repo}"],
3064
+ getAccessRestrictions: [
3065
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"
3066
+ ],
3067
+ getAdminBranchProtection: [
3068
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
3069
+ ],
3070
+ getAllDeploymentProtectionRules: [
3071
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"
3072
+ ],
3073
+ getAllEnvironments: ["GET /repos/{owner}/{repo}/environments"],
3074
+ getAllStatusCheckContexts: [
3075
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"
3076
+ ],
3077
+ getAllTopics: ["GET /repos/{owner}/{repo}/topics"],
3078
+ getAppsWithAccessToProtectedBranch: [
3079
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"
3080
+ ],
3081
+ getAutolink: ["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],
3082
+ getBranch: ["GET /repos/{owner}/{repo}/branches/{branch}"],
3083
+ getBranchProtection: [
3084
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection"
3085
+ ],
3086
+ getBranchRules: ["GET /repos/{owner}/{repo}/rules/branches/{branch}"],
3087
+ getClones: ["GET /repos/{owner}/{repo}/traffic/clones"],
3088
+ getCodeFrequencyStats: ["GET /repos/{owner}/{repo}/stats/code_frequency"],
3089
+ getCollaboratorPermissionLevel: [
3090
+ "GET /repos/{owner}/{repo}/collaborators/{username}/permission"
3091
+ ],
3092
+ getCombinedStatusForRef: ["GET /repos/{owner}/{repo}/commits/{ref}/status"],
3093
+ getCommit: ["GET /repos/{owner}/{repo}/commits/{ref}"],
3094
+ getCommitActivityStats: ["GET /repos/{owner}/{repo}/stats/commit_activity"],
3095
+ getCommitComment: ["GET /repos/{owner}/{repo}/comments/{comment_id}"],
3096
+ getCommitSignatureProtection: [
3097
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"
3098
+ ],
3099
+ getCommunityProfileMetrics: ["GET /repos/{owner}/{repo}/community/profile"],
3100
+ getContent: ["GET /repos/{owner}/{repo}/contents/{path}"],
3101
+ getContributorsStats: ["GET /repos/{owner}/{repo}/stats/contributors"],
3102
+ getCustomDeploymentProtectionRule: [
3103
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"
3104
+ ],
3105
+ getCustomPropertiesValues: ["GET /repos/{owner}/{repo}/properties/values"],
3106
+ getDeployKey: ["GET /repos/{owner}/{repo}/keys/{key_id}"],
3107
+ getDeployment: ["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],
3108
+ getDeploymentBranchPolicy: [
3109
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3110
+ ],
3111
+ getDeploymentStatus: [
3112
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"
3113
+ ],
3114
+ getEnvironment: [
3115
+ "GET /repos/{owner}/{repo}/environments/{environment_name}"
3116
+ ],
3117
+ getLatestPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/latest"],
3118
+ getLatestRelease: ["GET /repos/{owner}/{repo}/releases/latest"],
3119
+ getOrgRuleSuite: ["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],
3120
+ getOrgRuleSuites: ["GET /orgs/{org}/rulesets/rule-suites"],
3121
+ getOrgRuleset: ["GET /orgs/{org}/rulesets/{ruleset_id}"],
3122
+ getOrgRulesets: ["GET /orgs/{org}/rulesets"],
3123
+ getPages: ["GET /repos/{owner}/{repo}/pages"],
3124
+ getPagesBuild: ["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],
3125
+ getPagesDeployment: [
3126
+ "GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"
3127
+ ],
3128
+ getPagesHealthCheck: ["GET /repos/{owner}/{repo}/pages/health"],
3129
+ getParticipationStats: ["GET /repos/{owner}/{repo}/stats/participation"],
3130
+ getPullRequestReviewProtection: [
3131
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3132
+ ],
3133
+ getPunchCardStats: ["GET /repos/{owner}/{repo}/stats/punch_card"],
3134
+ getReadme: ["GET /repos/{owner}/{repo}/readme"],
3135
+ getReadmeInDirectory: ["GET /repos/{owner}/{repo}/readme/{dir}"],
3136
+ getRelease: ["GET /repos/{owner}/{repo}/releases/{release_id}"],
3137
+ getReleaseAsset: ["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],
3138
+ getReleaseByTag: ["GET /repos/{owner}/{repo}/releases/tags/{tag}"],
3139
+ getRepoRuleSuite: [
3140
+ "GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"
3141
+ ],
3142
+ getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
3143
+ getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3144
+ getRepoRulesetHistory: [
3145
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
3146
+ ],
3147
+ getRepoRulesetVersion: [
3148
+ "GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
3149
+ ],
3150
+ getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
3151
+ getStatusChecksProtection: [
3152
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3153
+ ],
3154
+ getTeamsWithAccessToProtectedBranch: [
3155
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"
3156
+ ],
3157
+ getTopPaths: ["GET /repos/{owner}/{repo}/traffic/popular/paths"],
3158
+ getTopReferrers: ["GET /repos/{owner}/{repo}/traffic/popular/referrers"],
3159
+ getUsersWithAccessToProtectedBranch: [
3160
+ "GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"
3161
+ ],
3162
+ getViews: ["GET /repos/{owner}/{repo}/traffic/views"],
3163
+ getWebhook: ["GET /repos/{owner}/{repo}/hooks/{hook_id}"],
3164
+ getWebhookConfigForRepo: [
3165
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/config"
3166
+ ],
3167
+ getWebhookDelivery: [
3168
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"
3169
+ ],
3170
+ listActivities: ["GET /repos/{owner}/{repo}/activity"],
3171
+ listAttestations: [
3172
+ "GET /repos/{owner}/{repo}/attestations/{subject_digest}"
3173
+ ],
3174
+ listAutolinks: ["GET /repos/{owner}/{repo}/autolinks"],
3175
+ listBranches: ["GET /repos/{owner}/{repo}/branches"],
3176
+ listBranchesForHeadCommit: [
3177
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"
3178
+ ],
3179
+ listCollaborators: ["GET /repos/{owner}/{repo}/collaborators"],
3180
+ listCommentsForCommit: [
3181
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"
3182
+ ],
3183
+ listCommitCommentsForRepo: ["GET /repos/{owner}/{repo}/comments"],
3184
+ listCommitStatusesForRef: [
3185
+ "GET /repos/{owner}/{repo}/commits/{ref}/statuses"
3186
+ ],
3187
+ listCommits: ["GET /repos/{owner}/{repo}/commits"],
3188
+ listContributors: ["GET /repos/{owner}/{repo}/contributors"],
3189
+ listCustomDeploymentRuleIntegrations: [
3190
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"
3191
+ ],
3192
+ listDeployKeys: ["GET /repos/{owner}/{repo}/keys"],
3193
+ listDeploymentBranchPolicies: [
3194
+ "GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"
3195
+ ],
3196
+ listDeploymentStatuses: [
3197
+ "GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"
3198
+ ],
3199
+ listDeployments: ["GET /repos/{owner}/{repo}/deployments"],
3200
+ listForAuthenticatedUser: ["GET /user/repos"],
3201
+ listForOrg: ["GET /orgs/{org}/repos"],
3202
+ listForUser: ["GET /users/{username}/repos"],
3203
+ listForks: ["GET /repos/{owner}/{repo}/forks"],
3204
+ listInvitations: ["GET /repos/{owner}/{repo}/invitations"],
3205
+ listInvitationsForAuthenticatedUser: ["GET /user/repository_invitations"],
3206
+ listLanguages: ["GET /repos/{owner}/{repo}/languages"],
3207
+ listPagesBuilds: ["GET /repos/{owner}/{repo}/pages/builds"],
3208
+ listPublic: ["GET /repositories"],
3209
+ listPullRequestsAssociatedWithCommit: [
3210
+ "GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"
3211
+ ],
3212
+ listReleaseAssets: [
3213
+ "GET /repos/{owner}/{repo}/releases/{release_id}/assets"
3214
+ ],
3215
+ listReleases: ["GET /repos/{owner}/{repo}/releases"],
3216
+ listTags: ["GET /repos/{owner}/{repo}/tags"],
3217
+ listTeams: ["GET /repos/{owner}/{repo}/teams"],
3218
+ listWebhookDeliveries: [
3219
+ "GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"
3220
+ ],
3221
+ listWebhooks: ["GET /repos/{owner}/{repo}/hooks"],
3222
+ merge: ["POST /repos/{owner}/{repo}/merges"],
3223
+ mergeUpstream: ["POST /repos/{owner}/{repo}/merge-upstream"],
3224
+ pingWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],
3225
+ redeliverWebhookDelivery: [
3226
+ "POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"
3227
+ ],
3228
+ removeAppAccessRestrictions: [
3229
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
3230
+ {},
3231
+ { mapToData: "apps" }
3232
+ ],
3233
+ removeCollaborator: [
3234
+ "DELETE /repos/{owner}/{repo}/collaborators/{username}"
3235
+ ],
3236
+ removeStatusCheckContexts: [
3237
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
3238
+ {},
3239
+ { mapToData: "contexts" }
3240
+ ],
3241
+ removeStatusCheckProtection: [
3242
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3243
+ ],
3244
+ removeTeamAccessRestrictions: [
3245
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
3246
+ {},
3247
+ { mapToData: "teams" }
3248
+ ],
3249
+ removeUserAccessRestrictions: [
3250
+ "DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
3251
+ {},
3252
+ { mapToData: "users" }
3253
+ ],
3254
+ renameBranch: ["POST /repos/{owner}/{repo}/branches/{branch}/rename"],
3255
+ replaceAllTopics: ["PUT /repos/{owner}/{repo}/topics"],
3256
+ requestPagesBuild: ["POST /repos/{owner}/{repo}/pages/builds"],
3257
+ setAdminBranchProtection: [
3258
+ "POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"
3259
+ ],
3260
+ setAppAccessRestrictions: [
3261
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",
3262
+ {},
3263
+ { mapToData: "apps" }
3264
+ ],
3265
+ setStatusCheckContexts: [
3266
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",
3267
+ {},
3268
+ { mapToData: "contexts" }
3269
+ ],
3270
+ setTeamAccessRestrictions: [
3271
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",
3272
+ {},
3273
+ { mapToData: "teams" }
3274
+ ],
3275
+ setUserAccessRestrictions: [
3276
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",
3277
+ {},
3278
+ { mapToData: "users" }
3279
+ ],
3280
+ testPushWebhook: ["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],
3281
+ transfer: ["POST /repos/{owner}/{repo}/transfer"],
3282
+ update: ["PATCH /repos/{owner}/{repo}"],
3283
+ updateBranchProtection: [
3284
+ "PUT /repos/{owner}/{repo}/branches/{branch}/protection"
3285
+ ],
3286
+ updateCommitComment: ["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],
3287
+ updateDeploymentBranchPolicy: [
3288
+ "PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"
3289
+ ],
3290
+ updateInformationAboutPagesSite: ["PUT /repos/{owner}/{repo}/pages"],
3291
+ updateInvitation: [
3292
+ "PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"
3293
+ ],
3294
+ updateOrgRuleset: ["PUT /orgs/{org}/rulesets/{ruleset_id}"],
3295
+ updatePullRequestReviewProtection: [
3296
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"
3297
+ ],
3298
+ updateRelease: ["PATCH /repos/{owner}/{repo}/releases/{release_id}"],
3299
+ updateReleaseAsset: [
3300
+ "PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"
3301
+ ],
3302
+ updateRepoRuleset: ["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
3303
+ updateStatusCheckPotection: [
3304
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",
3305
+ {},
3306
+ { renamed: ["repos", "updateStatusCheckProtection"] }
3307
+ ],
3308
+ updateStatusCheckProtection: [
3309
+ "PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
3310
+ ],
3311
+ updateWebhook: ["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],
3312
+ updateWebhookConfigForRepo: [
3313
+ "PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"
3314
+ ],
3315
+ uploadReleaseAsset: [
3316
+ "POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",
3317
+ { baseUrl: "https://uploads.github.com" }
3318
+ ]
3319
+ },
3320
+ search: {
3321
+ code: ["GET /search/code"],
3322
+ commits: ["GET /search/commits"],
3323
+ issuesAndPullRequests: [
3324
+ "GET /search/issues",
3325
+ {},
3326
+ {
3327
+ deprecated: "octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests"
3328
+ }
3329
+ ],
3330
+ labels: ["GET /search/labels"],
3331
+ repos: ["GET /search/repositories"],
3332
+ topics: ["GET /search/topics"],
3333
+ users: ["GET /search/users"]
3334
+ },
3335
+ secretScanning: {
3336
+ createPushProtectionBypass: [
3337
+ "POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"
3338
+ ],
3339
+ getAlert: [
3340
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
3341
+ ],
3342
+ getScanHistory: ["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],
3343
+ listAlertsForEnterprise: [
3344
+ "GET /enterprises/{enterprise}/secret-scanning/alerts"
3345
+ ],
3346
+ listAlertsForOrg: ["GET /orgs/{org}/secret-scanning/alerts"],
3347
+ listAlertsForRepo: ["GET /repos/{owner}/{repo}/secret-scanning/alerts"],
3348
+ listLocationsForAlert: [
3349
+ "GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"
3350
+ ],
3351
+ updateAlert: [
3352
+ "PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"
3353
+ ]
3354
+ },
3355
+ securityAdvisories: {
3356
+ createFork: [
3357
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"
3358
+ ],
3359
+ createPrivateVulnerabilityReport: [
3360
+ "POST /repos/{owner}/{repo}/security-advisories/reports"
3361
+ ],
3362
+ createRepositoryAdvisory: [
3363
+ "POST /repos/{owner}/{repo}/security-advisories"
3364
+ ],
3365
+ createRepositoryAdvisoryCveRequest: [
3366
+ "POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"
3367
+ ],
3368
+ getGlobalAdvisory: ["GET /advisories/{ghsa_id}"],
3369
+ getRepositoryAdvisory: [
3370
+ "GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
3371
+ ],
3372
+ listGlobalAdvisories: ["GET /advisories"],
3373
+ listOrgRepositoryAdvisories: ["GET /orgs/{org}/security-advisories"],
3374
+ listRepositoryAdvisories: ["GET /repos/{owner}/{repo}/security-advisories"],
3375
+ updateRepositoryAdvisory: [
3376
+ "PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"
3377
+ ]
3378
+ },
3379
+ teams: {
3380
+ addOrUpdateMembershipForUserInOrg: [
3381
+ "PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
3382
+ ],
3383
+ addOrUpdateProjectPermissionsInOrg: [
3384
+ "PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}",
3385
+ {},
3386
+ {
3387
+ deprecated: "octokit.rest.teams.addOrUpdateProjectPermissionsInOrg() is deprecated, see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions"
3388
+ }
3389
+ ],
3390
+ addOrUpdateProjectPermissionsLegacy: [
3391
+ "PUT /teams/{team_id}/projects/{project_id}",
3392
+ {},
3393
+ {
3394
+ deprecated: "octokit.rest.teams.addOrUpdateProjectPermissionsLegacy() is deprecated, see https://docs.github.com/rest/teams/teams#add-or-update-team-project-permissions-legacy"
3395
+ }
3396
+ ],
3397
+ addOrUpdateRepoPermissionsInOrg: [
3398
+ "PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3399
+ ],
3400
+ checkPermissionsForProjectInOrg: [
3401
+ "GET /orgs/{org}/teams/{team_slug}/projects/{project_id}",
3402
+ {},
3403
+ {
3404
+ deprecated: "octokit.rest.teams.checkPermissionsForProjectInOrg() is deprecated, see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project"
3405
+ }
3406
+ ],
3407
+ checkPermissionsForProjectLegacy: [
3408
+ "GET /teams/{team_id}/projects/{project_id}",
3409
+ {},
3410
+ {
3411
+ deprecated: "octokit.rest.teams.checkPermissionsForProjectLegacy() is deprecated, see https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-project-legacy"
3412
+ }
3413
+ ],
3414
+ checkPermissionsForRepoInOrg: [
3415
+ "GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3416
+ ],
3417
+ create: ["POST /orgs/{org}/teams"],
3418
+ createDiscussionCommentInOrg: [
3419
+ "POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
3420
+ ],
3421
+ createDiscussionInOrg: ["POST /orgs/{org}/teams/{team_slug}/discussions"],
3422
+ deleteDiscussionCommentInOrg: [
3423
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3424
+ ],
3425
+ deleteDiscussionInOrg: [
3426
+ "DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3427
+ ],
3428
+ deleteInOrg: ["DELETE /orgs/{org}/teams/{team_slug}"],
3429
+ getByName: ["GET /orgs/{org}/teams/{team_slug}"],
3430
+ getDiscussionCommentInOrg: [
3431
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3432
+ ],
3433
+ getDiscussionInOrg: [
3434
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3435
+ ],
3436
+ getMembershipForUserInOrg: [
3437
+ "GET /orgs/{org}/teams/{team_slug}/memberships/{username}"
3438
+ ],
3439
+ list: ["GET /orgs/{org}/teams"],
3440
+ listChildInOrg: ["GET /orgs/{org}/teams/{team_slug}/teams"],
3441
+ listDiscussionCommentsInOrg: [
3442
+ "GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"
3443
+ ],
3444
+ listDiscussionsInOrg: ["GET /orgs/{org}/teams/{team_slug}/discussions"],
3445
+ listForAuthenticatedUser: ["GET /user/teams"],
3446
+ listMembersInOrg: ["GET /orgs/{org}/teams/{team_slug}/members"],
3447
+ listPendingInvitationsInOrg: [
3448
+ "GET /orgs/{org}/teams/{team_slug}/invitations"
3449
+ ],
3450
+ listProjectsInOrg: [
3451
+ "GET /orgs/{org}/teams/{team_slug}/projects",
3452
+ {},
3453
+ {
3454
+ deprecated: "octokit.rest.teams.listProjectsInOrg() is deprecated, see https://docs.github.com/rest/teams/teams#list-team-projects"
3455
+ }
3456
+ ],
3457
+ listProjectsLegacy: [
3458
+ "GET /teams/{team_id}/projects",
3459
+ {},
3460
+ {
3461
+ deprecated: "octokit.rest.teams.listProjectsLegacy() is deprecated, see https://docs.github.com/rest/teams/teams#list-team-projects-legacy"
3462
+ }
3463
+ ],
3464
+ listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
3465
+ removeMembershipForUserInOrg: [
3466
+ "DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
3467
+ ],
3468
+ removeProjectInOrg: [
3469
+ "DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}",
3470
+ {},
3471
+ {
3472
+ deprecated: "octokit.rest.teams.removeProjectInOrg() is deprecated, see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team"
3473
+ }
3474
+ ],
3475
+ removeProjectLegacy: [
3476
+ "DELETE /teams/{team_id}/projects/{project_id}",
3477
+ {},
3478
+ {
3479
+ deprecated: "octokit.rest.teams.removeProjectLegacy() is deprecated, see https://docs.github.com/rest/teams/teams#remove-a-project-from-a-team-legacy"
3480
+ }
3481
+ ],
3482
+ removeRepoInOrg: [
3483
+ "DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
3484
+ ],
3485
+ updateDiscussionCommentInOrg: [
3486
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"
3487
+ ],
3488
+ updateDiscussionInOrg: [
3489
+ "PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"
3490
+ ],
3491
+ updateInOrg: ["PATCH /orgs/{org}/teams/{team_slug}"]
3492
+ },
3493
+ users: {
3494
+ addEmailForAuthenticated: [
3495
+ "POST /user/emails",
3496
+ {},
3497
+ { renamed: ["users", "addEmailForAuthenticatedUser"] }
3498
+ ],
3499
+ addEmailForAuthenticatedUser: ["POST /user/emails"],
3500
+ addSocialAccountForAuthenticatedUser: ["POST /user/social_accounts"],
3501
+ block: ["PUT /user/blocks/{username}"],
3502
+ checkBlocked: ["GET /user/blocks/{username}"],
3503
+ checkFollowingForUser: ["GET /users/{username}/following/{target_user}"],
3504
+ checkPersonIsFollowedByAuthenticated: ["GET /user/following/{username}"],
3505
+ createGpgKeyForAuthenticated: [
3506
+ "POST /user/gpg_keys",
3507
+ {},
3508
+ { renamed: ["users", "createGpgKeyForAuthenticatedUser"] }
3509
+ ],
3510
+ createGpgKeyForAuthenticatedUser: ["POST /user/gpg_keys"],
3511
+ createPublicSshKeyForAuthenticated: [
3512
+ "POST /user/keys",
3513
+ {},
3514
+ { renamed: ["users", "createPublicSshKeyForAuthenticatedUser"] }
3515
+ ],
3516
+ createPublicSshKeyForAuthenticatedUser: ["POST /user/keys"],
3517
+ createSshSigningKeyForAuthenticatedUser: ["POST /user/ssh_signing_keys"],
3518
+ deleteEmailForAuthenticated: [
3519
+ "DELETE /user/emails",
3520
+ {},
3521
+ { renamed: ["users", "deleteEmailForAuthenticatedUser"] }
3522
+ ],
3523
+ deleteEmailForAuthenticatedUser: ["DELETE /user/emails"],
3524
+ deleteGpgKeyForAuthenticated: [
3525
+ "DELETE /user/gpg_keys/{gpg_key_id}",
3526
+ {},
3527
+ { renamed: ["users", "deleteGpgKeyForAuthenticatedUser"] }
3528
+ ],
3529
+ deleteGpgKeyForAuthenticatedUser: ["DELETE /user/gpg_keys/{gpg_key_id}"],
3530
+ deletePublicSshKeyForAuthenticated: [
3531
+ "DELETE /user/keys/{key_id}",
3532
+ {},
3533
+ { renamed: ["users", "deletePublicSshKeyForAuthenticatedUser"] }
3534
+ ],
3535
+ deletePublicSshKeyForAuthenticatedUser: ["DELETE /user/keys/{key_id}"],
3536
+ deleteSocialAccountForAuthenticatedUser: ["DELETE /user/social_accounts"],
3537
+ deleteSshSigningKeyForAuthenticatedUser: [
3538
+ "DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"
3539
+ ],
3540
+ follow: ["PUT /user/following/{username}"],
3541
+ getAuthenticated: ["GET /user"],
3542
+ getById: ["GET /user/{account_id}"],
3543
+ getByUsername: ["GET /users/{username}"],
3544
+ getContextForUser: ["GET /users/{username}/hovercard"],
3545
+ getGpgKeyForAuthenticated: [
3546
+ "GET /user/gpg_keys/{gpg_key_id}",
3547
+ {},
3548
+ { renamed: ["users", "getGpgKeyForAuthenticatedUser"] }
3549
+ ],
3550
+ getGpgKeyForAuthenticatedUser: ["GET /user/gpg_keys/{gpg_key_id}"],
3551
+ getPublicSshKeyForAuthenticated: [
3552
+ "GET /user/keys/{key_id}",
3553
+ {},
3554
+ { renamed: ["users", "getPublicSshKeyForAuthenticatedUser"] }
3555
+ ],
3556
+ getPublicSshKeyForAuthenticatedUser: ["GET /user/keys/{key_id}"],
3557
+ getSshSigningKeyForAuthenticatedUser: [
3558
+ "GET /user/ssh_signing_keys/{ssh_signing_key_id}"
3559
+ ],
3560
+ list: ["GET /users"],
3561
+ listAttestations: ["GET /users/{username}/attestations/{subject_digest}"],
3562
+ listBlockedByAuthenticated: [
3563
+ "GET /user/blocks",
3564
+ {},
3565
+ { renamed: ["users", "listBlockedByAuthenticatedUser"] }
3566
+ ],
3567
+ listBlockedByAuthenticatedUser: ["GET /user/blocks"],
3568
+ listEmailsForAuthenticated: [
3569
+ "GET /user/emails",
3570
+ {},
3571
+ { renamed: ["users", "listEmailsForAuthenticatedUser"] }
3572
+ ],
3573
+ listEmailsForAuthenticatedUser: ["GET /user/emails"],
3574
+ listFollowedByAuthenticated: [
3575
+ "GET /user/following",
3576
+ {},
3577
+ { renamed: ["users", "listFollowedByAuthenticatedUser"] }
3578
+ ],
3579
+ listFollowedByAuthenticatedUser: ["GET /user/following"],
3580
+ listFollowersForAuthenticatedUser: ["GET /user/followers"],
3581
+ listFollowersForUser: ["GET /users/{username}/followers"],
3582
+ listFollowingForUser: ["GET /users/{username}/following"],
3583
+ listGpgKeysForAuthenticated: [
3584
+ "GET /user/gpg_keys",
3585
+ {},
3586
+ { renamed: ["users", "listGpgKeysForAuthenticatedUser"] }
3587
+ ],
3588
+ listGpgKeysForAuthenticatedUser: ["GET /user/gpg_keys"],
3589
+ listGpgKeysForUser: ["GET /users/{username}/gpg_keys"],
3590
+ listPublicEmailsForAuthenticated: [
3591
+ "GET /user/public_emails",
3592
+ {},
3593
+ { renamed: ["users", "listPublicEmailsForAuthenticatedUser"] }
3594
+ ],
3595
+ listPublicEmailsForAuthenticatedUser: ["GET /user/public_emails"],
3596
+ listPublicKeysForUser: ["GET /users/{username}/keys"],
3597
+ listPublicSshKeysForAuthenticated: [
3598
+ "GET /user/keys",
3599
+ {},
3600
+ { renamed: ["users", "listPublicSshKeysForAuthenticatedUser"] }
3601
+ ],
3602
+ listPublicSshKeysForAuthenticatedUser: ["GET /user/keys"],
3603
+ listSocialAccountsForAuthenticatedUser: ["GET /user/social_accounts"],
3604
+ listSocialAccountsForUser: ["GET /users/{username}/social_accounts"],
3605
+ listSshSigningKeysForAuthenticatedUser: ["GET /user/ssh_signing_keys"],
3606
+ listSshSigningKeysForUser: ["GET /users/{username}/ssh_signing_keys"],
3607
+ setPrimaryEmailVisibilityForAuthenticated: [
3608
+ "PATCH /user/email/visibility",
3609
+ {},
3610
+ { renamed: ["users", "setPrimaryEmailVisibilityForAuthenticatedUser"] }
3611
+ ],
3612
+ setPrimaryEmailVisibilityForAuthenticatedUser: [
3613
+ "PATCH /user/email/visibility"
3614
+ ],
3615
+ unblock: ["DELETE /user/blocks/{username}"],
3616
+ unfollow: ["DELETE /user/following/{username}"],
3617
+ updateAuthenticated: ["PATCH /user"]
3618
+ }
3619
+ };
3620
+ var endpoints_default = Endpoints;
3621
+
3622
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js
3623
+ var endpointMethodsMap = /* @__PURE__ */ new Map();
3624
+ for (const [scope, endpoints] of Object.entries(endpoints_default)) {
3625
+ for (const [methodName, endpoint2] of Object.entries(endpoints)) {
3626
+ const [route, defaults, decorations] = endpoint2;
3627
+ const [method, url] = route.split(/ /);
3628
+ const endpointDefaults = Object.assign(
3629
+ {
3630
+ method,
3631
+ url
3632
+ },
3633
+ defaults
3634
+ );
3635
+ if (!endpointMethodsMap.has(scope)) {
3636
+ endpointMethodsMap.set(scope, /* @__PURE__ */ new Map());
3637
+ }
3638
+ endpointMethodsMap.get(scope).set(methodName, {
3639
+ scope,
3640
+ methodName,
3641
+ endpointDefaults,
3642
+ decorations
3643
+ });
3644
+ }
3645
+ }
3646
+ var handler = {
3647
+ has({ scope }, methodName) {
3648
+ return endpointMethodsMap.get(scope).has(methodName);
3649
+ },
3650
+ getOwnPropertyDescriptor(target, methodName) {
3651
+ return {
3652
+ value: this.get(target, methodName),
3653
+ // ensures method is in the cache
3654
+ configurable: true,
3655
+ writable: true,
3656
+ enumerable: true
3657
+ };
3658
+ },
3659
+ defineProperty(target, methodName, descriptor) {
3660
+ Object.defineProperty(target.cache, methodName, descriptor);
3661
+ return true;
3662
+ },
3663
+ deleteProperty(target, methodName) {
3664
+ delete target.cache[methodName];
3665
+ return true;
3666
+ },
3667
+ ownKeys({ scope }) {
3668
+ return [...endpointMethodsMap.get(scope).keys()];
3669
+ },
3670
+ set(target, methodName, value) {
3671
+ return target.cache[methodName] = value;
3672
+ },
3673
+ get({ octokit, scope, cache }, methodName) {
3674
+ if (cache[methodName]) {
3675
+ return cache[methodName];
3676
+ }
3677
+ const method = endpointMethodsMap.get(scope).get(methodName);
3678
+ if (!method) {
3679
+ return void 0;
3680
+ }
3681
+ const { endpointDefaults, decorations } = method;
3682
+ if (decorations) {
3683
+ cache[methodName] = decorate(
3684
+ octokit,
3685
+ scope,
3686
+ methodName,
3687
+ endpointDefaults,
3688
+ decorations
3689
+ );
3690
+ } else {
3691
+ cache[methodName] = octokit.request.defaults(endpointDefaults);
3692
+ }
3693
+ return cache[methodName];
3694
+ }
3695
+ };
3696
+ function endpointsToMethods(octokit) {
3697
+ const newMethods = {};
3698
+ for (const scope of endpointMethodsMap.keys()) {
3699
+ newMethods[scope] = new Proxy({ octokit, scope, cache: {} }, handler);
3700
+ }
3701
+ return newMethods;
3702
+ }
3703
+ __name(endpointsToMethods, "endpointsToMethods");
3704
+ function decorate(octokit, scope, methodName, defaults, decorations) {
3705
+ const requestWithDefaults = octokit.request.defaults(defaults);
3706
+ function withDecorations(...args) {
3707
+ let options = requestWithDefaults.endpoint.merge(...args);
3708
+ if (decorations.mapToData) {
3709
+ options = Object.assign({}, options, {
3710
+ data: options[decorations.mapToData],
3711
+ [decorations.mapToData]: void 0
3712
+ });
3713
+ return requestWithDefaults(options);
3714
+ }
3715
+ if (decorations.renamed) {
3716
+ const [newScope, newMethodName] = decorations.renamed;
3717
+ octokit.log.warn(
3718
+ `octokit.${scope}.${methodName}() has been renamed to octokit.${newScope}.${newMethodName}()`
3719
+ );
3720
+ }
3721
+ if (decorations.deprecated) {
3722
+ octokit.log.warn(decorations.deprecated);
3723
+ }
3724
+ if (decorations.renamedParameters) {
3725
+ const options2 = requestWithDefaults.endpoint.merge(...args);
3726
+ for (const [name, alias] of Object.entries(
3727
+ decorations.renamedParameters
3728
+ )) {
3729
+ if (name in options2) {
3730
+ octokit.log.warn(
3731
+ `"${name}" parameter is deprecated for "octokit.${scope}.${methodName}()". Use "${alias}" instead`
3732
+ );
3733
+ if (!(alias in options2)) {
3734
+ options2[alias] = options2[name];
3735
+ }
3736
+ delete options2[name];
3737
+ }
3738
+ }
3739
+ return requestWithDefaults(options2);
3740
+ }
3741
+ return requestWithDefaults(...args);
3742
+ }
3743
+ __name(withDecorations, "withDecorations");
3744
+ return Object.assign(withDecorations, requestWithDefaults);
3745
+ }
3746
+ __name(decorate, "decorate");
3747
+
3748
+ // node_modules/@octokit/rest/node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js
3749
+ function restEndpointMethods(octokit) {
3750
+ const api = endpointsToMethods(octokit);
3751
+ return {
3752
+ rest: api
3753
+ };
3754
+ }
3755
+ __name(restEndpointMethods, "restEndpointMethods");
3756
+ restEndpointMethods.VERSION = VERSION7;
3757
+ function legacyRestEndpointMethods(octokit) {
3758
+ const api = endpointsToMethods(octokit);
3759
+ return {
3760
+ ...api,
3761
+ rest: api
3762
+ };
3763
+ }
3764
+ __name(legacyRestEndpointMethods, "legacyRestEndpointMethods");
3765
+ legacyRestEndpointMethods.VERSION = VERSION7;
3766
+
3767
+ // node_modules/@octokit/rest/dist-src/version.js
3768
+ init_esbuild_shims();
3769
+ var VERSION8 = "21.1.1";
3770
+
3771
+ // node_modules/@octokit/rest/dist-src/index.js
3772
+ var Octokit2 = Octokit.plugin(requestLog, legacyRestEndpointMethods, paginateRest).defaults(
3773
+ {
3774
+ userAgent: `octokit-rest.js/${VERSION8}`
3775
+ }
3776
+ );
3777
+
3778
+ // packages/channels/github/dist/GithubAdapter.js
3779
+ var import_https_proxy_agent = __toESM(require_dist(), 1);
3780
+
3781
+ // packages/channels/github/dist/mention.js
3782
+ init_esbuild_shims();
3783
+ function escapeRegex(str) {
3784
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
3785
+ }
3786
+ __name(escapeRegex, "escapeRegex");
3787
+ var MENTION_LOOKBEHIND = `(?<=\\s|^|[([{<:;"'])`;
3788
+ var MENTION_LOOKAHEAD = "(?=[^a-zA-Z0-9_/-]|$)";
3789
+ function testBotMention(text, username) {
3790
+ const re = new RegExp(`${MENTION_LOOKBEHIND}@${escapeRegex(username)}${MENTION_LOOKAHEAD}`, "i");
3791
+ return re.test(text);
3792
+ }
3793
+ __name(testBotMention, "testBotMention");
3794
+ function stripBotMention(text, username) {
3795
+ const re = new RegExp(`${MENTION_LOOKBEHIND}@${escapeRegex(username)}${MENTION_LOOKAHEAD}`, "gi");
3796
+ return text.replace(re, "");
3797
+ }
3798
+ __name(stripBotMention, "stripBotMention");
3799
+
3800
+ // packages/channels/github/dist/GithubAdapter.js
3801
+ var MAX_DISPATCHED = 500;
3802
+ var MAX_AGGREGATE_COMMENTS = 20;
3803
+ var MAX_AGGREGATE_COMMENT_CHARS = 400;
3804
+ var GithubChannel = class extends PollingChannelBase {
3805
+ static {
3806
+ __name(this, "GithubChannel");
3807
+ }
3808
+ octokit;
3809
+ botUsername = null;
3810
+ webOrigin = "https://github.com";
3811
+ constructor(name, config, bridge, options) {
3812
+ super(name, config, bridge, options);
3813
+ }
3814
+ createInitialCursor() {
3815
+ return { lastProcessedAt: (/* @__PURE__ */ new Date()).toISOString() };
3816
+ }
3817
+ validateCursor(parsed) {
3818
+ const base = super.validateCursor(parsed);
3819
+ if (!base || typeof base.lastProcessedAt !== "string")
3820
+ return null;
3821
+ if (Number.isNaN(new Date(base.lastProcessedAt).getTime()))
3822
+ return null;
3823
+ if (base.metaFloor !== void 0 && (typeof base.metaFloor !== "string" || Number.isNaN(new Date(base.metaFloor).getTime()))) {
3824
+ delete base.metaFloor;
3825
+ }
3826
+ for (const field of [
3827
+ "dispatchedBodies",
3828
+ "dispatchedComments",
3829
+ "dispatchedEvents"
3830
+ ]) {
3831
+ if (base[field] !== void 0 && !Array.isArray(base[field])) {
3832
+ base[field] = [];
3833
+ }
3834
+ }
3835
+ return base;
3836
+ }
3837
+ async connect() {
3838
+ const cfg = this.config;
3839
+ const baseUrl = cfg.baseUrl || "https://api.github.com";
3840
+ this.webOrigin = baseUrl.replace(/\/api\/v3\/?$/, "").replace(/^https:\/\/api\.github\.com/, "https://github.com");
3841
+ this.octokit = new Octokit2({
3842
+ auth: cfg.token,
3843
+ baseUrl,
3844
+ ...this.proxy ? { request: { agent: new import_https_proxy_agent.HttpsProxyAgent(this.proxy) } } : {}
3845
+ });
3846
+ try {
3847
+ const { data } = await this.octokit.rest.users.getAuthenticated();
3848
+ this.botUsername = data.login;
3849
+ } catch (err) {
3850
+ throw new Error(`[Channel:${this.name}] failed to resolve bot identity: ${err}`);
3851
+ }
3852
+ const allowed = (this.config.allowedUsers ?? []).map((u) => u.toLowerCase());
3853
+ this.config.allowedUsers = allowed;
3854
+ this.gate.replaceAllowedUsers(allowed);
3855
+ this.startPollLoop();
3856
+ }
3857
+ disconnect() {
3858
+ this.stopPollLoop();
3859
+ }
3860
+ async sendMessage(_chatId, _text) {
3861
+ throw new Error(`[Channel:${this.name}] sendMessage requires a threadId; use sendThreadMessage`);
3862
+ }
3863
+ async sendThreadMessage(chatId, threadId, text) {
3864
+ if (!threadId) {
3865
+ return super.sendThreadMessage(chatId, threadId, text);
3866
+ }
3867
+ const match = threadId.match(/^(?:issue|pr):(\d+)$/);
3868
+ if (!match) {
3869
+ throw new Error(`[Channel:${this.name}] invalid threadId format: ${threadId}`);
3870
+ }
3871
+ const issueNumber = Number(match[1]);
3872
+ await this.githubApi(() => this.octokit.rest.issues.createComment({
3873
+ owner: chatId.split("/")[0],
3874
+ repo: chatId.split("/")[1],
3875
+ issue_number: issueNumber,
3876
+ body: text
3877
+ }), `createComment(${threadId})`);
3878
+ }
3879
+ async pollOnce() {
3880
+ this.cursor.metaFloor ??= this.cursor.lastProcessedAt;
3881
+ const since = new Date(new Date(this.cursor.lastProcessedAt).getTime() - 1e3).toISOString();
3882
+ const notifications = await this.githubApi(() => this.octokit.paginate(this.octokit.rest.activity.listNotificationsForAuthenticatedUser, { since, per_page: 100 }), "listNotifications");
3883
+ notifications.sort((a, b) => a.updated_at.localeCompare(b.updated_at));
3884
+ const maxUpdatedAt = notifications.length > 0 ? notifications[notifications.length - 1].updated_at : this.cursor.lastProcessedAt;
3885
+ const windowSince = this.cursor.lastProcessedAt;
3886
+ await this.markNotificationsAsRead(maxUpdatedAt);
3887
+ if (maxUpdatedAt > this.cursor.lastProcessedAt) {
3888
+ this.cursor.lastProcessedAt = maxUpdatedAt;
3889
+ }
3890
+ for (const notification of notifications) {
3891
+ if (!notification.subject.url)
3892
+ continue;
3893
+ const extracted = this.extractFromSubjectUrl(notification.subject.url);
3894
+ if (!extracted) {
3895
+ continue;
3896
+ }
3897
+ const { chatId, threadId, issueNumber } = extracted;
3898
+ const lastReadAt = notification.last_read_at;
3899
+ const ctx = {
3900
+ chatId,
3901
+ threadId,
3902
+ issueNumber,
3903
+ lastReadAt,
3904
+ windowSince,
3905
+ metaFloor: this.cursor.metaFloor,
3906
+ maxUpdatedAt,
3907
+ subjectTitle: notification.subject.title || "",
3908
+ reason: notification.reason
3909
+ };
3910
+ try {
3911
+ switch (notification.reason) {
3912
+ case "mention":
3913
+ await this.processCommentLane(ctx, true);
3914
+ break;
3915
+ case "review_requested":
3916
+ if (threadId.startsWith("pr:")) {
3917
+ await this.processDirectLane(ctx, "review_requested");
3918
+ await this.processCommentLane(ctx, true);
3919
+ } else {
3920
+ await this.processCommentLane(ctx, false);
3921
+ }
3922
+ break;
3923
+ case "assign":
3924
+ await this.processDirectLane(ctx, "assign");
3925
+ await this.processCommentLane(ctx, true);
3926
+ break;
3927
+ case "author":
3928
+ case "comment":
3929
+ await this.processAggregateLane(ctx);
3930
+ break;
3931
+ default:
3932
+ await this.processCommentLane(ctx, false);
3933
+ }
3934
+ } catch (err) {
3935
+ process2.stderr.write(`[Channel:${this.name}] API error processing ${threadId}, skipping: ${err}
3936
+ `);
3937
+ continue;
3938
+ }
3939
+ }
3940
+ }
3941
+ async processCommentLane(ctx, onlyMentioned, directed = false) {
3942
+ const comments = await this.fetchNewComments(ctx);
3943
+ let dispatched = false;
3944
+ for (const comment of comments) {
3945
+ const key = comment.node_id || String(comment.id);
3946
+ if (this.cursor.dispatchedComments?.includes(key))
3947
+ continue;
3948
+ const body = comment.body || "";
3949
+ const hasMention = this.botUsername ? testBotMention(body, this.botUsername) : false;
3950
+ if (onlyMentioned && !hasMention)
3951
+ continue;
3952
+ const senderId = (comment.user?.login || "unknown").toLowerCase();
3953
+ const allowed = this.gate.isAllowed(senderId);
3954
+ const envelope = {
3955
+ channelName: this.name,
3956
+ senderId,
3957
+ senderName: comment.user?.login || "unknown",
3958
+ chatId: ctx.chatId,
3959
+ threadId: ctx.threadId,
3960
+ messageId: String(comment.id),
3961
+ text: this.botUsername ? stripBotMention(body, this.botUsername) : body,
3962
+ isGroup: true,
3963
+ isMentioned: hasMention || directed && allowed,
3964
+ isReplyToBot: false,
3965
+ metadata: this.buildRouteMetadata(ctx)
3966
+ };
3967
+ if (!await this.dispatchEnvelope(envelope, ctx.issueNumber)) {
3968
+ dispatched = true;
3969
+ continue;
3970
+ }
3971
+ if (allowed) {
3972
+ this.recordDispatchedComment(key);
3973
+ if (hasMention)
3974
+ dispatched = true;
3975
+ }
3976
+ }
3977
+ if (!dispatched && !ctx.lastReadAt) {
3978
+ await this.tryFirstContactBody(ctx, onlyMentioned);
3979
+ }
3980
+ }
3981
+ async processDirectLane(ctx, reason) {
3982
+ const trigger = await this.findDirectTrigger(ctx, reason);
3983
+ if (!trigger)
3984
+ return;
3985
+ const meta = reason === "review_requested" ? await this.fetchPrMeta(ctx) : await this.fetchIssueMeta(ctx);
3986
+ const title = meta.title || ctx.subjectTitle;
3987
+ const details = reason === "review_requested" ? `Author: ${meta.user?.login || "unknown"} | State: ${meta.state || "unknown"} | Draft: ${meta.draft ? "true" : "false"} | Branch: ${meta.head?.ref || "unknown"} \u2192 ${meta.base?.ref || "unknown"}` : `Author: ${meta.user?.login || "unknown"} | State: ${meta.state || "unknown"}`;
3988
+ const envelope = {
3989
+ channelName: this.name,
3990
+ senderId: trigger.actor,
3991
+ senderName: trigger.actor,
3992
+ chatId: ctx.chatId,
3993
+ threadId: ctx.threadId,
3994
+ messageId: String(trigger.id),
3995
+ text: reason === "review_requested" ? "Review this pull request and report any actionable findings." : "Triage this issue and respond with the next action.",
3996
+ isGroup: true,
3997
+ isMentioned: true,
3998
+ isReplyToBot: false,
3999
+ metadata: `${this.buildMetadata(ctx.chatId, ctx.threadId, title)}
4000
+ Trigger: ${reason}.
4001
+ ${details}`
4002
+ };
4003
+ await this.dispatchEnvelope(envelope, ctx.issueNumber);
4004
+ this.recordDispatched("dispatchedEvents", trigger.key);
4005
+ }
4006
+ async processAggregateLane(ctx) {
4007
+ if (this.config.senderPolicy === "pairing") {
4008
+ await this.processCommentLane(ctx, false, true);
4009
+ return;
4010
+ }
4011
+ const allComments = (await this.fetchNewComments(ctx)).filter((comment) => {
4012
+ const key = comment.node_id || String(comment.id);
4013
+ const sender = (comment.user?.login || "unknown").toLowerCase();
4014
+ return !this.cursor.dispatchedComments?.includes(key) && this.gate.isAllowed(sender);
4015
+ });
4016
+ const comments = allComments.slice(-MAX_AGGREGATE_COMMENTS);
4017
+ if (comments.length === 0)
4018
+ return;
4019
+ for (const comment of allComments) {
4020
+ this.recordDispatchedComment(comment.node_id || String(comment.id));
4021
+ }
4022
+ const first = comments[0];
4023
+ const summary = comments.map((comment) => `- @${comment.user?.login || "unknown"}: ${(comment.body || "").trim().slice(0, MAX_AGGREGATE_COMMENT_CHARS)}`).join("\n");
4024
+ const envelope = {
4025
+ channelName: this.name,
4026
+ senderId: (first.user?.login || "unknown").toLowerCase(),
4027
+ senderName: first.user?.login || "unknown",
4028
+ chatId: ctx.chatId,
4029
+ threadId: ctx.threadId,
4030
+ messageId: String(first.id),
4031
+ text: `Review these new comments and respond if needed:
4032
+ ${summary}`,
4033
+ isGroup: true,
4034
+ isMentioned: true,
4035
+ isReplyToBot: false,
4036
+ metadata: this.buildRouteMetadata(ctx)
4037
+ };
4038
+ await this.dispatchEnvelope(envelope, ctx.issueNumber);
4039
+ }
4040
+ async findDirectTrigger(ctx, reason) {
4041
+ const [owner, repo] = ctx.chatId.split("/");
4042
+ const events = await this.githubApi(() => this.octokit.paginate(this.octokit.rest.issues.listEvents, {
4043
+ owner,
4044
+ repo,
4045
+ issue_number: ctx.issueNumber,
4046
+ per_page: 100
4047
+ }), `listEvents(${ctx.threadId})`);
4048
+ events.sort((a, b) => (a.created_at || "").localeCompare(b.created_at || ""));
4049
+ const bot = this.botUsername?.toLowerCase();
4050
+ const event = events.findLast((candidate) => {
4051
+ if (!candidate.created_at || candidate.created_at <= ctx.metaFloor || candidate.created_at > ctx.maxUpdatedAt) {
4052
+ return false;
4053
+ }
4054
+ return reason === "assign" ? (candidate.event === "assigned" || candidate.event === "unassigned") && candidate.assignee?.login?.toLowerCase() === bot : (candidate.event === "review_requested" || candidate.event === "review_request_removed") && candidate.requested_reviewer?.login?.toLowerCase() === bot;
4055
+ });
4056
+ if (!event || (reason === "assign" ? event.event !== "assigned" : event.event !== "review_requested")) {
4057
+ return null;
4058
+ }
4059
+ const key = event.node_id || String(event.id);
4060
+ if (this.cursor.dispatchedEvents?.includes(key))
4061
+ return null;
4062
+ const actor = reason === "assign" ? event.assigner?.login || event.actor?.login : event.review_requester?.login || event.actor?.login;
4063
+ return actor ? { actor: actor.toLowerCase(), id: event.id, key } : null;
4064
+ }
4065
+ async fetchNewComments(ctx) {
4066
+ const [owner, repo] = ctx.chatId.split("/");
4067
+ const comments = await this.githubApi(() => this.octokit.paginate(this.octokit.rest.issues.listComments, {
4068
+ owner,
4069
+ repo,
4070
+ issue_number: ctx.issueNumber,
4071
+ since: ctx.windowSince,
4072
+ per_page: 100
4073
+ }), `listComments(${ctx.threadId})`);
4074
+ comments.sort((a, b) => (a.created_at || "").localeCompare(b.created_at || ""));
4075
+ return comments.filter((comment) => comment.user?.login !== this.botUsername && (!comment.created_at || comment.created_at > ctx.windowSince && comment.created_at <= ctx.maxUpdatedAt));
4076
+ }
4077
+ async fetchIssueMeta(ctx) {
4078
+ const { data } = await this.githubApi(() => this.octokit.rest.issues.get({
4079
+ owner: ctx.chatId.split("/")[0],
4080
+ repo: ctx.chatId.split("/")[1],
4081
+ issue_number: ctx.issueNumber
4082
+ }), `issues.get(${ctx.threadId})`);
4083
+ return data;
4084
+ }
4085
+ async fetchPrMeta(ctx) {
4086
+ const { data } = await this.githubApi(() => this.octokit.rest.pulls.get({
4087
+ owner: ctx.chatId.split("/")[0],
4088
+ repo: ctx.chatId.split("/")[1],
4089
+ pull_number: ctx.issueNumber
4090
+ }), `pulls.get(${ctx.threadId})`);
4091
+ return data;
4092
+ }
4093
+ async tryFirstContactBody(ctx, requireMention = false) {
4094
+ const { chatId, threadId, issueNumber } = ctx;
4095
+ const bodyKey = `${chatId}|${threadId}`;
4096
+ if (this.cursor.dispatchedBodies?.includes(bodyKey))
4097
+ return;
4098
+ try {
4099
+ const issue = await this.fetchIssueMeta(ctx);
4100
+ const body = issue.body || "";
4101
+ if (issue.user?.login === this.botUsername)
4102
+ return;
4103
+ const isMentioned = this.botUsername ? testBotMention(body, this.botUsername) : false;
4104
+ if (requireMention && !isMentioned)
4105
+ return;
4106
+ const text = this.botUsername ? stripBotMention(body, this.botUsername) : body;
4107
+ const envelope = {
4108
+ channelName: this.name,
4109
+ senderId: (issue.user?.login || "unknown").toLowerCase(),
4110
+ senderName: issue.user?.login || "unknown",
4111
+ chatId,
4112
+ threadId,
4113
+ messageId: `issue-body-${issueNumber}`,
4114
+ text,
4115
+ isGroup: true,
4116
+ isMentioned,
4117
+ isReplyToBot: false,
4118
+ metadata: this.buildRouteMetadata(ctx)
4119
+ };
4120
+ await this.dispatchEnvelope(envelope, issueNumber);
4121
+ this.recordDispatchedBody(bodyKey);
4122
+ } catch (err) {
4123
+ process2.stderr.write(`[Channel:${this.name}] failed to fetch issue for first contact: ${err}
4124
+ `);
4125
+ }
4126
+ }
4127
+ recordDispatchedBody(key) {
4128
+ this.recordDispatched("dispatchedBodies", key);
4129
+ }
4130
+ recordDispatchedComment(key) {
4131
+ this.recordDispatched("dispatchedComments", key);
4132
+ }
4133
+ recordDispatched(field, key) {
4134
+ const list = this.cursor[field] ?? [];
4135
+ if (!list.includes(key))
4136
+ list.push(key);
4137
+ this.cursor[field] = list.slice(-MAX_DISPATCHED);
4138
+ }
4139
+ async dispatchEnvelope(envelope, issueNumber) {
4140
+ try {
4141
+ await this.handleInbound(envelope);
4142
+ return true;
4143
+ } catch (err) {
4144
+ process2.stderr.write(`[Channel:${this.name}] handleInbound failed for ${envelope.messageId}: ${err}
4145
+ `);
4146
+ await this.postErrorComment(envelope.chatId, issueNumber);
4147
+ return false;
4148
+ }
4149
+ }
4150
+ extractFromSubjectUrl(url) {
4151
+ const match = url.match(/\/repos\/([^/]+\/[^/]+)\/(issues|pulls)\/(\d+)/);
4152
+ if (!match)
4153
+ return null;
4154
+ const chatId = match[1];
4155
+ const kind = match[2] === "pulls" ? "pr" : "issue";
4156
+ const issueNumber = Number(match[3]);
4157
+ const threadId = `${kind}:${issueNumber}`;
4158
+ return { chatId, threadId, issueNumber };
4159
+ }
4160
+ buildMetadata(chatId, threadId, title) {
4161
+ const type = threadId.startsWith("pr:") ? "Pull Request" : "Issue";
4162
+ const url = `${this.webOrigin}/${chatId}/${threadId.startsWith("pr:") ? "pull" : "issues"}/${threadId.split(":")[1]}`;
4163
+ return `Type: ${type} | Title: ${title} | URL: ${url}`;
4164
+ }
4165
+ buildRouteMetadata(ctx) {
4166
+ return `${this.buildMetadata(ctx.chatId, ctx.threadId, ctx.subjectTitle)}
4167
+ Trigger: ${ctx.reason}.`;
4168
+ }
4169
+ async githubApi(fn, label, retries = 3) {
4170
+ for (let attempt = 1; attempt <= retries; attempt++) {
4171
+ try {
4172
+ return await fn();
4173
+ } catch (err) {
4174
+ if (attempt === retries)
4175
+ throw err;
4176
+ const e = err;
4177
+ const headers = e.response?.headers ?? {};
4178
+ let cooldown;
4179
+ if (headers["retry-after"]) {
4180
+ const retryAfter = Number(headers["retry-after"]);
4181
+ cooldown = Number.isFinite(retryAfter) ? retryAfter * 1e3 : 1e3 * 2 ** (attempt - 1);
4182
+ } else if ((e.status === 403 || e.status === 429) && Number(headers["x-ratelimit-remaining"]) === 0 && Number(headers["x-ratelimit-reset"]) > 0) {
4183
+ cooldown = Math.max(0, Number(headers["x-ratelimit-reset"]) * 1e3 - Date.now()) + 1e3;
4184
+ } else {
4185
+ cooldown = 1e3 * 2 ** (attempt - 1);
4186
+ }
4187
+ process2.stderr.write(`[Channel:${this.name}] ${label} failed (attempt ${attempt}/${retries}, status=${e.status}), retrying in ${cooldown}ms: ${e.message}
4188
+ `);
4189
+ await this.abortableSleep(cooldown);
4190
+ }
4191
+ }
4192
+ throw new Error("unreachable");
4193
+ }
4194
+ async markNotificationsAsRead(lastReadAt) {
4195
+ await this.githubApi(() => this.octokit.rest.activity.markNotificationsAsRead({
4196
+ last_read_at: lastReadAt,
4197
+ read: true
4198
+ }), "markNotificationsAsRead");
4199
+ }
4200
+ async postErrorComment(chatId, issueNumber) {
4201
+ try {
4202
+ await this.githubApi(() => this.octokit.rest.issues.createComment({
4203
+ owner: chatId.split("/")[0],
4204
+ repo: chatId.split("/")[1],
4205
+ issue_number: issueNumber,
4206
+ body: "\u26A0\uFE0F Failed to process this request. Please re-mention the bot to retry."
4207
+ }), `postErrorComment(${chatId}#${issueNumber})`);
4208
+ } catch (err) {
4209
+ process2.stderr.write(`[Channel:${this.name}] postErrorComment also failed for ${chatId}#${issueNumber}, user must re-mention manually: ${err}
4210
+ `);
4211
+ }
4212
+ }
4213
+ };
4214
+
4215
+ // packages/channels/github/dist/index.js
4216
+ var plugin = {
4217
+ channelType: "github",
4218
+ displayName: "GitHub",
4219
+ requiredConfigFields: ["token"],
4220
+ envResolvableConfigFields: ["baseUrl"],
4221
+ defaultSessionScope: "chat_thread",
4222
+ createChannel: /* @__PURE__ */ __name((name, config, bridge, options) => new GithubChannel(name, config, bridge, options), "createChannel")
4223
+ };
4224
+ export {
4225
+ GithubChannel,
4226
+ plugin
4227
+ };