@candriajs/git-neko-kit 0.8.6 → 0.8.7

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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var Jt=require('path'),url=require('url'),child_process=require('child_process'),be=require('fs'),Zt=require('color-convert'),O=require('dayjs'),ea=require('dayjs/plugin/relativeTime.js'),ta=require('git-url-parse'),aa=require('language-colors'),simpleGit=require('simple-git'),uuid=require('uuid'),B=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),Wt=require('crypto'),ga=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Jt__default=/*#__PURE__*/_interopDefault(Jt);var be__default=/*#__PURE__*/_interopDefault(be);var Zt__default=/*#__PURE__*/_interopDefault(Zt);var O__default=/*#__PURE__*/_interopDefault(O);var ea__default=/*#__PURE__*/_interopDefault(ea);var ta__default=/*#__PURE__*/_interopDefault(ta);var aa__default=/*#__PURE__*/_interopDefault(aa);var B__default=/*#__PURE__*/_interopDefault(B);var Wt__default=/*#__PURE__*/_interopDefault(Wt);var ga__default=/*#__PURE__*/_interopDefault(ga);var Kt=Object.defineProperty;var h=(d,e)=>()=>(d&&(e=d(d=0)),e);var E=(d,e)=>{for(var a in e)Kt(d,a,{get:e[a],enumerable:true});};var y,Ue,A,De,Oe,Ne,Fe,de,I,pe,Be,me,We,ze,ce,_e,ge,je,Ve,Ke,Je,_,Ye,Xe,m,he,b,j,w,Qe,we,G,Ze,v,et,H,L,tt,U,C,at,T,rt,st,M,ot,V,it,K,nt,lt,ut,ye,J,x,dt,pt,mt,Y,D,ct,_t,gt,ht,wt,yt,q,fe=h(()=>{y="\u55B5\u545C~ \u5F53\u524D\u5BA2\u6237\u7AEF\u7C7B\u578B\u4E0D\u662FApp\u7C7B\u578B, \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u54E6",Ue="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E0D\u5B8C\u6574",A="\u55B5\u545C~ \u8BF7\u6C42\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",De="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Oe="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Ne="\u55B5\u545C~ \u5E94\u7528\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A",Fe="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",de="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",I="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",pe="\u55B5\u545C~ \u5237\u65B0\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",Be="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6807\u9898",me="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",We="\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",ze="\u55B5\u545C~ \u8FDC\u7A0B\u4ED3\u5E93URL\u4E0D\u80FD\u4E3A\u7A7A",ce="\u55B5\u545C~ \u4EE3\u7406URL\u4E0D\u80FD\u4E3A\u7A7A",_e="\u55B5\u545C~ \u8FD9\u4E2A Git \u7C7B\u578B\u4E0D\u652F\u6301\u54E6",ge="\u55B5\u545C~ \u8FD9\u4E2A URL \u534F\u8BAE\u4E0D\u652F\u6301\u54E6",je="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ve="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",Ke="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Je="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ye="\u55B5\u545C~ \u5E94\u7528\u5B89\u88C5ID\u4E0D\u80FD\u4E3A\u7A7A",Xe="\u55B5\u545C~ \u64A4\u9500\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",m="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",he="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",b="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",j="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",w="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Qe="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",we="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",G="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",Ze="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",v="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",et="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",H="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",L="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",tt="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",at="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",T="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",rt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",st="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u7F16\u53F7\u6216\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",M="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ot="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",V="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",it="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",K="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",nt="\u55B5\u545C~ \u9501\u5B9A\u8BAE\u9898\u5931\u8D25",lt="\u55B5\u545C~ \u89E3\u9501\u8BAE\u9898\u5931\u8D25",ut="\u55B5\u545C~ \u5220\u9664\u8BAE\u9898\u5931\u8D25",ye="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",J="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",x="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",dt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6E90\u5206\u652F",pt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u76EE\u6807\u5206\u652F",mt="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7684\u5408\u5E76\u65B9\u5F0F\u4E0D\u652F\u6301",Y="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",D="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",ct="\u55B5\u545C~ \u8FD9\u4E2ASHA\u503C\u4E0E\u5934\u90E8\u5206\u652F\u7684SHA\u503C\u4E0D\u5339\u914D",_t="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",gt="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",ht="\u55B5\u545C~ WebHook \u7B7E\u540D\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A\u54E6",wt="\u55B5\u545C~ WebHook \u8BF7\u6C42\u4F53\u4E0D\u80FD\u4E3A\u7A7A\u54E6",yt="\u55B5\u545C~ WebHook \u7B7E\u540D\u5934\u4E0D\u80FD\u4E3A\u7A7A\u54E6",q="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var Xt,ft,bt=h(()=>{Xt=Object.freeze(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))),ft=Object.freeze(Jt__default.default.join(Xt,"../..").replace(/\\/g,"/"));});function Rt(d,e){return new Promise(o=>{child_process.exec(d,e,(s,t,r)=>{t=t.toString(),r=r.toString(),o({status:!s,error:s,stdout:t,stderr:r});});})}async function Tt(d){try{return await be__default.default.promises.access(d),!0}catch{return false}}function Pt(d="",e=""){e=e||ft;try{let a=`${e}/${d}`;if(!be__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let o=be__default.default.readFileSync(a,"utf8");return JSON.parse(o)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function Ct(d="zh-cn"){let e=String(d).toLowerCase();if(ra.has(e)){O__default.default.locale(e);return}await import(`dayjs/locale/${e}.js`),O__default.default.locale(d);}async function c(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await Ct(e),O__default.default(d).locale(e).format(a)}async function sa(d,e="zh-cn"){return await Ct(e),O__default.default.extend(ea__default.default),O__default.default(d).fromNow()}function N(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let s=a[1];d=s.startsWith("https")?s:`https://${s}`;}let o=ta__default.default(d);return {owner:o.owner,repo:o.name}}function oa(d){if(!Array.isArray(d))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(d.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!d.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${Zt__default.default.rgb.hex(d)}`}function Re(d){return d=String(d).toLowerCase(),oa(aa__default.default[d].color)??"#ededed"}async function ia(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,o)=>d.slice(o*e,o*e+e)))}async function kt(d){try{if(!d)return {total:0,contributions:[]};let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(d.matchAll(e),i=>i[1]),s=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!o.length||!s.length)return {total:0,contributions:[]};let t=o.map((i,n)=>({date:i,count:s[n]})).sort((i,n)=>i.date.localeCompare(n.date)),r=await ia(t,7);return {total:s.reduce((i,n)=>i+n,0),contributions:r}}catch(e){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${e.message}`)}}var ra,X=h(()=>{bt();ra=new Set(["en"]);});async function la(){let{stdout:d}=await Rt("git --version");return d.toString().trim()}async function vt(){try{return await la(),!0}catch{return false}}async function ua(d){if(!d)throw new Error(We);try{if(!await vt())throw new Error("\u55B5\u545C~, Git \u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E");let e=Jt__default.default.join(d,".git");if(!await Tt(e))throw new Error(`\u8DEF\u5F84 ${d} \u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684 Git \u4ED3\u5E93`);let s=await simpleGit.simpleGit(d).revparse(["--abbrev-ref","HEAD"]);if(!s)throw new Error("\u65E0\u6CD5\u83B7\u53D6\u4ED3\u5E93\u5206\u652F\u4FE1\u606F\uFF0C\u8BF7\u786E\u4FDD\u4ED3\u5E93\u5DF2\u521D\u59CB\u5316");return s.trim()}catch(e){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}async function Te(d){if(!d)throw new Error(ze);try{if(!await vt())throw new Error("\u55B5\u545C~, Git \u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E");let e=new URL(d);if(e.protocol!=="https:"&&e.protocol!=="http:")throw new Error("\u8FDC\u7A0B\u4ED3\u5E93URL\u5FC5\u987B\u662FHTTP\u6216HTTPS\u534F\u8BAE");let{owner:a,repo:o}=N(e.href);if(!(a||o))throw new Error(`url: ${e.href} \u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684 Git \u4ED3\u5E93\u5730\u5740`);let r=(await simpleGit.simpleGit().raw(["ls-remote","--symref",d,"HEAD"])).match(/^ref: refs\/heads\/([^\t\n]+)/m);if(!r)throw new Error("\u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u4ED3\u5E93\u83B7\u53D6\u9ED8\u8BA4\u5206\u652F\u4FE1\u606F");return r[1]}catch(e){throw new Error(`\u83B7\u53D6\u8FDC\u7A0B\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}var It=h(()=>{fe();X();});var Mt,xt,$t,At,Pe,qt,St,Gt=h(()=>{Mt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u64A4\u9500\u6210\u529F",xt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",$t="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F",At="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Pe="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",qt="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u5220\u9664\u6210\u529F",St="\u55B5\u545C~ WebHook\u7B7E\u540D\u9A8C\u8BC1\u6210\u529F";});var F,Ht=h(()=>{X();F=Pt("package.json");});var f=h(()=>{fe();It();Gt();X();Ht();});function Ce(d="github",e={}){if(!["github","gitee","gitcode"].includes(d))throw new Error(_e);let{proxyUrl:o,proxyType:s="original"}=e,t={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"},r=`https://${t[d]}`;if(s!=="original"){if(!o)throw new Error(ce);if(!o.startsWith("http"))throw new Error(ge);let i=o.replace(/(^\/|\/$)/g,"");return s==="common"?`${i}/${t[d]}`:i}return r.replace(/\/$/,"")}function R(d="github",e={}){if(!["github","gitee","gitcode"].includes(d))throw new Error(_e);let{proxyUrl:o,proxyType:s="original"}=e,t={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"},r=`https://${t[d]}`;if(s!=="original"){if(!o)throw new Error(ce);if(!o.startsWith("http"))throw new Error(ge);let i=o.replace(/(^\/|\/$)/g,"");return s==="common"?`${i}/${t[d]}`:i}return r.replace(/\/$/,"")}async function pa(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var Q=h(()=>{f();});var Z,ke=h(()=>{f();Z=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",o,s,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=s,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,o,s,t){let r=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let n=this.proxy.type,l=this.proxy.address;switch(n){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(l),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":case "socks5":{let u=new socksProxyAgent.SocksProxyAgent(l);i.httpAgent=u,i.httpsAgent=u;break}}}try{let n;switch(e){case "get":n=await B__default.default.get(r,i);break;case "post":n=await B__default.default.post(r,s,i);break;case "patch":n=await B__default.default.patch(r,s,i);break;case "put":n=await B__default.default.put(r,s,i);break;case "delete":n=await B__default.default.delete(r,{...i,data:s});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(n.headers).filter(([u,p])=>p!==void 0).map(([u,p])=>[u.toLowerCase(),p]));return {success:!0,statusCode:n.status,headers:l,data:n.data,msg:n.status>=200&&n.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(n){let l=n,u=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([p,$])=>$!==void 0).map(([p,$])=>[p,$])):{};return {success:false,statusCode:l.response?.status??500,headers:u,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,o){return this.request("get",e,a,null,o)}async post(e,a,o,s){return this.request("post",e,a,o,s)}async patch(e,a=null,o,s){return this.request("patch",e,a,o,s)}async put(e,a,o,s){return this.request("put",e,a,o,s)}async delete(e,a=null,o,s){return this.request("delete",e,a,o,s)}createHeaders(e){let o={"Content-Type":"application/json","User-Agent":`${F.name.includes("/")?F.name.split("/").pop():F.name}/v${F.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let s=Buffer.from(this.authorization).toString("base64");o.Authorization=`Basic ${s}`;}else this.tokenType==="Bearer"?o.Authorization=`Bearer ${this.authorization}`:o.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(o,e),o}};});var S=h(()=>{Q();ke();});var Ut={};E(Ut,{Auth:()=>ee});var ee,Ee=h(()=>{f();k();ee=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url;}async get_token_by_code(e){if(!this.is_app_client)throw new Error(y);if(!e.code)throw new Error(de);try{this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!o)throw new Error(Je);let s={success:o,info:$t,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=s;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{if(!this.is_app_client)throw new Error(y);let a=e?.access_token??this.userToken;if(!a)throw new Error(je);if(!a.startsWith("ghu_"))throw new Error(I);this.setRequestConfig({url:this.api_url,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a});if(o.data){let s=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422));o.data={success:s,info:s?At:Ve};}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!this.is_app_client)throw new Error(y);if(!e.refresh_token)throw new Error(de);if(!e.refresh_token.startsWith("ghr_"))throw new Error(pe);this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error,s=Ke;switch(a.data.error){case "bad_refresh_token":s=pe;break;case "unauthorized":s=_;break}if(a.data){if(!o)throw new Error(s);let t={success:o,info:xt,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`[GitHub] \u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{if(!this.is_app_client)throw new Error(y);let a=new URL("/login/oauth/authorize",this.base_url);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`[GitHub] \u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var Dt={};E(Dt,{Commit:()=>ae});var ae,ve=h(()=>{f();k();ae=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,o,s,t;if("url"in e){s=e.url;let i=N(s);a=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(he);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});let r=await this.get(`/repos/${a}/${o}/commits/${t}`);switch(r.statusCode){case 401:throw new Error(w);case 404:throw new Error(we);case 422:throw new Error(Qe)}if(r.data){let i=r.data?.commit?.message??"",[n,...l]=i.split(`
2
- `),u={html_url:r.data.html_url,sha:r.data.sha,comments_url:r.data.comments_url,commit:{url:r.data.commit.url,author:{id:r.data.author.id,login:r.data.author.login,name:r.data.commit.author.name,avatar_url:r.data.author.avatar_url,email:r.data.commit.author.email,html_url:r.data.author.html_url,type:lodashEs.capitalize(String(r.data.author.type).toLowerCase()),date:this.format?await c(r.data.commit.author.date):r.data.commit.author.date},committer:{id:r.data.committer.id,login:r.data.committer.login,name:r.data.commit.committer.name,avatar_url:r.data.committer.avatar_url,email:r.data.commit.committer.email,html_url:r.data.committer.html_url,type:lodashEs.capitalize(String(r.data.committer.type).toLowerCase()),date:this.format?await c(r.data.commit.committer.date):r.data.commit.committer.date},message:r.data.commit.message,...this.format&&{title:n,body:l.length>0?l.join(`
3
- `):null},tree:{url:r.data.commit.tree.url,sha:r.data.commit.tree.sha}},parents:r.data.parents.map(p=>({sha:p.sha,url:p.url})),stats:{additions:r.data.stats.additions,deletions:r.data.stats.deletions,total:r.data.stats.total},files:r.data.files.map(p=>({sha:p.sha,filename:p.filename,status:p.status,additions:p.additions,deletions:p.deletions,changes:p.changes,blob_url:p.blob_url,raw_url:p.raw_url}))};r.data=u;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,o,s;if("url"in e){s=e.url;let l=N(s);a=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(he);let{...t}=e;if(e.sha)t.sha=e.sha;else {let u=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});u&&(t.sha=u);}let r={};t.sha&&(r.sha=t.sha),t.path&&(r.path=t.path),t.author&&(r.author=t.author),t.since&&(r.since=t.since),t.until&&(r.until=t.until),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/commits`,n=await this.get(i,r);switch(n.statusCode){case 401:throw new Error(w);case 404:throw new Error(we)}if(n.data){let l=await Promise.all(n.data.map(async u=>{let[p,...$]=u.commit.message.split(`
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var ra=require('path'),url=require('url'),child_process=require('child_process'),Re=require('fs'),la=require('color-convert'),O=require('dayjs'),ua=require('dayjs/plugin/relativeTime.js'),da=require('git-url-parse'),pa=require('language-colors'),simpleGit=require('simple-git'),uuid=require('uuid'),B=require('axios'),httpProxyAgent=require('http-proxy-agent'),httpsProxyAgent=require('https-proxy-agent'),socksProxyAgent=require('socks-proxy-agent'),lodashEs=require('lodash-es'),Zt=require('crypto'),Ca=require('jsonwebtoken');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ra__default=/*#__PURE__*/_interopDefault(ra);var Re__default=/*#__PURE__*/_interopDefault(Re);var la__default=/*#__PURE__*/_interopDefault(la);var O__default=/*#__PURE__*/_interopDefault(O);var ua__default=/*#__PURE__*/_interopDefault(ua);var da__default=/*#__PURE__*/_interopDefault(da);var pa__default=/*#__PURE__*/_interopDefault(pa);var B__default=/*#__PURE__*/_interopDefault(B);var Zt__default=/*#__PURE__*/_interopDefault(Zt);var Ca__default=/*#__PURE__*/_interopDefault(Ca);var sa=Object.defineProperty;var h=(d,e)=>()=>(d&&(e=d(d=0)),e);var E=(d,e)=>{for(var a in e)sa(d,a,{get:e[a],enumerable:true});};var w,De,A,Oe,Ne,Fe,Be,de,M,pe,We,me,ze,je,ce,_e,ge,Ve,Ke,he,Je,Ye,Xe,Qe,_,Ze,et,m,ye,b,j,y,tt,we,at,G,st,v,rt,L,H,ot,U,C,it,T,nt,lt,I,ut,V,dt,K,pt,mt,ct,fe,J,x,_t,gt,ht,Y,D,yt,wt,ft,bt,Rt,Tt,Pt,Ct,q,be=h(()=>{w="\u55B5\u545C~ \u5F53\u524D\u5BA2\u6237\u7AEF\u7C7B\u578B\u4E0D\u662FApp\u7C7B\u578B, \u4E0D\u652F\u6301\u6B64\u64CD\u4F5C\u54E6",De="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEF\u914D\u7F6E\u4E0D\u5B8C\u6574",A="\u55B5\u545C~ \u8BF7\u6C42\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",Oe="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Ne="\u55B5\u545C~ \u5E94\u7528\u5BA2\u6237\u7AEFID\u4E0D\u80FD\u4E3A\u7A7A",Fe="\u55B5\u545C~ \u5E94\u7528\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A",Be="\u55B5\u545C~ \u5E94\u7528\u6807\u8BC6\u7B26\u4E0D\u80FD\u4E3A\u7A7A",de="\u55B5\u545C~ \u6388\u6743\u7801\u4E0D\u80FD\u4E3A\u7A7A",M="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",pe="\u55B5\u545C~ \u5237\u65B0\u4EE4\u724C\u4E0D\u80FD\u4E3A\u7A7A",We="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6807\u9898",me="\u55B5\u545C~ \u4EE3\u7406\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E\u54E6",ze="\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84\u4E0D\u80FD\u4E3A\u7A7A",je="\u55B5\u545C~ \u8FDC\u7A0B\u4ED3\u5E93URL\u4E0D\u80FD\u4E3A\u7A7A",ce="\u55B5\u545C~ \u4EE3\u7406URL\u4E0D\u80FD\u4E3A\u7A7A",_e="\u55B5\u545C~ \u8FD9\u4E2A Git \u7C7B\u578B\u4E0D\u652F\u6301\u54E6",ge="\u55B5\u545C~ \u8FD9\u4E2A URL \u534F\u8BAE\u4E0D\u652F\u6301\u54E6",Ve=d=>`\u55B5\u545C~ \u4ED3\u5E93URL ${d} \u4E0D\u5B58\u5728\u54E6`,Ke=d=>`\u55B5\u545C~ \u672C\u5730\u4ED3\u5E93\u8DEF\u5F84 ${d} \u4E0D\u5B58\u5728\u54E6`,he="\u55B5\u545C~ Git \u5BA2\u6237\u7AEF\u672A\u5B89\u88C5\u6216\u672A\u6B63\u786E\u914D\u7F6E",Je="\u55B5\u545C~ \u8FD9\u4E2A\u4EE4\u724C\u4F3C\u4E4E\u4E0D\u662F\u6709\u6548\u7684",Ye="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5DF2\u8FC7\u671F",Xe="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u5931\u8D25",Qe="\u55B5\u545C~ \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",_="\u55B5\u545C~ \u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",Ze="\u55B5\u545C~ \u5E94\u7528\u5B89\u88C5ID\u4E0D\u80FD\u4E3A\u7A7A",et="\u55B5\u545C~ \u64A4\u9500\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25",m="\u55B5\u545C~ \u4ED3\u5E93\u62E5\u6709\u8005\u6216\u4ED3\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",ye="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u4ED3\u5E93\u4FE1\u606F(\u4ED3\u5E93\u62E5\u6709\u8005/\u4ED3\u5E93\u540D\u6216\u5B8C\u6574URL)",b="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",j="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u5DF2\u88AB\u79FB\u52A8",y="\u55B5\u545C~ \u8FD9\u4E2A\u4ED3\u5E93\u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD\u5566\uFF0C\u53EF\u80FD\u662F\u4EE4\u724C\u8FC7\u671F\u4E86\u6216\u6743\u9650\u4E0D\u8DB3",tt="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u4E0D\u5B58\u5728\u54E6",we="\u55B5\u545C~ \u8FD9\u4E2A\u63D0\u4EA4\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",at=d=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25${d}\u54E6`,G="\u55B5\u545C~ \u8FD9\u4E2A\u7528\u6237\u4E0D\u5B58\u5728\u54E6",st="\u55B5\u545C~ \u7528\u6237ID\u4E0D\u80FD\u4E3A\u7A7A",v="\u55B5\u545C~ \u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A",rt="\u55B5\u545C~ \u7EC4\u7EC7\u8D26\u53F7\u6682\u4E0D\u652F\u6301",L="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u4E0D\u5B58\u5728\u54E6",H="\u55B5\u545C~ \u7EC4\u7EC7\u540D\u4E0D\u80FD\u4E3A\u7A7A",ot="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728\u54E6",U="\u55B5\u545C~ \u8FD9\u4E2A\u7EC4\u7EC7\u6216\u7528\u6237\u4E0D\u5B58\u5728\u54E6",C="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u4E0D\u5B58\u5728\u54E6",it="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u5DF2\u88AB\u79FB\u52A8",T="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u4E0D\u5B58\u5728\u54E6",nt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",lt="\u55B5\u545C~ \u8FD9\u4E2A\u5173\u8054\u8BAE\u9898\u7F16\u53F7\u6216\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",I="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",ut="\u55B5\u545C~ \u8BAE\u9898\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u54E6",V="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",dt="\u55B5\u545C~ \u8FD9\u4E2A\u8BAE\u9898\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",K="\u55B5\u545C~ \u8FD9\u4E2A\u5B50\u8BAE\u9898\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",pt="\u55B5\u545C~ \u9501\u5B9A\u8BAE\u9898\u5931\u8D25",mt="\u55B5\u545C~ \u89E3\u9501\u8BAE\u9898\u5931\u8D25",ct="\u55B5\u545C~ \u5220\u9664\u8BAE\u9898\u5931\u8D25",fe="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A\u54E6",J="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",x="\u55B5\u545C~ \u8FD9\u4E2A\u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u4E0D\u80FD\u4E3A\u7A7A\u54E6",_t="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u6E90\u5206\u652F",gt="\u55B5\u545C~ \u8BF7\u63D0\u4F9B\u76EE\u6807\u5206\u652F",ht="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7684\u5408\u5E76\u65B9\u5F0F\u4E0D\u652F\u6301",Y="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",D="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u7F16\u53F7\u6216\u4ED3\u5E93\u4E0D\u5B58\u5728",yt="\u55B5\u545C~ \u8FD9\u4E2ASHA\u503C\u4E0E\u5934\u90E8\u5206\u652F\u7684SHA\u503C\u4E0D\u5339\u914D",wt="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u5931\u8D25",ft="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u5931\u8D25",bt="\u55B5\u545C~ WebHook \u7B7E\u540D\u683C\u5F0F\u4E0D\u6B63\u786E",Rt="\u55B5\u545C~ WebHook \u7B7E\u540D\u9A8C\u8BC1\u5931\u8D25",Tt="\u55B5\u545C~ WebHook \u7B7E\u540D\u5BC6\u94A5\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Pt="\u55B5\u545C~ WebHook \u8BF7\u6C42\u4F53\u4E0D\u80FD\u4E3A\u7A7A\u54E6",Ct="\u55B5\u545C~ WebHook \u7B7E\u540D\u5934\u4E0D\u80FD\u4E3A\u7A7A\u54E6",q="\u55B5\u545C~ \u8BBF\u95EE\u901F\u7387\u53D7\u9650\u5566 \u8BF7\u7B49\u5F851\u5C0F\u65F6\u540E\u518D\u8BD5 \u6216 \u4F7F\u7528\u8BBF\u95EE\u4EE4\u724C\u63D0\u5347\u9650\u989D";});var ia,kt,Et=h(()=>{ia=Object.freeze(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)))),kt=Object.freeze(ra__default.default.join(ia,"../..").replace(/\\/g,"/"));});function vt(d,e){return new Promise(o=>{child_process.exec(d,e,(r,t,s)=>{t=t.toString(),s=s.toString(),o({status:!r,error:r,stdout:t,stderr:s});});})}async function Mt(d){try{return await Re__default.default.promises.access(d),!0}catch{return false}}function It(d="",e=""){e=e||kt;try{let a=`${e}/${d}`;if(!Re__default.default.existsSync(a))return console.warn(`\u6587\u4EF6\u4E0D\u5B58\u5728: ${a}`),{};let o=Re__default.default.readFileSync(a,"utf8");return JSON.parse(o)}catch(a){return console.error(`\u8BFB\u53D6 JSON \u6587\u4EF6\u5931\u8D25: ${d}`,a),{}}}async function xt(d="zh-cn"){let e=String(d).toLowerCase();if(ma.has(e)){O__default.default.locale(e);return}await import(`dayjs/locale/${e}.js`),O__default.default.locale(d);}async function c(d,e="zh-cn",a="YYYY-MM-DD HH:mm:ss"){return await xt(e),O__default.default(d).locale(e).format(a)}async function ca(d,e="zh-cn"){return await xt(e),O__default.default.extend(ua__default.default),O__default.default(d).fromNow()}function N(d){let e=/^https?:\/\/[^/]+\/(?:https?:\/\/)?([^/]+\/[^/]+\/[^/]+)/,a=d.match(e);if(a){let r=a[1];d=r.startsWith("https")?r:`https://${r}`;}let o=da__default.default(d);return {owner:o.owner,repo:o.name}}function _a(d){if(!Array.isArray(d))throw new Error("RGB\u503C\u5FC5\u987B\u662F\u6570\u7EC4\u7C7B\u578B");if(d.length!==3)throw new Error("RGB\u6570\u7EC4\u5FC5\u987B\u5305\u542B\u4E14\u4EC5\u5305\u542B3\u4E2A\u503C");if(!d.every(e=>Number.isInteger(e)&&e>=0&&e<=255))throw new Error("RGB\u503C\u5FC5\u987B\u90FD\u662F0-255\u4E4B\u95F4\u7684\u6574\u6570");return `#${la__default.default.rgb.hex(d)}`}function Te(d){return d=String(d).toLowerCase(),_a(pa__default.default[d].color)??"#ededed"}async function ga(d,e){return Promise.resolve(Array.from({length:Math.ceil(d.length/e)},(a,o)=>d.slice(o*e,o*e+e)))}async function $t(d){try{if(!d)return {total:0,contributions:[]};let e=/data-date="(.*?)" id="contribution-day-component/g,a=/<tool-tip .*?class="sr-only position-absolute">(.*?) contribution/g,o=Array.from(d.matchAll(e),i=>i[1]),r=Array.from(d.matchAll(a),i=>String(i[1]).toLowerCase()==="no"?0:parseInt(i[1]));if(!o.length||!r.length)return {total:0,contributions:[]};let t=o.map((i,n)=>({date:i,count:r[n]})).sort((i,n)=>i.date.localeCompare(n.date)),s=await ga(t,7);return {total:r.reduce((i,n)=>i+n,0),contributions:s}}catch(e){throw new Error(`\u89E3\u6790\u8D21\u732E\u6570\u636E\u5931\u8D25: ${e.message}`)}}var ma,X=h(()=>{Et();ma=new Set(["en"]);});async function ya(){let{stdout:d}=await vt("git --version");return d.toString().trim()}async function qt(){try{return await ya(),!0}catch{return false}}async function wa(d){if(!d)throw new Error(ze);try{if(!await qt())throw new Error(he);let e=ra__default.default.join(d);if(!await Mt(e))throw new Error(Ke(e));let r=await simpleGit.simpleGit(d).revparse(["--abbrev-ref","HEAD"]);if(!r)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u83B7\u53D6\u4ED3\u5E93\u5206\u652F\u4FE1\u606F\uFF0C\u8BF7\u786E\u4FDD\u4ED3\u5E93\u5DF2\u521D\u59CB\u5316");return r.trim()}catch(e){throw new Error(`\u83B7\u53D6\u672C\u5730\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}async function Pe(d){if(!d)throw new Error(je);try{if(!await qt())throw new Error(he);let e=new URL(d),{owner:a,repo:o}=N(e.href);if(!(a||o))throw new Error(Ve(e.href));let s=(await simpleGit.simpleGit().raw(["ls-remote","--symref",d,"HEAD"])).match(/^ref: refs\/heads\/([^\t\n]+)/m);if(!s)throw new Error("\u55B5\u545C~, \u65E0\u6CD5\u4ECE\u8FDC\u7A0B\u4ED3\u5E93\u83B7\u53D6\u9ED8\u8BA4\u5206\u652F\u4FE1\u606F");return s[1]}catch(e){throw new Error(`\u83B7\u53D6\u8FDC\u7A0B\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${e.message}`)}}var St=h(()=>{be();X();});var Gt,Lt,Ht,Ut,Dt,Ce,Ot,Nt,Ft,Bt,Wt=h(()=>{Gt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u64A4\u9500\u6210\u529F",Lt="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u5237\u65B0\u6210\u529F",Ht="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u83B7\u53D6\u6210\u529F",Ut="\u55B5\u545C~ \u8BBF\u95EE\u4EE4\u724C\u6709\u6548",Dt=d=>`\u55B5\u545C~ \u79FB\u9664\u534F\u4F5C\u8005\u6210\u529F${d}\u54E6`,Ce="\u55B5\u545C~ \u8BAE\u9898\u89E3\u9501\u6210\u529F",Ot="\u55B5\u545C~ \u8BAE\u9898\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Nt="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u66F4\u65B0\u6210\u529F",Ft="\u55B5\u545C~ \u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5220\u9664\u6210\u529F",Bt="\u55B5\u545C~ WebHook\u7B7E\u540D\u9A8C\u8BC1\u6210\u529F";});var F,zt=h(()=>{X();F=It("package.json");});var f=h(()=>{be();St();Wt();X();zt();});function ke(d="github",e={}){if(!["github","gitee","gitcode"].includes(d))throw new Error(_e);let{proxyUrl:o,proxyType:r="original"}=e,t={github:"api.github.com",gitee:"gitee.com/api/v5",gitcode:"api.gitcode.com/api/v5"},s=`https://${t[d]}`;if(r!=="original"){if(!o)throw new Error(ce);if(!o.startsWith("http"))throw new Error(ge);let i=o.replace(/(^\/|\/$)/g,"");return r==="common"?`${i}/${t[d]}`:i}return s.replace(/\/$/,"")}function R(d="github",e={}){if(!["github","gitee","gitcode"].includes(d))throw new Error(_e);let{proxyUrl:o,proxyType:r="original"}=e,t={github:"github.com",gitee:"gitee.com",gitcode:"gitcode.com"},s=`https://${t[d]}`;if(r!=="original"){if(!o)throw new Error(ce);if(!o.startsWith("http"))throw new Error(ge);let i=o.replace(/(^\/|\/$)/g,"");return r==="common"?`${i}/${t[d]}`:i}return s.replace(/\/$/,"")}async function ba(){return Promise.resolve(uuid.v4().replace(/-/g,""))}var Q=h(()=>{f();});var Z,Ee=h(()=>{f();Z=class{baseUrl;tokenType;authorization;proxy;defaultHeaders;constructor(e,a="Bearer",o,r,t){this.baseUrl=e.replace(/\/$/,""),this.authorization=o,this.proxy=r,this.tokenType=a,this.defaultHeaders=t;}async request(e,a,o,r,t){let s=`${this.baseUrl}/${a}`.replace(/\/+/g,"/"),i={headers:this.createHeaders(t),params:o,validateStatus:()=>true};if(this.proxy){let n=this.proxy.type,l=this.proxy.address;switch(n){case "http":i.httpAgent=new httpProxyAgent.HttpProxyAgent(l),i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "https":i.httpsAgent=new httpsProxyAgent.HttpsProxyAgent(l);break;case "socks":case "socks5":{let u=new socksProxyAgent.SocksProxyAgent(l);i.httpAgent=u,i.httpsAgent=u;break}}}try{let n;switch(e){case "get":n=await B__default.default.get(s,i);break;case "post":n=await B__default.default.post(s,r,i);break;case "patch":n=await B__default.default.patch(s,r,i);break;case "put":n=await B__default.default.put(s,r,i);break;case "delete":n=await B__default.default.delete(s,{...i,data:r});break;default:throw new Error(`\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u65B9\u6CD5: ${e}`)}let l=Object.fromEntries(Object.entries(n.headers).filter(([u,p])=>p!==void 0).map(([u,p])=>[u.toLowerCase(),p]));return {success:!0,statusCode:n.status,headers:l,data:n.data,msg:n.status>=200&&n.status<500?"\u8BF7\u6C42\u6210\u529F":"\u8BF7\u6C42\u5F02\u5E38"}}catch(n){let l=n,u=l.response?.headers?Object.fromEntries(Object.entries(l.response.headers).filter(([p,$])=>$!==void 0).map(([p,$])=>[p,$])):{};return {success:false,statusCode:l.response?.status??500,headers:u,msg:l.message??"\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25",data:null}}}async get(e,a,o){return this.request("get",e,a,null,o)}async post(e,a,o,r){return this.request("post",e,a,o,r)}async patch(e,a=null,o,r){return this.request("patch",e,a,o,r)}async put(e,a,o,r){return this.request("put",e,a,o,r)}async delete(e,a=null,o,r){return this.request("delete",e,a,o,r)}createHeaders(e){let o={"Content-Type":"application/json","User-Agent":`${F.name.includes("/")?F.name.split("/").pop():F.name}/v${F.version}`,...this.defaultHeaders??{}};if(this.authorization)if(this.tokenType==="Basic"){let r=Buffer.from(this.authorization).toString("base64");o.Authorization=`Basic ${r}`;}else this.tokenType==="Bearer"?o.Authorization=`Bearer ${this.authorization}`:o.Authorization=`${this.tokenType} ${this.authorization}`;return e&&Object.assign(o,e),o}};});var S=h(()=>{Q();Ee();});var Vt={};E(Vt,{Auth:()=>ee});var ee,ve=h(()=>{f();k();ee=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url;}async get_token_by_code(e){if(!this.is_app_client)throw new Error(w);if(!e.code)throw new Error(de);try{this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,code:e.code},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error;if(a.data){if(!o)throw new Error(Qe);let r={success:o,message:Ht,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=r;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async check_token_status(e){try{if(!this.is_app_client)throw new Error(w);let a=e?.access_token??this.userToken;if(!a)throw new Error(Je);if(!a.startsWith("ghu_"))throw new Error(M);this.setRequestConfig({url:this.api_url,tokenType:"Basic",token:`${this.Client_ID}:${this.Client_Secret}`});let o=await this.post(`/applications/${this.Client_ID}/token`,{access_token:a}),r=!(o.status==="ok"&&(o.statusCode===404||o.statusCode===422)),t={success:r,message:r?Ut:Ye};return o.data=t,o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BBF\u95EE\u4EE4\u724C\u72B6\u6001\u5931\u8D25: ${a.message}`)}}async refresh_token(e){try{if(!this.is_app_client)throw new Error(w);if(!e.refresh_token)throw new Error(de);if(!e.refresh_token.startsWith("ghr_"))throw new Error(pe);this.setRequestConfig({url:this.base_url});let a=await this.post("/login/oauth/access_token",{client_id:this.Client_ID,client_secret:this.Client_Secret,grant_type:"refresh_token",refresh_token:e.refresh_token},{Accept:"application/json"}),o=a.status==="ok"&&a.statusCode===200&&!a.data.error,r=Xe;switch(a.data.error){case "bad_refresh_token":r=pe;break;case "unauthorized":r=_;break}if(!o)throw new Error(r);if(a.data){let t={success:o,message:Lt,access_token:a.data.access_token,expires_in:a.data.expires_in??null,refresh_token:a.data.refresh_token??null,refresh_token_expires_in:a.data.refresh_token_expires_in??null,scope:a.data.scope,token_type:a.data.token_type};a.data=t;}return a}catch(a){throw new Error(`[GitHub] \u5237\u65B0\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async create_auth_link(e){try{if(!this.is_app_client)throw new Error(w);let a=new URL("/login/oauth/authorize",this.base_url);return a.search=new URLSearchParams({client_id:this.Client_ID,...e&&{state:e}}).toString(),Promise.resolve(a.toString())}catch(a){throw new Error(`[GitHub] \u751F\u6210\u6388\u6743\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}};});var Kt={};E(Kt,{Commit:()=>ae});var ae,Me=h(()=>{f();k();ae=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_commit_info(e){try{this.setRequestConfig({token:this.userToken});let a,o,r,t;if("url"in e){r=e.url;let i=N(r);a=i?.owner,o=i?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(ye);e.sha?t=e.sha:t=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});let s=await this.get(`/repos/${a}/${o}/commits/${t}`);switch(s.statusCode){case 401:throw new Error(y);case 404:throw new Error(we);case 422:throw new Error(tt)}if(s.data){let i=s.data?.commit?.message??"",[n,...l]=i.split(`
2
+ `),u={html_url:s.data.html_url,sha:s.data.sha,comments_url:s.data.comments_url,commit:{url:s.data.commit.url,author:{id:s.data.author.id,login:s.data.author.login,name:s.data.commit.author.name,avatar_url:s.data.author.avatar_url,email:s.data.commit.author.email,html_url:s.data.author.html_url,type:lodashEs.capitalize(String(s.data.author.type).toLowerCase()),date:this.format?await c(s.data.commit.author.date):s.data.commit.author.date},committer:{id:s.data.committer.id,login:s.data.committer.login,name:s.data.commit.committer.name,avatar_url:s.data.committer.avatar_url,email:s.data.commit.committer.email,html_url:s.data.committer.html_url,type:lodashEs.capitalize(String(s.data.committer.type).toLowerCase()),date:this.format?await c(s.data.commit.committer.date):s.data.commit.committer.date},message:s.data.commit.message,...this.format&&{title:n,body:l.length>0?l.join(`
3
+ `):null},tree:{url:s.data.commit.tree.url,sha:s.data.commit.tree.sha}},parents:s.data.parents.map(p=>({sha:p.sha,url:p.url})),stats:{additions:s.data.stats.additions,deletions:s.data.stats.deletions,total:s.data.stats.total},files:s.data.files.map(p=>({sha:p.sha,filename:p.filename,status:p.status,additions:p.additions,deletions:p.deletions,changes:p.changes,blob_url:p.blob_url,raw_url:p.raw_url}))};s.data=u;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_commit_list(e){try{this.setRequestConfig({token:this.userToken});let a,o,r;if("url"in e){r=e.url;let l=N(r);a=l?.owner,o=l?.repo;}else if("owner"in e&&"repo"in e)a=e.owner,o=e.repo;else throw new Error(ye);let{...t}=e;if(e.sha)t.sha=e.sha;else {let u=await(await this.get_repo()).get_repo_default_branch({owner:a,repo:o});u&&(t.sha=u);}let s={};t.sha&&(s.sha=t.sha),t.path&&(s.path=t.path),t.author&&(s.author=t.author),t.since&&(s.since=t.since),t.until&&(s.until=t.until),t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${o}/commits`,n=await this.get(i,s);switch(n.statusCode){case 401:throw new Error(y);case 404:throw new Error(we)}if(n.data){let l=await Promise.all(n.data.map(async u=>{let[p,...$]=u.commit.message.split(`
4
4
  `);return {html_url:u.html_url,sha:u.sha,comments_url:u.comments_url,commit:{url:u.commit.url,author:{id:u.author.id,login:u.author.login,name:u.commit.author.name,avatar_url:u.author.avatar_url,email:u.commit.author.email,html_url:u.author.html_url,type:lodashEs.capitalize(String(u.author.type).toLowerCase()),date:this.format?await c(u.commit.author.date):u.commit.author.date},committer:{id:u.committer.id,login:u.committer.login,name:u.commit.committer.name,avatar_url:u.committer.avatar_url,email:u.commit.committer.email,html_url:u.committer.html_url,type:lodashEs.capitalize(String(u.committer.type).toLowerCase()),date:this.format?await c(u.commit.committer.date):u.commit.committer.date},message:u.commit.message,...this.format&&{title:p,body:$.length>0?$.join(`
5
- `):null},tree:{url:u.commit.tree.url,sha:u.commit.tree.sha}},parents:u.parents.map(P=>({sha:P.sha,url:P.url})),stats:{additions:u.stats.additions,deletions:u.stats.deletions,total:u.stats.total},files:u.files.map(P=>({sha:P.sha,filename:P.filename,status:P.status,additions:P.additions,deletions:P.deletions,changes:P.changes,blob_url:P.blob_url,raw_url:P.raw_url}))}}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var Ot={};E(Ot,{Issue:()=>re});var re,Ie=h(()=>{f();S();k();re=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.get(`/repos/${a}/${o}/issues/${Number(s)}`);switch(t.statusCode){case 404:throw new Error(C);case 301:throw new Error(at)}if(t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:this.format?await c(t.data.closed_at):t.data.closed_at,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.milestone&&(t.milestone=s.milestone.toString()),s.state&&(t.state=s.state),s.assignee&&(t.assignee=s.assignee),s.creator&&(t.creator=s.creator),s.labels&&(t.labels=s.labels),s.sort&&(t.sort=s.sort),s.direction&&(t.direction=s.direction),s.since&&(t.since=s.since),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=`/repos/${a}/${o}/issues`,i=await this.get(r,t);if(i.statusCode===401)throw new Error(_);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,comments:l.comments,state:l.state,state_reason:l.state_reason,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},labels:l.labels?l.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url}:null,assignees:l.assignees?l.assignees.map(u=>({id:u.id,login:u.login,name:u.name,email:u.email,html_url:u.html_url,avatar_url:u.avatar_url})):null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}));i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u7684\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.title)throw new Error(ot);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={...s,...s.labels&&{labels:Array.isArray(s.labels)?s.labels:[s.labels]},...s.assignees&&{assignees:Array.isArray(s.assignees)?s.assignees:[s.assignees]}},r=await this.post(`/repos/${a}/${o}/issues`,t);switch(r.statusCode){case 403:throw new Error(_);case 301:throw new Error(b)}if(r.data&&r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url}:null,assignees:r.data.assignees?r.data.assignees.map(n=>({login:n.login,name:n.name,email:n.email,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub]\u521B\u5EFA\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},i=await this.patch(`/repos/${a}/${o}/issues/${Number(s)}`,null,r);switch(i.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(i.data&&i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url}:null,assignees:i.data.assignees?i.data.assignees.map(l=>({id:l.id,login:l.login,name:l.name,email:l.email,html_url:l.html_url,avatar_url:l.avatar_url})):null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.patch(`/repos/${a}/${o}/issues/${s}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(t.data&&t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u6253\u5F00\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.patch(`/repos/${a}/${o}/issues/${s}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(t.data&&t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,comments:t.data.comments,state:t.data.state,state_reason:t.data.state_reason,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u5173\u95ED\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,lock_reason:t}=e,r=await this.put(`/repos/${a}/${o}/issues/${Number(s)}`,{locked:!0,lock_reason:t});switch(r.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}let i;return r.statusCode===204?i={info:Pe}:i={info:nt},r.data=i,r}catch(a){throw new Error(`[GitHub] \u9501\u5B9A\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s}=e,t=await this.delete(`/repos/${a}/${o}/issues/${s}/lock`);switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}let r;return t.statusCode===204?r={info:Pe}:r={info:lt},t.data=r,t}catch(a){throw new Error(`[GitHub] \u89E3\u9501\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.sort&&(t.sort=s.sort),s.direction&&s.direction&&(t.direction=s.direction),s.since&&(t.since=s.since),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=`/repos/${a}/${o}/issues/comments/`,i=await this.get(r,t);if(i.statusCode===404)throw new Error(T);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},created_at:l.created_at,updated_at:l.updated_at}));i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={};t.since&&(r.since=t.since),t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(s)}/comments`,n=await this.get(i,r);if(n.statusCode===404)throw new Error(T);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.get(`/repos/${a}/${o}/issues/comments/${Number(s)}`);if(t.statusCode===404)throw new Error(T);if(t.data){let r={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.body)throw new Error(it);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,body:t}=e,r=await this.post(`/repos/${a}/${o}/issues/${Number(s)}/comments`,{body:t});if(r.statusCode===404)throw new Error(T);if(r.data){let i={id:r.data.id,html_url:`${R(this.type)}/${a}/${o}/issues/${s}#${r.data.id}`,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s,...t}=e,r=await this.patch(`/repos/${a}/${o}/issues/comments/${Number(s)}`,null,t);if(r.statusCode===404)throw new Error(T);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.delete(`/repos/${a}/${o}/issues/comments/${Number(s)}`);if(t.statusCode===404)throw new Error(T);let r;return t.statusCode===204?r={info:qt}:r={info:ut},t.data=r,t}catch(a){throw new Error(`[GitHub] \u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,...t}=e,r={};t.per_page&&(r.per_page=t.per_page.toString()),t.page&&(r.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(s)}/sub_issues`,n=await this.get(i,r);if(n.statusCode===404)throw new Error(C);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,number:u.number,comments:u.comments,state:u.state,state_reason:u.state_reason,title:u.title,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},labels:u.labels?u.labels.map(p=>({id:p.id,name:p.name,color:p.color})):null,assignee:u.assignee?{id:u.assignee.id,login:u.assignee.login,name:u.assignee.name,email:u.assignee.email,html_url:u.assignee.html_url,avatar_url:u.assignee.avatar_url}:null,assignees:u.assignees?u.assignees.map(p=>({id:p.id,login:p.login,name:p.name,email:p.email,html_url:p.html_url,avatar_url:p.avatar_url})):null,milestone:u.milestone?{id:u.milestone.id,url:u.milestone.url,number:u.milestone.number,state:u.milestone.state,title:u.milestone.title,description:u.milestone.description,open_issues:u.milestone.open_issues,closed_issues:u.milestone.closed_issues,created_at:u.milestone.created_at,updated_at:u.milestone.updated_at,closed_at:u.milestone.closed_at,due_on:u.milestone.due_on}:null,closed_at:u.closed_at,created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t,replace_parent:r}=e,i=await this.post(`/repos/${a}/${o}/issues/${s}/sub_issues`,{sub_issue_id:t,replace_parent:r});if(i.statusCode===404)throw new Error(C);if(i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,comments:i.data.comments,state:i.data.state,state_reason:i.data.state_reason,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url}:null,assignees:i.data.assignees?i.data.assignees.map(l=>({login:l.login,name:l.name,email:l.email,html_url:l.html_url,avatar_url:l.avatar_url})):null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){return await this.create_sub_issue(e)}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t}=e,r=await this.delete(`/repos/${a}/${o}/issues/${s}/sub_issue`,null,{sub_issue_id:t});if(r.statusCode===404)throw new Error(C);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,comments:r.data.comments,state:r.data.state,state_reason:r.data.state_reason,title:r.data.title,body:r.data.body,user:{id:r.data.user.id,login:r.data.user.login,name:r.data.user.name,email:r.data.user.email,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},labels:r.data.labels?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:r.data.assignee?{id:r.data.assignee.id,login:r.data.assignee.login,name:r.data.assignee.name,email:r.data.assignee.email,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url}:null,assignees:r.data.assignees?r.data.assignees.map(n=>({login:n.login,name:n.name,email:n.email,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,closed_at:r.data.milestone.closed_at,due_on:r.data.milestone.due_on}:null,closed_at:r.data.closed_at,created_at:r.data.created_at,updated_at:r.data.updated_at};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:s,sub_issue_id:t,...r}=e,i={};r.before_id&&!r.after_id&&(i.before_id=r.before_id.toString()),r.after_id&&!r.before_id&&(i.after_id=r.after_id.toString());let n=`/repos/${a}/${o}/issues/${s}/sub_issues/priority`,l=await this.patch(n,i,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(C);if(l.data){let u={id:l.data.id,html_url:l.data.html_url,number:l.data.number,comments:l.data.comments,state:l.data.state,state_reason:l.data.state_reason,title:l.data.title,body:l.data.body,user:{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url},labels:l.data.labels?l.data.labels.map(p=>({id:p.id,name:p.name,color:p.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url}:null,assignees:l.data.assignees?l.data.assignees.map(p=>({login:p.login,name:p.name,email:p.email,html_url:p.html_url,avatar_url:p.avatar_url})):null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at};l.data=u;}return l}catch(a){throw new Error(`[GitHub] \u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var Nt={};E(Nt,{Repo:()=>se});var se,Me=h(()=>{f();S();k();se=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=R(this.type,{proxyType:"original"});}async get_org_repos_list(e){if(!e.org)throw new Error(H);try{this.setRequestConfig({token:this.userToken});let{org:a,...o}=e,s={};o?.type&&(s.type=o.type),o?.sort&&(s.sort=o.sort),o?.direction&&(s.direction=o.direction),o?.per_page&&(s.per_page=o.per_page.toString()),o?.page&&(s.page=o.page.toString());let t=`/orgs/${a}/repos`,r=await this.get(t,s);switch(r.statusCode){case 404:throw new Error(H);case 401:throw new Error(w)}if(r.data){let i=await Promise.all(r.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name??null,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email??null},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await c(n.created_at):n.created_at,updated_at:this.format?await c(n.updated_at):n.updated_at,pushed_at:this.format?await c(n.pushed_at):n.pushed_at})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,o={};!e?.visibility&&!e?.affiliation&&a?.type&&(o.type=a.type),a?.visibility&&(o.visibility=a.visibility),a?.affiliation&&(o.affiliation=a.affiliation),a?.sort&&(o.sort=a.sort),a?.direction&&(o.direction=a.direction),a?.per_page&&(o.per_page=a.per_page.toString()),a?.page&&(o.page=a.page.toString());let t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(w);if(t.data){let r=await Promise.all(t.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,email:i.owner.email},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await c(i.created_at):i.created_at,updated_at:this.format?await c(i.updated_at):i.updated_at,pushed_at:this.format?await c(i.pushed_at):i.pushed_at})));t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(v);this.setRequestConfig({token:this.userToken});let{username:a,...o}=e,s={};o?.type&&(s.type=o.type),o?.sort&&(s.sort=o.sort),o?.direction&&(s.direction=o.direction),o?.per_page&&(s.per_page=o.per_page.toString()),o?.page&&(s.page=o.page.toString());let t=`/users/${a}/repos`,r=await this.get(t,s);switch(r.statusCode){case 404:throw new Error(G);case 401:throw new Error(w)}if(r.data){let i=await Promise.all(r.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await c(n.created_at):n.created_at,updated_at:this.format?await c(n.updated_at):n.updated_at,pushed_at:this.format?await c(n.pushed_at):n.pushed_at})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}`);switch(s.statusCode){case 401:throw new Error(w);case 404:throw new Error(U)}if(s.data){let t={id:s.data.id,name:s.data.name,full_name:s.data.full_name,owner:{id:s.data.owner.id,login:s.data.owner.login,name:s.data.owner.name,avatar_url:s.data.owner.avatar_url,type:s.data.owner.type,html_url:s.data.owner.html_url,email:s.data.owner.email},public:!s.data.private,private:s.data.private,visibility:s.data.private?"private":"public",fork:s.data.fork,archived:s.data.archived,disabled:s.data.disabled,html_url:s.data.html_url,description:s.data.description,stargazers_count:s.data.stargazers_count,watchers_count:s.data.watchers_count,language:s.data.language,forks_count:s.data.forks_count,open_issues_count:s.data.open_issues_count,default_branch:s.data.default_branch,created_at:this.format?await c(s.data.created_at):s.data.created_at,updated_at:this.format?await c(s.data.updated_at):s.data.updated_at,pushed_at:this.format?await c(s.data.pushed_at):s.data.pushed_at};s.data=t;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}/languages`);switch(s.statusCode){case 401:throw new Error(w);case 404:throw new Error(b)}if(s.data){let t=Object.entries(s.data),r=t.reduce((l,[,u])=>l+u,0),n={languages:t.map(([l,u])=>({language:l,color:Re(l.toLowerCase()),percent:Number((u/r*100).toFixed(2)),bytes:u}))};s.data=n;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{org:a,...o}=e;if(!a||!e.name)throw new Error(tt);let s={};s.name=o.name,o.description&&(s.description=o.description.toString()),o.homepage&&(s.homepage=o.homepage.toString()),o.visibility&&(s.private=o.visibility.toString()),o.has_wiki&&(s.has_wiki=o.has_wiki),o.auto_init&&(s.auto_init=o.auto_init);let t=await this.post(`/orgs/${a}/repos`,s);if(t.statusCode===401)throw new Error(w);if(t.data){let r={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await c(t.data.pushed_at):t.data.pushed_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_user_repo(e){try{let{owner:a,...o}=e;if(!a||!e.name)throw new Error(m);let s={};s.name=o.name,o.description&&(s.description=o.description.toString()),o.homepage&&(s.homepage=o.homepage.toString()),o.visibility==="private"&&(s.private=!0),o.has_wiki&&(s.has_wiki=o.has_wiki),o.auto_init&&(s.auto_init=o.auto_init);let t=await this.post("/user/repos",s);if(t.statusCode===401)throw new Error(w);if(t.data){let r={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await c(t.data.pushed_at):t.data.pushed_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7528\u6237\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_repo(e){return this.create_user_repo(e)}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,{...s}=e,t={};s.affiliation&&(t.milestone=s.affiliation.toString()),s.permission&&(t.permission=s.permission.toString()),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=await this.get(`/repos/${a}/${o}/collaborators`,t);if(r.data){let i=await Promise.all(r.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions==="triage"||n.permissions==="maintain"?"admin":n.permissions})));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:s,permission:t}=e,r={};t==="pull"?r.permission="pull":t==="push"?r.permission="push":t==="admin"?r.permission="admin":r.permission="pull";let i=await this.put(`/repos/${a}/${o}/collaborators/${s}`,r);if(i.statusCode===404)throw new Error(w);if(i.statusCode===422){let n=i.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(_)}if(i.data){let n={id:i.data.inviter.id,login:i.data.inviter.login,name:i.data.inviter.name,html_url:i.data.repository.html_url,permissions:i.data.permissions};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:s}=e,t=await this.delete(`/repos/${a}/${o}/collaborators/${s}`);if(t.statusCode===404)throw new Error(w);return t.status&&t.statusCode===204?t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${s}\u6210\u529F`}:t.data={info:`\u79FB\u9664\u534F\u4F5C\u8005${s}\u5931\u8D25`},t}catch(a){throw new Error(`[GitHub] \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.visibility}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(m);try{let{owner:a,repo:o}=e,s;try{let t=this.base_url+"/"+a+"/"+o;s=await Te(t);}catch{s=(await this.get_repo_info({owner:a,repo:o})).data.default_branch;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(m);try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.language}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var Ft={};E(Ft,{User:()=>oe});var oe,$e=h(()=>{f();S();k();oe=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=R(this.type,{proxyType:"original"});}async get_user_info(e){if(!e.username)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/users/${e.username}`);if(a.statusCode===401)throw new Error(_);if(a.statusCode===404)throw new Error(U);if(a.data){let o={id:a.data.id,login:a.data.login,name:a.data.name||null,type:lodashEs.capitalize(a.data.type.toLowerCase()),html_url:a.data.html_url,avatar_url:a.data.avatar_url,email:a.data.email||null,bio:a.data.bio||null,blog:a.data.blog||null,public_repos:a.data.public_repos,followers:a.data.followers,following:a.data.following};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_info_by_user_id(e){if(!e.user_id)throw new Error(Ze);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/user/${e.user_id}`);if(a.statusCode===401)throw new Error(_);if(a.statusCode===404)throw new Error(G);if(a.data){let o={id:a.data.id,login:a.data.login,name:a.data.name||null,type:lodashEs.capitalize(a.data.type.toLowerCase()),html_url:a.data.html_url,avatar_url:a.data.avatar_url,email:a.data.email||null,bio:a.data.bio||null,blog:a.data.blog||null,public_repos:a.data.public_repos,followers:a.data.followers,following:a.data.following};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let e=await this.get("/user");switch(e.statusCode){case 401:throw new Error(_);case 404:throw new Error(G)}if(e.data){let a={id:e.data.id,login:e.data.login,name:e.data.name||null,type:lodashEs.capitalize(e.data.type.toLowerCase()),html_url:e.data.html_url,avatar_url:e.data.avatar_url,email:e.data.email||null,bio:e.data.bio||null,blog:e.data.blog||null,public_repos:e.data.public_repos,followers:e.data.followers,following:e.data.following};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(e){try{if(!e.username)throw new Error(v);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${et}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.base_url});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(!o.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(o.statusCode===404)throw new Error(v);let s=await kt(o.data);return {...o,data:s}}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name||null}async get_user_email(){return (await this.get_user_info_by_auth()).data.email||null}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var Bt={};E(Bt,{Org:()=>ie});var ie,Ae=h(()=>{f();Q();k();ie=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_org_info(e){if(!e.org)throw new Error(L);let{org:a}=e;try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/orgs/${a}`);if(o.statusCode===404)throw new Error(H);if(o.data){let s={id:o.data.id,login:o.data.login,name:o.data.name,avatar_url:o.data.avatar_url,description:o.data.description,html_url:o.data.html_url};o.data=s;}return o}catch(o){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async add_member(e){if(!e.org)throw new Error(L);if(!e.username)throw new Error(v);try{this.setRequestConfig({token:this.userToken});let a,o,{org:s,username:t,role:r}=e;if(t){let l=await this.get_user();try{a=await l.get_user_id();}catch{o=await l.get_user_email();}}let i={};a?i.invitee_id=a:o&&(i.email=o),r==="admin"?i.role="admin":i.role="direct_member";let n=await this.post(`/orgs/${s}/invitations`,i);if(n.statusCode===404)throw new Error(w);if(n.statusCode===422){let l=n.data.message;if(l&&l.includes("is not a valid permission"))throw new Error(_)}if(n.data){let l={id:n.data.inviter.id,login:n.data.inviterlogin,name:n.data.inviter.name,html_url:`${R(this.type)}/${s}`,role:r};n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${a.message}`)}}};});var zt={};E(zt,{WebHook:()=>ne});var ne,qe=h(()=>{f();k();ne=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async check_webhook_signature(e){if(!this.WebHook_Secret)throw new Error(ht);if(!e.payload)throw new Error(wt);if(!e.signature)throw new Error(yt);if(!e.signature.startsWith("sha256="))throw new Error(_t);let a=false,o="error",s=400,t,r,i=Wt__default.default.createHmac("sha256",this.WebHook_Secret),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(n,"utf8");let l=i.digest("hex"),u=e.signature.replace("sha256=","");return Wt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(u))?(a=true,o="ok",s=200,t="\u8BF7\u6C42\u6210\u529F",r={success:a,info:St}):(a=false,o="error",s=403,t="\u8BF7\u6C42\u5931\u8D25",r={success:a,info:gt}),Promise.resolve({success:a,status:o,statusCode:s,msg:t,data:r})}};});var jt={};E(jt,{Pull_Request:()=>le});var le,Se=h(()=>{f();k();le=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_pull_request_info(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/repos/${e.owner}/${e.repo}/pulls/${e.pr_number}`);if(a.data){let o={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.state,locked:a.data.locked,title:a.data.title,body:a.data.body,draft:a.data.draft,created_at:a.data.created_at,merged_at:a.data.merged_at,updated_at:a.data.updated_at,closed_at:a.data.closed_at,user:{id:a.data.user.id,name:a.data.user.name,login:a.data.user.login,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},base:{label:a.data.base.label,ref:a.data.base.ref,sha:a.data.base.sha,user:{id:a.data.base.user.id,name:a.data.base.user.name,login:a.data.base.user.login,html_url:a.data.base.user.html_url,avatar_url:a.data.base.user.avatar_url},repo:{id:a.data.base.repo.id,owner:a.data.base.repo.owner,name:a.data.base.repo.name,full_name:a.data.base.repo.full_name}},head:{label:a.data.head.label,ref:a.data.head.ref,sha:a.data.head.sha,user:{id:a.data.head.user.id,name:a.data.head.user.name,login:a.data.head.user.login,html_url:a.data.head.user.html_url,avatar_url:a.data.head.user.avatar_url},repo:{id:a.data.head.repo.id,owner:a.data.head.repo.owner,name:a.data.head.repo.name,full_name:a.data.head.repo.full_name}},assignee:a.data.assignee?{id:a.data.assignee.id,name:a.data.assignee.name,login:a.data.assignee.login,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url}:null,assignees:a.data.assignees&&a.data.assignees.length>0?a.data.assignees.map(s=>({id:s.id,name:s.name,login:s.login,html_url:s.html_url,avatar_url:s.avatar_url})):null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,due_on:a.data.milestone.due_on,closed_at:a.data.milestone.closed_at}:null,labels:a.data.labels&&a.data.labels.length>0?a.data.labels.map(s=>({id:s.id,name:s.name,color:s.color})):null,commits:a.data.commits,additions:a.data.additions,deletions:a.data.deletions,changed_files:a.data.changed_files};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u4FE1\u606F\u5931\u8D25\uFF1A ${a.message}`)}}async get_get_pull_request_list(e){if(!(e.owner||e.repo))throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...s}=e,t={};s.state&&(t.state=s.state),s.base&&(t.base=s.base),s.sort&&(t.sort=s.sort),s.direction&&!s.sort&&(t.direction=s.direction),s.per_page&&(t.per_page=s.per_page.toString()),s.page&&(t.page=s.page.toString());let r=await this.get(`/repos/${a}/${o}/pulls`,t);if(r.data){let i=r.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,state:n.state,locked:n.locked,title:n.title,body:n.body,draft:n.draft,created_at:n.created_at,updated_at:n.updated_at,closed_at:n.closed_at,merged_at:n.merged_at,user:{id:n.user.id,name:n.user.name,login:n.user.login,html_url:n.user.html_url,avatar_url:n.user.avatar_url},base:{label:n.base.label,ref:n.base.ref,sha:n.base.sha,user:{id:n.base.user.id,name:n.base.user.name,login:n.base.user.login,html_url:n.base.user.html_url,avatar_url:n.base.user.avatar_url},repo:{id:n.base.repo.id,owner:n.base.repo.owner,name:n.base.repo.name,full_name:n.base.repo.full_name}},head:{label:n.head.label,ref:n.head.ref,sha:n.head.sha,user:{id:n.head.user.id,name:n.head.user.name,login:n.head.user.login,html_url:n.head.user.html_url,avatar_url:n.head.user.avatar_url},repo:{id:n.head.repo.id,owner:n.head.repo.owner,name:n.head.repo.name,full_name:n.head.repo.full_name}},assignee:n.assignee?{id:n.assignee.id,name:n.assignee.name,login:n.assignee.login,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url}:null,assignees:n.assignees&&n.assignees.length>0?n.assignees.map(l=>({id:l.id,name:l.name,login:l.login,html_url:l.html_url,email:l.email,avatar_url:l.avatar_url})):null,milestone:n.milestone?{id:n.milestone.id,url:n.milestone.url,number:n.milestone.number,state:n.milestone.state,title:n.milestone.title,description:n.milestone.description,open_issues:n.milestone.open_issues,closed_issues:n.milestone.closed_issues,created_at:n.milestone.created_at,updated_at:n.milestone.updated_at,closed_at:n.milestone.closed_at,due_on:n.milestone.due_on}:null,labels:n.labels&&n.labels.length>0?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,commits:n.commits,additions:n.additions,deletions:n.deletions,changed_files:n.changed_files}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u5217\u8868\u5931\u8D25\uFF1A ${a.message}`)}}async create_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.head)throw new Error(dt);if(!e.base)throw new Error(pt);if(!("issue"in e)&&!("title"in e))throw new Error(st);try{this.setRequestConfig({token:this.userToken});let a={};if("issue"in e){if(!e.issue)throw new Error(rt);a.issue=e.issue;}else if("title"in e){if(!e.title)throw new Error(Be);a.title=e.title,e.body&&(a.body=e.body);}e.head&&(a.head=e.head),e.head_repo&&(a.head_repo=e.head_repo),e.base&&(a.base=e.base),e.draft&&(a.draft=e.draft);let{owner:o,repo:s}=e,t=await this.post(`/repos/${o}/${s}/pulls`,a);if(t.statusCode===403)throw new Error(_);if(t.data){let r={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.state,locked:t.data.locked,title:t.data.title,body:t.data.body,draft:t.data.draft,created_at:t.data.created_at,merged_at:t.data.merged_at,updated_at:t.data.updated_at,closed_at:t.data.closed_at,user:{id:t.data.user.id,name:t.data.user.name,login:t.data.user.login,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},base:{label:t.data.base.label,ref:t.data.base.ref,sha:t.data.base.sha,user:{id:t.data.base.user.id,name:t.data.base.user.name,login:t.data.base.user.login,html_url:t.data.base.user.html_url,avatar_url:t.data.base.user.avatar_url},repo:{id:t.data.base.repo.id,owner:t.data.base.repo.owner,name:t.data.base.repo.name,full_name:t.data.base.repo.full_name}},head:{label:t.data.head.label,ref:t.data.head.ref,sha:t.data.head.sha,user:{id:t.data.head.user.id,name:t.data.head.user.name,login:t.data.head.user.login,html_url:t.data.head.user.html_url,avatar_url:t.data.head.user.avatar_url},repo:{id:t.data.head.repo.id,owner:t.data.head.repo.owner,name:t.data.head.repo.name,full_name:t.data.head.repo.full_name}},assignee:t.data.assignee?{id:t.data.assignee.id,name:t.data.assignee.name,login:t.data.assignee.login,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees&&t.data.assignees.length>0?t.data.assignees.map(i=>({id:i.id,name:i.name,login:i.login,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,due_on:t.data.milestone.due_on,closed_at:t.data.milestone.closed_at}:null,labels:t.data.labels&&t.data.labels.length>0?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,commits:t.data.commits,additions:t.data.additions,deletions:t.data.deletions,changed_files:t.data.changed_files};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async update_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.title&&(a.title=e.title),e.body&&(a.body=e.body),e.state&&(a.state=e.state);let{owner:o,repo:s,pr_number:t}=e,r=await this.patch(`/repos/${o}/${s}/pulls/${t}`,null,a);if(r.statusCode===403)throw new Error(_);if(r.data){let i={id:r.data.id,html_url:r.data.html_url,number:r.data.number,state:r.data.state,locked:r.data.locked,title:r.data.title,body:r.data.body,draft:r.data.draft,created_at:r.data.created_at,merged_at:r.data.merged_at,updated_at:r.data.updated_at,closed_at:r.data.closed_at,user:{id:r.data.user.id,name:r.data.user.name,login:r.data.user.login,html_url:r.data.user.html_url,avatar_url:r.data.user.avatar_url},base:{label:r.data.base.label,ref:r.data.base.ref,sha:r.data.base.sha,user:{id:r.data.base.user.id,name:r.data.base.user.name,login:r.data.base.user.login,html_url:r.data.base.user.html_url,avatar_url:r.data.base.user.avatar_url},repo:{id:r.data.base.repo.id,owner:r.data.base.repo.owner,name:r.data.base.repo.name,full_name:r.data.base.repo.full_name}},head:{label:r.data.head.label,ref:r.data.head.ref,sha:r.data.head.sha,user:{id:r.data.head.user.id,name:r.data.head.user.name,login:r.data.head.user.login,html_url:r.data.head.user.html_url,avatar_url:r.data.head.user.avatar_url},repo:{id:r.data.head.repo.id,owner:r.data.head.repo.owner,name:r.data.head.repo.name,full_name:r.data.head.repo.full_name}},assignee:r.data.assignee?{id:r.data.assignee.id,name:r.data.assignee.name,login:r.data.assignee.login,html_url:r.data.assignee.html_url,avatar_url:r.data.assignee.avatar_url}:null,assignees:r.data.assignees&&r.data.assignees.length>0?r.data.assignees.map(n=>({id:n.id,name:n.name,login:n.login,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:r.data.milestone?{id:r.data.milestone.id,url:r.data.milestone.url,number:r.data.milestone.number,state:r.data.milestone.state,title:r.data.milestone.title,description:r.data.milestone.description,open_issues:r.data.milestone.open_issues,closed_issues:r.data.milestone.closed_issues,created_at:r.data.milestone.created_at,updated_at:r.data.milestone.updated_at,due_on:r.data.milestone.due_on,closed_at:r.data.milestone.closed_at}:null,labels:r.data.labels&&r.data.labels.length>0?r.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,commits:r.data.commits,additions:r.data.additions,deletions:r.data.deletions,changed_files:r.data.changed_files};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async merge_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};if(e.commit_title&&(a.commit_title=e.commit_title),e.commit_message&&(a.commit_message=e.commit_message),e.sha&&(a.sha=e.sha),e.merge_method){let i=["merge","squash","rebase"];a.merge_method=i.includes(e.merge_method)?e.merge_method:i[0];}let{owner:o,repo:s,pr_number:t}=e,r=await this.put(`/repos/${o}/${s}/pulls/${t}/merge`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y);case 405:throw new Error(mt);case 409:throw new Error(ct)}if(r.statusCode===200&&r.data){let i={sha:r.data.sha,merged:r.data.merged,message:r.data.message};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u5408\u5E76\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async get_pull_request_files_list(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:s,pr_number:t}=e,r=await this.get(`/repos/${o}/${s}/pulls/${t}/files`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y)}if(r.data){let i=r.data.map(n=>({sha:n.sha,filename:n.filename,status:n.status,additions:n.additions,deletions:n.deletions,changes:n.changes,blob_url:n.blob_url,raw_url:n.raw_url,patch:n.patch}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u6587\u4EF6\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_pull_request_comment_info(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s}=e,t=await this.get(`/repos/${a}/${o}/pulls/comments/${s}`);switch(t.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}if(t.data){let r={id:t.data.id,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,avatar_url:t.data.user.avatar_url,html_url:t.data.user.html_url},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=r;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_pull_request_comments_list(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.direction&&(a.direction=e.direction),e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:s,pr_number:t}=e,r=await this.get(`/repos/${o}/${s}/pulls/${t}/comments`,a);switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}if(r.data){let i=r.data.map(n=>({id:n.id,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,html_url:n.user.html_url,avatar_url:n.user.avatar_url},created_at:n.created_at,updated_at:n.updated_at}));r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);if(!e.body)throw new Error(ye);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,pr_number:s,body:t}=e,r=await this.post(`/repos/${a}/${o}/pulls/${s}/comments`,{body:t});switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y)}if(r.data){let i={id:r.data.id,body:r.data.body};r.data=i;}return r}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);if(!e.body)throw new Error(ye);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:s,body:t}=e,r=await this.patch(`/repos/${a}/${o}/issues/comments/${s}`,null,{body:t});switch(r.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}let i=!1;return r.statusCode===200&&(i=!0),r.data={success:i},r}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async edit_pull_request_comment(e){return await this.update_pull_request_comment(e)}async delete_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);try{let a=await this.delete(`/repos/${e.owner}/${e.repo}/pulls/comments/${e.comment_id}`);switch(a.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}let o=!1;return a.statusCode===204&&(o=!0),a.data={success:o},a}catch(a){throw new Error(`[GitHub] \u5220\u9664\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}};});var W;exports.GitHubClient=void 0;var k=h(()=>{f();Q();ke();W="github",exports.GitHubClient=class{base_url;api_url;jwtToken;userToken;Private_Key;Client_ID;Client_Secret;WebHook_Secret;format;currentRequestConfig;proxy;constructor(e){this.Private_Key="Private_Key"in e?e.Private_Key:null,this.Client_ID="Client_ID"in e?e.Client_ID:null,this.Client_Secret="Client_Secret"in e?e.Client_Secret:null,this.WebHook_Secret="WebHook_Secret"in e?e.WebHook_Secret:null,this.validateAppClient(),this.jwtToken=this.generate_jwt(),this.base_url=R(W,{proxyType:"original"}),this.api_url=Ce(W,{proxyType:"original"}),this.userToken="access_token"in e?e.access_token:null,this.currentRequestConfig={url:this.api_url,token:null,tokenType:"Bearer"},this.format=e.format??false;}get type(){return W}get is_app_client(){return !!(this.Client_ID&&this.Client_Secret&&this.Private_Key)}validateAppClient(){if(!this.is_app_client)return;let{Private_Key:e,Client_ID:a,Client_Secret:o}=this,s=e!==null&&e!=="",t=a!==null&&a!=="",r=o!==null&&o!=="",i=[];if(t||i.push("Client_ID"),r||i.push("Client_Secret"),s||i.push("Private_Key"),i.length!==0){if(i.length>0&&i.length<3){let n=i[0];if(n==="Client_ID")throw new Error(De);if(n==="Client_Secret")throw new Error(Oe);if(n==="Private_Key")throw new Error(Ne)}if(i.length===3)throw new Error(Ue)}}async get_app(){let{App:e}=await Promise.resolve().then(()=>(Ge(),Vt));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(Ee(),Ut));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(ve(),Dt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(Ie(),Ot));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(Me(),Nt));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>($e(),Ft));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(Ae(),Bt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(qe(),zt));return this.webhook=new e(this),this.webhook}async get_pull_request(){let{Pull_Request:e}=await Promise.resolve().then(()=>(Se(),jt));return this.pull_request=new e(this),this.pull_request}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new url.URL(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(me)}switch(e?.type){case "common":case "reverse":this.base_url=R(W,{proxyUrl:e.address,proxyType:e.type}),this.api_url=Ce(W,{proxyUrl:e.address,proxyType:e.type});break}this.proxy=e;}catch{throw this.proxy=null,new Error(me)}}setToken(e){if(!e.startsWith("ghu_")&&!e.startsWith("ghp_"))throw this.userToken=null,new Error(I);this.userToken=e;}generate_jwt(){if(!this.is_app_client&&!this.Private_Key)throw new Error(y);let e={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return ga__default.default.sign(e,this.Private_Key,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:o}=this.currentRequestConfig,s=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new Z(e??this.api_url,o,a,s,t)}async get(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().get(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHub] GET \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async post(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().post(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHUb] POST \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async patch(e,a=null,o,s){try{if(!e)throw new Error(A);let r=await this.createRequest().patch(e,a,o,s);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`[GitHub] PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().put(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(s){throw new Error(`[GitHUb] PUT \u8BF7\u6C42${e}\u5931\u8D25: ${s.message}`)}}async delete(e,a=null,o,s){try{if(!e)throw new Error(A);let r=await this.createRequest().delete(e,a,o,s);if((r.statusCode===403||r.statusCode===429)&&r.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:r.success,status:r.success?"ok":"error",statusCode:r.statusCode,msg:r.msg,data:r.data}}catch(t){throw new Error(`[GitHub] DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var Vt={};E(Vt,{App:()=>ue});var ue,Ge=h(()=>{f();S();k();ue=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=R(this.type,{proxyType:"original"});}async get_app_info(e){if(!e.app_slug)throw new Error(Fe);if(!this.userToken)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/apps/${e.app_slug}`);if(a.statusCode===200){let o={id:a.data.id,name:a.data.name,client_id:a.data.client_id,slug:a.data.slug,owner:{id:a.data.owner.id,login:a.data.owner.login,name:a.data.owner.name,email:a.data.owner.email,html_url:a.data.owner.html_url,avatar_url:a.data.owner.avatar_url,type:lodashEs.capitalize(a.data.owner.type.toLowerCase())},description:a.data.description,external_url:a.data.external_url,html_url:a.data.html_url,permissions:a.data.permissions,events:a.data.events,created_at:a.data.created_at,updated_at:a.data.updated_at};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_info_by_auth(){if(!this.is_app_client)throw new Error(y);try{this.setRequestConfig({token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!this.is_app_client)throw new Error(y);if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:o}=e,s=await this.get(`/repos/${a}/${o}/installation`);switch(s.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(s.data){let t={id:s.data.id,html_url:s.data.html_url,app_id:s.data.app_id,app_slug:s.data.app_slug,target_id:s.data.target_id,target_type:s.data.target_type,account:{id:s.data.account.id,login:s.data.account.login,name:s.data.account.name,email:s.data.account.email,html_url:s.data.account.html_url,avatar_url:s.data.account.avatar_url,type:lodashEs.capitalize(s.data.account.type.toLowerCase())},repository_selection:s.data.repository_selection,access_tokens_url:s.data.access_tokens_url,repositories_url:s.data.repositories_url,permissions:s.data.permissions,events:s.data.events,created_at:this.format?await c(s.data.created_at):s.data.created_at,updated_at:this.format?await c(s.data.updated_at):s.data.updated_at};s.data=t;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_installation_by_user(e){if(!this.is_app_client)throw new Error(y);if(!e.username)throw new Error(v);try{this.setRequestConfig({token:this.jwtToken});let{username:a}=e,o=await this.get(`/users/${a}/installation`);switch(o.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(o.data){let s={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:this.format?await c(o.data.created_at):o.data.created_at,updated_at:this.format?await c(o.data.updated_at):o.data.updated_at};o.data=s;}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_installation_by_org(e){if(!this.is_app_client)throw new Error(y);if(!e.org)throw new Error(L);try{this.setRequestConfig({token:this.jwtToken});let{org:a}=e,o=await this.get(`/orgs/${a}/installation`);switch(o.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(o.data){let s={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:this.format?await c(o.data.created_at):o.data.created_at,updated_at:this.format?await c(o.data.updated_at):o.data.updated_at};o.data=s;}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_access_token_for_app(e){if(!e.installation_id)throw new Error(Ye);try{this.setRequestConfig({token:this.jwtToken});let a={};e.repositories&&(a.repositories=e.repositories),e.repository_ids&&(a.repository_ids=e.repository_ids),e.permissions&&(a.permissions=e.permissions);let o=await this.post(`app/installations/${e.installation_id}/access_tokens`,a);if(o.statusCode===201&&o.data){let s={token:o.data.token,expires_at:this.format?await c(o.data.expires_at):o.data.expires_at,permissions:o.data.permissions,repository_selection:o.data.repository_selection,repositories:o.data.repositories.map(async t=>({id:t.id,name:t.name,full_name:t.full_name,owner:{id:t.owner.id,login:t.owner.login,name:t.owner.name??null,avatar_url:t.owner.avatar_url,type:t.owner.type,html_url:t.owner.html_url,email:t.owner.email??null},public:!t.private,private:t.private,visibility:t.private?"private":"public",fork:t.fork,archived:t.archived,disabled:t.disabled,html_url:t.html_url,description:t.description,stargazers_count:t.stargazers_count,watchers_count:t.watchers_count,language:t.language,forks_count:t.forks_count,open_issues_count:t.open_issues_count,default_branch:t.default_branch,created_at:this.format?await c(t.created_at):t.created_at,updated_at:this.format?await c(t.updated_at):t.updated_at,pushed_at:this.format?await c(t.pushed_at):t.pushed_at}))};o.data=s;}return o}catch(a){throw new Error(`[GitHub] \u4E3A\u5E94\u7528\u7A0B\u5E8F\u521B\u5EFA\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async revoke_access_token_for_app(){this.setRequestConfig({token:this.jwtToken});let e=await this.delete("/installation/token"),a=false,o="error",s,t=400,r;return e.statusCode===201?(a=true,o="ok",t=200,s="\u8BF7\u6C42\u6210\u529F",r={success:a,info:Mt}):(a=false,o="error",t=403,s="\u8BF7\u6C42\u5931\u8D25",r={success:a,info:Xe}),Promise.resolve({success:a,status:o,statusCode:t,msg:s,data:r})}async create_install_link(e){try{if(!this.is_app_client)throw new Error(y);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{if(!this.is_app_client)throw new Error(y);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}async is_app_installed_in_repo(e){try{return !!await this.get_app_installation_by_repo({owner:e.owner,repo:e.repo})}catch{return false}}};});f();S();var He={};E(He,{App:()=>ue,Auth:()=>ee,Commit:()=>ae,GitHubClient:()=>exports.GitHubClient,Issue:()=>re,Org:()=>ie,Pull_Request:()=>le,Repo:()=>se,User:()=>oe,WebHook:()=>ne});Ge();Ee();k();ve();Ie();Ae();Se();Me();$e();qe();var Le=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var bs=Le;
6
- exports.Client=Le;exports.create_state_id=pa;exports.default=bs;exports.format_date=c;exports.get_langage_color=Re;exports.get_local_repo_default_branch=ua;exports.get_relative_time=sa;exports.get_remote_repo_default_branch=Te;exports.github=He;
5
+ `):null},tree:{url:u.commit.tree.url,sha:u.commit.tree.sha}},parents:u.parents.map(P=>({sha:P.sha,url:P.url})),stats:{additions:u.stats.additions,deletions:u.stats.deletions,total:u.stats.total},files:u.files.map(P=>({sha:P.sha,filename:P.filename,status:P.status,additions:P.additions,deletions:P.deletions,changes:P.changes,blob_url:P.blob_url,raw_url:P.raw_url}))}}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u63D0\u4EA4\u5217\u8868\u5931\u8D25: ${a.message}`)}}};});var Jt={};E(Jt,{Issue:()=>se});var se,Ie=h(()=>{f();S();k();se=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_issue_info(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r}=e,t=await this.get(`/repos/${a}/${o}/issues/${Number(r)}`);switch(t.statusCode){case 404:throw new Error(C);case 301:throw new Error(it)}if(t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.state,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({id:i.id,login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:this.format?await c(t.data.closed_at):t.data.closed_at,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BE6\u60C5\u5931\u8D25: ${a.message}`)}}async get_issues_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...r}=e,t={};r.milestone&&(t.milestone=r.milestone.toString()),r.state&&(t.state=r.state),r.assignee&&(t.assignee=r.assignee),r.creator&&(t.creator=r.creator),r.labels&&(t.labels=r.labels),r.sort&&(t.sort=r.sort),r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let s=`/repos/${a}/${o}/issues`,i=await this.get(s,t);if(i.statusCode===401)throw new Error(_);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,number:l.number,state:l.state,title:l.title,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},labels:l.labels?l.labels.map(u=>({id:u.id,name:u.name,color:u.color})):null,assignee:l.assignee?{id:l.assignee.id,login:l.assignee.login,name:l.assignee.name,email:l.assignee.email,html_url:l.assignee.html_url,avatar_url:l.assignee.avatar_url}:null,assignees:l.assignees?l.assignees.map(u=>({id:u.id,login:u.login,name:u.name,email:u.email,html_url:u.html_url,avatar_url:u.avatar_url})):null,milestone:l.milestone?{id:l.milestone.id,url:l.milestone.url,number:l.milestone.number,state:l.milestone.state,title:l.milestone.title,description:l.milestone.description,open_issues:l.milestone.open_issues,closed_issues:l.milestone.closed_issues,created_at:l.milestone.created_at,updated_at:l.milestone.updated_at,closed_at:l.milestone.closed_at,due_on:l.milestone.due_on}:null,closed_at:l.closed_at,created_at:l.created_at,updated_at:l.updated_at}));i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u7684\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.title)throw new Error(ut);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...r}=e,t={...r,...r.labels&&{labels:Array.isArray(r.labels)?r.labels:[r.labels]},...r.assignees&&{assignees:Array.isArray(r.assignees)?r.assignees:[r.assignees]}},s=await this.post(`/repos/${a}/${o}/issues`,t);switch(s.statusCode){case 403:throw new Error(_);case 301:throw new Error(b)}if(s.data&&s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,state:s.data.state,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url},labels:s.data.labels?s.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url}:null,assignees:s.data.assignees?s.data.assignees.map(n=>({id:n.id,login:n.login,name:n.name,email:n.email,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`[GitHub]\u521B\u5EFA\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async update_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,...t}=e,s={...t,...t.labels&&{labels:Array.isArray(t.labels)?t.labels:[t.labels]},...t.assignees&&{assignees:Array.isArray(t.assignees)?t.assignees:[t.assignees]}},i=await this.patch(`/repos/${a}/${o}/issues/${Number(r)}`,null,s);switch(i.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(i.data&&i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,state:i.data.state,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url}:null,assignees:i.data.assignees?i.data.assignees.map(l=>({id:l.id,login:l.login,name:l.name,email:l.email,html_url:l.html_url,avatar_url:l.avatar_url})):null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async open_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${a}/${o}/issues/${r}`,null,{state:"open"});switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.state,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({id:i.id,login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u6253\u5F00\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async reopen_issue(e){return this.open_issue(e)}async close_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r}=e,t=await this.patch(`/repos/${a}/${o}/issues/${r}`,null,{state:"closed"});switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}if(t.data&&t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.state,title:t.data.title,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},labels:t.data.labels?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,assignee:t.data.assignee?{id:t.data.assignee.id,login:t.data.assignee.login,name:t.data.assignee.name,email:t.data.assignee.email,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees?t.data.assignees.map(i=>({id:i.id,login:i.login,name:i.name,email:i.email,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,closed_at:t.data.milestone.closed_at,due_on:t.data.milestone.due_on}:null,closed_at:t.data.closed_at,created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u5173\u95ED\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async lock_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,lock_reason:t}=e,s=await this.put(`/repos/${a}/${o}/issues/${Number(r)}`,{locked:!0,lock_reason:t});switch(s.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}let i;return s.statusCode===204?i={success:!0,message:Ce}:i={success:!1,message:pt},s.data=i,s}catch(a){throw new Error(`[GitHub] \u9501\u5B9A\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async unlock_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r}=e,t=await this.delete(`/repos/${a}/${o}/issues/${r}/lock`);switch(t.statusCode){case 404:throw new Error(C);case 403:throw new Error(_);case 301:throw new Error(b)}let s;return t.statusCode===204?s={success:!0,message:Ce}:s={success:!1,message:mt},t.data=s,t}catch(a){throw new Error(`[GitHub] \u89E3\u9501\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async get_repo_comments_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...r}=e,t={};r.sort&&(t.sort=r.sort),r.direction&&r.direction&&(t.direction=r.direction),r.since&&(t.since=r.since),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let s=`/repos/${a}/${o}/issues/comments/`,i=await this.get(s,t);if(i.statusCode===404)throw new Error(T);if(i.data){let n=i.data.map(l=>({id:l.id,html_url:l.html_url,body:l.body,user:{id:l.user.id,login:l.user.login,name:l.user.name,email:l.user.email,html_url:l.user.html_url,avatar_url:l.user.avatar_url},created_at:l.created_at,updated_at:l.updated_at}));i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comments_list(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(I);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,...t}=e,s={};t.since&&(s.since=t.since),t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(r)}/comments`,n=await this.get(i,s);if(n.statusCode===404)throw new Error(T);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_issue_comment_info(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:r}=e,t=await this.get(`/repos/${a}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(T);if(t.data){let s={id:t.data.id,html_url:t.data.html_url,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,email:t.data.user.email,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.body)throw new Error(dt);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,body:t}=e,s=await this.post(`/repos/${a}/${o}/issues/${Number(r)}/comments`,{body:t});if(s.statusCode===404)throw new Error(T);if(s.data){let i={id:s.data.id,html_url:`${R(this.type)}/${a}/${o}/issues/${r}#${s.data.id}`,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u8BAE\u9898\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:r,...t}=e,s=await this.patch(`/repos/${a}/${o}/issues/comments/${Number(r)}`,null,t);if(s.statusCode===404)throw new Error(T);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url},created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async remove_issue_comment(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.comment_id)throw new Error(V);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:r}=e,t=await this.delete(`/repos/${a}/${o}/issues/comments/${Number(r)}`);if(t.statusCode===404)throw new Error(T);let s;return t.statusCode===204?s={success:!0,message:Ot}:s={success:!1,message:ct},t.data=s,t}catch(a){throw new Error(`[GitHub] \u5220\u9664\u8BAE\u9898\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async delete_issue_comment(e){return this.remove_issue_comment(e)}async get_sub_issue_list(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,...t}=e,s={};t.per_page&&(s.per_page=t.per_page.toString()),t.page&&(s.page=t.page.toString());let i=`/repos/${a}/${o}/issues/${Number(r)}/sub_issues`,n=await this.get(i,s);if(n.statusCode===404)throw new Error(C);if(n.data){let l=n.data.map(u=>({id:u.id,html_url:u.html_url,number:u.number,state:u.state,title:u.title,body:u.body,user:{id:u.user.id,login:u.user.login,name:u.user.name,email:u.user.email,html_url:u.user.html_url,avatar_url:u.user.avatar_url},labels:u.labels?u.labels.map(p=>({id:p.id,name:p.name,color:p.color})):null,assignee:u.assignee?{id:u.assignee.id,login:u.assignee.login,name:u.assignee.name,email:u.assignee.email,html_url:u.assignee.html_url,avatar_url:u.assignee.avatar_url}:null,assignees:u.assignees?u.assignees.map(p=>({id:p.id,login:p.login,name:p.name,email:p.email,html_url:p.html_url,avatar_url:p.avatar_url})):null,milestone:u.milestone?{id:u.milestone.id,url:u.milestone.url,number:u.milestone.number,state:u.milestone.state,title:u.milestone.title,description:u.milestone.description,open_issues:u.milestone.open_issues,closed_issues:u.milestone.closed_issues,created_at:u.milestone.created_at,updated_at:u.milestone.updated_at,closed_at:u.milestone.closed_at,due_on:u.milestone.due_on}:null,closed_at:u.closed_at,created_at:u.created_at,updated_at:u.updated_at}));n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B50\u8BAE\u9898\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,sub_issue_id:t,replace_parent:s}=e,i=await this.post(`/repos/${a}/${o}/issues/${r}/sub_issues`,{sub_issue_id:t,replace_parent:s});if(i.statusCode===404)throw new Error(C);if(i.data){let n={id:i.data.id,html_url:i.data.html_url,number:i.data.number,state:i.data.state,title:i.data.title,body:i.data.body,user:{id:i.data.user.id,login:i.data.user.login,name:i.data.user.name,email:i.data.user.email,html_url:i.data.user.html_url,avatar_url:i.data.user.avatar_url},labels:i.data.labels?i.data.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,assignee:i.data.assignee?{id:i.data.assignee.id,login:i.data.assignee.login,name:i.data.assignee.name,email:i.data.assignee.email,html_url:i.data.assignee.html_url,avatar_url:i.data.assignee.avatar_url}:null,assignees:i.data.assignees?i.data.assignees.map(l=>({id:l.id,login:l.login,name:l.name,email:l.email,html_url:l.html_url,avatar_url:l.avatar_url})):null,milestone:i.data.milestone?{id:i.data.milestone.id,url:i.data.milestone.url,number:i.data.milestone.number,state:i.data.milestone.state,title:i.data.milestone.title,description:i.data.milestone.description,open_issues:i.data.milestone.open_issues,closed_issues:i.data.milestone.closed_issues,created_at:i.data.milestone.created_at,updated_at:i.data.milestone.updated_at,closed_at:i.data.milestone.closed_at,due_on:i.data.milestone.due_on}:null,closed_at:i.data.closed_at,created_at:i.data.created_at,updated_at:i.data.updated_at};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async add_sub_issue(e){return await this.create_sub_issue(e)}async remove_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,sub_issue_id:t}=e,s=await this.delete(`/repos/${a}/${o}/issues/${r}/sub_issue`,null,{sub_issue_id:t});if(s.statusCode===404)throw new Error(C);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,state:s.data.state,title:s.data.title,body:s.data.body,user:{id:s.data.user.id,login:s.data.user.login,name:s.data.user.name,email:s.data.user.email,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url},labels:s.data.labels?s.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,assignee:s.data.assignee?{id:s.data.assignee.id,login:s.data.assignee.login,name:s.data.assignee.name,email:s.data.assignee.email,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url}:null,assignees:s.data.assignees?s.data.assignees.map(n=>({id:n.id,login:n.login,name:n.name,email:n.email,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,closed_at:s.data.milestone.closed_at,due_on:s.data.milestone.due_on}:null,closed_at:s.data.closed_at,created_at:s.data.created_at,updated_at:s.data.updated_at};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u5220\u9664\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}async delete_sub_issue(e){return this.remove_sub_issue(e)}async reprioritize_sub_issue(e){if(!e.owner||!e.repo)throw new Error(m);if(!e.issue_number)throw new Error(T);if(!e.sub_issue_id)throw new Error(K);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,issue_number:r,sub_issue_id:t,...s}=e,i={};s.before_id&&!s.after_id&&(i.before_id=s.before_id.toString()),s.after_id&&!s.before_id&&(i.after_id=s.after_id.toString());let n=`/repos/${a}/${o}/issues/${r}/sub_issues/priority`,l=await this.patch(n,i,{sub_issue_id:String(t)});if(l.statusCode===404)throw new Error(C);if(l.data){let u={id:l.data.id,html_url:l.data.html_url,number:l.data.number,state:l.data.state,title:l.data.title,body:l.data.body,user:{id:l.data.user.id,login:l.data.user.login,name:l.data.user.name,email:l.data.user.email,html_url:l.data.user.html_url,avatar_url:l.data.user.avatar_url},labels:l.data.labels?l.data.labels.map(p=>({id:p.id,name:p.name,color:p.color})):null,assignee:l.data.assignee?{id:l.data.assignee.id,login:l.data.assignee.login,name:l.data.assignee.name,email:l.data.assignee.email,html_url:l.data.assignee.html_url,avatar_url:l.data.assignee.avatar_url}:null,assignees:l.data.assignees?l.data.assignees.map(p=>({id:p.id,login:p.login,name:p.name,email:p.email,html_url:p.html_url,avatar_url:p.avatar_url})):null,milestone:l.data.milestone?{id:l.data.milestone.id,url:l.data.milestone.url,number:l.data.milestone.number,state:l.data.milestone.state,title:l.data.milestone.title,description:l.data.milestone.description,open_issues:l.data.milestone.open_issues,closed_issues:l.data.milestone.closed_issues,created_at:l.data.milestone.created_at,updated_at:l.data.milestone.updated_at,closed_at:l.data.milestone.closed_at,due_on:l.data.milestone.due_on}:null,closed_at:l.data.closed_at,created_at:l.data.created_at,updated_at:l.data.updated_at};l.data=u;}return l}catch(a){throw new Error(`[GitHub] \u91CD\u65B0\u6392\u5E8F\u5B50\u8BAE\u9898\u5931\u8D25: ${a.message}`)}}};});var Yt={};E(Yt,{Repo:()=>re});var re,xe=h(()=>{f();S();k();re=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=R(this.type,{proxyType:"original"});}async get_org_repos_list(e){if(!e.org)throw new Error(L);try{this.setRequestConfig({token:this.userToken});let{org:a,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/orgs/${a}/repos`,s=await this.get(t,r);switch(s.statusCode){case 404:throw new Error(L);case 401:throw new Error(y)}if(s.data){let i=await Promise.all(s.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name??null,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email??null},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await c(n.created_at):n.created_at,updated_at:this.format?await c(n.updated_at):n.updated_at,pushed_at:this.format?await c(n.pushed_at):n.pushed_at})));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list_by_token(e){try{this.setRequestConfig({token:this.userToken});let{...a}=e,o={};!e?.visibility&&!e?.affiliation&&a?.type&&(o.type=a.type),a?.visibility&&(o.visibility=a.visibility),a?.affiliation&&(o.affiliation=a.affiliation),a?.sort&&(o.sort=a.sort),a?.direction&&(o.direction=a.direction),a?.per_page&&(o.per_page=a.per_page.toString()),a?.page&&(o.page=a.page.toString());let t=await this.get("/uses/repos",o);if(t.statusCode===401)throw new Error(y);if(t.data){let s=await Promise.all(t.data.map(async i=>({id:i.id,name:i.name,full_name:i.full_name,owner:{id:i.owner.id,login:i.owner.login,name:i.owner.name,avatar_url:i.owner.avatar_url,type:i.owner.type,html_url:i.owner.html_url,email:i.owner.email},public:!i.private,private:i.private,visibility:i.private?"private":"public",fork:i.fork,archived:i.archived,disabled:i.disabled,html_url:i.html_url,description:i.description,stargazers_count:i.stargazers_count,watchers_count:i.watchers_count,language:i.language,forks_count:i.forks_count,open_issues_count:i.open_issues_count,default_branch:i.default_branch,created_at:this.format?await c(i.created_at):i.created_at,updated_at:this.format?await c(i.updated_at):i.updated_at,pushed_at:this.format?await c(i.pushed_at):i.pushed_at})));t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_user_repos_list(e){try{if(!e.username)throw new Error(v);this.setRequestConfig({token:this.userToken});let{username:a,...o}=e,r={};o?.type&&(r.type=o.type),o?.sort&&(r.sort=o.sort),o?.direction&&(r.direction=o.direction),o?.per_page&&(r.per_page=o.per_page.toString()),o?.page&&(r.page=o.page.toString());let t=`/users/${a}/repos`,s=await this.get(t,r);switch(s.statusCode){case 404:throw new Error(G);case 401:throw new Error(y)}if(s.data){let i=await Promise.all(s.data.map(async n=>({id:n.id,name:n.name,full_name:n.full_name,owner:{id:n.owner.id,login:n.owner.login,name:n.owner.name,avatar_url:n.owner.avatar_url,type:n.owner.type,html_url:n.owner.html_url,email:n.owner.email},public:!n.private,private:n.private,visibility:n.private?"private":"public",fork:n.fork,archived:n.archived,disabled:n.disabled,html_url:n.html_url,description:n.description,stargazers_count:n.stargazers_count,watchers_count:n.watchers_count,language:n.language,forks_count:n.forks_count,open_issues_count:n.open_issues_count,default_branch:n.default_branch,created_at:this.format?await c(n.created_at):n.created_at,updated_at:this.format?await c(n.updated_at):n.updated_at,pushed_at:this.format?await c(n.pushed_at):n.pushed_at})));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u4ED3\u5E93\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_repo_info(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,r=await this.get(`/repos/${a}/${o}`);switch(r.statusCode){case 401:throw new Error(y);case 404:throw new Error(U)}if(r.data){let t={id:r.data.id,name:r.data.name,full_name:r.data.full_name,owner:{id:r.data.owner.id,login:r.data.owner.login,name:r.data.owner.name,avatar_url:r.data.owner.avatar_url,type:r.data.owner.type,html_url:r.data.owner.html_url,email:r.data.owner.email},public:!r.data.private,private:r.data.private,visibility:r.data.private?"private":"public",fork:r.data.fork,archived:r.data.archived,disabled:r.data.disabled,html_url:r.data.html_url,description:r.data.description,stargazers_count:r.data.stargazers_count,watchers_count:r.data.watchers_count,language:r.data.language,forks_count:r.data.forks_count,open_issues_count:r.data.open_issues_count,default_branch:r.data.default_branch,created_at:this.format?await c(r.data.created_at):r.data.created_at,updated_at:this.format?await c(r.data.updated_at):r.data.updated_at,pushed_at:this.format?await c(r.data.pushed_at):r.data.pushed_at};r.data=t;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_repo_languages_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,r=await this.get(`/repos/${a}/${o}/languages`);switch(r.statusCode){case 401:throw new Error(y);case 404:throw new Error(b)}if(r.data){let t=Object.entries(r.data),s=t.reduce((l,[,u])=>l+u,0),n={languages:t.map(([l,u])=>({language:l,color:Te(l.toLowerCase()),percent:Number((u/s*100).toFixed(2)),bytes:u}))};r.data=n;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_org_repo(e){try{let{org:a,...o}=e;if(!a||!e.name)throw new Error(ot);let r={};r.name=o.name,o.description&&(r.description=o.description.toString()),o.homepage&&(r.homepage=o.homepage.toString()),o.visibility&&(r.private=o.visibility.toString()),o.has_wiki&&(r.has_wiki=o.has_wiki),o.auto_init&&(r.auto_init=o.auto_init);let t=await this.post(`/orgs/${a}/repos`,r);if(t.statusCode===401)throw new Error(y);if(t.data){let s={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await c(t.data.pushed_at):t.data.pushed_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7EC4\u7EC7\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_user_repo(e){try{let{owner:a,...o}=e;if(!a||!e.name)throw new Error(m);let r={};r.name=o.name,o.description&&(r.description=o.description.toString()),o.homepage&&(r.homepage=o.homepage.toString()),o.visibility==="private"&&(r.private=!0),o.has_wiki&&(r.has_wiki=o.has_wiki),o.auto_init&&(r.auto_init=o.auto_init);let t=await this.post("/user/repos",r);if(t.statusCode===401)throw new Error(y);if(t.data){let s={id:t.data.id,name:t.data.name,full_name:t.data.full_name,owner:{id:t.data.owner.id,login:t.data.owner.login,name:t.data.owner.name,avatar_url:t.data.owner.avatar_url,type:t.data.owner.type,html_url:t.data.owner.html_url,email:t.data.owner.email},public:!t.data.private,private:t.data.private,visibility:t.data.private?"private":"public",fork:t.data.fork,archived:t.data.archived,disabled:t.data.disabled,html_url:t.data.html_url,description:t.data.description,stargazers_count:t.data.stargazers_count,watchers_count:t.data.watchers_count,language:t.data.language,forks_count:t.data.forks_count,open_issues_count:t.data.open_issues_count,default_branch:t.data.default_branch,created_at:this.format?await c(t.data.created_at):t.data.created_at,updated_at:this.format?await c(t.data.updated_at):t.data.updated_at,pushed_at:this.format?await c(t.data.pushed_at):t.data.pushed_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u7528\u6237\u4ED3\u5E93\u5931\u8D25: ${a.message}`)}}async create_repo(e){return this.create_user_repo(e)}async get_collaborators_list(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o}=e,{...r}=e,t={};r.affiliation&&(t.milestone=r.affiliation.toString()),r.permission&&(t.permission=r.permission.toString()),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let s=await this.get(`/repos/${a}/${o}/collaborators`,t);if(s.data){let i=await Promise.all(s.data.map(n=>({id:n.id,login:n.login,avatar_url:n.avatar_url,email:n.email,name:n.name,permissions:n.permissions==="triage"||n.permissions==="maintain"?"admin":n.permissions})));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u534F\u4F5C\u8005\u5217\u8868\u5931\u8D25: ${a.message}`)}}async add_collaborator(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:r,permission:t}=e,s={};t==="pull"?s.permission="pull":t==="push"?s.permission="push":t==="admin"?s.permission="admin":s.permission="pull";let i=await this.put(`/repos/${a}/${o}/collaborators/${r}`,s);if(i.statusCode===404)throw new Error(y);if(i.statusCode===422){let n=i.data.message;if(n&&n.includes("is not a valid permission"))throw new Error(_)}if(i.data){let n={id:i.data.inviter.id,login:i.data.inviter.login,name:i.data.inviter.name,html_url:i.data.repository.html_url,permissions:i.data.permissions};i.data=n;}return i}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async remove_collaborator(e){if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,username:r}=e,t=await this.delete(`/repos/${a}/${o}/collaborators/${r}`);if(t.statusCode===404)throw new Error(y);let s;return t.status&&t.statusCode===204?s={success:!0,message:Dt(r)}:s={success:!1,message:at(r)},t.data=s,t}catch(a){throw new Error(`[GitHub] \u79FB\u9664\u534F\u4F5C\u8005\u5931\u8D25: ${a.message}`)}}async delete_collaborator(e){return this.remove_collaborator(e)}async get_repo_visibility(e){try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.visibility}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u53EF\u89C1\u6027\u5931\u8D25: ${a.message}`)}}async get_repo_default_branch(e){if(!e.owner||!e.repo)throw new Error(m);try{let{owner:a,repo:o}=e,r;try{let t=this.base_url+"/"+a+"/"+o;r=await Pe(t);}catch{r=(await this.get_repo_info({owner:a,repo:o})).data.default_branch;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u9ED8\u8BA4\u5206\u652F\u5931\u8D25: ${a.message}`)}}async get_repo_main_language(e){if(!e.owner||!e.repo)throw new Error(m);try{let{owner:a,repo:o}=e;return (await this.get_repo_info({owner:a,repo:o})).data.language}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u4ED3\u5E93\u8BED\u8A00\u5931\u8D25: ${a.message}`)}}};});var Xt={};E(Xt,{User:()=>oe});var oe,Ae=h(()=>{f();S();k();oe=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.base_url=R(this.type,{proxyType:"original"});}async get_user_info(e){if(!e.username)throw new Error(U);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/users/${e.username}`);if(a.statusCode===401)throw new Error(_);if(a.statusCode===404)throw new Error(U);if(a.data){let o={id:a.data.id,login:a.data.login,name:a.data.name||null,type:lodashEs.capitalize(a.data.type.toLowerCase()),html_url:a.data.html_url,avatar_url:a.data.avatar_url,email:a.data.email||null,bio:a.data.bio||null,blog:a.data.blog||null,public_repos:a.data.public_repos,followers:a.data.followers,following:a.data.following};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u7EC7\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_info_by_user_id(e){if(!e.user_id)throw new Error(st);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/user/${e.user_id}`);if(a.statusCode===401)throw new Error(_);if(a.statusCode===404)throw new Error(G);if(a.data){let o={id:a.data.id,login:a.data.login,name:a.data.name||null,type:lodashEs.capitalize(a.data.type.toLowerCase()),html_url:a.data.html_url,avatar_url:a.data.avatar_url,email:a.data.email||null,bio:a.data.bio||null,blog:a.data.blog||null,public_repos:a.data.public_repos,followers:a.data.followers,following:a.data.following};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u901A\u8FC7\u7528\u6237id\u83B7\u53D6\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_info_by_auth(){if(!this.userToken)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let e=await this.get("/user");switch(e.statusCode){case 401:throw new Error(_);case 404:throw new Error(G)}if(e.data){let a={id:e.data.id,login:e.data.login,name:e.data.name||null,type:lodashEs.capitalize(e.data.type.toLowerCase()),html_url:e.data.html_url,avatar_url:e.data.avatar_url,email:e.data.email||null,bio:e.data.bio||null,blog:e.data.blog||null,public_repos:e.data.public_repos,followers:e.data.followers,following:e.data.following};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u6388\u6743\u7528\u6237\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_user_info_by_token(){return this.get_user_info_by_auth()}async get_user_contribution(e){try{if(!e.username)throw new Error(v);if((await this.get_user_info({username:e.username})).data.type==="Organization")throw new Error(`${rt}\u83B7\u53D6\u8D21\u732E\u65E5\u5386`);this.setRequestConfig({url:this.base_url});let o=await this.get(`/${e.username}`,{action:"show",controller:"profiles",tab:"contributions",user_id:e.username},{"X-Requested-With":"XMLHttpRequest"});if(!o.success)throw new Error("\u83B7\u53D6\u7528\u6237\u8D21\u732E\u6570\u636E\u5931\u8D25");if(o.statusCode===404)throw new Error(v);let r=await $t(o.data);return {...o,data:r}}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u7528\u6237\u8D21\u732E\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_user_id(){return (await this.get_user_info_by_auth()).data.id}async get_username(){return (await this.get_user_info_by_auth()).data.login}async get_nickname(){return (await this.get_user_info_by_auth()).data.name||null}async get_user_email(){return (await this.get_user_info_by_auth()).data.email||null}async get_avatar_url(){return (await this.get_user_info_by_auth()).data.avatar_url}};});var Qt={};E(Qt,{Org:()=>ie});var ie,qe=h(()=>{f();Q();k();ie=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_org_info(e){if(!e.org)throw new Error(H);let{org:a}=e;try{this.setRequestConfig({token:this.userToken});let o=await this.get(`/orgs/${a}`);if(o.statusCode===404)throw new Error(L);if(o.data){let r={id:o.data.id,login:o.data.login,name:o.data.name,avatar_url:o.data.avatar_url,description:o.data.description,html_url:o.data.html_url};o.data=r;}return o}catch(o){throw new Error(`[GitHub] \u83B7\u53D6\u7EC4\u7EC7\u4FE1\u606F\u5931\u8D25: ${o.message}`)}}async add_member(e){if(!e.org)throw new Error(H);if(!e.username)throw new Error(v);try{this.setRequestConfig({token:this.userToken});let a,o,{org:r,username:t,role:s}=e;if(t){let l=await this.get_user();try{a=await l.get_user_id();}catch{o=await l.get_user_email();}}let i={};a?i.invitee_id=a:o&&(i.email=o),s==="admin"?i.role="admin":i.role="direct_member";let n=await this.post(`/orgs/${r}/invitations`,i);if(n.statusCode===404)throw new Error(y);if(n.statusCode===422){let l=n.data.message;if(l&&l.includes("is not a valid permission"))throw new Error(_)}if(n.data){let l={id:n.data.inviter.id,login:n.data.inviterlogin,name:n.data.inviter.name,html_url:`${R(this.type)}/${r}`,role:s};n.data=l;}return n}catch(a){throw new Error(`[GitHub] \u6DFB\u52A0\u7EC4\u7EC7\u6210\u5458\u5931\u8D25: ${a.message}`)}}};});var ea={};E(ea,{WebHook:()=>ne});var ne,Se=h(()=>{f();k();ne=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async check_webhook_signature(e){if(!this.WebHook_Secret)throw new Error(Tt);if(!e.payload)throw new Error(Pt);if(!e.signature)throw new Error(Ct);if(!e.signature.startsWith("sha256="))throw new Error(bt);let a=false,o="error",r=400,t,s,i=Zt__default.default.createHmac("sha256",this.WebHook_Secret),n=typeof e.payload=="string"?e.payload:JSON.stringify(e.payload);i.update(n,"utf8");let l=i.digest("hex"),u=e.signature.replace("sha256=","");return Zt__default.default.timingSafeEqual(Buffer.from(l),Buffer.from(u))?(a=true,o="ok",r=200,t="\u8BF7\u6C42\u6210\u529F",s={success:a,message:Bt}):(a=false,o="error",r=403,t="\u8BF7\u6C42\u5931\u8D25",s={success:a,message:Rt}),Promise.resolve({success:a,status:o,statusCode:r,msg:t,data:s})}};});var ta={};E(ta,{Pull_Request:()=>le});var le,Ge=h(()=>{f();k();le=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken;}async get_pull_request_info(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/repos/${e.owner}/${e.repo}/pulls/${e.pr_number}`);if(a.data){let o={id:a.data.id,html_url:a.data.html_url,number:a.data.number,state:a.data.merged_at?"merged":a.data.state,locked:a.data.locked,title:a.data.title,body:a.data.body,draft:a.data.draft,created_at:a.data.created_at,merged_at:a.data.merged_at||null,updated_at:a.data.updated_at||null,closed_at:a.data.closed_at||null,user:{id:a.data.user.id,name:a.data.user.name,login:a.data.user.login,html_url:a.data.user.html_url,avatar_url:a.data.user.avatar_url},base:{label:a.data.base.label,ref:a.data.base.ref,sha:a.data.base.sha,user:{id:a.data.base.user.id,name:a.data.base.user.name,login:a.data.base.user.login,html_url:a.data.base.user.html_url,avatar_url:a.data.base.user.avatar_url},repo:{id:a.data.base.repo.id,owner:a.data.base.repo.owner,name:a.data.base.repo.name,full_name:a.data.base.repo.full_name}},head:{label:a.data.head.label,ref:a.data.head.ref,sha:a.data.head.sha,user:{id:a.data.head.user.id,name:a.data.head.user.name,login:a.data.head.user.login,html_url:a.data.head.user.html_url,avatar_url:a.data.head.user.avatar_url},repo:{id:a.data.head.repo.id,owner:a.data.head.repo.owner,name:a.data.head.repo.name,full_name:a.data.head.repo.full_name}},assignee:a.data.assignee?{id:a.data.assignee.id,name:a.data.assignee.name,login:a.data.assignee.login,html_url:a.data.assignee.html_url,avatar_url:a.data.assignee.avatar_url}:null,assignees:a.data.assignees&&a.data.assignees.length>0?a.data.assignees.map(r=>({id:r.id,name:r.name,login:r.login,html_url:r.html_url,avatar_url:r.avatar_url})):null,milestone:a.data.milestone?{id:a.data.milestone.id,url:a.data.milestone.url,number:a.data.milestone.number,state:a.data.milestone.state,title:a.data.milestone.title,description:a.data.milestone.description,open_issues:a.data.milestone.open_issues,closed_issues:a.data.milestone.closed_issues,created_at:a.data.milestone.created_at,updated_at:a.data.milestone.updated_at,due_on:a.data.milestone.due_on,closed_at:a.data.milestone.closed_at}:null,labels:a.data.labels&&a.data.labels.length>0?a.data.labels.map(r=>({id:r.id,name:r.name,color:r.color})):null,commits:a.data.commits,additions:a.data.additions,deletions:a.data.deletions,changed_files:a.data.changed_files};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u4FE1\u606F\u5931\u8D25\uFF1A ${a.message}`)}}async get_get_pull_request_list(e){if(!(e.owner||e.repo))throw new Error(m);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,...r}=e,t={};r.state&&(t.state=r.state),r.base&&(t.base=r.base),r.sort&&(t.sort=r.sort),r.direction&&!r.sort&&(t.direction=r.direction),r.per_page&&(t.per_page=r.per_page.toString()),r.page&&(t.page=r.page.toString());let s=await this.get(`/repos/${a}/${o}/pulls`,t);if(s.data){let i=s.data.map(n=>({id:n.id,html_url:n.html_url,number:n.number,state:n.merged_at?"merged":n.state,locked:n.locked,title:n.title,body:n.body,draft:n.draft,created_at:n.created_at,updated_at:n.updated_at||null,closed_at:n.closed_at||null,merged_at:n.merged_at||null,user:{id:n.user.id,name:n.user.name,login:n.user.login,html_url:n.user.html_url,avatar_url:n.user.avatar_url},base:{label:n.base.label,ref:n.base.ref,sha:n.base.sha,user:{id:n.base.user.id,name:n.base.user.name,login:n.base.user.login,html_url:n.base.user.html_url,avatar_url:n.base.user.avatar_url},repo:{id:n.base.repo.id,owner:n.base.repo.owner,name:n.base.repo.name,full_name:n.base.repo.full_name}},head:{label:n.head.label,ref:n.head.ref,sha:n.head.sha,user:{id:n.head.user.id,name:n.head.user.name,login:n.head.user.login,html_url:n.head.user.html_url,avatar_url:n.head.user.avatar_url},repo:{id:n.head.repo.id,owner:n.head.repo.owner,name:n.head.repo.name,full_name:n.head.repo.full_name}},assignee:n.assignee?{id:n.assignee.id,name:n.assignee.name,login:n.assignee.login,html_url:n.assignee.html_url,avatar_url:n.assignee.avatar_url}:null,assignees:n.assignees&&n.assignees.length>0?n.assignees.map(l=>({id:l.id,name:l.name,login:l.login,html_url:l.html_url,avatar_url:l.avatar_url})):null,milestone:n.milestone?{id:n.milestone.id,url:n.milestone.url,number:n.milestone.number,state:n.milestone.state,title:n.milestone.title,description:n.milestone.description,open_issues:n.milestone.open_issues,closed_issues:n.milestone.closed_issues,created_at:n.milestone.created_at,updated_at:n.milestone.updated_at,closed_at:n.milestone.closed_at,due_on:n.milestone.due_on}:null,labels:n.labels&&n.labels.length>0?n.labels.map(l=>({id:l.id,name:l.name,color:l.color})):null,commits:n.commits,additions:n.additions,deletions:n.deletions,changed_files:n.changed_files}));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u5217\u8868\u5931\u8D25\uFF1A ${a.message}`)}}async create_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.head)throw new Error(_t);if(!e.base)throw new Error(gt);if(!("issue"in e)&&!("title"in e))throw new Error(lt);try{this.setRequestConfig({token:this.userToken});let a={};if("issue"in e){if(!e.issue)throw new Error(nt);a.issue=e.issue;}else if("title"in e){if(!e.title)throw new Error(We);a.title=e.title,e.body&&(a.body=e.body);}e.head&&(a.head=e.head),e.head_repo&&(a.head_repo=e.head_repo),e.base&&(a.base=e.base),e.draft&&(a.draft=e.draft);let{owner:o,repo:r}=e,t=await this.post(`/repos/${o}/${r}/pulls`,a);if(t.statusCode===403)throw new Error(_);if(t.data){let s={id:t.data.id,html_url:t.data.html_url,number:t.data.number,state:t.data.merged_at?"merged":t.data.state,locked:t.data.locked,title:t.data.title,body:t.data.body,draft:t.data.draft,created_at:t.data.created_at,merged_at:t.data.merged_at,updated_at:t.data.updated_at,closed_at:t.data.closed_at,user:{id:t.data.user.id,name:t.data.user.name,login:t.data.user.login,html_url:t.data.user.html_url,avatar_url:t.data.user.avatar_url},base:{label:t.data.base.label,ref:t.data.base.ref,sha:t.data.base.sha,user:{id:t.data.base.user.id,name:t.data.base.user.name,login:t.data.base.user.login,html_url:t.data.base.user.html_url,avatar_url:t.data.base.user.avatar_url},repo:{id:t.data.base.repo.id,owner:t.data.base.repo.owner,name:t.data.base.repo.name,full_name:t.data.base.repo.full_name}},head:{label:t.data.head.label,ref:t.data.head.ref,sha:t.data.head.sha,user:{id:t.data.head.user.id,name:t.data.head.user.name,login:t.data.head.user.login,html_url:t.data.head.user.html_url,avatar_url:t.data.head.user.avatar_url},repo:{id:t.data.head.repo.id,owner:t.data.head.repo.owner,name:t.data.head.repo.name,full_name:t.data.head.repo.full_name}},assignee:t.data.assignee?{id:t.data.assignee.id,name:t.data.assignee.name,login:t.data.assignee.login,html_url:t.data.assignee.html_url,avatar_url:t.data.assignee.avatar_url}:null,assignees:t.data.assignees&&t.data.assignees.length>0?t.data.assignees.map(i=>({id:i.id,name:i.name,login:i.login,html_url:i.html_url,avatar_url:i.avatar_url})):null,milestone:t.data.milestone?{id:t.data.milestone.id,url:t.data.milestone.url,number:t.data.milestone.number,state:t.data.milestone.state,title:t.data.milestone.title,description:t.data.milestone.description,open_issues:t.data.milestone.open_issues,closed_issues:t.data.milestone.closed_issues,created_at:t.data.milestone.created_at,updated_at:t.data.milestone.updated_at,due_on:t.data.milestone.due_on,closed_at:t.data.milestone.closed_at}:null,labels:t.data.labels&&t.data.labels.length>0?t.data.labels.map(i=>({id:i.id,name:i.name,color:i.color})):null,commits:t.data.commits,additions:t.data.additions,deletions:t.data.deletions,changed_files:t.data.changed_files};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async update_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.title&&(a.title=e.title),e.body&&(a.body=e.body),e.state&&(a.state=e.state);let{owner:o,repo:r,pr_number:t}=e,s=await this.patch(`/repos/${o}/${r}/pulls/${t}`,null,a);if(s.statusCode===403)throw new Error(_);if(s.data){let i={id:s.data.id,html_url:s.data.html_url,number:s.data.number,state:s.data.merged_at?"merged":s.data.state,locked:s.data.locked,title:s.data.title,body:s.data.body,draft:s.data.draft,created_at:s.data.created_at,merged_at:s.data.merged_at,updated_at:s.data.updated_at,closed_at:s.data.closed_at,user:{id:s.data.user.id,name:s.data.user.name,login:s.data.user.login,html_url:s.data.user.html_url,avatar_url:s.data.user.avatar_url},base:{label:s.data.base.label,ref:s.data.base.ref,sha:s.data.base.sha,user:{id:s.data.base.user.id,name:s.data.base.user.name,login:s.data.base.user.login,html_url:s.data.base.user.html_url,avatar_url:s.data.base.user.avatar_url},repo:{id:s.data.base.repo.id,owner:s.data.base.repo.owner,name:s.data.base.repo.name,full_name:s.data.base.repo.full_name}},head:{label:s.data.head.label,ref:s.data.head.ref,sha:s.data.head.sha,user:{id:s.data.head.user.id,name:s.data.head.user.name,login:s.data.head.user.login,html_url:s.data.head.user.html_url,avatar_url:s.data.head.user.avatar_url},repo:{id:s.data.head.repo.id,owner:s.data.head.repo.owner,name:s.data.head.repo.name,full_name:s.data.head.repo.full_name}},assignee:s.data.assignee?{id:s.data.assignee.id,name:s.data.assignee.name,login:s.data.assignee.login,html_url:s.data.assignee.html_url,avatar_url:s.data.assignee.avatar_url}:null,assignees:s.data.assignees&&s.data.assignees.length>0?s.data.assignees.map(n=>({id:n.id,name:n.name,login:n.login,html_url:n.html_url,avatar_url:n.avatar_url})):null,milestone:s.data.milestone?{id:s.data.milestone.id,url:s.data.milestone.url,number:s.data.milestone.number,state:s.data.milestone.state,title:s.data.milestone.title,description:s.data.milestone.description,open_issues:s.data.milestone.open_issues,closed_issues:s.data.milestone.closed_issues,created_at:s.data.milestone.created_at,updated_at:s.data.milestone.updated_at,due_on:s.data.milestone.due_on,closed_at:s.data.milestone.closed_at}:null,labels:s.data.labels&&s.data.labels.length>0?s.data.labels.map(n=>({id:n.id,name:n.name,color:n.color})):null,commits:s.data.commits,additions:s.data.additions,deletions:s.data.deletions,changed_files:s.data.changed_files};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async merge_pull_request(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};if(e.commit_title&&(a.commit_title=e.commit_title),e.commit_message&&(a.commit_message=e.commit_message),e.sha&&(a.sha=e.sha),e.merge_method){let i=["merge","squash","rebase"];a.merge_method=i.includes(e.merge_method)?e.merge_method:i[0];}let{owner:o,repo:r,pr_number:t}=e,s=await this.put(`/repos/${o}/${r}/pulls/${t}/merge`,a);switch(s.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y);case 405:throw new Error(ht);case 409:throw new Error(yt)}if(s.statusCode===200&&s.data){let i={sha:s.data.sha,merged:s.data.merged,message:s.data.message};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u5408\u5E76\u62C9\u53D6\u8BF7\u6C42\u5931\u8D25: ${a.message}`)}}async get_pull_request_files_list(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:r,pr_number:t}=e,s=await this.get(`/repos/${o}/${r}/pulls/${t}/files`,a);switch(s.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y)}if(s.data){let i=s.data.map(n=>({sha:n.sha,filename:n.filename,status:n.status,additions:n.additions,deletions:n.deletions,changes:n.changes,blob_url:n.blob_url,raw_url:n.raw_url,patch:n.patch}));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u6587\u4EF6\u5217\u8868\u5931\u8D25: ${a.message}`)}}async get_pull_request_comment_info(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:r}=e,t=await this.get(`/repos/${a}/${o}/pulls/comments/${r}`);switch(t.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}if(t.data){let s={id:t.data.id,body:t.data.body,user:{id:t.data.user.id,login:t.data.user.login,name:t.data.user.name,avatar_url:t.data.user.avatar_url,html_url:t.data.user.html_url},created_at:t.data.created_at,updated_at:t.data.updated_at};t.data=s;}return t}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u8BC4\u8BBA\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_pull_request_comments_list(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);try{this.setRequestConfig({token:this.userToken});let a={};e.direction&&(a.direction=e.direction),e.per_page&&(a.per_page=e.per_page),e.page&&(a.page=e.page);let{owner:o,repo:r,pr_number:t}=e,s=await this.get(`/repos/${o}/${r}/pulls/${t}/comments`,a);switch(s.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}if(s.data){let i=s.data.map(n=>({id:n.id,body:n.body,user:{id:n.user.id,login:n.user.login,name:n.user.name,html_url:n.user.html_url,avatar_url:n.user.avatar_url},created_at:n.created_at,updated_at:n.updated_at}));s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5217\u8868\u5931\u8D25: ${a.message}`)}}async create_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.pr_number)throw new Error(x);if(!e.body)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,pr_number:r,body:t}=e,s=await this.post(`/repos/${a}/${o}/pulls/${r}/comments`,{body:t});switch(s.statusCode){case 403:throw new Error(_);case 404:throw new Error(Y)}if(s.data){let i={id:s.data.id,body:s.data.body};s.data=i;}return s}catch(a){throw new Error(`[GitHub] \u521B\u5EFA\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async update_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);if(!e.body)throw new Error(fe);try{this.setRequestConfig({token:this.userToken});let{owner:a,repo:o,comment_id:r,body:t}=e,s=await this.patch(`/repos/${a}/${o}/issues/comments/${r}`,null,{body:t});switch(s.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}let i;return s.statusCode===200?i={success:!0,message:Nt}:i={success:!1,message:wt},s.data=i,s}catch(a){throw new Error(`[GitHub] \u66F4\u65B0\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}async edit_pull_request_comment(e){return await this.update_pull_request_comment(e)}async delete_pull_request_comment(e){if(!(e.owner||e.repo))throw new Error(m);if(!e.comment_id)throw new Error(J);try{let a=await this.delete(`/repos/${e.owner}/${e.repo}/pulls/comments/${e.comment_id}`);switch(a.statusCode){case 403:throw new Error(_);case 404:throw new Error(D)}let o;return a.statusCode===204?o={success:!0,message:Ft}:(o={success:!1,message:ft},a.data=o),a}catch(a){throw new Error(`[GitHub] \u5220\u9664\u62C9\u53D6\u8BF7\u6C42\u8BC4\u8BBA\u5931\u8D25: ${a.message}`)}}};});var W;exports.GitHubClient=void 0;var k=h(()=>{f();Q();Ee();W="github",exports.GitHubClient=class{base_url;api_url;jwtToken;userToken;Private_Key;Client_ID;Client_Secret;WebHook_Secret;format;currentRequestConfig;proxy;constructor(e){this.Private_Key="Private_Key"in e?e.Private_Key:null,this.Client_ID="Client_ID"in e?e.Client_ID:null,this.Client_Secret="Client_Secret"in e?e.Client_Secret:null,this.WebHook_Secret="WebHook_Secret"in e?e.WebHook_Secret:null,this.validateAppClient(),this.jwtToken=this.generate_jwt(),this.base_url=R(W,{proxyType:"original"}),this.api_url=ke(W,{proxyType:"original"}),this.userToken="access_token"in e?e.access_token:null,this.currentRequestConfig={url:this.api_url,token:null,tokenType:"Bearer"},this.format=e.format??false;}get type(){return W}get is_app_client(){return !!(this.Client_ID&&this.Client_Secret&&this.Private_Key)}validateAppClient(){if(!this.is_app_client)return;let{Private_Key:e,Client_ID:a,Client_Secret:o}=this,r=e!==null&&e!=="",t=a!==null&&a!=="",s=o!==null&&o!=="",i=[];if(t||i.push("Client_ID"),s||i.push("Client_Secret"),r||i.push("Private_Key"),i.length!==0){if(i.length>0&&i.length<3){let n=i[0];if(n==="Client_ID")throw new Error(Oe);if(n==="Client_Secret")throw new Error(Ne);if(n==="Private_Key")throw new Error(Fe)}if(i.length===3)throw new Error(De)}}async get_app(){let{App:e}=await Promise.resolve().then(()=>(Le(),aa));return this.app=new e(this),this.app}async get_auth(){let{Auth:e}=await Promise.resolve().then(()=>(ve(),Vt));return this.auth=new e(this),this.auth}async get_commit(){let{Commit:e}=await Promise.resolve().then(()=>(Me(),Kt));return this.commit=new e(this),this.commit}async get_issue(){let{Issue:e}=await Promise.resolve().then(()=>(Ie(),Jt));return this.issue=new e(this),this.issue}async get_repo(){let{Repo:e}=await Promise.resolve().then(()=>(xe(),Yt));return this.repo=new e(this),this.repo}async get_user(){let{User:e}=await Promise.resolve().then(()=>(Ae(),Xt));return this.user=new e(this),this.user}async get_org(){let{Org:e}=await Promise.resolve().then(()=>(qe(),Qt));return this.org=new e(this),this.org}async get_webhook(){let{WebHook:e}=await Promise.resolve().then(()=>(Se(),ea));return this.webhook=new e(this),this.webhook}async get_pull_request(){let{Pull_Request:e}=await Promise.resolve().then(()=>(Ge(),ta));return this.pull_request=new e(this),this.pull_request}setProxy(e){if(!e?.address){this.proxy=null;return}try{let a=new url.URL(e.address);switch(a.protocol){case "http:":case "https:":case "socks:":case "socks5:":e.address=`${a.protocol}//${a.host}`;break;default:throw new Error(me)}switch(e?.type){case "common":case "reverse":this.base_url=R(W,{proxyUrl:e.address,proxyType:e.type}),this.api_url=ke(W,{proxyUrl:e.address,proxyType:e.type});break}this.proxy=e;}catch{throw this.proxy=null,new Error(me)}}setToken(e){if(!e.startsWith("ghu_")&&!e.startsWith("ghp_")&&!e.startsWith("ghs_"))throw this.userToken=null,new Error(M);this.userToken=e;}generate_jwt(){if(!this.is_app_client&&!this.Private_Key)throw new Error(w);let e={exp:Math.floor(Date.now()/1e3)+10*60,iat:Math.floor(Date.now()/1e3),iss:this.Client_ID};return Ca__default.default.sign(e,this.Private_Key,{algorithm:"RS256"})}setRequestConfig(e){e.url&&(this.currentRequestConfig.url=e.url),e.token&&(this.currentRequestConfig.token=e.token),e.tokenType&&(this.currentRequestConfig.tokenType=e.tokenType);}createRequest(){let{url:e,token:a,tokenType:o}=this.currentRequestConfig,r=this.proxy?.type!=="common"?this.proxy:null,t={"X-GitHub-Api-Version":"2022-11-28",Accept:"application/vnd.github+json"};return new Z(e??this.api_url,o,a,r,t)}async get(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().get(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`[GitHub] GET \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async post(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().post(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`[GitHUb] POST \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async patch(e,a=null,o,r){try{if(!e)throw new Error(A);let s=await this.createRequest().patch(e,a,o,r);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`[GitHub] PATCH \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}async put(e,a,o){try{if(!e)throw new Error(A);let t=await this.createRequest().put(e,a,o);if((t.statusCode===403||t.statusCode===429)&&t.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:t.success,status:t.success?"ok":"error",statusCode:t.statusCode,msg:t.msg,data:t.data}}catch(r){throw new Error(`[GitHUb] PUT \u8BF7\u6C42${e}\u5931\u8D25: ${r.message}`)}}async delete(e,a=null,o,r){try{if(!e)throw new Error(A);let s=await this.createRequest().delete(e,a,o,r);if((s.statusCode===403||s.statusCode===429)&&s.headers["x-ratelimit-remaining"]==="0")throw new Error(q);return {success:s.success,status:s.success?"ok":"error",statusCode:s.statusCode,msg:s.msg,data:s.data}}catch(t){throw new Error(`[GitHub] DELETE \u8BF7\u6C42${e}\u5931\u8D25: ${t.message}`)}}};});var aa={};E(aa,{App:()=>ue});var ue,Le=h(()=>{f();S();k();ue=class extends exports.GitHubClient{constructor(e){super(e),this.userToken=e.userToken,this.api_url=e.api_url,this.base_url=R(this.type,{proxyType:"original"});}async get_app_info(e){if(!e.app_slug)throw new Error(Be);if(!this.userToken)throw new Error(M);try{this.setRequestConfig({token:this.userToken});let a=await this.get(`/apps/${e.app_slug}`);if(a.statusCode===200){let o={id:a.data.id,name:a.data.name,client_id:a.data.client_id,slug:a.data.slug,owner:{id:a.data.owner.id,login:a.data.owner.login,name:a.data.owner.name,email:a.data.owner.email,html_url:a.data.owner.html_url,avatar_url:a.data.owner.avatar_url,type:lodashEs.capitalize(a.data.owner.type.toLowerCase())},description:a.data.description,external_url:a.data.external_url,html_url:a.data.html_url,permissions:a.data.permissions,events:a.data.events,created_at:a.data.created_at,updated_at:a.data.updated_at};a.data=o;}return a}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_info_by_auth(){if(!this.is_app_client)throw new Error(w);try{this.setRequestConfig({token:this.jwtToken});let e=await this.get("/app");if(e.statusCode===200){let a={id:e.data.id,name:e.data.name,client_id:e.data.client_id,slug:e.data.slug,owner:{id:e.data.owner.id,login:e.data.owner.login,name:e.data.owner.name,email:e.data.owner.email,html_url:e.data.owner.html_url,avatar_url:e.data.owner.avatar_url,type:lodashEs.capitalize(e.data.owner.type.toLowerCase())},description:e.data.description,external_url:e.data.external_url,html_url:e.data.html_url,permissions:e.data.permissions,events:e.data.events,created_at:e.data.created_at,updated_at:e.data.updated_at};e.data=a;}return e}catch(e){throw new Error(`[GitHub] \u83B7\u53D6\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${e.message}`)}}async get_app_installation_by_repo(e){if(!this.is_app_client)throw new Error(w);if(!e.owner||!e.repo)throw new Error(m);try{this.setRequestConfig({token:this.jwtToken});let{owner:a,repo:o}=e,r=await this.get(`/repos/${a}/${o}/installation`);switch(r.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(r.data){let t={id:r.data.id,html_url:r.data.html_url,app_id:r.data.app_id,app_slug:r.data.app_slug,target_id:r.data.target_id,target_type:r.data.target_type,account:{id:r.data.account.id,login:r.data.account.login,name:r.data.account.name,email:r.data.account.email,html_url:r.data.account.html_url,avatar_url:r.data.account.avatar_url,type:lodashEs.capitalize(r.data.account.type.toLowerCase())},repository_selection:r.data.repository_selection,access_tokens_url:r.data.access_tokens_url,repositories_url:r.data.repositories_url,permissions:r.data.permissions,events:r.data.events,created_at:this.format?await c(r.data.created_at):r.data.created_at,updated_at:this.format?await c(r.data.updated_at):r.data.updated_at};r.data=t;}return r}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_installation_by_user(e){if(!this.is_app_client)throw new Error(w);if(!e.username)throw new Error(v);try{this.setRequestConfig({token:this.jwtToken});let{username:a}=e,o=await this.get(`/users/${a}/installation`);switch(o.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(o.data){let r={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:this.format?await c(o.data.created_at):o.data.created_at,updated_at:this.format?await c(o.data.updated_at):o.data.updated_at};o.data=r;}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async get_app_installation_by_org(e){if(!this.is_app_client)throw new Error(w);if(!e.org)throw new Error(H);try{this.setRequestConfig({token:this.jwtToken});let{org:a}=e,o=await this.get(`/orgs/${a}/installation`);switch(o.statusCode){case 404:throw new Error(b);case 301:throw new Error(j)}if(o.data){let r={id:o.data.id,html_url:o.data.html_url,app_id:o.data.app_id,app_slug:o.data.app_slug,target_id:o.data.target_id,target_type:o.data.target_type,account:{id:o.data.account.id,login:o.data.account.login,name:o.data.account.name,email:o.data.account.email,html_url:o.data.account.html_url,avatar_url:o.data.account.avatar_url,type:lodashEs.capitalize(o.data.account.type.toLowerCase())},repository_selection:o.data.repository_selection,access_tokens_url:o.data.access_tokens_url,repositories_url:o.data.repositories_url,permissions:o.data.permissions,events:o.data.events,created_at:this.format?await c(o.data.created_at):o.data.created_at,updated_at:this.format?await c(o.data.updated_at):o.data.updated_at};o.data=r;}return o}catch(a){throw new Error(`[GitHub] \u83B7\u53D6\u5B58\u50A8\u5E93\u5B89\u88C5\u5E94\u7528\u4FE1\u606F\u5931\u8D25: ${a.message}`)}}async create_access_token_for_app(e){if(!e.installation_id)throw new Error(Ze);try{this.setRequestConfig({token:this.jwtToken});let a={};e.repositories&&(a.repositories=e.repositories),e.repository_ids&&(a.repository_ids=e.repository_ids),e.permissions&&(a.permissions=e.permissions);let o=await this.post(`app/installations/${e.installation_id}/access_tokens`,a);if(o.statusCode===201&&o.data){let r={token:o.data.token,expires_at:this.format?await c(o.data.expires_at):o.data.expires_at,permissions:o.data.permissions,repository_selection:o.data.repository_selection,repositories:o.data.repositories.map(async t=>({id:t.id,name:t.name,full_name:t.full_name,owner:{id:t.owner.id,login:t.owner.login,name:t.owner.name??null,avatar_url:t.owner.avatar_url,type:t.owner.type,html_url:t.owner.html_url,email:t.owner.email??null},public:!t.private,private:t.private,visibility:t.private?"private":"public",fork:t.fork,archived:t.archived,disabled:t.disabled,html_url:t.html_url,description:t.description,stargazers_count:t.stargazers_count,watchers_count:t.watchers_count,language:t.language,forks_count:t.forks_count,open_issues_count:t.open_issues_count,default_branch:t.default_branch,created_at:this.format?await c(t.created_at):t.created_at,updated_at:this.format?await c(t.updated_at):t.updated_at,pushed_at:this.format?await c(t.pushed_at):t.pushed_at}))};o.data=r;}return o}catch(a){throw new Error(`[GitHub] \u4E3A\u5E94\u7528\u7A0B\u5E8F\u521B\u5EFA\u8BBF\u95EE\u4EE4\u724C\u5931\u8D25: ${a.message}`)}}async revoke_access_token_for_app(){this.setRequestConfig({token:this.jwtToken});let e=await this.delete("/installation/token"),a=false,o="error",r,t=400,s;return e.statusCode===201?(a=true,o="ok",t=200,r="\u8BF7\u6C42\u6210\u529F",s={success:a,message:Gt}):(a=false,o="error",t=403,r="\u8BF7\u6C42\u5931\u8D25",s={success:a,message:et}),Promise.resolve({success:a,status:o,statusCode:t,msg:r,data:s})}async create_install_link(e){try{if(!this.is_app_client)throw new Error(w);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u5B89\u88C5\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async create_config_install_link(e){try{if(!this.is_app_client)throw new Error(w);let a=new URL(`apps/${await this.get_app_name()}/installations/new`,this.base_url);return a.search=new URLSearchParams({...e&&{state:e}}).toString(),a.toString()}catch(a){throw new Error(`[GitHub] \u751F\u6210\u5E94\u7528\u914D\u7F6E\u94FE\u63A5\u5931\u8D25: ${a.message}`)}}async get_app_name(){return (await this.get_app_info_by_auth()).data.name}async is_app_installed_in_repo(e){try{return !!await this.get_app_installation_by_repo({owner:e.owner,repo:e.repo})}catch{return false}}};});f();S();var He={};E(He,{App:()=>ue,Auth:()=>ee,Commit:()=>ae,GitHubClient:()=>exports.GitHubClient,Issue:()=>se,Org:()=>ie,Pull_Request:()=>le,Repo:()=>re,User:()=>oe,WebHook:()=>ne});Le();ve();k();Me();Ie();qe();Ge();xe();Ae();Se();var Ue=class{github;constructor(e){if(!e.github)throw new Error("GitHub \u5BA2\u6237\u7AEF\u672A\u914D\u7F6E");this.github=new exports.GitHubClient(e.github);}};var xr=Ue;
6
+ exports.Client=Ue;exports.create_state_id=ba;exports.default=xr;exports.format_date=c;exports.get_langage_color=Te;exports.get_local_repo_default_branch=wa;exports.get_relative_time=ca;exports.get_remote_repo_default_branch=Pe;exports.github=He;